| 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
|
|
|