From bc8b6fb94de1796bdcb7b02f0c5ce14ba369400a Mon Sep 17 00:00:00 2001 From: Alexander Markov Date: Mon, 24 Jun 2019 19:25:07 +0000 Subject: [PATCH] [vm/bytecode] Fix last source position in a function MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Id3b9c6476cc3745a39a7010b7ae09d2422467e31 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107182 Reviewed-by: Régis Crelier Commit-Queue: Alexander Markov --- pkg/vm/lib/bytecode/gen_bytecode.dart | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkg/vm/lib/bytecode/gen_bytecode.dart b/pkg/vm/lib/bytecode/gen_bytecode.dart index 894471aa5e8..db0c918f52d 100644 --- a/pkg/vm/lib/bytecode/gen_bytecode.dart +++ b/pkg/vm/lib/bytecode/gen_bytecode.dart @@ -700,6 +700,9 @@ class BytecodeGenerator extends RecursiveVisitor { // BytecodeAssembler eliminates this bytecode if it is unreachable. asm.emitPushNull(); } + if (node.function != null) { + _recordSourcePosition(node.function.fileEndOffset); + } _genReturnTOS(); } } else { @@ -1931,9 +1934,9 @@ class BytecodeGenerator extends RecursiveVisitor { _generateNode(function.body); // BytecodeAssembler eliminates this bytecode if it is unreachable. + _recordSourcePosition(function.fileEndOffset); asm.emitPushNull(); _genReturnTOS(); - _recordSourcePosition(function.fileEndOffset); if (locals.isSyncYieldingFrame) { _genSyncYieldingEpilogue(