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 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
167 V(StoreNamedField) \ | 167 V(StoreNamedField) \ |
168 V(StoreNamedGeneric) \ | 168 V(StoreNamedGeneric) \ |
169 V(StringAdd) \ | 169 V(StringAdd) \ |
170 V(StringCharCodeAt) \ | 170 V(StringCharCodeAt) \ |
171 V(StringCharFromCode) \ | 171 V(StringCharFromCode) \ |
172 V(StringLength) \ | 172 V(StringLength) \ |
173 V(Sub) \ | 173 V(Sub) \ |
174 V(ThisFunction) \ | 174 V(ThisFunction) \ |
175 V(Throw) \ | 175 V(Throw) \ |
176 V(ToFastProperties) \ | 176 V(ToFastProperties) \ |
177 V(ToInt32) \ | |
178 V(TransitionElementsKind) \ | 177 V(TransitionElementsKind) \ |
179 V(Typeof) \ | 178 V(Typeof) \ |
180 V(TypeofIsAndBranch) \ | 179 V(TypeofIsAndBranch) \ |
181 V(UnaryMathOperation) \ | 180 V(UnaryMathOperation) \ |
182 V(UnknownOSRValue) \ | 181 V(UnknownOSRValue) \ |
183 V(UseConst) \ | 182 V(UseConst) \ |
184 V(ValueOf) \ | 183 V(ValueOf) \ |
185 V(ForInPrepareMap) \ | 184 V(ForInPrepareMap) \ |
186 V(ForInCacheArray) \ | 185 V(ForInCacheArray) \ |
187 V(CheckMapValue) \ | 186 V(CheckMapValue) \ |
(...skipping 1048 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1236 return Representation::None(); | 1235 return Representation::None(); |
1237 } | 1236 } |
1238 | 1237 |
1239 DECLARE_CONCRETE_INSTRUCTION(ClampToUint8) | 1238 DECLARE_CONCRETE_INSTRUCTION(ClampToUint8) |
1240 | 1239 |
1241 protected: | 1240 protected: |
1242 virtual bool DataEquals(HValue* other) { return true; } | 1241 virtual bool DataEquals(HValue* other) { return true; } |
1243 }; | 1242 }; |
1244 | 1243 |
1245 | 1244 |
1246 class HToInt32: public HUnaryOperation { | |
1247 public: | |
1248 explicit HToInt32(HValue* value) | |
1249 : HUnaryOperation(value) { | |
1250 set_representation(Representation::Integer32()); | |
1251 SetFlag(kUseGVN); | |
1252 SetFlag(kTruncatingToInt32); | |
1253 } | |
1254 | |
1255 virtual Representation RequiredInputRepresentation(int index) { | |
1256 return Representation::None(); | |
1257 } | |
1258 | |
1259 virtual HValue* Canonicalize() { | |
1260 if (value()->representation().IsInteger32()) { | |
1261 return value(); | |
1262 } else { | |
1263 return this; | |
1264 } | |
1265 } | |
1266 | |
1267 DECLARE_CONCRETE_INSTRUCTION(ToInt32) | |
1268 | |
1269 protected: | |
1270 virtual bool DataEquals(HValue* other) { return true; } | |
1271 }; | |
1272 | |
1273 | |
1274 class HSimulate: public HInstruction { | 1245 class HSimulate: public HInstruction { |
1275 public: | 1246 public: |
1276 HSimulate(int ast_id, int pop_count) | 1247 HSimulate(int ast_id, int pop_count) |
1277 : ast_id_(ast_id), | 1248 : ast_id_(ast_id), |
1278 pop_count_(pop_count), | 1249 pop_count_(pop_count), |
1279 values_(2), | 1250 values_(2), |
1280 assigned_indexes_(2) {} | 1251 assigned_indexes_(2) {} |
1281 virtual ~HSimulate() {} | 1252 virtual ~HSimulate() {} |
1282 | 1253 |
1283 virtual void PrintDataTo(StringStream* stream); | 1254 virtual void PrintDataTo(StringStream* stream); |
(...skipping 3520 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4804 DECLARE_CONCRETE_INSTRUCTION(LoadFieldByIndex); | 4775 DECLARE_CONCRETE_INSTRUCTION(LoadFieldByIndex); |
4805 }; | 4776 }; |
4806 | 4777 |
4807 | 4778 |
4808 #undef DECLARE_INSTRUCTION | 4779 #undef DECLARE_INSTRUCTION |
4809 #undef DECLARE_CONCRETE_INSTRUCTION | 4780 #undef DECLARE_CONCRETE_INSTRUCTION |
4810 | 4781 |
4811 } } // namespace v8::internal | 4782 } } // namespace v8::internal |
4812 | 4783 |
4813 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ | 4784 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ |
OLD | NEW |