Other |
---|
tbdUnresolved |
Relates :
|
|
Relates :
|
842 /* SPARC */ 843 (iframe->interpreter_frame_expression_stack_size() == mask.expression_stack_size() + callee_size_of_parameters) || 844 /* x86 */ 845 (iframe->interpreter_frame_expression_stack_size() == mask.expression_stack_size() + callee_max_locals) || 846 (try_next_mask && 847 (iframe->interpreter_frame_expression_stack_size() == (next_mask_expression_stack_size - 848 top_frame_expression_stack_adjustment))) || 849 (is_top_frame && (exec_mode == Unpack_exception) && iframe->interpreter_frame_expression_stack_size() == 0) || 850 (is_top_frame && (exec_mode == Unpack_uncommon_trap || exec_mode == Unpack_reexecute || el->should_reexecute()) && 851 (iframe->interpreter_frame_expression_stack_size() == mask.expression_stack_size() + cur_invoke_parameter_size)) This is extra conservative. It applies both x86 and SPARC (obsolete) logic to all platforms. The special case for Unpack_exception may not be needed. I found a problem with arraylength (see JDK-8278384), but it goes unnoticed because the VerifyStack logic is too permissive.