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

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

Issue 198973002: MIPS: Fix uses of range analysis results in HChange. (Closed) Base URL: https://github.com/v8/v8.git@gbl
Patch Set: Created 6 years, 9 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
« 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 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 V(FunctionLiteral) \ 100 V(FunctionLiteral) \
101 V(GetCachedArrayIndex) \ 101 V(GetCachedArrayIndex) \
102 V(Goto) \ 102 V(Goto) \
103 V(HasCachedArrayIndexAndBranch) \ 103 V(HasCachedArrayIndexAndBranch) \
104 V(HasInstanceTypeAndBranch) \ 104 V(HasInstanceTypeAndBranch) \
105 V(InnerAllocatedObject) \ 105 V(InnerAllocatedObject) \
106 V(InstanceOf) \ 106 V(InstanceOf) \
107 V(InstanceOfKnownGlobal) \ 107 V(InstanceOfKnownGlobal) \
108 V(InstructionGap) \ 108 V(InstructionGap) \
109 V(Integer32ToDouble) \ 109 V(Integer32ToDouble) \
110 V(Integer32ToSmi) \
111 V(InvokeFunction) \ 110 V(InvokeFunction) \
112 V(IsConstructCallAndBranch) \ 111 V(IsConstructCallAndBranch) \
113 V(IsObjectAndBranch) \ 112 V(IsObjectAndBranch) \
114 V(IsStringAndBranch) \ 113 V(IsStringAndBranch) \
115 V(IsSmiAndBranch) \ 114 V(IsSmiAndBranch) \
116 V(IsUndetectableAndBranch) \ 115 V(IsUndetectableAndBranch) \
117 V(Label) \ 116 V(Label) \
118 V(LazyBailout) \ 117 V(LazyBailout) \
119 V(LoadContextSlot) \ 118 V(LoadContextSlot) \
120 V(LoadRoot) \ 119 V(LoadRoot) \
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
170 V(StringCompareAndBranch) \ 169 V(StringCompareAndBranch) \
171 V(SubI) \ 170 V(SubI) \
172 V(TaggedToI) \ 171 V(TaggedToI) \
173 V(ThisFunction) \ 172 V(ThisFunction) \
174 V(ToFastProperties) \ 173 V(ToFastProperties) \
175 V(TransitionElementsKind) \ 174 V(TransitionElementsKind) \
176 V(TrapAllocationMemento) \ 175 V(TrapAllocationMemento) \
177 V(Typeof) \ 176 V(Typeof) \
178 V(TypeofIsAndBranch) \ 177 V(TypeofIsAndBranch) \
179 V(Uint32ToDouble) \ 178 V(Uint32ToDouble) \
180 V(Uint32ToSmi) \
181 V(UnknownOSRValue) \ 179 V(UnknownOSRValue) \
182 V(WrapReceiver) 180 V(WrapReceiver)
183 181
184 #define DECLARE_CONCRETE_INSTRUCTION(type, mnemonic) \ 182 #define DECLARE_CONCRETE_INSTRUCTION(type, mnemonic) \
185 virtual Opcode opcode() const V8_FINAL V8_OVERRIDE { \ 183 virtual Opcode opcode() const V8_FINAL V8_OVERRIDE { \
186 return LInstruction::k##type; \ 184 return LInstruction::k##type; \
187 } \ 185 } \
188 virtual void CompileToNative(LCodeGen* generator) V8_FINAL V8_OVERRIDE; \ 186 virtual void CompileToNative(LCodeGen* generator) V8_FINAL V8_OVERRIDE; \
189 virtual const char* Mnemonic() const V8_FINAL V8_OVERRIDE { \ 187 virtual const char* Mnemonic() const V8_FINAL V8_OVERRIDE { \
190 return mnemonic; \ 188 return mnemonic; \
(...skipping 1719 matching lines...) Expand 10 before | Expand all | Expand 10 after
1910 explicit LInteger32ToDouble(LOperand* value) { 1908 explicit LInteger32ToDouble(LOperand* value) {
1911 inputs_[0] = value; 1909 inputs_[0] = value;
1912 } 1910 }
1913 1911
1914 LOperand* value() { return inputs_[0]; } 1912 LOperand* value() { return inputs_[0]; }
1915 1913
1916 DECLARE_CONCRETE_INSTRUCTION(Integer32ToDouble, "int32-to-double") 1914 DECLARE_CONCRETE_INSTRUCTION(Integer32ToDouble, "int32-to-double")
1917 }; 1915 };
1918 1916
1919 1917
1920 class LInteger32ToSmi V8_FINAL : public LTemplateInstruction<1, 1, 0> {
1921 public:
1922 explicit LInteger32ToSmi(LOperand* value) {
1923 inputs_[0] = value;
1924 }
1925
1926 LOperand* value() { return inputs_[0]; }
1927
1928 DECLARE_CONCRETE_INSTRUCTION(Integer32ToSmi, "int32-to-smi")
1929 DECLARE_HYDROGEN_ACCESSOR(Change)
1930 };
1931
1932
1933 class LUint32ToDouble V8_FINAL : public LTemplateInstruction<1, 1, 0> { 1918 class LUint32ToDouble V8_FINAL : public LTemplateInstruction<1, 1, 0> {
1934 public: 1919 public:
1935 explicit LUint32ToDouble(LOperand* value) { 1920 explicit LUint32ToDouble(LOperand* value) {
1936 inputs_[0] = value; 1921 inputs_[0] = value;
1937 } 1922 }
1938 1923
1939 LOperand* value() { return inputs_[0]; } 1924 LOperand* value() { return inputs_[0]; }
1940 1925
1941 DECLARE_CONCRETE_INSTRUCTION(Uint32ToDouble, "uint32-to-double") 1926 DECLARE_CONCRETE_INSTRUCTION(Uint32ToDouble, "uint32-to-double")
1942 }; 1927 };
1943 1928
1944 1929
1945 class LUint32ToSmi V8_FINAL : public LTemplateInstruction<1, 1, 0> {
1946 public:
1947 explicit LUint32ToSmi(LOperand* value) {
1948 inputs_[0] = value;
1949 }
1950
1951 LOperand* value() { return inputs_[0]; }
1952
1953 DECLARE_CONCRETE_INSTRUCTION(Uint32ToSmi, "uint32-to-smi")
1954 DECLARE_HYDROGEN_ACCESSOR(Change)
1955 };
1956
1957
1958 class LNumberTagI V8_FINAL : public LTemplateInstruction<1, 1, 2> { 1930 class LNumberTagI V8_FINAL : public LTemplateInstruction<1, 1, 2> {
1959 public: 1931 public:
1960 LNumberTagI(LOperand* value, LOperand* temp1, LOperand* temp2) { 1932 LNumberTagI(LOperand* value, LOperand* temp1, LOperand* temp2) {
1961 inputs_[0] = value; 1933 inputs_[0] = value;
1962 temps_[0] = temp1; 1934 temps_[0] = temp1;
1963 temps_[1] = temp2; 1935 temps_[1] = temp2;
1964 } 1936 }
1965 1937
1966 LOperand* value() { return inputs_[0]; } 1938 LOperand* value() { return inputs_[0]; }
1967 LOperand* temp1() { return temps_[0]; } 1939 LOperand* temp1() { return temps_[0]; }
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
2059 2031
2060 class LSmiTag V8_FINAL : public LTemplateInstruction<1, 1, 0> { 2032 class LSmiTag V8_FINAL : public LTemplateInstruction<1, 1, 0> {
2061 public: 2033 public:
2062 explicit LSmiTag(LOperand* value) { 2034 explicit LSmiTag(LOperand* value) {
2063 inputs_[0] = value; 2035 inputs_[0] = value;
2064 } 2036 }
2065 2037
2066 LOperand* value() { return inputs_[0]; } 2038 LOperand* value() { return inputs_[0]; }
2067 2039
2068 DECLARE_CONCRETE_INSTRUCTION(SmiTag, "smi-tag") 2040 DECLARE_CONCRETE_INSTRUCTION(SmiTag, "smi-tag")
2041 DECLARE_HYDROGEN_ACCESSOR(Change)
2069 }; 2042 };
2070 2043
2071 2044
2072 class LNumberUntagD V8_FINAL : public LTemplateInstruction<1, 1, 0> { 2045 class LNumberUntagD V8_FINAL : public LTemplateInstruction<1, 1, 0> {
2073 public: 2046 public:
2074 explicit LNumberUntagD(LOperand* value) { 2047 explicit LNumberUntagD(LOperand* value) {
2075 inputs_[0] = value; 2048 inputs_[0] = value;
2076 } 2049 }
2077 2050
2078 LOperand* value() { return inputs_[0]; } 2051 LOperand* value() { return inputs_[0]; }
(...skipping 706 matching lines...) Expand 10 before | Expand all | Expand 10 after
2785 2758
2786 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2759 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2787 }; 2760 };
2788 2761
2789 #undef DECLARE_HYDROGEN_ACCESSOR 2762 #undef DECLARE_HYDROGEN_ACCESSOR
2790 #undef DECLARE_CONCRETE_INSTRUCTION 2763 #undef DECLARE_CONCRETE_INSTRUCTION
2791 2764
2792 } } // namespace v8::internal 2765 } } // namespace v8::internal
2793 2766
2794 #endif // V8_MIPS_LITHIUM_MIPS_H_ 2767 #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