src/cpu/x86/vm/templateInterpreter_x86_32.cpp

Print this page
rev 4376 : 8010460: Interpreter on some platforms loads ConstMethod::_max_stack and misses extra stack slots for JSR 292
Summary: ConstMethod::max_stack() doesn't account for JSR 292 appendix.
Reviewed-by:

*** 1566,1577 **** // total overhead size: entry_size + (saved rbp, thru expr stack bottom). // be sure to change this if you add/subtract anything to/from the overhead area const int overhead_size = -frame::interpreter_frame_initial_sp_offset; ! const int extra_stack = Method::extra_stack_entries(); ! const int method_stack = (method->max_locals() + method->max_stack() + extra_stack) * Interpreter::stackElementWords; return overhead_size + method_stack + stub_code; } // asm based interpreter deoptimization helpers --- 1566,1576 ---- // total overhead size: entry_size + (saved rbp, thru expr stack bottom). // be sure to change this if you add/subtract anything to/from the overhead area const int overhead_size = -frame::interpreter_frame_initial_sp_offset; ! const int method_stack = (method->max_locals() + method->max_stack()) * Interpreter::stackElementWords; return overhead_size + method_stack + stub_code; } // asm based interpreter deoptimization helpers