Skip to content

Commit e878bda

Browse files
committed
[vm/bytecode] Add DebugCheck to stop at return statement before executing finally blocks
Fixes service/debugging_inlined_finally_test in bytecode mode. Change-Id: I323c3db7a5c31b840d178daffa65d0281e072a21 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114588 Reviewed-by: Régis Crelier <[email protected]>
1 parent 6db6a0c commit e878bda

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

pkg/vm/lib/bytecode/gen_bytecode.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3571,6 +3571,10 @@ class BytecodeGenerator extends RecursiveVisitor<Null> {
35713571
_generateNode(expr);
35723572
_genReturnTOS();
35733573
} else {
3574+
if (options.emitDebuggerStops) {
3575+
// Stop on the return statement before executing finally blocks.
3576+
asm.emitDebugCheck();
3577+
}
35743578
if (expr is BasicLiteral) {
35753579
_addFinallyBlocks(tryFinallyBlocks, () {
35763580
_generateNode(expr);

0 commit comments

Comments
 (0)