OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/crankshaft/x87/lithium-x87.h" | 5 #include "src/crankshaft/x87/lithium-x87.h" |
6 | 6 |
7 #include <sstream> | 7 #include <sstream> |
8 | 8 |
9 #if V8_TARGET_ARCH_X87 | 9 #if V8_TARGET_ARCH_X87 |
10 | 10 |
(...skipping 965 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
976 return DefineAsRegister(new(zone()) LArgumentsLength(Use(length->value()))); | 976 return DefineAsRegister(new(zone()) LArgumentsLength(Use(length->value()))); |
977 } | 977 } |
978 | 978 |
979 | 979 |
980 LInstruction* LChunkBuilder::DoArgumentsElements(HArgumentsElements* elems) { | 980 LInstruction* LChunkBuilder::DoArgumentsElements(HArgumentsElements* elems) { |
981 info()->MarkAsRequiresFrame(); | 981 info()->MarkAsRequiresFrame(); |
982 return DefineAsRegister(new(zone()) LArgumentsElements); | 982 return DefineAsRegister(new(zone()) LArgumentsElements); |
983 } | 983 } |
984 | 984 |
985 | 985 |
986 LInstruction* LChunkBuilder::DoInstanceOf(HInstanceOf* instr) { | |
987 LOperand* left = | |
988 UseFixed(instr->left(), InstanceOfDescriptor::LeftRegister()); | |
989 LOperand* right = | |
990 UseFixed(instr->right(), InstanceOfDescriptor::RightRegister()); | |
991 LOperand* context = UseFixed(instr->context(), esi); | |
992 LInstanceOf* result = new (zone()) LInstanceOf(context, left, right); | |
993 return MarkAsCall(DefineFixed(result, eax), instr); | |
994 } | |
995 | |
996 | |
997 LInstruction* LChunkBuilder::DoHasInPrototypeChainAndBranch( | 986 LInstruction* LChunkBuilder::DoHasInPrototypeChainAndBranch( |
998 HHasInPrototypeChainAndBranch* instr) { | 987 HHasInPrototypeChainAndBranch* instr) { |
999 LOperand* object = UseRegister(instr->object()); | 988 LOperand* object = UseRegister(instr->object()); |
1000 LOperand* prototype = UseRegister(instr->prototype()); | 989 LOperand* prototype = UseRegister(instr->prototype()); |
1001 LOperand* temp = TempRegister(); | 990 LOperand* temp = TempRegister(); |
1002 LHasInPrototypeChainAndBranch* result = | 991 LHasInPrototypeChainAndBranch* result = |
1003 new (zone()) LHasInPrototypeChainAndBranch(object, prototype, temp); | 992 new (zone()) LHasInPrototypeChainAndBranch(object, prototype, temp); |
1004 return AssignEnvironment(result); | 993 return AssignEnvironment(result); |
1005 } | 994 } |
1006 | 995 |
(...skipping 1580 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2587 LOperand* index = UseTempRegister(instr->index()); | 2576 LOperand* index = UseTempRegister(instr->index()); |
2588 LLoadFieldByIndex* load = new(zone()) LLoadFieldByIndex(object, index); | 2577 LLoadFieldByIndex* load = new(zone()) LLoadFieldByIndex(object, index); |
2589 LInstruction* result = DefineSameAsFirst(load); | 2578 LInstruction* result = DefineSameAsFirst(load); |
2590 return AssignPointerMap(result); | 2579 return AssignPointerMap(result); |
2591 } | 2580 } |
2592 | 2581 |
2593 } // namespace internal | 2582 } // namespace internal |
2594 } // namespace v8 | 2583 } // namespace v8 |
2595 | 2584 |
2596 #endif // V8_TARGET_ARCH_X87 | 2585 #endif // V8_TARGET_ARCH_X87 |
OLD | NEW |