Chromium Code Reviews| Index: src/interpreter/bytecode-register-optimizer.cc |
| diff --git a/src/interpreter/bytecode-register-optimizer.cc b/src/interpreter/bytecode-register-optimizer.cc |
| index 859f0e18285bf86589ea731a5c56dfa7f08fd48c..850d4bd377eb380708bb7299e0eeb08ff957a522 100644 |
| --- a/src/interpreter/bytecode-register-optimizer.cc |
| +++ b/src/interpreter/bytecode-register-optimizer.cc |
| @@ -246,6 +246,8 @@ void BytecodeRegisterOptimizer::Flush() { |
| } |
| equivalent->MoveToNewEquivalenceSet(NextEquivalenceId(), true); |
| } |
| + } else if (reg_info->GetEquivalent() == reg_info) { |
| + reg_info->MoveToNewEquivalenceSet(NextEquivalenceId(), true); |
|
rmcilroy
2017/06/01 10:44:44
Why do these need moved here? If it's because they
Jarin
2017/06/01 12:48:22
Yes, it's because they do not count as materialize
|
| } |
| } |
| @@ -304,6 +306,7 @@ BytecodeRegisterOptimizer::GetMaterializedEquivalentNotAccumulator( |
| void BytecodeRegisterOptimizer::Materialize(RegisterInfo* info) { |
| if (!info->materialized()) { |
| RegisterInfo* materialized = info->GetMaterializedEquivalent(); |
| + DCHECK_NOT_NULL(materialized); |
| OutputRegisterTransfer(materialized, info); |
| } |
| } |