OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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_ARM64_LITHIUM_ARM64_H_ | 5 #ifndef V8_CRANKSHAFT_ARM64_LITHIUM_ARM64_H_ |
6 #define V8_CRANKSHAFT_ARM64_LITHIUM_ARM64_H_ | 6 #define V8_CRANKSHAFT_ARM64_LITHIUM_ARM64_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 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
67 V(DoubleToIntOrSmi) \ | 67 V(DoubleToIntOrSmi) \ |
68 V(Drop) \ | 68 V(Drop) \ |
69 V(Dummy) \ | 69 V(Dummy) \ |
70 V(DummyUse) \ | 70 V(DummyUse) \ |
71 V(FastAllocate) \ | 71 V(FastAllocate) \ |
72 V(FlooringDivByConstI) \ | 72 V(FlooringDivByConstI) \ |
73 V(FlooringDivByPowerOf2I) \ | 73 V(FlooringDivByPowerOf2I) \ |
74 V(FlooringDivI) \ | 74 V(FlooringDivI) \ |
75 V(ForInCacheArray) \ | 75 V(ForInCacheArray) \ |
76 V(ForInPrepareMap) \ | 76 V(ForInPrepareMap) \ |
77 V(GetCachedArrayIndex) \ | |
78 V(Goto) \ | 77 V(Goto) \ |
79 V(HasCachedArrayIndexAndBranch) \ | |
80 V(HasInPrototypeChainAndBranch) \ | 78 V(HasInPrototypeChainAndBranch) \ |
81 V(HasInstanceTypeAndBranch) \ | 79 V(HasInstanceTypeAndBranch) \ |
82 V(InnerAllocatedObject) \ | 80 V(InnerAllocatedObject) \ |
83 V(InstructionGap) \ | 81 V(InstructionGap) \ |
84 V(Integer32ToDouble) \ | 82 V(Integer32ToDouble) \ |
85 V(InvokeFunction) \ | 83 V(InvokeFunction) \ |
86 V(IsSmiAndBranch) \ | 84 V(IsSmiAndBranch) \ |
87 V(IsStringAndBranch) \ | 85 V(IsStringAndBranch) \ |
88 V(IsUndetectableAndBranch) \ | 86 V(IsUndetectableAndBranch) \ |
89 V(Label) \ | 87 V(Label) \ |
(...skipping 1182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1272 inputs_[0] = context; | 1270 inputs_[0] = context; |
1273 inputs_[1] = object; | 1271 inputs_[1] = object; |
1274 } | 1272 } |
1275 | 1273 |
1276 LOperand* context() { return inputs_[0]; } | 1274 LOperand* context() { return inputs_[0]; } |
1277 LOperand* object() { return inputs_[1]; } | 1275 LOperand* object() { return inputs_[1]; } |
1278 | 1276 |
1279 DECLARE_CONCRETE_INSTRUCTION(ForInPrepareMap, "for-in-prepare-map") | 1277 DECLARE_CONCRETE_INSTRUCTION(ForInPrepareMap, "for-in-prepare-map") |
1280 }; | 1278 }; |
1281 | 1279 |
1282 | |
1283 class LGetCachedArrayIndex final : public LTemplateInstruction<1, 1, 0> { | |
1284 public: | |
1285 explicit LGetCachedArrayIndex(LOperand* value) { | |
1286 inputs_[0] = value; | |
1287 } | |
1288 | |
1289 LOperand* value() { return inputs_[0]; } | |
1290 | |
1291 DECLARE_CONCRETE_INSTRUCTION(GetCachedArrayIndex, "get-cached-array-index") | |
1292 DECLARE_HYDROGEN_ACCESSOR(GetCachedArrayIndex) | |
1293 }; | |
1294 | |
1295 | |
1296 class LHasCachedArrayIndexAndBranch final : public LControlInstruction<1, 1> { | |
1297 public: | |
1298 LHasCachedArrayIndexAndBranch(LOperand* value, LOperand* temp) { | |
1299 inputs_[0] = value; | |
1300 temps_[0] = temp; | |
1301 } | |
1302 | |
1303 LOperand* value() { return inputs_[0]; } | |
1304 LOperand* temp() { return temps_[0]; } | |
1305 | |
1306 DECLARE_CONCRETE_INSTRUCTION(HasCachedArrayIndexAndBranch, | |
1307 "has-cached-array-index-and-branch") | |
1308 DECLARE_HYDROGEN_ACCESSOR(HasCachedArrayIndexAndBranch) | |
1309 | |
1310 void PrintDataTo(StringStream* stream) override; | |
1311 }; | |
1312 | |
1313 | |
1314 class LHasInstanceTypeAndBranch final : public LControlInstruction<1, 1> { | 1280 class LHasInstanceTypeAndBranch final : public LControlInstruction<1, 1> { |
1315 public: | 1281 public: |
1316 LHasInstanceTypeAndBranch(LOperand* value, LOperand* temp) { | 1282 LHasInstanceTypeAndBranch(LOperand* value, LOperand* temp) { |
1317 inputs_[0] = value; | 1283 inputs_[0] = value; |
1318 temps_[0] = temp; | 1284 temps_[0] = temp; |
1319 } | 1285 } |
1320 | 1286 |
1321 LOperand* value() { return inputs_[0]; } | 1287 LOperand* value() { return inputs_[0]; } |
1322 LOperand* temp() { return temps_[0]; } | 1288 LOperand* temp() { return temps_[0]; } |
1323 | 1289 |
(...skipping 1551 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2875 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2841 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2876 }; | 2842 }; |
2877 | 2843 |
2878 #undef DECLARE_HYDROGEN_ACCESSOR | 2844 #undef DECLARE_HYDROGEN_ACCESSOR |
2879 #undef DECLARE_CONCRETE_INSTRUCTION | 2845 #undef DECLARE_CONCRETE_INSTRUCTION |
2880 | 2846 |
2881 } // namespace internal | 2847 } // namespace internal |
2882 } // namespace v8 | 2848 } // namespace v8 |
2883 | 2849 |
2884 #endif // V8_CRANKSHAFT_ARM64_LITHIUM_ARM64_H_ | 2850 #endif // V8_CRANKSHAFT_ARM64_LITHIUM_ARM64_H_ |
OLD | NEW |