Index: src/interpreter/bytecode-register-optimizer.cc |
diff --git a/src/interpreter/bytecode-register-optimizer.cc b/src/interpreter/bytecode-register-optimizer.cc |
index ff5f5d0441d86e2911c57888315d902d38f1150e..ca0191ebc5e4e63f99f4aa821bbcad2fbd21dfd3 100644 |
--- a/src/interpreter/bytecode-register-optimizer.cc |
+++ b/src/interpreter/bytecode-register-optimizer.cc |
@@ -311,7 +311,9 @@ void BytecodeRegisterOptimizer::WriteToNextStage(BytecodeNode* node) const { |
void BytecodeRegisterOptimizer::WriteToNextStage( |
BytecodeNode* node, const BytecodeSourceInfo& source_info) const { |
- node->source_info().Update(source_info); |
+ if (source_info.is_valid()) { |
+ node->source_info().MakeInvalidEqualTo(source_info); |
+ } |
next_stage_->Write(node); |
} |
@@ -413,8 +415,9 @@ void BytecodeRegisterOptimizer::RegisterTransfer( |
void BytecodeRegisterOptimizer::EmitNopForSourceInfo( |
const BytecodeSourceInfo& source_info) const { |
+ DCHECK(source_info.is_valid()); |
BytecodeNode nop(Bytecode::kNop); |
- nop.source_info().Update(source_info); |
+ nop.source_info().MakeInvalidEqualTo(source_info); |
WriteToNextStage(&nop); |
} |