Index: src/x64/lithium-x64.cc |
diff --git a/src/x64/lithium-x64.cc b/src/x64/lithium-x64.cc |
index 3e30a4a78442f94347c74ea11e2538670ef03999..d373e191fecb81388787d74d6a9e604ee758b32a 100644 |
--- a/src/x64/lithium-x64.cc |
+++ b/src/x64/lithium-x64.cc |
@@ -2269,6 +2269,34 @@ LInstruction* LChunkBuilder::DoIn(HIn* instr) { |
} |
+LInstruction* LChunkBuilder::DoForInPrepareMap(HForInPrepareMap* instr) { |
+ LOperand* object = UseFixed(instr->enumerable(), rax); |
+ LForInPrepareMap* result = new LForInPrepareMap(object); |
+ return MarkAsCall(DefineFixed(result, rax), instr, CAN_DEOPTIMIZE_EAGERLY); |
+} |
+ |
+ |
+LInstruction* LChunkBuilder::DoForInCacheArray(HForInCacheArray* instr) { |
+ LOperand* map = UseRegister(instr->map()); |
+ return AssignEnvironment(DefineAsRegister( |
+ new LForInCacheArray(map))); |
+} |
+ |
+ |
+LInstruction* LChunkBuilder::DoCheckMapValue(HCheckMapValue* instr) { |
+ LOperand* value = UseRegisterAtStart(instr->value()); |
+ LOperand* map = UseRegisterAtStart(instr->map()); |
+ return AssignEnvironment(new LCheckMapValue(value, map)); |
+} |
+ |
+ |
+LInstruction* LChunkBuilder::DoLoadFieldByIndex(HLoadFieldByIndex* instr) { |
+ LOperand* object = UseRegister(instr->object()); |
+ LOperand* index = UseTempRegister(instr->index()); |
+ return DefineSameAsFirst(new LLoadFieldByIndex(object, index)); |
+} |
+ |
+ |
} } // namespace v8::internal |
#endif // V8_TARGET_ARCH_X64 |