comparison src/cpu/x86/vm/templateInterpreter_x86_64.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 836a62f43af9 b800986664f4
comparison
equal deleted inserted replaced
10392:c07dd9be16e8 10393:603ca7e51354
1572 // to/from the overhead area 1572 // to/from the overhead area
1573 const int overhead_size = 1573 const int overhead_size =
1574 -(frame::interpreter_frame_initial_sp_offset) + entry_size; 1574 -(frame::interpreter_frame_initial_sp_offset) + entry_size;
1575 1575
1576 const int stub_code = frame::entry_frame_after_call_words; 1576 const int stub_code = frame::entry_frame_after_call_words;
1577 const int extra_stack = Method::extra_stack_entries(); 1577 const int method_stack = (method->max_locals() + method->max_stack()) *
1578 const int method_stack = (method->max_locals() + method->max_stack() + extra_stack) *
1579 Interpreter::stackElementWords; 1578 Interpreter::stackElementWords;
1580 return (overhead_size + method_stack + stub_code); 1579 return (overhead_size + method_stack + stub_code);
1581 } 1580 }
1582 1581
1583 int AbstractInterpreter::layout_activation(Method* method, 1582 int AbstractInterpreter::layout_activation(Method* method,