Index: src/interpreter/bytecode-peephole-optimizer.cc |
diff --git a/src/interpreter/bytecode-peephole-optimizer.cc b/src/interpreter/bytecode-peephole-optimizer.cc |
index 892cf3cbdfdff0fd16befa6d2c05e0846fe69343..78e35de0d256ea62946a7fa72762966b553d4fc1 100644 |
--- a/src/interpreter/bytecode-peephole-optimizer.cc |
+++ b/src/interpreter/bytecode-peephole-optimizer.cc |
@@ -297,7 +297,10 @@ BytecodeNode* BytecodePeepholeOptimizer::Optimize(BytecodeNode* current) { |
} |
if (CanElideLast(current) && CanElideLastBasedOnSourcePosition(current)) { |
- current->source_info().Update(last_.source_info()); |
+ if (last_.source_info().is_valid()) { |
+ // Current can not be valid per CanElideLastBasedOnSourcePosition(). |
+ current->source_info().MakeInvalidEqualTo(last_.source_info()); |
+ } |
InvalidateLast(); |
return current; |
} |