1.1 --- a/src/cpu/sparc/vm/templateTable_sparc.cpp Tue Jan 14 12:44:12 2014 +0100 1.2 +++ b/src/cpu/sparc/vm/templateTable_sparc.cpp Tue Jan 14 14:51:47 2014 +0100 1.3 @@ -2942,12 +2942,12 @@ 1.4 1.5 1.6 void TemplateTable::generate_vtable_call(Register Rrecv, Register Rindex, Register Rret) { 1.7 - Register Rtemp = G4_scratch; 1.8 Register Rcall = Rindex; 1.9 assert_different_registers(Rcall, G5_method, Gargs, Rret); 1.10 1.11 // get target Method* & entry point 1.12 __ lookup_virtual_method(Rrecv, Rindex, G5_method); 1.13 + __ profile_arguments_type(G5_method, Rcall, Gargs, true); 1.14 __ call_from_interpreter(Rcall, Gargs, Rret); 1.15 } 1.16 1.17 @@ -3022,6 +3022,7 @@ 1.18 __ null_check(O0); 1.19 1.20 __ profile_final_call(O4); 1.21 + __ profile_arguments_type(G5_method, Rscratch, Gargs, true); 1.22 1.23 // get return address 1.24 AddressLiteral table(Interpreter::invoke_return_entry_table()); 1.25 @@ -3051,6 +3052,7 @@ 1.26 1.27 // do the call 1.28 __ profile_call(O4); 1.29 + __ profile_arguments_type(G5_method, Rscratch, Gargs, false); 1.30 __ call_from_interpreter(Rscratch, Gargs, Rret); 1.31 } 1.32 1.33 @@ -3066,6 +3068,7 @@ 1.34 1.35 // do the call 1.36 __ profile_call(O4); 1.37 + __ profile_arguments_type(G5_method, Rscratch, Gargs, false); 1.38 __ call_from_interpreter(Rscratch, Gargs, Rret); 1.39 } 1.40 1.41 @@ -3091,6 +3094,7 @@ 1.42 // do the call - the index (f2) contains the Method* 1.43 assert_different_registers(G5_method, Gargs, Rcall); 1.44 __ mov(Rindex, G5_method); 1.45 + __ profile_arguments_type(G5_method, Rcall, Gargs, true); 1.46 __ call_from_interpreter(Rcall, Gargs, Rret); 1.47 __ bind(notFinal); 1.48 1.49 @@ -3197,6 +3201,7 @@ 1.50 Register Rcall = Rinterface; 1.51 assert_different_registers(Rcall, G5_method, Gargs, Rret); 1.52 1.53 + __ profile_arguments_type(G5_method, Rcall, Gargs, true); 1.54 __ call_from_interpreter(Rcall, Gargs, Rret); 1.55 } 1.56 1.57 @@ -3226,6 +3231,7 @@ 1.58 // do the call 1.59 __ verify_oop(G4_mtype); 1.60 __ profile_final_call(O4); // FIXME: profile the LambdaForm also 1.61 + __ profile_arguments_type(G5_method, Rscratch, Gargs, true); 1.62 __ call_from_interpreter(Rscratch, Gargs, Rret); 1.63 } 1.64 1.65 @@ -3262,6 +3268,7 @@ 1.66 1.67 // do the call 1.68 __ verify_oop(G4_callsite); 1.69 + __ profile_arguments_type(G5_method, Rscratch, Gargs, false); 1.70 __ call_from_interpreter(Rscratch, Gargs, Rret); 1.71 } 1.72