Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Side by Side Diff: src/mips/lithium-mips.h

Issue 136643008: A64: Synchronize with r18256. (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/a64
Patch Set: Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/mips/lithium-codegen-mips.cc ('k') | src/mips/lithium-mips.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 V(LoadFieldByIndex) \ 124 V(LoadFieldByIndex) \
125 V(LoadFunctionPrototype) \ 125 V(LoadFunctionPrototype) \
126 V(LoadGlobalCell) \ 126 V(LoadGlobalCell) \
127 V(LoadGlobalGeneric) \ 127 V(LoadGlobalGeneric) \
128 V(LoadKeyed) \ 128 V(LoadKeyed) \
129 V(LoadKeyedGeneric) \ 129 V(LoadKeyedGeneric) \
130 V(LoadNamedField) \ 130 V(LoadNamedField) \
131 V(LoadNamedGeneric) \ 131 V(LoadNamedGeneric) \
132 V(MapEnumLength) \ 132 V(MapEnumLength) \
133 V(MathAbs) \ 133 V(MathAbs) \
134 V(MathCos) \
135 V(MathExp) \ 134 V(MathExp) \
136 V(MathFloor) \ 135 V(MathFloor) \
137 V(MathFloorOfDiv) \ 136 V(MathFloorOfDiv) \
138 V(MathLog) \ 137 V(MathLog) \
139 V(MathMinMax) \ 138 V(MathMinMax) \
140 V(MathPowHalf) \ 139 V(MathPowHalf) \
141 V(MathRound) \ 140 V(MathRound) \
142 V(MathSin) \
143 V(MathSqrt) \ 141 V(MathSqrt) \
144 V(MathTan) \
145 V(ModI) \ 142 V(ModI) \
146 V(MulI) \ 143 V(MulI) \
147 V(MultiplyAddD) \ 144 V(MultiplyAddD) \
148 V(NumberTagD) \ 145 V(NumberTagD) \
149 V(NumberTagI) \ 146 V(NumberTagI) \
150 V(NumberTagU) \ 147 V(NumberTagU) \
151 V(NumberUntagD) \ 148 V(NumberUntagD) \
152 V(OsrEntry) \ 149 V(OsrEntry) \
153 V(OuterContext) \ 150 V(OuterContext) \
154 V(Parameter) \ 151 V(Parameter) \
(...skipping 649 matching lines...) Expand 10 before | Expand all | Expand 10 after
804 explicit LMathLog(LOperand* value) { 801 explicit LMathLog(LOperand* value) {
805 inputs_[0] = value; 802 inputs_[0] = value;
806 } 803 }
807 804
808 LOperand* value() { return inputs_[0]; } 805 LOperand* value() { return inputs_[0]; }
809 806
810 DECLARE_CONCRETE_INSTRUCTION(MathLog, "math-log") 807 DECLARE_CONCRETE_INSTRUCTION(MathLog, "math-log")
811 }; 808 };
812 809
813 810
814 class LMathSin V8_FINAL : public LTemplateInstruction<1, 1, 0> {
815 public:
816 explicit LMathSin(LOperand* value) {
817 inputs_[0] = value;
818 }
819
820 LOperand* value() { return inputs_[0]; }
821
822 DECLARE_CONCRETE_INSTRUCTION(MathSin, "math-sin")
823 };
824
825
826 class LMathCos V8_FINAL : public LTemplateInstruction<1, 1, 0> {
827 public:
828 explicit LMathCos(LOperand* value) {
829 inputs_[0] = value;
830 }
831
832 LOperand* value() { return inputs_[0]; }
833
834 DECLARE_CONCRETE_INSTRUCTION(MathCos, "math-cos")
835 };
836
837
838 class LMathTan V8_FINAL : public LTemplateInstruction<1, 1, 0> {
839 public:
840 explicit LMathTan(LOperand* value) {
841 inputs_[0] = value;
842 }
843
844 LOperand* value() { return inputs_[0]; }
845
846 DECLARE_CONCRETE_INSTRUCTION(MathTan, "math-tan")
847 };
848
849
850 class LMathExp V8_FINAL : public LTemplateInstruction<1, 1, 3> { 811 class LMathExp V8_FINAL : public LTemplateInstruction<1, 1, 3> {
851 public: 812 public:
852 LMathExp(LOperand* value, 813 LMathExp(LOperand* value,
853 LOperand* double_temp, 814 LOperand* double_temp,
854 LOperand* temp1, 815 LOperand* temp1,
855 LOperand* temp2) { 816 LOperand* temp2) {
856 inputs_[0] = value; 817 inputs_[0] = value;
857 temps_[0] = temp1; 818 temps_[0] = temp1;
858 temps_[1] = temp2; 819 temps_[1] = temp2;
859 temps_[2] = double_temp; 820 temps_[2] = double_temp;
(...skipping 911 matching lines...) Expand 10 before | Expand all | Expand 10 after
1771 LOperand* function() { return inputs_[0]; } 1732 LOperand* function() { return inputs_[0]; }
1772 LOperand* code_object() { return temps_[0]; } 1733 LOperand* code_object() { return temps_[0]; }
1773 1734
1774 virtual void PrintDataTo(StringStream* stream); 1735 virtual void PrintDataTo(StringStream* stream);
1775 1736
1776 DECLARE_CONCRETE_INSTRUCTION(StoreCodeEntry, "store-code-entry") 1737 DECLARE_CONCRETE_INSTRUCTION(StoreCodeEntry, "store-code-entry")
1777 DECLARE_HYDROGEN_ACCESSOR(StoreCodeEntry) 1738 DECLARE_HYDROGEN_ACCESSOR(StoreCodeEntry)
1778 }; 1739 };
1779 1740
1780 1741
1781 class LInnerAllocatedObject V8_FINAL: public LTemplateInstruction<1, 1, 0> { 1742 class LInnerAllocatedObject V8_FINAL: public LTemplateInstruction<1, 2, 0> {
1782 public: 1743 public:
1783 explicit LInnerAllocatedObject(LOperand* base_object) { 1744 LInnerAllocatedObject(LOperand* base_object, LOperand* offset) {
1784 inputs_[0] = base_object; 1745 inputs_[0] = base_object;
1746 inputs_[1] = offset;
1785 } 1747 }
1786 1748
1787 LOperand* base_object() { return inputs_[0]; } 1749 LOperand* base_object() const { return inputs_[0]; }
1788 int offset() { return hydrogen()->offset(); } 1750 LOperand* offset() const { return inputs_[1]; }
1789 1751
1790 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; 1752 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE;
1791 1753
1792 DECLARE_CONCRETE_INSTRUCTION(InnerAllocatedObject, "sub-allocated-object") 1754 DECLARE_CONCRETE_INSTRUCTION(InnerAllocatedObject, "inner-allocated-object")
1793 DECLARE_HYDROGEN_ACCESSOR(InnerAllocatedObject)
1794 }; 1755 };
1795 1756
1796 1757
1797 class LThisFunction V8_FINAL : public LTemplateInstruction<1, 0, 0> { 1758 class LThisFunction V8_FINAL : public LTemplateInstruction<1, 0, 0> {
1798 public: 1759 public:
1799 DECLARE_CONCRETE_INSTRUCTION(ThisFunction, "this-function") 1760 DECLARE_CONCRETE_INSTRUCTION(ThisFunction, "this-function")
1800 DECLARE_HYDROGEN_ACCESSOR(ThisFunction) 1761 DECLARE_HYDROGEN_ACCESSOR(ThisFunction)
1801 }; 1762 };
1802 1763
1803 1764
(...skipping 941 matching lines...) Expand 10 before | Expand all | Expand 10 after
2745 2706
2746 LInstruction* DoMultiplyAdd(HMul* mul, HValue* addend); 2707 LInstruction* DoMultiplyAdd(HMul* mul, HValue* addend);
2747 2708
2748 static bool HasMagicNumberForDivisor(int32_t divisor); 2709 static bool HasMagicNumberForDivisor(int32_t divisor);
2749 static HValue* SimplifiedDivisorForMathFloorOfDiv(HValue* val); 2710 static HValue* SimplifiedDivisorForMathFloorOfDiv(HValue* val);
2750 2711
2751 LInstruction* DoMathFloor(HUnaryMathOperation* instr); 2712 LInstruction* DoMathFloor(HUnaryMathOperation* instr);
2752 LInstruction* DoMathRound(HUnaryMathOperation* instr); 2713 LInstruction* DoMathRound(HUnaryMathOperation* instr);
2753 LInstruction* DoMathAbs(HUnaryMathOperation* instr); 2714 LInstruction* DoMathAbs(HUnaryMathOperation* instr);
2754 LInstruction* DoMathLog(HUnaryMathOperation* instr); 2715 LInstruction* DoMathLog(HUnaryMathOperation* instr);
2755 LInstruction* DoMathSin(HUnaryMathOperation* instr);
2756 LInstruction* DoMathCos(HUnaryMathOperation* instr);
2757 LInstruction* DoMathTan(HUnaryMathOperation* instr);
2758 LInstruction* DoMathExp(HUnaryMathOperation* instr); 2716 LInstruction* DoMathExp(HUnaryMathOperation* instr);
2759 LInstruction* DoMathSqrt(HUnaryMathOperation* instr); 2717 LInstruction* DoMathSqrt(HUnaryMathOperation* instr);
2760 LInstruction* DoMathPowHalf(HUnaryMathOperation* instr); 2718 LInstruction* DoMathPowHalf(HUnaryMathOperation* instr);
2761 2719
2762 private: 2720 private:
2763 enum Status { 2721 enum Status {
2764 UNUSED, 2722 UNUSED,
2765 BUILDING, 2723 BUILDING,
2766 DONE, 2724 DONE,
2767 ABORTED 2725 ABORTED
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
2888 2846
2889 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2847 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2890 }; 2848 };
2891 2849
2892 #undef DECLARE_HYDROGEN_ACCESSOR 2850 #undef DECLARE_HYDROGEN_ACCESSOR
2893 #undef DECLARE_CONCRETE_INSTRUCTION 2851 #undef DECLARE_CONCRETE_INSTRUCTION
2894 2852
2895 } } // namespace v8::internal 2853 } } // namespace v8::internal
2896 2854
2897 #endif // V8_MIPS_LITHIUM_MIPS_H_ 2855 #endif // V8_MIPS_LITHIUM_MIPS_H_
OLDNEW
« no previous file with comments | « src/mips/lithium-codegen-mips.cc ('k') | src/mips/lithium-mips.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698