summaryrefslogtreecommitdiffstats
path: root/runtime/interpreter
diff options
context:
space:
mode:
authorMingyao Yang <mingyao@google.com>2014-07-22 22:05:50 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2014-07-22 16:18:32 +0000
commitc389c97ca93b73b3cb380cedfe438d153b524225 (patch)
treeefb5f88c9fcb2ab87df05766fb14b3ae135d0f88 /runtime/interpreter
parentc836fcbb52d99efdd9ed4f5c104aebd0c37cb121 (diff)
parent2cdbad7c62f126581ec5177104de961c4d71adaa (diff)
downloadart-c389c97ca93b73b3cb380cedfe438d153b524225.zip
art-c389c97ca93b73b3cb380cedfe438d153b524225.tar.gz
art-c389c97ca93b73b3cb380cedfe438d153b524225.tar.bz2
Merge "Set vtable in class object to null after linking."
Diffstat (limited to 'runtime/interpreter')
-rw-r--r--runtime/interpreter/interpreter_common.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/runtime/interpreter/interpreter_common.h b/runtime/interpreter/interpreter_common.h
index 1bcd27e..5a1d01e 100644
--- a/runtime/interpreter/interpreter_common.h
+++ b/runtime/interpreter/interpreter_common.h
@@ -140,7 +140,8 @@ static inline bool DoInvokeVirtualQuick(Thread* self, ShadowFrame& shadow_frame,
return false;
}
const uint32_t vtable_idx = (is_range) ? inst->VRegB_3rc() : inst->VRegB_35c();
- ArtMethod* const method = receiver->GetClass()->GetVTable()->GetWithoutChecks(vtable_idx);
+ CHECK(receiver->GetClass()->ShouldHaveEmbeddedImtAndVTable());
+ ArtMethod* const method = receiver->GetClass()->GetEmbeddedVTableEntry(vtable_idx);
if (UNLIKELY(method == nullptr)) {
CHECK(self->IsExceptionPending());
result->SetJ(0);