From 2cdbad7c62f126581ec5177104de961c4d71adaa Mon Sep 17 00:00:00 2001 From: Mingyao Yang Date: Wed, 16 Jul 2014 10:44:41 -0700 Subject: Set vtable in class object to null after linking. This is follow-up work of embedding imt and vtable for faster interface/virtual call dispatching. Once vtable becomes embedded, the original vtable is nulled. Change-Id: I307696657d1e283654169dbecb8f7815c42bbabc --- compiler/driver/compiler_driver-inl.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'compiler') diff --git a/compiler/driver/compiler_driver-inl.h b/compiler/driver/compiler_driver-inl.h index 89295f2..022ec6b 100644 --- a/compiler/driver/compiler_driver-inl.h +++ b/compiler/driver/compiler_driver-inl.h @@ -231,8 +231,8 @@ inline int CompilerDriver::IsFastInvoke( // the super class. bool can_sharpen_super_based_on_type = (*invoke_type == kSuper) && (referrer_class != methods_class) && referrer_class->IsSubClass(methods_class) && - resolved_method->GetMethodIndex() < methods_class->GetVTable()->GetLength() && - (methods_class->GetVTable()->Get(resolved_method->GetMethodIndex()) == resolved_method); + resolved_method->GetMethodIndex() < methods_class->GetVTableLength() && + (methods_class->GetVTableEntry(resolved_method->GetMethodIndex()) == resolved_method); if (can_sharpen_virtual_based_on_type || can_sharpen_super_based_on_type) { // Sharpen a virtual call into a direct call. The method_idx is into referrer's -- cgit v1.1