Chromium Code Reviews| Index: src/arm/lithium-arm.cc |
| diff --git a/src/arm/lithium-arm.cc b/src/arm/lithium-arm.cc |
| index ce3a66f9c3fce0953f6d80a701087e49cb3aa2ec..5045ab8763eb3e2a521a0fbeff7d97a4283b9631 100644 |
| --- a/src/arm/lithium-arm.cc |
| +++ b/src/arm/lithium-arm.cc |
| @@ -1602,7 +1602,12 @@ LInstruction* LChunkBuilder::DoLoadGlobal(HLoadGlobal* instr) { |
| LInstruction* LChunkBuilder::DoStoreGlobal(HStoreGlobal* instr) { |
| - return new LStoreGlobal(UseRegisterAtStart(instr->value())); |
| + LOperand* temp = instr->check_hole_value() ? TempRegister() : NULL; |
|
Kevin Millikin (Chromium)
2011/01/27 07:56:07
OK, but since almost every line has to check the s
Mads Ager (chromium)
2011/01/27 08:33:36
Done.
|
| + LOperand* value = instr->check_hole_value() |
| + ? UseRegister(instr->value()) |
| + : UseRegisterAtStart(instr->value()); |
| + LStoreGlobal* result = new LStoreGlobal(value, temp); |
| + return instr->check_hole_value() ? AssignEnvironment(result) : result; |
| } |