1.1 --- a/src/cpu/x86/vm/templateTable_x86_32.cpp Fri Jan 07 22:56:35 2011 -0800 1.2 +++ b/src/cpu/x86/vm/templateTable_x86_32.cpp Thu Jan 13 07:20:32 2011 -0800 1.3 @@ -1665,16 +1665,9 @@ 1.4 if (ProfileInterpreter) { 1.5 // Out-of-line code to allocate method data oop. 1.6 __ bind(profile_method); 1.7 - __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::profile_method), rsi); 1.8 + __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::profile_method)); 1.9 __ load_unsigned_byte(rbx, Address(rsi, 0)); // restore target bytecode 1.10 - __ movptr(rcx, Address(rbp, method_offset)); 1.11 - __ movptr(rcx, Address(rcx, in_bytes(methodOopDesc::method_data_offset()))); 1.12 - __ movptr(Address(rbp, frame::interpreter_frame_mdx_offset * wordSize), rcx); 1.13 - __ test_method_data_pointer(rcx, dispatch); 1.14 - // offset non-null mdp by MDO::data_offset() + IR::profile_method() 1.15 - __ addptr(rcx, in_bytes(methodDataOopDesc::data_offset())); 1.16 - __ addptr(rcx, rax); 1.17 - __ movptr(Address(rbp, frame::interpreter_frame_mdx_offset * wordSize), rcx); 1.18 + __ set_method_data_pointer_for_bcp(); 1.19 __ jmp(dispatch); 1.20 } 1.21