Chromium Code Reviews| Index: src/arm/lithium-arm.cc |
| =================================================================== |
| --- src/arm/lithium-arm.cc (revision 6255) |
| +++ src/arm/lithium-arm.cc (working copy) |
| @@ -1690,23 +1690,12 @@ |
| LInstruction* LChunkBuilder::DoLoadKeyedFastElement( |
| HLoadKeyedFastElement* instr) { |
| - Representation r = instr->representation(); |
| + ASSERT(instr->representation().IsTagged()); |
| LOperand* obj = UseRegisterAtStart(instr->object()); |
| ASSERT(instr->key()->representation().IsInteger32()); |
|
Kevin Millikin (Chromium)
2011/01/11 11:31:56
Put this precondition assert right after the other
fschneider
2011/01/11 11:41:49
Done.
|
| LOperand* key = UseRegisterAtStart(instr->key()); |
| - LOperand* load_result = NULL; |
| - // Double needs an extra temp, because the result is converted from heap |
| - // number to a double register. |
| - if (r.IsDouble()) load_result = TempRegister(); |
| - LInstruction* result = new LLoadKeyedFastElement(obj, |
| - key, |
| - load_result); |
| - if (r.IsDouble()) { |
| - result = DefineAsRegister(result); |
| - } else { |
| - result = DefineSameAsFirst(result); |
| - } |
| - return AssignEnvironment(result); |
| + LInstruction* result = new LLoadKeyedFastElement(obj, key); |
| + return AssignEnvironment(DefineSameAsFirst(result)); |
| } |
| @@ -1763,13 +1752,7 @@ |
| ? UseTempRegister(instr->value()) |
| : UseRegister(instr->value()); |
| - return new LStoreNamedField(obj, |
| - instr->name(), |
| - val, |
| - instr->is_in_object(), |
| - instr->offset(), |
| - needs_write_barrier, |
| - instr->transition()); |
| + return new LStoreNamedField(obj, val); |
| } |
| @@ -1777,7 +1760,7 @@ |
| LOperand* obj = UseFixed(instr->object(), r1); |
| LOperand* val = UseFixed(instr->value(), r0); |
| - LInstruction* result = new LStoreNamedGeneric(obj, instr->name(), val); |
| + LInstruction* result = new LStoreNamedGeneric(obj, val); |
| return MarkAsCall(result, instr); |
| } |