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_ARM_LITHIUM_ARM_H_ | 5 #ifndef V8_CRANKSHAFT_ARM_LITHIUM_ARM_H_ |
6 #define V8_CRANKSHAFT_ARM_LITHIUM_ARM_H_ | 6 #define V8_CRANKSHAFT_ARM_LITHIUM_ARM_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 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 V(CompareNumericAndBranch) \ | 46 V(CompareNumericAndBranch) \ |
47 V(CmpObjectEqAndBranch) \ | 47 V(CmpObjectEqAndBranch) \ |
48 V(CmpHoleAndBranch) \ | 48 V(CmpHoleAndBranch) \ |
49 V(CmpMapAndBranch) \ | 49 V(CmpMapAndBranch) \ |
50 V(CmpT) \ | 50 V(CmpT) \ |
51 V(ConstantD) \ | 51 V(ConstantD) \ |
52 V(ConstantE) \ | 52 V(ConstantE) \ |
53 V(ConstantI) \ | 53 V(ConstantI) \ |
54 V(ConstantS) \ | 54 V(ConstantS) \ |
55 V(ConstantT) \ | 55 V(ConstantT) \ |
56 V(ConstructDouble) \ | |
57 V(Context) \ | 56 V(Context) \ |
58 V(DebugBreak) \ | 57 V(DebugBreak) \ |
59 V(DeclareGlobals) \ | 58 V(DeclareGlobals) \ |
60 V(Deoptimize) \ | 59 V(Deoptimize) \ |
61 V(DivByConstI) \ | 60 V(DivByConstI) \ |
62 V(DivByPowerOf2I) \ | 61 V(DivByPowerOf2I) \ |
63 V(DivI) \ | 62 V(DivI) \ |
64 V(DoubleBits) \ | 63 V(DoubleBits) \ |
65 V(DoubleToI) \ | 64 V(DoubleToI) \ |
66 V(DoubleToSmi) \ | 65 V(DoubleToSmi) \ |
(...skipping 2272 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2339 inputs_[0] = value; | 2338 inputs_[0] = value; |
2340 } | 2339 } |
2341 | 2340 |
2342 LOperand* value() { return inputs_[0]; } | 2341 LOperand* value() { return inputs_[0]; } |
2343 | 2342 |
2344 DECLARE_CONCRETE_INSTRUCTION(DoubleBits, "double-bits") | 2343 DECLARE_CONCRETE_INSTRUCTION(DoubleBits, "double-bits") |
2345 DECLARE_HYDROGEN_ACCESSOR(DoubleBits) | 2344 DECLARE_HYDROGEN_ACCESSOR(DoubleBits) |
2346 }; | 2345 }; |
2347 | 2346 |
2348 | 2347 |
2349 class LConstructDouble final : public LTemplateInstruction<1, 2, 0> { | |
2350 public: | |
2351 LConstructDouble(LOperand* hi, LOperand* lo) { | |
2352 inputs_[0] = hi; | |
2353 inputs_[1] = lo; | |
2354 } | |
2355 | |
2356 LOperand* hi() { return inputs_[0]; } | |
2357 LOperand* lo() { return inputs_[1]; } | |
2358 | |
2359 DECLARE_CONCRETE_INSTRUCTION(ConstructDouble, "construct-double") | |
2360 }; | |
2361 | |
2362 | |
2363 class LAllocate final : public LTemplateInstruction<1, 2, 2> { | 2348 class LAllocate final : public LTemplateInstruction<1, 2, 2> { |
2364 public: | 2349 public: |
2365 LAllocate(LOperand* context, | 2350 LAllocate(LOperand* context, |
2366 LOperand* size, | 2351 LOperand* size, |
2367 LOperand* temp1, | 2352 LOperand* temp1, |
2368 LOperand* temp2) { | 2353 LOperand* temp2) { |
2369 inputs_[0] = context; | 2354 inputs_[0] = context; |
2370 inputs_[1] = size; | 2355 inputs_[1] = size; |
2371 temps_[0] = temp1; | 2356 temps_[0] = temp1; |
2372 temps_[1] = temp2; | 2357 temps_[1] = temp2; |
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2661 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2646 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2662 }; | 2647 }; |
2663 | 2648 |
2664 #undef DECLARE_HYDROGEN_ACCESSOR | 2649 #undef DECLARE_HYDROGEN_ACCESSOR |
2665 #undef DECLARE_CONCRETE_INSTRUCTION | 2650 #undef DECLARE_CONCRETE_INSTRUCTION |
2666 | 2651 |
2667 } // namespace internal | 2652 } // namespace internal |
2668 } // namespace v8 | 2653 } // namespace v8 |
2669 | 2654 |
2670 #endif // V8_CRANKSHAFT_ARM_LITHIUM_ARM_H_ | 2655 #endif // V8_CRANKSHAFT_ARM_LITHIUM_ARM_H_ |
OLD | NEW |