Index: src/compiler/instruction-selector.cc |
diff --git a/src/compiler/instruction-selector.cc b/src/compiler/instruction-selector.cc |
index bafa2c51cd5ae94c74535703ab7e2c13dbbd26d1..8c7ccabcfd1817547040a2e58bf7bdd5b722346a 100644 |
--- a/src/compiler/instruction-selector.cc |
+++ b/src/compiler/instruction-selector.cc |
@@ -302,10 +302,11 @@ int InstructionSelector::GetRename(int virtual_register) { |
void InstructionSelector::TryRename(InstructionOperand* op) { |
if (!op->IsUnallocated()) return; |
- int vreg = UnallocatedOperand::cast(op)->virtual_register(); |
+ UnallocatedOperand* unalloc = UnallocatedOperand::cast(op); |
+ int vreg = unalloc->virtual_register(); |
int rename = GetRename(vreg); |
if (rename != vreg) { |
- UnallocatedOperand::cast(op)->set_virtual_register(rename); |
+ *unalloc = UnallocatedOperand(unalloc, rename); |
} |
} |