| 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);
|
| }
|
|
|
|
|