--- old/src/share/vm/opto/library_call.cpp 2016-01-22 15:20:59.398789308 +0100 +++ new/src/share/vm/opto/library_call.cpp 2016-01-22 15:20:59.298785192 +0100 @@ -3828,7 +3828,7 @@ assert(vtable_index >= 0 || vtable_index == Method::nonvirtual_vtable_index, "bad index %d", vtable_index); // Get the Method* out of the appropriate vtable entry. - int entry_offset = in_bytes(InstanceKlass::vtable_start_offset()) + + int entry_offset = in_bytes(Klass::vtable_start_offset()) + vtable_index*vtableEntry::size_in_bytes() + vtableEntry::method_offset_in_bytes(); Node* entry_addr = basic_plus_adr(obj_klass, entry_offset);