comparison src/cpu/x86/vm/templateInterpreter_x86_32.cpp @ 10393:603ca7e51354

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: kvn
author roland
date Wed, 24 Apr 2013 11:49:38 +0200
parents 47766e2d2527
children b800986664f4
comparison
equal deleted inserted replaced
10392:c07dd9be16e8 10393:603ca7e51354
1563 1563
1564 // total overhead size: entry_size + (saved rbp, thru expr stack bottom). 1564 // total overhead size: entry_size + (saved rbp, thru expr stack bottom).
1565 // be sure to change this if you add/subtract anything to/from the overhead area 1565 // be sure to change this if you add/subtract anything to/from the overhead area
1566 const int overhead_size = -frame::interpreter_frame_initial_sp_offset; 1566 const int overhead_size = -frame::interpreter_frame_initial_sp_offset;
1567 1567
1568 const int extra_stack = Method::extra_stack_entries(); 1568 const int method_stack = (method->max_locals() + method->max_stack()) *
1569 const int method_stack = (method->max_locals() + method->max_stack() + extra_stack) *
1570 Interpreter::stackElementWords; 1569 Interpreter::stackElementWords;
1571 return overhead_size + method_stack + stub_code; 1570 return overhead_size + method_stack + stub_code;
1572 } 1571 }
1573 1572
1574 // asm based interpreter deoptimization helpers 1573 // asm based interpreter deoptimization helpers