1.1 --- a/src/cpu/x86/vm/sharedRuntime_x86_64.cpp Fri Jan 09 14:39:07 2009 -0500 1.2 +++ b/src/cpu/x86/vm/sharedRuntime_x86_64.cpp Tue Jan 13 14:41:44 2009 -0500 1.3 @@ -2954,10 +2954,16 @@ 1.4 __ pushptr(Address(rcx, 0)); // Save return address 1.5 __ enter(); // Save old & set new rbp 1.6 __ subptr(rsp, rbx); // Prolog 1.7 +#ifdef CC_INTERP 1.8 + __ movptr(Address(rbp, 1.9 + -(sizeof(BytecodeInterpreter)) + in_bytes(byte_offset_of(BytecodeInterpreter, _sender_sp))), 1.10 + sender_sp); // Make it walkable 1.11 +#else // CC_INTERP 1.12 __ movptr(Address(rbp, frame::interpreter_frame_sender_sp_offset * wordSize), 1.13 sender_sp); // Make it walkable 1.14 // This value is corrected by layout_activation_impl 1.15 __ movptr(Address(rbp, frame::interpreter_frame_last_sp_offset * wordSize), (int32_t)NULL_WORD ); 1.16 +#endif // CC_INTERP 1.17 __ mov(sender_sp, rsp); // Pass sender_sp to next frame 1.18 __ addptr(rsi, wordSize); // Bump array pointer (sizes) 1.19 __ addptr(rcx, wordSize); // Bump array pointer (pcs)