Index: src/x64/lithium-x64.cc |
diff --git a/src/x64/lithium-x64.cc b/src/x64/lithium-x64.cc |
index b486faec62f3aa0274df9f78ed47a563a79ab2c2..71f276e4340b79d45d1a91eee9a9747ef84884bb 100644 |
--- a/src/x64/lithium-x64.cc |
+++ b/src/x64/lithium-x64.cc |
@@ -1786,7 +1786,8 @@ LInstruction* LChunkBuilder::DoStoreGlobalGeneric(HStoreGlobalGeneric* instr) { |
LInstruction* LChunkBuilder::DoLoadContextSlot(HLoadContextSlot* instr) { |
LOperand* context = UseRegisterAtStart(instr->value()); |
- return DefineAsRegister(new LLoadContextSlot(context)); |
+ LInstruction* result = DefineAsRegister(new LLoadContextSlot(context)); |
+ return instr->RequiresHoleCheck() ? AssignEnvironment(result) : result; |
} |
@@ -1803,7 +1804,8 @@ LInstruction* LChunkBuilder::DoStoreContextSlot(HStoreContextSlot* instr) { |
value = UseRegister(instr->value()); |
temp = NULL; |
} |
- return new LStoreContextSlot(context, value, temp); |
+ LInstruction* result = new LStoreContextSlot(context, value, temp); |
+ return instr->RequiresHoleCheck() ? AssignEnvironment(result) : result; |
} |