diff options
| author | 2015-12-01 16:28:28 +0000 | |
|---|---|---|
| committer | 2015-12-01 16:28:28 +0000 | |
| commit | 1cfe7fd885fc21292dfe74b554c38b07304cb10e (patch) | |
| tree | 5a809d58debfe5265bb40c2ae71f67a0532dd974 /runtime/entrypoints/entrypoint_utils-inl.h | |
| parent | 8b3609b4daacfd6d823fe9d9052955db2202aa0f (diff) | |
| parent | c88ef3a10c474045a3476a02ae75d07ddd3230b7 (diff) | |
Merge "Revert "Don't use the compiler driver for method resolution.""
Diffstat (limited to 'runtime/entrypoints/entrypoint_utils-inl.h')
| -rw-r--r-- | runtime/entrypoints/entrypoint_utils-inl.h | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/runtime/entrypoints/entrypoint_utils-inl.h b/runtime/entrypoints/entrypoint_utils-inl.h index dccb1dad3b..21e4e445e6 100644 --- a/runtime/entrypoints/entrypoint_utils-inl.h +++ b/runtime/entrypoints/entrypoint_utils-inl.h @@ -598,12 +598,8 @@ inline ArtMethod* FindMethodFast(uint32_t method_idx, mirror::Object* this_objec } else if (type == kStatic || type == kDirect) { return resolved_method; } else if (type == kSuper) { - mirror::Class* super_class = referrer->GetDeclaringClass()->GetSuperClass(); - if (resolved_method->GetMethodIndex() >= super_class->GetVTableLength()) { - // The super class does not have the method. - return nullptr; - } - return super_class->GetVTableEntry(resolved_method->GetMethodIndex(), sizeof(void*)); + return referrer->GetDeclaringClass()->GetSuperClass()->GetVTableEntry( + resolved_method->GetMethodIndex(), sizeof(void*)); } else { DCHECK(type == kVirtual); return this_object->GetClass()->GetVTableEntry( |