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 9d3e21b392a3429c6566216ac6c83f527d598485..01915fa4e7c0919b3cee4205b2351d3c28e556e9 100644 |
| --- a/src/interpreter/bytecode-register-optimizer.cc |
| +++ b/src/interpreter/bytecode-register-optimizer.cc |
| @@ -416,8 +416,16 @@ void BytecodeRegisterOptimizer::GrowRegisterMap(Register reg) { |
| } |
| } |
| +void BytecodeRegisterOptimizer::SetRegisterAllocated(Register reg) { |
|
rmcilroy
2017/06/07 13:01:58
nit - could you pull out the GetOrCreateRegisterIn
Jarin
2017/06/07 15:14:07
Done.
|
| + RegisterInfo* info = GetOrCreateRegisterInfo(reg); |
| + info->set_allocated(true); |
| + if (!info->materialized()) { |
| + info->MoveToNewEquivalenceSet(NextEquivalenceId(), true); |
| + } |
| +} |
| + |
| void BytecodeRegisterOptimizer::RegisterAllocateEvent(Register reg) { |
| - GetOrCreateRegisterInfo(reg)->set_allocated(true); |
| + SetRegisterAllocated(reg); |
| } |
| void BytecodeRegisterOptimizer::RegisterListAllocateEvent( |
| @@ -426,7 +434,7 @@ void BytecodeRegisterOptimizer::RegisterListAllocateEvent( |
| int first_index = reg_list.first_register().index(); |
| GrowRegisterMap(Register(first_index + reg_list.register_count() - 1)); |
| for (int i = 0; i < reg_list.register_count(); i++) { |
| - GetRegisterInfo(Register(first_index + i))->set_allocated(true); |
| + SetRegisterAllocated(Register(first_index + i)); |
| } |
| } |
| } |