Index: src/ia32/lithium-ia32.cc |
diff --git a/src/ia32/lithium-ia32.cc b/src/ia32/lithium-ia32.cc |
index abf2f02bca6d1e6e900699aa5ba1f2dc1d4f22f9..120ab14f80f0356efcea4852de175ad9daa9e7fe 100644 |
--- a/src/ia32/lithium-ia32.cc |
+++ b/src/ia32/lithium-ia32.cc |
@@ -2408,6 +2408,35 @@ LInstruction* LChunkBuilder::DoIn(HIn* instr) { |
} |
+LInstruction* LChunkBuilder::DoForInPrepareMap(HForInPrepareMap* instr) { |
+ LOperand* context = UseFixed(instr->context(), esi); |
+ LOperand* object = UseFixed(instr->enumerable(), eax); |
+ LForInPrepareMap* result = new(zone()) LForInPrepareMap(context, object); |
+ return MarkAsCall(DefineFixed(result, eax), instr, CAN_DEOPTIMIZE_EAGERLY); |
+} |
+ |
+ |
+LInstruction* LChunkBuilder::DoForInCacheArray(HForInCacheArray* instr) { |
+ LOperand* map = UseRegister(instr->map()); |
+ return AssignEnvironment(DefineAsRegister( |
+ new(zone()) LForInCacheArray(map))); |
+} |
+ |
+ |
+LInstruction* LChunkBuilder::DoCheckMapValue(HCheckMapValue* instr) { |
+ LOperand* value = UseRegisterAtStart(instr->value()); |
+ LOperand* map = UseRegisterAtStart(instr->map()); |
+ return AssignEnvironment(new(zone()) LCheckMapValue(value, map)); |
+} |
+ |
+ |
+LInstruction* LChunkBuilder::DoLoadFieldByIndex(HLoadFieldByIndex* instr) { |
+ LOperand* object = UseRegister(instr->object()); |
+ LOperand* index = UseTempRegister(instr->index()); |
+ return DefineSameAsFirst(new(zone()) LLoadFieldByIndex(object, index)); |
+} |
+ |
+ |
} } // namespace v8::internal |
#endif // V8_TARGET_ARCH_IA32 |