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