diff options
Diffstat (limited to 'runtime/stack.cc')
-rw-r--r-- | runtime/stack.cc | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/runtime/stack.cc b/runtime/stack.cc index 15b288e..26b4de3 100644 --- a/runtime/stack.cc +++ b/runtime/stack.cc @@ -108,17 +108,11 @@ mirror::Object* StackVisitor::GetThisObject() const { return NULL; } else if (m->IsNative()) { if (cur_quick_frame_ != NULL) { - if (m->GetEntryPointFromQuickCompiledCode() == GetQuickGenericJniTrampoline()) { - UNIMPLEMENTED(ERROR) << "Failed to determine this object of native method: " - << PrettyMethod(m); - return nullptr; - } else { - StackIndirectReferenceTable* sirt = - reinterpret_cast<StackIndirectReferenceTable*>( - reinterpret_cast<char*>(cur_quick_frame_) + - m->GetSirtOffsetInBytes()); - return sirt->GetReference(0); - } + StackIndirectReferenceTable* sirt = + reinterpret_cast<StackIndirectReferenceTable*>( + reinterpret_cast<char*>(cur_quick_frame_) + + m->GetSirtOffsetInBytes()); + return sirt->GetReference(0); } else { return cur_shadow_frame_->GetVRegReference(0); } |