OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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/ppc/lithium-ppc.h" | 5 #include "src/crankshaft/ppc/lithium-ppc.h" |
6 | 6 |
7 #include <sstream> | 7 #include <sstream> |
8 | 8 |
9 #include "src/crankshaft/hydrogen-osr.h" | 9 #include "src/crankshaft/hydrogen-osr.h" |
10 #include "src/crankshaft/lithium-inl.h" | 10 #include "src/crankshaft/lithium-inl.h" |
(...skipping 931 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
942 return DefineAsRegister(new (zone()) LArgumentsLength(value)); | 942 return DefineAsRegister(new (zone()) LArgumentsLength(value)); |
943 } | 943 } |
944 | 944 |
945 | 945 |
946 LInstruction* LChunkBuilder::DoArgumentsElements(HArgumentsElements* elems) { | 946 LInstruction* LChunkBuilder::DoArgumentsElements(HArgumentsElements* elems) { |
947 info()->MarkAsRequiresFrame(); | 947 info()->MarkAsRequiresFrame(); |
948 return DefineAsRegister(new (zone()) LArgumentsElements); | 948 return DefineAsRegister(new (zone()) LArgumentsElements); |
949 } | 949 } |
950 | 950 |
951 | 951 |
952 LInstruction* LChunkBuilder::DoInstanceOf(HInstanceOf* instr) { | |
953 LOperand* left = | |
954 UseFixed(instr->left(), InstanceOfDescriptor::LeftRegister()); | |
955 LOperand* right = | |
956 UseFixed(instr->right(), InstanceOfDescriptor::RightRegister()); | |
957 LOperand* context = UseFixed(instr->context(), cp); | |
958 LInstanceOf* result = new (zone()) LInstanceOf(context, left, right); | |
959 return MarkAsCall(DefineFixed(result, r3), instr); | |
960 } | |
961 | |
962 | |
963 LInstruction* LChunkBuilder::DoHasInPrototypeChainAndBranch( | 952 LInstruction* LChunkBuilder::DoHasInPrototypeChainAndBranch( |
964 HHasInPrototypeChainAndBranch* instr) { | 953 HHasInPrototypeChainAndBranch* instr) { |
965 LOperand* object = UseRegister(instr->object()); | 954 LOperand* object = UseRegister(instr->object()); |
966 LOperand* prototype = UseRegister(instr->prototype()); | 955 LOperand* prototype = UseRegister(instr->prototype()); |
967 LHasInPrototypeChainAndBranch* result = | 956 LHasInPrototypeChainAndBranch* result = |
968 new (zone()) LHasInPrototypeChainAndBranch(object, prototype); | 957 new (zone()) LHasInPrototypeChainAndBranch(object, prototype); |
969 return AssignEnvironment(result); | 958 return AssignEnvironment(result); |
970 } | 959 } |
971 | 960 |
972 | 961 |
(...skipping 1524 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2497 LInstruction* LChunkBuilder::DoLoadFieldByIndex(HLoadFieldByIndex* instr) { | 2486 LInstruction* LChunkBuilder::DoLoadFieldByIndex(HLoadFieldByIndex* instr) { |
2498 LOperand* object = UseRegister(instr->object()); | 2487 LOperand* object = UseRegister(instr->object()); |
2499 LOperand* index = UseTempRegister(instr->index()); | 2488 LOperand* index = UseTempRegister(instr->index()); |
2500 LLoadFieldByIndex* load = new (zone()) LLoadFieldByIndex(object, index); | 2489 LLoadFieldByIndex* load = new (zone()) LLoadFieldByIndex(object, index); |
2501 LInstruction* result = DefineSameAsFirst(load); | 2490 LInstruction* result = DefineSameAsFirst(load); |
2502 return AssignPointerMap(result); | 2491 return AssignPointerMap(result); |
2503 } | 2492 } |
2504 | 2493 |
2505 } // namespace internal | 2494 } // namespace internal |
2506 } // namespace v8 | 2495 } // namespace v8 |
OLD | NEW |