| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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_ |
| OLD | NEW |