src/cpu/x86/vm/templateTable_x86_32.cpp

changeset 2440
bb8e3b66bde6
parent 2423
b1a2afa37ec4
parent 2438
dd031b2226de
child 2552
638119ce7cfd
     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  

mercurial