Index: src/compiler/instruction-selector.cc |
diff --git a/src/compiler/instruction-selector.cc b/src/compiler/instruction-selector.cc |
index bafa2c51cd5ae94c74535703ab7e2c13dbbd26d1..7f9da4aefcd8788751ed6c1aa54345bc287bbf97 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); |
} |
} |