src/hotspot/cpu/s390/interp_masm_s390.cpp
changeset 55343 03d417fd7d9a
parent 55342 596ae6c3ef6f
child 57777 90ead0febf56
--- a/src/hotspot/cpu/s390/interp_masm_s390.cpp	Wed Jun 12 14:21:36 2019 +0200
+++ b/src/hotspot/cpu/s390/interp_masm_s390.cpp	Wed Jun 12 14:22:04 2019 +0200
@@ -414,6 +414,19 @@
   BLOCK_COMMENT("}");
 }
 
+void InterpreterMacroAssembler::load_resolved_method_at_index(int byte_no,
+                                                              Register cache,
+                                                              Register cpe_offset,
+                                                              Register method) {
+  const int method_offset = in_bytes(
+    ConstantPoolCache::base_offset() +
+      ((byte_no == TemplateTable::f2_byte)
+       ? ConstantPoolCacheEntry::f2_offset()
+       : ConstantPoolCacheEntry::f1_offset()));
+
+  z_lg(method, Address(cache, cpe_offset, method_offset)); // get f1 Method*
+}
+
 // Generate a subtype check: branch to ok_is_subtype if sub_klass is
 // a subtype of super_klass. Blows registers Rsuper_klass, Rsub_klass, tmp1, tmp2.
 void InterpreterMacroAssembler::gen_subtype_check(Register Rsub_klass,