Index: src/compiler/move-optimizer.cc |
diff --git a/src/compiler/move-optimizer.cc b/src/compiler/move-optimizer.cc |
index 7c2911e7f5aea03f9a87bc1257088ab43826fe14..56fdf038f40a6da08d09b728325dd6fb96686451 100644 |
--- a/src/compiler/move-optimizer.cc |
+++ b/src/compiler/move-optimizer.cc |
@@ -256,8 +256,7 @@ void MoveOptimizer::FinalizeMoves(Instruction* instr) { |
loads.push_back(move); |
// Replace source with copy for later use. |
auto dest = move->destination(); |
- move->set_destination( |
- InstructionOperand::New(code_zone(), dest->kind(), dest->index())); |
+ move->set_destination(InstructionOperand::New(code_zone(), *dest)); |
continue; |
} |
if ((found->destination()->IsStackSlot() || |
@@ -266,12 +265,10 @@ void MoveOptimizer::FinalizeMoves(Instruction* instr) { |
move->destination()->IsDoubleStackSlot())) { |
// Found a better source for this load. Smash it in place to affect other |
// loads that have already been split. |
- InstructionOperand::Kind found_kind = found->destination()->kind(); |
- int found_index = found->destination()->index(); |
auto next_dest = |
- InstructionOperand::New(code_zone(), found_kind, found_index); |
+ InstructionOperand::New(code_zone(), *found->destination()); |
auto dest = move->destination(); |
- found->destination()->ConvertTo(dest->kind(), dest->index()); |
+ InstructionOperand::ReplaceWith(found->destination(), dest); |
move->set_destination(next_dest); |
} |
// move from load destination. |