| 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..1108d8304f855f74dcd5b3f6e2965104f068684c 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().Clone(last_.source_info());
|
| + }
|
| InvalidateLast();
|
| return current;
|
| }
|
|
|