1.1 --- a/src/cpu/x86/vm/templateTable_x86_32.cpp Fri Oct 08 02:42:17 2010 -0700 1.2 +++ b/src/cpu/x86/vm/templateTable_x86_32.cpp Mon Oct 11 04:18:58 2010 -0700 1.3 @@ -3111,19 +3111,22 @@ 1.4 1.5 // rax: CallSite object (f1) 1.6 // rbx: unused (f2) 1.7 + // rcx: receiver address 1.8 // rdx: flags (unused) 1.9 1.10 + Register rax_callsite = rax; 1.11 + Register rcx_method_handle = rcx; 1.12 + 1.13 if (ProfileInterpreter) { 1.14 - Label L; 1.15 // %%% should make a type profile for any invokedynamic that takes a ref argument 1.16 // profile this call 1.17 __ profile_call(rsi); 1.18 } 1.19 1.20 - __ movptr(rcx, Address(rax, __ delayed_value(java_dyn_CallSite::target_offset_in_bytes, rcx))); 1.21 - __ null_check(rcx); 1.22 + __ movptr(rcx_method_handle, Address(rax_callsite, __ delayed_value(java_dyn_CallSite::target_offset_in_bytes, rcx))); 1.23 + __ null_check(rcx_method_handle); 1.24 __ prepare_to_jump_from_interpreted(); 1.25 - __ jump_to_method_handle_entry(rcx, rdx); 1.26 + __ jump_to_method_handle_entry(rcx_method_handle, rdx); 1.27 } 1.28 1.29 //----------------------------------------------------------------------------------------------------