Index: src/arm/lithium-arm.cc |
=================================================================== |
--- src/arm/lithium-arm.cc (revision 6717) |
+++ src/arm/lithium-arm.cc (working copy) |
@@ -62,8 +62,7 @@ |
// Call instructions can use only fixed registers as |
// temporaries and outputs because all registers |
// are blocked by the calling convention. |
- // Inputs can use either fixed register or have a short lifetime (be |
- // used at start of the instruction). |
+ // Inputs must use a fixed register. |
ASSERT(Output() == NULL || |
LUnallocated::cast(Output())->HasFixedPolicy() || |
!LUnallocated::cast(Output())->HasRegisterPolicy()); |
@@ -1831,8 +1830,8 @@ |
LInstruction* LChunkBuilder::DoDeleteProperty(HDeleteProperty* instr) { |
- LOperand* object = UseRegisterAtStart(instr->object()); |
- LOperand* key = UseRegisterAtStart(instr->key()); |
+ LOperand* object = UseFixed(instr->object(), r0); |
+ LOperand* key = UseFixed(instr->key(), r1); |
LDeleteProperty* result = new LDeleteProperty(object, key); |
return MarkAsCall(DefineFixed(result, r0), instr); |
} |
@@ -1880,7 +1879,7 @@ |
LInstruction* LChunkBuilder::DoTypeof(HTypeof* instr) { |
- LTypeof* result = new LTypeof(UseRegisterAtStart(instr->value())); |
+ LTypeof* result = new LTypeof(UseFixed(instr->value(), r0)); |
return MarkAsCall(DefineFixed(result, r0), instr); |
} |