< prev index next >
src/hotspot/cpu/ppc/templateTable_ppc_64.cpp
Print this page
rev 50788 : 8205609: [PPC64] Fix PPC64 part of 8010319 and TLH without UseSIGTRAP on AIX
Reviewed-by: dholmes
@@ -3318,23 +3318,23 @@
//
// Input:
// - byte_no
//
// Output:
-// - Rmethod: The method to invoke next.
+// - Rmethod: The method to invoke next or i-klass (invokeinterface).
// - Rret_addr: The return address to return to.
-// - Rindex: MethodType (invokehandle) or CallSite obj (invokedynamic)
+// - Rindex: MethodType (invokehandle), CallSite obj (invokedynamic) or Method (invokeinterface)
// - Rrecv: Cache for "this" pointer, might be noreg if static call.
// - Rflags: Method flags from const pool cache.
//
// Kills:
// - Rscratch1
//
void TemplateTable::prepare_invoke(int byte_no,
Register Rmethod, // linked method (or i-klass)
Register Rret_addr,// return address
- Register Rindex, // itable index, MethodType, etc.
+ Register Rindex, // itable index, MethodType, Method, etc.
Register Rrecv, // If caller wants to see it.
Register Rflags, // If caller wants to test it.
Register Rscratch
) {
// Determine flags.
@@ -3616,13 +3616,13 @@
// do the call
Register Rscratch = Rflags; // Rflags is dead now.
__ profile_final_call(Rscratch1, Rscratch);
- __ profile_arguments_type(Rindex, Rscratch, Rrecv_klass /* scratch */, true);
+ __ profile_arguments_type(Rmethod, Rscratch, Rrecv_klass /* scratch */, true);
- __ call_from_interpreter(Rindex, Rret_addr, Rscratch, Rrecv_klass /* scratch */);
+ __ call_from_interpreter(Rmethod, Rret_addr, Rscratch, Rrecv_klass /* scratch */);
__ bind(LnotVFinal);
__ lookup_interface_method(Rrecv_klass, Rinterface_klass, noreg, noreg, Rscratch1, Rscratch2,
L_no_such_interface, /*return_method=*/false);
< prev index next >