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

Side by Side Diff: src/a64/lithium-a64.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/a64/ic-a64.cc ('k') | src/a64/lithium-a64.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 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 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 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 V(LoadKeyedExternal) \ 129 V(LoadKeyedExternal) \
130 V(LoadKeyedFixed) \ 130 V(LoadKeyedFixed) \
131 V(LoadKeyedFixedDouble) \ 131 V(LoadKeyedFixedDouble) \
132 V(LoadKeyedGeneric) \ 132 V(LoadKeyedGeneric) \
133 V(LoadNamedField) \ 133 V(LoadNamedField) \
134 V(LoadNamedGeneric) \ 134 V(LoadNamedGeneric) \
135 V(LoadRoot) \ 135 V(LoadRoot) \
136 V(MapEnumLength) \ 136 V(MapEnumLength) \
137 V(MathAbs) \ 137 V(MathAbs) \
138 V(MathAbsTagged) \ 138 V(MathAbsTagged) \
139 V(MathCos) \
140 V(MathExp) \ 139 V(MathExp) \
141 V(MathFloor) \ 140 V(MathFloor) \
142 V(MathFloorOfDiv) \ 141 V(MathFloorOfDiv) \
143 V(MathLog) \ 142 V(MathLog) \
144 V(MathMinMax) \ 143 V(MathMinMax) \
145 V(MathPowHalf) \ 144 V(MathPowHalf) \
146 V(MathRound) \ 145 V(MathRound) \
147 V(MathSin) \
148 V(MathSqrt) \ 146 V(MathSqrt) \
149 V(MathTan) \
150 V(ModI) \ 147 V(ModI) \
151 V(MulConstIS) \ 148 V(MulConstIS) \
152 V(MulI) \ 149 V(MulI) \
153 V(MulS) \ 150 V(MulS) \
154 V(NumberTagD) \ 151 V(NumberTagD) \
155 V(NumberTagU) \ 152 V(NumberTagU) \
156 V(NumberUntagD) \ 153 V(NumberUntagD) \
157 V(OsrEntry) \ 154 V(OsrEntry) \
158 V(OuterContext) \ 155 V(OuterContext) \
159 V(Parameter) \ 156 V(Parameter) \
(...skipping 1248 matching lines...) Expand 10 before | Expand all | Expand 10 after
1408 LOperand* temp() { return temps_[0]; } 1405 LOperand* temp() { return temps_[0]; }
1409 1406
1410 DECLARE_CONCRETE_INSTRUCTION(HasInstanceTypeAndBranch, 1407 DECLARE_CONCRETE_INSTRUCTION(HasInstanceTypeAndBranch,
1411 "has-instance-type-and-branch") 1408 "has-instance-type-and-branch")
1412 DECLARE_HYDROGEN_ACCESSOR(HasInstanceTypeAndBranch) 1409 DECLARE_HYDROGEN_ACCESSOR(HasInstanceTypeAndBranch)
1413 1410
1414 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; 1411 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE;
1415 }; 1412 };
1416 1413
1417 1414
1418 class LInnerAllocatedObject V8_FINAL : public LTemplateInstruction<1, 1, 0> { 1415 class LInnerAllocatedObject V8_FINAL : public LTemplateInstruction<1, 2, 0> {
1419 public: 1416 public:
1420 explicit LInnerAllocatedObject(LOperand* base_object) { 1417 LInnerAllocatedObject(LOperand* base_object, LOperand* offset) {
1421 inputs_[0] = base_object; 1418 inputs_[0] = base_object;
1419 inputs_[1] = offset;
1422 } 1420 }
1423 1421
1424 LOperand* base_object() { return inputs_[0]; } 1422 LOperand* base_object() const { return inputs_[0]; }
1425 int offset() { return hydrogen()->offset(); } 1423 LOperand* offset() const { return inputs_[1]; }
1426 1424
1427 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; 1425 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE;
1428 1426
1429 DECLARE_CONCRETE_INSTRUCTION(InnerAllocatedObject, "sub-allocated-object") 1427 DECLARE_CONCRETE_INSTRUCTION(InnerAllocatedObject, "inner-allocated-object")
1430 DECLARE_HYDROGEN_ACCESSOR(InnerAllocatedObject)
1431 }; 1428 };
1432 1429
1433 1430
1434 class LInstanceOf V8_FINAL : public LTemplateInstruction<1, 2, 0> { 1431 class LInstanceOf V8_FINAL : public LTemplateInstruction<1, 2, 0> {
1435 public: 1432 public:
1436 LInstanceOf(LOperand* left, LOperand* right) { 1433 LInstanceOf(LOperand* left, LOperand* right) {
1437 inputs_[0] = left; 1434 inputs_[0] = left;
1438 inputs_[1] = right; 1435 inputs_[1] = right;
1439 } 1436 }
1440 1437
(...skipping 402 matching lines...) Expand 10 before | Expand all | Expand 10 after
1843 } 1840 }
1844 1841
1845 LOperand* temp1() { return temps_[0]; } 1842 LOperand* temp1() { return temps_[0]; }
1846 LOperand* temp2() { return temps_[1]; } 1843 LOperand* temp2() { return temps_[1]; }
1847 LOperand* temp3() { return temps_[2]; } 1844 LOperand* temp3() { return temps_[2]; }
1848 1845
1849 DECLARE_CONCRETE_INSTRUCTION(MathAbsTagged, "math-abs-tagged") 1846 DECLARE_CONCRETE_INSTRUCTION(MathAbsTagged, "math-abs-tagged")
1850 }; 1847 };
1851 1848
1852 1849
1853 class LMathCos V8_FINAL : public LUnaryMathOperation<0> {
1854 public:
1855 explicit LMathCos(LOperand* value) : LUnaryMathOperation<0>(value) { }
1856 DECLARE_CONCRETE_INSTRUCTION(MathCos, "math-cos")
1857 };
1858
1859
1860 class LMathExp V8_FINAL : public LUnaryMathOperation<4> { 1850 class LMathExp V8_FINAL : public LUnaryMathOperation<4> {
1861 public: 1851 public:
1862 LMathExp(LOperand* value, 1852 LMathExp(LOperand* value,
1863 LOperand* double_temp1, 1853 LOperand* double_temp1,
1864 LOperand* temp1, 1854 LOperand* temp1,
1865 LOperand* temp2, 1855 LOperand* temp2,
1866 LOperand* temp3) 1856 LOperand* temp3)
1867 : LUnaryMathOperation<4>(value) { 1857 : LUnaryMathOperation<4>(value) {
1868 temps_[0] = double_temp1; 1858 temps_[0] = double_temp1;
1869 temps_[1] = temp1; 1859 temps_[1] = temp1;
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
1942 : LUnaryMathOperation<1>(value) { 1932 : LUnaryMathOperation<1>(value) {
1943 temps_[0] = temp1; 1933 temps_[0] = temp1;
1944 } 1934 }
1945 1935
1946 LOperand* temp1() { return temps_[0]; } 1936 LOperand* temp1() { return temps_[0]; }
1947 1937
1948 DECLARE_CONCRETE_INSTRUCTION(MathRound, "math-round") 1938 DECLARE_CONCRETE_INSTRUCTION(MathRound, "math-round")
1949 }; 1939 };
1950 1940
1951 1941
1952 class LMathSin V8_FINAL : public LUnaryMathOperation<0> {
1953 public:
1954 explicit LMathSin(LOperand* value) : LUnaryMathOperation<0>(value) { }
1955 DECLARE_CONCRETE_INSTRUCTION(MathSin, "math-sin")
1956 };
1957
1958
1959 class LMathSqrt V8_FINAL : public LUnaryMathOperation<0> { 1942 class LMathSqrt V8_FINAL : public LUnaryMathOperation<0> {
1960 public: 1943 public:
1961 explicit LMathSqrt(LOperand* value) : LUnaryMathOperation<0>(value) { } 1944 explicit LMathSqrt(LOperand* value) : LUnaryMathOperation<0>(value) { }
1962 DECLARE_CONCRETE_INSTRUCTION(MathSqrt, "math-sqrt") 1945 DECLARE_CONCRETE_INSTRUCTION(MathSqrt, "math-sqrt")
1963 }; 1946 };
1964 1947
1965 1948
1966 class LMathTan V8_FINAL : public LUnaryMathOperation<0> {
1967 public:
1968 explicit LMathTan(LOperand* value) : LUnaryMathOperation<0>(value) { }
1969 DECLARE_CONCRETE_INSTRUCTION(MathTan, "math-tan")
1970 };
1971
1972
1973 class LModI V8_FINAL : public LTemplateInstruction<1, 2, 0> { 1949 class LModI V8_FINAL : public LTemplateInstruction<1, 2, 0> {
1974 public: 1950 public:
1975 LModI(LOperand* left, LOperand* right) { 1951 LModI(LOperand* left, LOperand* right) {
1976 inputs_[0] = left; 1952 inputs_[0] = left;
1977 inputs_[1] = right; 1953 inputs_[1] = right;
1978 } 1954 }
1979 1955
1980 LOperand* left() { return inputs_[0]; } 1956 LOperand* left() { return inputs_[0]; }
1981 LOperand* right() { return inputs_[1]; } 1957 LOperand* right() { return inputs_[1]; }
1982 1958
(...skipping 1028 matching lines...) Expand 10 before | Expand all | Expand 10 after
3011 2987
3012 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2988 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
3013 }; 2989 };
3014 2990
3015 #undef DECLARE_HYDROGEN_ACCESSOR 2991 #undef DECLARE_HYDROGEN_ACCESSOR
3016 #undef DECLARE_CONCRETE_INSTRUCTION 2992 #undef DECLARE_CONCRETE_INSTRUCTION
3017 2993
3018 } } // namespace v8::internal 2994 } } // namespace v8::internal
3019 2995
3020 #endif // V8_A64_LITHIUM_A64_H_ 2996 #endif // V8_A64_LITHIUM_A64_H_
OLDNEW
« no previous file with comments | « src/a64/ic-a64.cc ('k') | src/a64/lithium-a64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698