OLD | NEW |
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 1918 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1929 inputs_[0] = value; | 1929 inputs_[0] = value; |
1930 } | 1930 } |
1931 | 1931 |
1932 LOperand* value() { return inputs_[0]; } | 1932 LOperand* value() { return inputs_[0]; } |
1933 | 1933 |
1934 DECLARE_CONCRETE_INSTRUCTION(Uint32ToSmi, "uint32-to-smi") | 1934 DECLARE_CONCRETE_INSTRUCTION(Uint32ToSmi, "uint32-to-smi") |
1935 DECLARE_HYDROGEN_ACCESSOR(Change) | 1935 DECLARE_HYDROGEN_ACCESSOR(Change) |
1936 }; | 1936 }; |
1937 | 1937 |
1938 | 1938 |
1939 class LNumberTagI V8_FINAL : public LTemplateInstruction<1, 1, 0> { | 1939 class LNumberTagI V8_FINAL : public LTemplateInstruction<1, 1, 2> { |
1940 public: | 1940 public: |
1941 explicit LNumberTagI(LOperand* value) { | 1941 LNumberTagI(LOperand* value, LOperand* temp1, LOperand* temp2) { |
1942 inputs_[0] = value; | 1942 inputs_[0] = value; |
| 1943 temps_[0] = temp1; |
| 1944 temps_[1] = temp2; |
1943 } | 1945 } |
1944 | 1946 |
1945 LOperand* value() { return inputs_[0]; } | 1947 LOperand* value() { return inputs_[0]; } |
| 1948 LOperand* temp1() { return temps_[0]; } |
| 1949 LOperand* temp2() { return temps_[1]; } |
1946 | 1950 |
1947 DECLARE_CONCRETE_INSTRUCTION(NumberTagI, "number-tag-i") | 1951 DECLARE_CONCRETE_INSTRUCTION(NumberTagI, "number-tag-i") |
1948 }; | 1952 }; |
1949 | 1953 |
1950 | 1954 |
1951 class LNumberTagU V8_FINAL : public LTemplateInstruction<1, 1, 0> { | 1955 class LNumberTagU V8_FINAL : public LTemplateInstruction<1, 1, 2> { |
1952 public: | 1956 public: |
1953 explicit LNumberTagU(LOperand* value) { | 1957 LNumberTagU(LOperand* value, LOperand* temp1, LOperand* temp2) { |
1954 inputs_[0] = value; | 1958 inputs_[0] = value; |
| 1959 temps_[0] = temp1; |
| 1960 temps_[1] = temp2; |
1955 } | 1961 } |
1956 | 1962 |
1957 LOperand* value() { return inputs_[0]; } | 1963 LOperand* value() { return inputs_[0]; } |
| 1964 LOperand* temp1() { return temps_[0]; } |
| 1965 LOperand* temp2() { return temps_[1]; } |
1958 | 1966 |
1959 DECLARE_CONCRETE_INSTRUCTION(NumberTagU, "number-tag-u") | 1967 DECLARE_CONCRETE_INSTRUCTION(NumberTagU, "number-tag-u") |
1960 }; | 1968 }; |
1961 | 1969 |
1962 | 1970 |
1963 class LNumberTagD V8_FINAL : public LTemplateInstruction<1, 1, 2> { | 1971 class LNumberTagD V8_FINAL : public LTemplateInstruction<1, 1, 2> { |
1964 public: | 1972 public: |
1965 LNumberTagD(LOperand* value, LOperand* temp, LOperand* temp2) { | 1973 LNumberTagD(LOperand* value, LOperand* temp, LOperand* temp2) { |
1966 inputs_[0] = value; | 1974 inputs_[0] = value; |
1967 temps_[0] = temp; | 1975 temps_[0] = temp; |
(...skipping 767 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2735 | 2743 |
2736 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2744 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2737 }; | 2745 }; |
2738 | 2746 |
2739 #undef DECLARE_HYDROGEN_ACCESSOR | 2747 #undef DECLARE_HYDROGEN_ACCESSOR |
2740 #undef DECLARE_CONCRETE_INSTRUCTION | 2748 #undef DECLARE_CONCRETE_INSTRUCTION |
2741 | 2749 |
2742 } } // namespace v8::internal | 2750 } } // namespace v8::internal |
2743 | 2751 |
2744 #endif // V8_ARM_LITHIUM_ARM_H_ | 2752 #endif // V8_ARM_LITHIUM_ARM_H_ |
OLD | NEW |