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

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

Issue 195023002: Fix uses of range analysis results in HChange. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
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 | Annotate | Revision Log
« no previous file with comments | « src/a64/lithium-codegen-a64.cc ('k') | src/arm/lithium-arm.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 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 V(FunctionLiteral) \ 102 V(FunctionLiteral) \
103 V(GetCachedArrayIndex) \ 103 V(GetCachedArrayIndex) \
104 V(Goto) \ 104 V(Goto) \
105 V(HasCachedArrayIndexAndBranch) \ 105 V(HasCachedArrayIndexAndBranch) \
106 V(HasInstanceTypeAndBranch) \ 106 V(HasInstanceTypeAndBranch) \
107 V(InnerAllocatedObject) \ 107 V(InnerAllocatedObject) \
108 V(InstanceOf) \ 108 V(InstanceOf) \
109 V(InstanceOfKnownGlobal) \ 109 V(InstanceOfKnownGlobal) \
110 V(InstructionGap) \ 110 V(InstructionGap) \
111 V(Integer32ToDouble) \ 111 V(Integer32ToDouble) \
112 V(Integer32ToSmi) \
113 V(InvokeFunction) \ 112 V(InvokeFunction) \
114 V(IsConstructCallAndBranch) \ 113 V(IsConstructCallAndBranch) \
115 V(IsObjectAndBranch) \ 114 V(IsObjectAndBranch) \
116 V(IsStringAndBranch) \ 115 V(IsStringAndBranch) \
117 V(IsSmiAndBranch) \ 116 V(IsSmiAndBranch) \
118 V(IsUndetectableAndBranch) \ 117 V(IsUndetectableAndBranch) \
119 V(Label) \ 118 V(Label) \
120 V(LazyBailout) \ 119 V(LazyBailout) \
121 V(LoadContextSlot) \ 120 V(LoadContextSlot) \
122 V(LoadRoot) \ 121 V(LoadRoot) \
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
174 V(SubI) \ 173 V(SubI) \
175 V(RSubI) \ 174 V(RSubI) \
176 V(TaggedToI) \ 175 V(TaggedToI) \
177 V(ThisFunction) \ 176 V(ThisFunction) \
178 V(ToFastProperties) \ 177 V(ToFastProperties) \
179 V(TransitionElementsKind) \ 178 V(TransitionElementsKind) \
180 V(TrapAllocationMemento) \ 179 V(TrapAllocationMemento) \
181 V(Typeof) \ 180 V(Typeof) \
182 V(TypeofIsAndBranch) \ 181 V(TypeofIsAndBranch) \
183 V(Uint32ToDouble) \ 182 V(Uint32ToDouble) \
184 V(Uint32ToSmi) \
185 V(UnknownOSRValue) \ 183 V(UnknownOSRValue) \
186 V(WrapReceiver) 184 V(WrapReceiver)
187 185
188 186
189 #define DECLARE_CONCRETE_INSTRUCTION(type, mnemonic) \ 187 #define DECLARE_CONCRETE_INSTRUCTION(type, mnemonic) \
190 virtual Opcode opcode() const V8_FINAL V8_OVERRIDE { \ 188 virtual Opcode opcode() const V8_FINAL V8_OVERRIDE { \
191 return LInstruction::k##type; \ 189 return LInstruction::k##type; \
192 } \ 190 } \
193 virtual void CompileToNative(LCodeGen* generator) V8_FINAL V8_OVERRIDE; \ 191 virtual void CompileToNative(LCodeGen* generator) V8_FINAL V8_OVERRIDE; \
194 virtual const char* Mnemonic() const V8_FINAL V8_OVERRIDE { \ 192 virtual const char* Mnemonic() const V8_FINAL V8_OVERRIDE { \
(...skipping 1789 matching lines...) Expand 10 before | Expand all | Expand 10 after
1984 explicit LInteger32ToDouble(LOperand* value) { 1982 explicit LInteger32ToDouble(LOperand* value) {
1985 inputs_[0] = value; 1983 inputs_[0] = value;
1986 } 1984 }
1987 1985
1988 LOperand* value() { return inputs_[0]; } 1986 LOperand* value() { return inputs_[0]; }
1989 1987
1990 DECLARE_CONCRETE_INSTRUCTION(Integer32ToDouble, "int32-to-double") 1988 DECLARE_CONCRETE_INSTRUCTION(Integer32ToDouble, "int32-to-double")
1991 }; 1989 };
1992 1990
1993 1991
1994 class LInteger32ToSmi V8_FINAL : public LTemplateInstruction<1, 1, 0> {
1995 public:
1996 explicit LInteger32ToSmi(LOperand* value) {
1997 inputs_[0] = value;
1998 }
1999
2000 LOperand* value() { return inputs_[0]; }
2001
2002 DECLARE_CONCRETE_INSTRUCTION(Integer32ToSmi, "int32-to-smi")
2003 DECLARE_HYDROGEN_ACCESSOR(Change)
2004 };
2005
2006
2007 class LUint32ToDouble V8_FINAL : public LTemplateInstruction<1, 1, 0> { 1992 class LUint32ToDouble V8_FINAL : public LTemplateInstruction<1, 1, 0> {
2008 public: 1993 public:
2009 explicit LUint32ToDouble(LOperand* value) { 1994 explicit LUint32ToDouble(LOperand* value) {
2010 inputs_[0] = value; 1995 inputs_[0] = value;
2011 } 1996 }
2012 1997
2013 LOperand* value() { return inputs_[0]; } 1998 LOperand* value() { return inputs_[0]; }
2014 1999
2015 DECLARE_CONCRETE_INSTRUCTION(Uint32ToDouble, "uint32-to-double") 2000 DECLARE_CONCRETE_INSTRUCTION(Uint32ToDouble, "uint32-to-double")
2016 }; 2001 };
2017 2002
2018 2003
2019 class LUint32ToSmi V8_FINAL : public LTemplateInstruction<1, 1, 0> {
2020 public:
2021 explicit LUint32ToSmi(LOperand* value) {
2022 inputs_[0] = value;
2023 }
2024
2025 LOperand* value() { return inputs_[0]; }
2026
2027 DECLARE_CONCRETE_INSTRUCTION(Uint32ToSmi, "uint32-to-smi")
2028 DECLARE_HYDROGEN_ACCESSOR(Change)
2029 };
2030
2031
2032 class LNumberTagI V8_FINAL : public LTemplateInstruction<1, 1, 2> { 2004 class LNumberTagI V8_FINAL : public LTemplateInstruction<1, 1, 2> {
2033 public: 2005 public:
2034 LNumberTagI(LOperand* value, LOperand* temp1, LOperand* temp2) { 2006 LNumberTagI(LOperand* value, LOperand* temp1, LOperand* temp2) {
2035 inputs_[0] = value; 2007 inputs_[0] = value;
2036 temps_[0] = temp1; 2008 temps_[0] = temp1;
2037 temps_[1] = temp2; 2009 temps_[1] = temp2;
2038 } 2010 }
2039 2011
2040 LOperand* value() { return inputs_[0]; } 2012 LOperand* value() { return inputs_[0]; }
2041 LOperand* temp1() { return temps_[0]; } 2013 LOperand* temp1() { return temps_[0]; }
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
2133 2105
2134 class LSmiTag V8_FINAL : public LTemplateInstruction<1, 1, 0> { 2106 class LSmiTag V8_FINAL : public LTemplateInstruction<1, 1, 0> {
2135 public: 2107 public:
2136 explicit LSmiTag(LOperand* value) { 2108 explicit LSmiTag(LOperand* value) {
2137 inputs_[0] = value; 2109 inputs_[0] = value;
2138 } 2110 }
2139 2111
2140 LOperand* value() { return inputs_[0]; } 2112 LOperand* value() { return inputs_[0]; }
2141 2113
2142 DECLARE_CONCRETE_INSTRUCTION(SmiTag, "smi-tag") 2114 DECLARE_CONCRETE_INSTRUCTION(SmiTag, "smi-tag")
2115 DECLARE_HYDROGEN_ACCESSOR(Change)
2143 }; 2116 };
2144 2117
2145 2118
2146 class LNumberUntagD V8_FINAL : public LTemplateInstruction<1, 1, 0> { 2119 class LNumberUntagD V8_FINAL : public LTemplateInstruction<1, 1, 0> {
2147 public: 2120 public:
2148 explicit LNumberUntagD(LOperand* value) { 2121 explicit LNumberUntagD(LOperand* value) {
2149 inputs_[0] = value; 2122 inputs_[0] = value;
2150 } 2123 }
2151 2124
2152 LOperand* value() { return inputs_[0]; } 2125 LOperand* value() { return inputs_[0]; }
(...skipping 718 matching lines...) Expand 10 before | Expand all | Expand 10 after
2871 2844
2872 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2845 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2873 }; 2846 };
2874 2847
2875 #undef DECLARE_HYDROGEN_ACCESSOR 2848 #undef DECLARE_HYDROGEN_ACCESSOR
2876 #undef DECLARE_CONCRETE_INSTRUCTION 2849 #undef DECLARE_CONCRETE_INSTRUCTION
2877 2850
2878 } } // namespace v8::internal 2851 } } // namespace v8::internal
2879 2852
2880 #endif // V8_ARM_LITHIUM_ARM_H_ 2853 #endif // V8_ARM_LITHIUM_ARM_H_
OLDNEW
« no previous file with comments | « src/a64/lithium-codegen-a64.cc ('k') | src/arm/lithium-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698