1.1 --- a/src/cpu/sparc/vm/vtableStubs_sparc.cpp Mon Jul 23 13:04:59 2012 -0700 1.2 +++ b/src/cpu/sparc/vm/vtableStubs_sparc.cpp Tue Jul 24 10:51:00 2012 -0700 1.3 @@ -70,7 +70,6 @@ 1.4 __ load_klass(O0, G3_scratch); 1.5 1.6 // set methodOop (in case of interpreted method), and destination address 1.7 - int entry_offset = instanceKlass::vtable_start_offset() + vtable_index*vtableEntry::size(); 1.8 #ifndef PRODUCT 1.9 if (DebugVtables) { 1.10 Label L; 1.11 @@ -82,13 +81,8 @@ 1.12 __ bind(L); 1.13 } 1.14 #endif 1.15 - int v_off = entry_offset*wordSize + vtableEntry::method_offset_in_bytes(); 1.16 - if (Assembler::is_simm13(v_off)) { 1.17 - __ ld_ptr(G3, v_off, G5_method); 1.18 - } else { 1.19 - __ set(v_off,G5); 1.20 - __ ld_ptr(G3, G5, G5_method); 1.21 - } 1.22 + 1.23 + __ lookup_virtual_method(G3_scratch, vtable_index, G5_method); 1.24 1.25 #ifndef PRODUCT 1.26 if (DebugVtables) {