# HG changeset patch # User kvn # Date 1406666458 25200 # Node ID e0c6fadce66e7f6535848d238e2c567678447007 # Parent d14a18794c90148fb972743eda79a0b03e4483de 8049252: VerifyStack logic in Deoptimization::unpack_frames does not expect to see invoke bc at the top frame during normal deoptimization Summary: Add missing check for reexecute flag to VerifyStack code. Reviewed-by: roland diff -r d14a18794c90 -r e0c6fadce66e src/share/vm/runtime/deoptimization.cpp --- a/src/share/vm/runtime/deoptimization.cpp Sat Aug 02 16:28:59 2014 -0400 +++ b/src/share/vm/runtime/deoptimization.cpp Tue Jul 29 13:40:58 2014 -0700 @@ -698,7 +698,7 @@ (iframe->interpreter_frame_expression_stack_size() == (next_mask_expression_stack_size - top_frame_expression_stack_adjustment))) || (is_top_frame && (exec_mode == Unpack_exception) && iframe->interpreter_frame_expression_stack_size() == 0) || - (is_top_frame && (exec_mode == Unpack_uncommon_trap || exec_mode == Unpack_reexecute) && + (is_top_frame && (exec_mode == Unpack_uncommon_trap || exec_mode == Unpack_reexecute || el->should_reexecute()) && (iframe->interpreter_frame_expression_stack_size() == mask.expression_stack_size() + cur_invoke_parameter_size)) )) { ttyLocker ttyl;