OLD | NEW |
1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 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 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
122 // HArrayLength | 122 // HArrayLength |
123 // HBitNot | 123 // HBitNot |
124 // HChange | 124 // HChange |
125 // HCheckFunction | 125 // HCheckFunction |
126 // HCheckInstanceType | 126 // HCheckInstanceType |
127 // HCheckMap | 127 // HCheckMap |
128 // HCheckNonSmi | 128 // HCheckNonSmi |
129 // HCheckPrototypeMaps | 129 // HCheckPrototypeMaps |
130 // HCheckSmi | 130 // HCheckSmi |
131 // HDeleteProperty | 131 // HDeleteProperty |
| 132 // HInitConst |
132 // HLoadElements | 133 // HLoadElements |
133 // HTypeofIs | 134 // HTypeofIs |
134 // HLoadNamedField | 135 // HLoadNamedField |
135 // HPushArgument | 136 // HPushArgument |
136 // HTypeof | 137 // HTypeof |
137 // HUnaryMathOperation | 138 // HUnaryMathOperation |
138 // HUnaryPredicate | 139 // HUnaryPredicate |
139 // HClassOfTest | 140 // HClassOfTest |
140 // HHasCachedArrayIndex | 141 // HHasCachedArrayIndex |
141 // HHasInstanceType | 142 // HHasInstanceType |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
200 V(CompareMapAndBranch) \ | 201 V(CompareMapAndBranch) \ |
201 V(Constant) \ | 202 V(Constant) \ |
202 V(DeleteProperty) \ | 203 V(DeleteProperty) \ |
203 V(Deoptimize) \ | 204 V(Deoptimize) \ |
204 V(Div) \ | 205 V(Div) \ |
205 V(EnterInlined) \ | 206 V(EnterInlined) \ |
206 V(FunctionLiteral) \ | 207 V(FunctionLiteral) \ |
207 V(GlobalObject) \ | 208 V(GlobalObject) \ |
208 V(GlobalReceiver) \ | 209 V(GlobalReceiver) \ |
209 V(Goto) \ | 210 V(Goto) \ |
| 211 V(InitConst) \ |
210 V(InstanceOf) \ | 212 V(InstanceOf) \ |
211 V(IsNull) \ | 213 V(IsNull) \ |
212 V(IsObject) \ | 214 V(IsObject) \ |
213 V(IsSmi) \ | 215 V(IsSmi) \ |
214 V(HasInstanceType) \ | 216 V(HasInstanceType) \ |
215 V(HasCachedArrayIndex) \ | 217 V(HasCachedArrayIndex) \ |
216 V(ClassOfTest) \ | 218 V(ClassOfTest) \ |
217 V(LeaveInlined) \ | 219 V(LeaveInlined) \ |
218 V(LoadElements) \ | 220 V(LoadElements) \ |
219 V(LoadGlobal) \ | 221 V(LoadGlobal) \ |
(...skipping 734 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
954 protected: | 956 protected: |
955 virtual void InternalSetOperandAt(int index, HValue* value) { | 957 virtual void InternalSetOperandAt(int index, HValue* value) { |
956 operands_[index] = value; | 958 operands_[index] = value; |
957 } | 959 } |
958 | 960 |
959 private: | 961 private: |
960 HOperandVector<1> operands_; | 962 HOperandVector<1> operands_; |
961 }; | 963 }; |
962 | 964 |
963 | 965 |
| 966 class HInitConst: public HUnaryOperation { |
| 967 public: |
| 968 explicit HInitConst(HValue* old_value) : HUnaryOperation(old_value) { } |
| 969 DECLARE_CONCRETE_INSTRUCTION(InitConst, "init_const") |
| 970 }; |
| 971 |
| 972 |
964 class HChange: public HUnaryOperation { | 973 class HChange: public HUnaryOperation { |
965 public: | 974 public: |
966 HChange(HValue* value, | 975 HChange(HValue* value, |
967 Representation from, | 976 Representation from, |
968 Representation to) | 977 Representation to) |
969 : HUnaryOperation(value), from_(from), to_(to) { | 978 : HUnaryOperation(value), from_(from), to_(to) { |
970 ASSERT(!from.IsNone() && !to.IsNone()); | 979 ASSERT(!from.IsNone() && !to.IsNone()); |
971 ASSERT(!from.Equals(to)); | 980 ASSERT(!from.Equals(to)); |
972 set_representation(to); | 981 set_representation(to); |
973 SetFlag(kUseGVN); | 982 SetFlag(kUseGVN); |
(...skipping 1966 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2940 HValue* object() const { return left(); } | 2949 HValue* object() const { return left(); } |
2941 HValue* key() const { return right(); } | 2950 HValue* key() const { return right(); } |
2942 }; | 2951 }; |
2943 | 2952 |
2944 #undef DECLARE_INSTRUCTION | 2953 #undef DECLARE_INSTRUCTION |
2945 #undef DECLARE_CONCRETE_INSTRUCTION | 2954 #undef DECLARE_CONCRETE_INSTRUCTION |
2946 | 2955 |
2947 } } // namespace v8::internal | 2956 } } // namespace v8::internal |
2948 | 2957 |
2949 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ | 2958 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ |
OLD | NEW |