1.1 --- a/src/cpu/x86/vm/templateTable_x86_32.cpp Wed Oct 09 11:05:17 2013 -0700 1.2 +++ b/src/cpu/x86/vm/templateTable_x86_32.cpp Wed Oct 09 16:32:21 2013 +0200 1.3 @@ -2970,6 +2970,7 @@ 1.4 1.5 // profile this call 1.6 __ profile_final_call(rax); 1.7 + __ profile_arguments_type(rax, method, rsi, true); 1.8 1.9 __ jump_from_interpreted(method, rax); 1.10 1.11 @@ -2984,6 +2985,7 @@ 1.12 1.13 // get target Method* & entry point 1.14 __ lookup_virtual_method(rax, index, method); 1.15 + __ profile_arguments_type(rdx, method, rsi, true); 1.16 __ jump_from_interpreted(method, rdx); 1.17 } 1.18 1.19 @@ -3013,6 +3015,7 @@ 1.20 __ null_check(rcx); 1.21 // do the call 1.22 __ profile_call(rax); 1.23 + __ profile_arguments_type(rax, rbx, rsi, false); 1.24 __ jump_from_interpreted(rbx, rax); 1.25 } 1.26 1.27 @@ -3023,6 +3026,7 @@ 1.28 prepare_invoke(byte_no, rbx); // get f1 Method* 1.29 // do the call 1.30 __ profile_call(rax); 1.31 + __ profile_arguments_type(rax, rbx, rsi, false); 1.32 __ jump_from_interpreted(rbx, rax); 1.33 } 1.34 1.35 @@ -3082,6 +3086,8 @@ 1.36 __ testptr(rbx, rbx); 1.37 __ jcc(Assembler::zero, no_such_method); 1.38 1.39 + __ profile_arguments_type(rdx, rbx, rsi, true); 1.40 + 1.41 // do the call 1.42 // rcx: receiver 1.43 // rbx,: Method* 1.44 @@ -3138,6 +3144,7 @@ 1.45 1.46 // FIXME: profile the LambdaForm also 1.47 __ profile_final_call(rax); 1.48 + __ profile_arguments_type(rdx, rbx_method, rsi, true); 1.49 1.50 __ jump_from_interpreted(rbx_method, rdx); 1.51 } 1.52 @@ -3171,6 +3178,7 @@ 1.53 // %%% should make a type profile for any invokedynamic that takes a ref argument 1.54 // profile this call 1.55 __ profile_call(rsi); 1.56 + __ profile_arguments_type(rdx, rbx, rsi, false); 1.57 1.58 __ verify_oop(rax_callsite); 1.59