--- old/src/cpu/sparc/vm/macroAssembler_sparc.cpp 2016-01-22 15:20:55.522629780 +0100 +++ new/src/cpu/sparc/vm/macroAssembler_sparc.cpp 2016-01-22 15:20:55.422625664 +0100 @@ -2188,11 +2188,11 @@ } // Compute start of first itableOffsetEntry (which is at the end of the vtable) - int vtable_base = in_bytes(InstanceKlass::vtable_start_offset()); + int vtable_base = in_bytes(Klass::vtable_start_offset()); int scan_step = itableOffsetEntry::size() * wordSize; int vte_size = vtableEntry::size_in_bytes(); - lduw(recv_klass, in_bytes(InstanceKlass::vtable_length_offset()), scan_temp); + lduw(recv_klass, in_bytes(Klass::vtable_length_offset()), scan_temp); // %%% We should store the aligned, prescaled offset in the klassoop. // Then the next several instructions would fold away. @@ -2280,7 +2280,7 @@ Register method_result) { assert_different_registers(recv_klass, method_result, vtable_index.register_or_noreg()); Register sethi_temp = method_result; - const int base = in_bytes(InstanceKlass::vtable_start_offset()) + + const int base = in_bytes(Klass::vtable_start_offset()) + // method pointer offset within the vtable entry: vtableEntry::method_offset_in_bytes(); RegisterOrConstant vtable_offset = vtable_index;