OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
76 V(CheckSmi) \ | 76 V(CheckSmi) \ |
77 V(ClampDToUint8) \ | 77 V(ClampDToUint8) \ |
78 V(ClampIToUint8) \ | 78 V(ClampIToUint8) \ |
79 V(ClampTToUint8) \ | 79 V(ClampTToUint8) \ |
80 V(ClassOfTest) \ | 80 V(ClassOfTest) \ |
81 V(ClassOfTestAndBranch) \ | 81 V(ClassOfTestAndBranch) \ |
82 V(CmpConstantEq) \ | 82 V(CmpConstantEq) \ |
83 V(CmpConstantEqAndBranch) \ | 83 V(CmpConstantEqAndBranch) \ |
84 V(CmpID) \ | 84 V(CmpID) \ |
85 V(CmpIDAndBranch) \ | 85 V(CmpIDAndBranch) \ |
86 V(CmpJSObjectEq) \ | 86 V(CmpObjectEq) \ |
87 V(CmpJSObjectEqAndBranch) \ | 87 V(CmpObjectEqAndBranch) \ |
88 V(CmpMapAndBranch) \ | 88 V(CmpMapAndBranch) \ |
89 V(CmpSymbolEq) \ | |
90 V(CmpSymbolEqAndBranch) \ | |
91 V(CmpT) \ | 89 V(CmpT) \ |
92 V(ConstantD) \ | 90 V(ConstantD) \ |
93 V(ConstantI) \ | 91 V(ConstantI) \ |
94 V(ConstantT) \ | 92 V(ConstantT) \ |
95 V(Context) \ | 93 V(Context) \ |
96 V(DeleteProperty) \ | 94 V(DeleteProperty) \ |
97 V(Deoptimize) \ | 95 V(Deoptimize) \ |
98 V(DivI) \ | 96 V(DivI) \ |
99 V(DoubleToI) \ | 97 V(DoubleToI) \ |
100 V(ElementsKind) \ | 98 V(ElementsKind) \ |
(...skipping 529 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
630 } | 628 } |
631 | 629 |
632 DECLARE_CONCRETE_INSTRUCTION(UnaryMathOperation, "unary-math-operation") | 630 DECLARE_CONCRETE_INSTRUCTION(UnaryMathOperation, "unary-math-operation") |
633 DECLARE_HYDROGEN_ACCESSOR(UnaryMathOperation) | 631 DECLARE_HYDROGEN_ACCESSOR(UnaryMathOperation) |
634 | 632 |
635 virtual void PrintDataTo(StringStream* stream); | 633 virtual void PrintDataTo(StringStream* stream); |
636 BuiltinFunctionId op() const { return hydrogen()->op(); } | 634 BuiltinFunctionId op() const { return hydrogen()->op(); } |
637 }; | 635 }; |
638 | 636 |
639 | 637 |
640 class LCmpJSObjectEq: public LTemplateInstruction<1, 2, 0> { | 638 class LCmpObjectEq: public LTemplateInstruction<1, 2, 0> { |
641 public: | 639 public: |
642 LCmpJSObjectEq(LOperand* left, LOperand* right) { | 640 LCmpObjectEq(LOperand* left, LOperand* right) { |
643 inputs_[0] = left; | 641 inputs_[0] = left; |
644 inputs_[1] = right; | 642 inputs_[1] = right; |
645 } | 643 } |
646 | 644 |
647 DECLARE_CONCRETE_INSTRUCTION(CmpJSObjectEq, "cmp-jsobject-eq") | 645 DECLARE_CONCRETE_INSTRUCTION(CmpObjectEq, "cmp-object-eq") |
648 }; | 646 }; |
649 | 647 |
650 | 648 |
651 class LCmpJSObjectEqAndBranch: public LControlInstruction<2, 0> { | 649 class LCmpObjectEqAndBranch: public LControlInstruction<2, 0> { |
652 public: | 650 public: |
653 LCmpJSObjectEqAndBranch(LOperand* left, LOperand* right) { | 651 LCmpObjectEqAndBranch(LOperand* left, LOperand* right) { |
654 inputs_[0] = left; | 652 inputs_[0] = left; |
655 inputs_[1] = right; | 653 inputs_[1] = right; |
656 } | 654 } |
657 | 655 |
658 DECLARE_CONCRETE_INSTRUCTION(CmpJSObjectEqAndBranch, | 656 DECLARE_CONCRETE_INSTRUCTION(CmpObjectEqAndBranch, |
659 "cmp-jsobject-eq-and-branch") | 657 "cmp-object-eq-and-branch") |
660 }; | |
661 | |
662 | |
663 class LCmpSymbolEq: public LTemplateInstruction<1, 2, 0> { | |
664 public: | |
665 LCmpSymbolEq(LOperand* left, LOperand* right) { | |
666 inputs_[0] = left; | |
667 inputs_[1] = right; | |
668 } | |
669 | |
670 DECLARE_CONCRETE_INSTRUCTION(CmpSymbolEq, "cmp-symbol-eq") | |
671 }; | |
672 | |
673 | |
674 class LCmpSymbolEqAndBranch: public LControlInstruction<2, 0> { | |
675 public: | |
676 LCmpSymbolEqAndBranch(LOperand* left, LOperand* right) { | |
677 inputs_[0] = left; | |
678 inputs_[1] = right; | |
679 } | |
680 | |
681 DECLARE_CONCRETE_INSTRUCTION(CmpSymbolEqAndBranch, "cmp-symbol-eq-and-branch") | |
682 }; | 658 }; |
683 | 659 |
684 | 660 |
685 class LCmpConstantEq: public LTemplateInstruction<1, 1, 0> { | 661 class LCmpConstantEq: public LTemplateInstruction<1, 1, 0> { |
686 public: | 662 public: |
687 explicit LCmpConstantEq(LOperand* left) { | 663 explicit LCmpConstantEq(LOperand* left) { |
688 inputs_[0] = left; | 664 inputs_[0] = left; |
689 } | 665 } |
690 | 666 |
691 DECLARE_CONCRETE_INSTRUCTION(CmpConstantEq, "cmp-constant-eq") | 667 DECLARE_CONCRETE_INSTRUCTION(CmpConstantEq, "cmp-constant-eq") |
(...skipping 1634 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2326 | 2302 |
2327 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2303 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2328 }; | 2304 }; |
2329 | 2305 |
2330 #undef DECLARE_HYDROGEN_ACCESSOR | 2306 #undef DECLARE_HYDROGEN_ACCESSOR |
2331 #undef DECLARE_CONCRETE_INSTRUCTION | 2307 #undef DECLARE_CONCRETE_INSTRUCTION |
2332 | 2308 |
2333 } } // namespace v8::internal | 2309 } } // namespace v8::internal |
2334 | 2310 |
2335 #endif // V8_ARM_LITHIUM_ARM_H_ | 2311 #endif // V8_ARM_LITHIUM_ARM_H_ |
OLD | NEW |