diff -r ddda023e6f66 -r bc5baf205475 src/hotspot/cpu/ppc/interp_masm_ppc_64.cpp --- a/src/hotspot/cpu/ppc/interp_masm_ppc_64.cpp Tue Jun 11 09:27:51 2019 +0200 +++ b/src/hotspot/cpu/ppc/interp_masm_ppc_64.cpp Tue Jun 11 09:51:33 2019 +0200 @@ -516,6 +516,18 @@ ldx(Rklass, Rklass, Roffset); } +void InterpreterMacroAssembler::load_resolved_method_at_index(int byte_no, + Register cache, + Register method) { + const int method_offset = in_bytes( + ConstantPoolCache::base_offset() + + ((byte_no == TemplateTable::f2_byte) + ? ConstantPoolCacheEntry::f2_offset() + : ConstantPoolCacheEntry::f1_offset())); + + ld(method, method_offset, cache); // get f1 Method* +} + // Generate a subtype check: branch to ok_is_subtype if sub_klass is // a subtype of super_klass. Blows registers Rsub_klass, tmp1, tmp2. void InterpreterMacroAssembler::gen_subtype_check(Register Rsub_klass, Register Rsuper_klass, Register Rtmp1,