diff -r 33bb8c970770 -r f9a2f93a0c87 src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp --- a/src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp Fri Jun 28 11:26:07 2019 +0100 +++ b/src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp Fri Jun 28 17:10:22 2019 +0300 @@ -288,6 +288,18 @@ ldr(klass, Address(klass, Array::base_offset_in_bytes())); } +void InterpreterMacroAssembler::load_resolved_method_at_index(int byte_no, + Register method, + Register cache) { + const int method_offset = in_bytes( + ConstantPoolCache::base_offset() + + ((byte_no == TemplateTable::f2_byte) + ? ConstantPoolCacheEntry::f2_offset() + : ConstantPoolCacheEntry::f1_offset())); + + ldr(method, Address(cache, method_offset)); // get f1 Method* +} + // Generate a subtype check: branch to ok_is_subtype if sub_klass is a // subtype of super_klass. //