diff options
author | Mathieu Chartier <mathieuc@google.com> | 2014-05-16 10:59:25 -0700 |
---|---|---|
committer | Mathieu Chartier <mathieuc@google.com> | 2014-05-18 12:50:33 -0700 |
commit | f832284dd847ff077577bb5712225430bbbb3b67 (patch) | |
tree | 44f6b91098639c6ebc438b4ec998d0dc128cef9a /runtime/interpreter/interpreter_goto_table_impl.cc | |
parent | 8f0776768712b2021aa8fb649b51017b9f0fc7a9 (diff) | |
download | android_art-f832284dd847ff077577bb5712225430bbbb3b67.tar.gz android_art-f832284dd847ff077577bb5712225430bbbb3b67.tar.bz2 android_art-f832284dd847ff077577bb5712225430bbbb3b67.zip |
Delete ClassHelper and fix compaction bug in GetDirectInterface
Cleanup helps to prevent compaction bugs. Fixed a fairly serious
compaction error caused by calling ClassHelper::GetDirectInterface
without handling the case where it causes thread suspension due to
ResolveType.
Bug: 8981901
Change-Id: I82b3bb6dd48d21eb6ece7aae0733c4a23c2bc408
Diffstat (limited to 'runtime/interpreter/interpreter_goto_table_impl.cc')
-rw-r--r-- | runtime/interpreter/interpreter_goto_table_impl.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/runtime/interpreter/interpreter_goto_table_impl.cc b/runtime/interpreter/interpreter_goto_table_impl.cc index 5b7dee1df4..e0f9e5f958 100644 --- a/runtime/interpreter/interpreter_goto_table_impl.cc +++ b/runtime/interpreter/interpreter_goto_table_impl.cc @@ -342,8 +342,8 @@ JValue ExecuteGotoImpl(Thread* self, MethodHelper& mh, const DexFile::CodeItem* self->ThrowNewExceptionF(self->GetCurrentLocationForThrow(), "Ljava/lang/VirtualMachineError;", "Returning '%s' that is not instance of return type '%s'", - ClassHelper(obj_result->GetClass()).GetDescriptor(), - ClassHelper(return_type).GetDescriptor()); + obj_result->GetClass()->GetDescriptor().c_str(), + return_type->GetDescriptor().c_str()); HANDLE_PENDING_EXCEPTION(); } } @@ -614,7 +614,7 @@ JValue ExecuteGotoImpl(Thread* self, MethodHelper& mh, const DexFile::CodeItem* self->ThrowNewExceptionF(self->GetCurrentLocationForThrow(), "Ljava/lang/VirtualMachineError;", "Throwing '%s' that is not instance of Throwable", - ClassHelper(exception->GetClass()).GetDescriptor()); + exception->GetClass()->GetDescriptor().c_str()); } else { self->SetException(shadow_frame.GetCurrentLocationForThrow(), exception->AsThrowable()); } |