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