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;