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 #ifndef V8_CRANKSHAFT_X64_LITHIUM_X64_H_ | 5 #ifndef V8_CRANKSHAFT_X64_LITHIUM_X64_H_ |
6 #define V8_CRANKSHAFT_X64_LITHIUM_X64_H_ | 6 #define V8_CRANKSHAFT_X64_LITHIUM_X64_H_ |
7 | 7 |
8 #include "src/crankshaft/hydrogen.h" | 8 #include "src/crankshaft/hydrogen.h" |
9 #include "src/crankshaft/lithium.h" | 9 #include "src/crankshaft/lithium.h" |
10 #include "src/crankshaft/lithium-allocator.h" | 10 #include "src/crankshaft/lithium-allocator.h" |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
64 V(DoubleToSmi) \ | 64 V(DoubleToSmi) \ |
65 V(Drop) \ | 65 V(Drop) \ |
66 V(DummyUse) \ | 66 V(DummyUse) \ |
67 V(Dummy) \ | 67 V(Dummy) \ |
68 V(FastAllocate) \ | 68 V(FastAllocate) \ |
69 V(FlooringDivByConstI) \ | 69 V(FlooringDivByConstI) \ |
70 V(FlooringDivByPowerOf2I) \ | 70 V(FlooringDivByPowerOf2I) \ |
71 V(FlooringDivI) \ | 71 V(FlooringDivI) \ |
72 V(ForInCacheArray) \ | 72 V(ForInCacheArray) \ |
73 V(ForInPrepareMap) \ | 73 V(ForInPrepareMap) \ |
74 V(GetCachedArrayIndex) \ | |
75 V(Goto) \ | 74 V(Goto) \ |
76 V(HasCachedArrayIndexAndBranch) \ | |
77 V(HasInPrototypeChainAndBranch) \ | 75 V(HasInPrototypeChainAndBranch) \ |
78 V(HasInstanceTypeAndBranch) \ | 76 V(HasInstanceTypeAndBranch) \ |
79 V(InnerAllocatedObject) \ | 77 V(InnerAllocatedObject) \ |
80 V(InstructionGap) \ | 78 V(InstructionGap) \ |
81 V(Integer32ToDouble) \ | 79 V(Integer32ToDouble) \ |
82 V(InvokeFunction) \ | 80 V(InvokeFunction) \ |
83 V(IsStringAndBranch) \ | 81 V(IsStringAndBranch) \ |
84 V(IsSmiAndBranch) \ | 82 V(IsSmiAndBranch) \ |
85 V(IsUndetectableAndBranch) \ | 83 V(IsUndetectableAndBranch) \ |
86 V(Label) \ | 84 V(Label) \ |
(...skipping 977 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1064 | 1062 |
1065 LOperand* value() { return inputs_[0]; } | 1063 LOperand* value() { return inputs_[0]; } |
1066 | 1064 |
1067 DECLARE_CONCRETE_INSTRUCTION(HasInstanceTypeAndBranch, | 1065 DECLARE_CONCRETE_INSTRUCTION(HasInstanceTypeAndBranch, |
1068 "has-instance-type-and-branch") | 1066 "has-instance-type-and-branch") |
1069 DECLARE_HYDROGEN_ACCESSOR(HasInstanceTypeAndBranch) | 1067 DECLARE_HYDROGEN_ACCESSOR(HasInstanceTypeAndBranch) |
1070 | 1068 |
1071 void PrintDataTo(StringStream* stream) override; | 1069 void PrintDataTo(StringStream* stream) override; |
1072 }; | 1070 }; |
1073 | 1071 |
1074 | |
1075 class LGetCachedArrayIndex final : public LTemplateInstruction<1, 1, 0> { | |
1076 public: | |
1077 explicit LGetCachedArrayIndex(LOperand* value) { | |
1078 inputs_[0] = value; | |
1079 } | |
1080 | |
1081 LOperand* value() { return inputs_[0]; } | |
1082 | |
1083 DECLARE_CONCRETE_INSTRUCTION(GetCachedArrayIndex, "get-cached-array-index") | |
1084 DECLARE_HYDROGEN_ACCESSOR(GetCachedArrayIndex) | |
1085 }; | |
1086 | |
1087 | |
1088 class LHasCachedArrayIndexAndBranch final : public LControlInstruction<1, 0> { | |
1089 public: | |
1090 explicit LHasCachedArrayIndexAndBranch(LOperand* value) { | |
1091 inputs_[0] = value; | |
1092 } | |
1093 | |
1094 LOperand* value() { return inputs_[0]; } | |
1095 | |
1096 DECLARE_CONCRETE_INSTRUCTION(HasCachedArrayIndexAndBranch, | |
1097 "has-cached-array-index-and-branch") | |
1098 DECLARE_HYDROGEN_ACCESSOR(HasCachedArrayIndexAndBranch) | |
1099 | |
1100 void PrintDataTo(StringStream* stream) override; | |
1101 }; | |
1102 | |
1103 | |
1104 class LClassOfTestAndBranch final : public LControlInstruction<1, 2> { | 1072 class LClassOfTestAndBranch final : public LControlInstruction<1, 2> { |
1105 public: | 1073 public: |
1106 LClassOfTestAndBranch(LOperand* value, LOperand* temp, LOperand* temp2) { | 1074 LClassOfTestAndBranch(LOperand* value, LOperand* temp, LOperand* temp2) { |
1107 inputs_[0] = value; | 1075 inputs_[0] = value; |
1108 temps_[0] = temp; | 1076 temps_[0] = temp; |
1109 temps_[1] = temp2; | 1077 temps_[1] = temp2; |
1110 } | 1078 } |
1111 | 1079 |
1112 LOperand* value() { return inputs_[0]; } | 1080 LOperand* value() { return inputs_[0]; } |
1113 LOperand* temp() { return temps_[0]; } | 1081 LOperand* temp() { return temps_[0]; } |
(...skipping 1405 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2519 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2487 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2520 }; | 2488 }; |
2521 | 2489 |
2522 #undef DECLARE_HYDROGEN_ACCESSOR | 2490 #undef DECLARE_HYDROGEN_ACCESSOR |
2523 #undef DECLARE_CONCRETE_INSTRUCTION | 2491 #undef DECLARE_CONCRETE_INSTRUCTION |
2524 | 2492 |
2525 } // namespace internal | 2493 } // namespace internal |
2526 } // namespace v8 | 2494 } // namespace v8 |
2527 | 2495 |
2528 #endif // V8_CRANKSHAFT_X64_LITHIUM_X64_H_ | 2496 #endif // V8_CRANKSHAFT_X64_LITHIUM_X64_H_ |
OLD | NEW |