Index: src/arm/lithium-arm.cc |
=================================================================== |
--- src/arm/lithium-arm.cc (revision 6208) |
+++ src/arm/lithium-arm.cc (working copy) |
@@ -1925,7 +1925,7 @@ |
LInstruction* LChunkBuilder::DoStoreNamedField(HStoreNamedField* instr) { |
- bool needs_write_barrier = !instr->value()->type().IsSmi(); |
+ bool needs_write_barrier = instr->NeedsWriteBarrier(); |
LOperand* obj = needs_write_barrier |
? UseTempRegister(instr->object()) |
@@ -1935,17 +1935,11 @@ |
? UseTempRegister(instr->value()) |
: UseRegister(instr->value()); |
- // We only need a scratch register if we have a write barrier or we |
- // have a store into the properties array (not in-object-property). |
- LOperand* temp = (!instr->is_in_object() || needs_write_barrier) |
- ? TempRegister() : NULL; |
- |
return new LStoreNamedField(obj, |
instr->name(), |
val, |
instr->is_in_object(), |
instr->offset(), |
- temp, |
needs_write_barrier, |
instr->transition()); |
} |