src/cpu/x86/vm/cppInterpreter_x86.cpp

changeset 5225
603ca7e51354
parent 4936
aeaca88565e6
child 6039
bd3237e0e18d
     1.1 --- a/src/cpu/x86/vm/cppInterpreter_x86.cpp	Fri May 31 06:41:50 2013 +0200
     1.2 +++ b/src/cpu/x86/vm/cppInterpreter_x86.cpp	Wed Apr 24 11:49:38 2013 +0200
     1.3 @@ -539,12 +539,11 @@
     1.4  
     1.5      // compute full expression stack limit
     1.6  
     1.7 -    const int extra_stack = 0; //6815692//Method::extra_stack_words();
     1.8      __ movptr(rdx, Address(rbx, Method::const_offset()));
     1.9      __ load_unsigned_short(rdx, Address(rdx, ConstMethod::max_stack_offset())); // get size of expression stack in words
    1.10      __ negptr(rdx);                                                       // so we can subtract in next step
    1.11      // Allocate expression stack
    1.12 -    __ lea(rsp, Address(rsp, rdx, Address::times_ptr, -extra_stack));
    1.13 +    __ lea(rsp, Address(rsp, rdx, Address::times_ptr, -Method::extra_stack_words()));
    1.14      __ movptr(STATE(_stack_limit), rsp);
    1.15    }
    1.16  
    1.17 @@ -692,10 +691,9 @@
    1.18    // Always give one monitor to allow us to start interp if sync method.
    1.19    // Any additional monitors need a check when moving the expression stack
    1.20    const int one_monitor = frame::interpreter_frame_monitor_size() * wordSize;
    1.21 -  const int extra_stack = 0; //6815692//Method::extra_stack_entries();
    1.22    __ movptr(rax, Address(rbx, Method::const_offset()));
    1.23    __ load_unsigned_short(rax, Address(rax, ConstMethod::max_stack_offset())); // get size of expression stack in words
    1.24 -  __ lea(rax, Address(noreg, rax, Interpreter::stackElementScale(), extra_stack + one_monitor));
    1.25 +  __ lea(rax, Address(noreg, rax, Interpreter::stackElementScale(), one_monitor+Method::extra_stack_words()));
    1.26    __ lea(rax, Address(rax, rdx, Interpreter::stackElementScale(), overhead_size));
    1.27  
    1.28  #ifdef ASSERT
    1.29 @@ -2265,8 +2263,7 @@
    1.30    const int overhead_size = sizeof(BytecodeInterpreter)/wordSize +
    1.31      ( frame::sender_sp_offset - frame::link_offset) + 2;
    1.32  
    1.33 -  const int extra_stack = 0; //6815692//Method::extra_stack_entries();
    1.34 -  const int method_stack = (method->max_locals() + method->max_stack() + extra_stack) *
    1.35 +  const int method_stack = (method->max_locals() + method->max_stack()) *
    1.36                             Interpreter::stackElementWords;
    1.37    return overhead_size + method_stack + stub_code;
    1.38  }
    1.39 @@ -2331,8 +2328,7 @@
    1.40    // Need +1 here because stack_base points to the word just above the first expr stack entry
    1.41    // and stack_limit is supposed to point to the word just below the last expr stack entry.
    1.42    // See generate_compute_interpreter_state.
    1.43 -  int extra_stack = 0; //6815692//Method::extra_stack_entries();
    1.44 -  to_fill->_stack_limit = stack_base - (method->max_stack() + extra_stack + 1);
    1.45 +  to_fill->_stack_limit = stack_base - (method->max_stack() + 1);
    1.46    to_fill->_monitor_base = (BasicObjectLock*) monitor_base;
    1.47  
    1.48    to_fill->_self_link = to_fill;
    1.49 @@ -2380,8 +2376,7 @@
    1.50                                                  monitor_size);
    1.51  
    1.52    // Now with full size expression stack
    1.53 -  int extra_stack = 0; //6815692//Method::extra_stack_entries();
    1.54 -  int full_frame_size = short_frame_size + (method->max_stack() + extra_stack) * BytesPerWord;
    1.55 +  int full_frame_size = short_frame_size + method->max_stack() * BytesPerWord;
    1.56  
    1.57    // and now with only live portion of the expression stack
    1.58    short_frame_size = short_frame_size + tempcount * BytesPerWord;

mercurial