| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef V8_COMPILER_OPCODES_H_ | 5 #ifndef V8_COMPILER_OPCODES_H_ |
| 6 #define V8_COMPILER_OPCODES_H_ | 6 #define V8_COMPILER_OPCODES_H_ |
| 7 | 7 |
| 8 #include <iosfwd> | 8 #include <iosfwd> |
| 9 | 9 |
| 10 // Opcodes for control operators. | 10 // Opcodes for control operators. |
| (...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 156 V(JSStackCheck) | 156 V(JSStackCheck) |
| 157 | 157 |
| 158 #define JS_OP_LIST(V) \ | 158 #define JS_OP_LIST(V) \ |
| 159 JS_SIMPLE_BINOP_LIST(V) \ | 159 JS_SIMPLE_BINOP_LIST(V) \ |
| 160 JS_SIMPLE_UNOP_LIST(V) \ | 160 JS_SIMPLE_UNOP_LIST(V) \ |
| 161 JS_OBJECT_OP_LIST(V) \ | 161 JS_OBJECT_OP_LIST(V) \ |
| 162 JS_CONTEXT_OP_LIST(V) \ | 162 JS_CONTEXT_OP_LIST(V) \ |
| 163 JS_OTHER_OP_LIST(V) | 163 JS_OTHER_OP_LIST(V) |
| 164 | 164 |
| 165 // Opcodes for VirtuaMachine-level operators. | 165 // Opcodes for VirtuaMachine-level operators. |
| 166 #define SIMPLIFIED_CHANGE_OP_LIST(V) \ |
| 167 V(ChangeTaggedSignedToInt32) \ |
| 168 V(ChangeTaggedToInt32) \ |
| 169 V(ChangeTaggedToUint32) \ |
| 170 V(ChangeTaggedToFloat64) \ |
| 171 V(ChangeInt31ToTaggedSigned) \ |
| 172 V(ChangeInt32ToTagged) \ |
| 173 V(ChangeUint32ToTagged) \ |
| 174 V(ChangeFloat64ToTagged) \ |
| 175 V(ChangeTaggedToBit) \ |
| 176 V(ChangeBitToTagged) \ |
| 177 V(TruncateTaggedToWord32) \ |
| 178 V(TruncateTaggedToFloat64) |
| 179 |
| 180 #define SIMPLIFIED_CHECKED_OP_LIST(V) \ |
| 181 V(CheckedInt32Add) \ |
| 182 V(CheckedInt32Sub) \ |
| 183 V(CheckedUint32ToInt32) \ |
| 184 V(CheckedFloat64ToInt32) \ |
| 185 V(CheckedTaggedToInt32) \ |
| 186 V(CheckedTaggedToFloat64) |
| 187 |
| 166 #define SIMPLIFIED_COMPARE_BINOP_LIST(V) \ | 188 #define SIMPLIFIED_COMPARE_BINOP_LIST(V) \ |
| 167 V(NumberEqual) \ | 189 V(NumberEqual) \ |
| 168 V(NumberLessThan) \ | 190 V(NumberLessThan) \ |
| 169 V(NumberLessThanOrEqual) \ | 191 V(NumberLessThanOrEqual) \ |
| 170 V(ReferenceEqual) \ | 192 V(ReferenceEqual) \ |
| 171 V(StringEqual) \ | 193 V(StringEqual) \ |
| 172 V(StringLessThan) \ | 194 V(StringLessThan) \ |
| 173 V(StringLessThanOrEqual) | 195 V(StringLessThanOrEqual) |
| 174 | 196 |
| 175 #define SIMPLIFIED_OP_LIST(V) \ | 197 #define SIMPLIFIED_OTHER_OP_LIST(V) \ |
| 176 SIMPLIFIED_COMPARE_BINOP_LIST(V) \ | |
| 177 V(PlainPrimitiveToNumber) \ | 198 V(PlainPrimitiveToNumber) \ |
| 178 V(PlainPrimitiveToWord32) \ | 199 V(PlainPrimitiveToWord32) \ |
| 179 V(PlainPrimitiveToFloat64) \ | 200 V(PlainPrimitiveToFloat64) \ |
| 180 V(BooleanNot) \ | 201 V(BooleanNot) \ |
| 181 V(BooleanToNumber) \ | 202 V(BooleanToNumber) \ |
| 182 V(SpeculativeNumberAdd) \ | 203 V(SpeculativeNumberAdd) \ |
| 183 V(SpeculativeNumberSubtract) \ | 204 V(SpeculativeNumberSubtract) \ |
| 184 V(SpeculativeNumberMultiply) \ | 205 V(SpeculativeNumberMultiply) \ |
| 185 V(SpeculativeNumberDivide) \ | 206 V(SpeculativeNumberDivide) \ |
| 186 V(SpeculativeNumberModulus) \ | 207 V(SpeculativeNumberModulus) \ |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 219 V(NumberRound) \ | 240 V(NumberRound) \ |
| 220 V(NumberSin) \ | 241 V(NumberSin) \ |
| 221 V(NumberSqrt) \ | 242 V(NumberSqrt) \ |
| 222 V(NumberTan) \ | 243 V(NumberTan) \ |
| 223 V(NumberTrunc) \ | 244 V(NumberTrunc) \ |
| 224 V(NumberToInt32) \ | 245 V(NumberToInt32) \ |
| 225 V(NumberToUint32) \ | 246 V(NumberToUint32) \ |
| 226 V(NumberSilenceNaN) \ | 247 V(NumberSilenceNaN) \ |
| 227 V(StringFromCharCode) \ | 248 V(StringFromCharCode) \ |
| 228 V(StringToNumber) \ | 249 V(StringToNumber) \ |
| 229 V(ChangeTaggedSignedToInt32) \ | |
| 230 V(ChangeTaggedToInt32) \ | |
| 231 V(ChangeTaggedToUint32) \ | |
| 232 V(ChangeTaggedToFloat64) \ | |
| 233 V(ChangeInt31ToTaggedSigned) \ | |
| 234 V(ChangeInt32ToTagged) \ | |
| 235 V(ChangeUint32ToTagged) \ | |
| 236 V(ChangeFloat64ToTagged) \ | |
| 237 V(ChangeTaggedToBit) \ | |
| 238 V(ChangeBitToTagged) \ | |
| 239 V(CheckBounds) \ | 250 V(CheckBounds) \ |
| 240 V(CheckNumber) \ | 251 V(CheckNumber) \ |
| 241 V(CheckTaggedPointer) \ | 252 V(CheckTaggedPointer) \ |
| 242 V(CheckTaggedSigned) \ | 253 V(CheckTaggedSigned) \ |
| 243 V(CheckedInt32Add) \ | |
| 244 V(CheckedInt32Sub) \ | |
| 245 V(CheckedUint32ToInt32) \ | |
| 246 V(CheckedFloat64ToInt32) \ | |
| 247 V(CheckedTaggedToInt32) \ | |
| 248 V(CheckedTaggedToFloat64) \ | |
| 249 V(CheckFloat64Hole) \ | 254 V(CheckFloat64Hole) \ |
| 250 V(CheckTaggedHole) \ | 255 V(CheckTaggedHole) \ |
| 251 V(TruncateTaggedToWord32) \ | |
| 252 V(TruncateTaggedToFloat64) \ | |
| 253 V(Allocate) \ | 256 V(Allocate) \ |
| 254 V(LoadField) \ | 257 V(LoadField) \ |
| 255 V(LoadBuffer) \ | 258 V(LoadBuffer) \ |
| 256 V(LoadElement) \ | 259 V(LoadElement) \ |
| 257 V(StoreField) \ | 260 V(StoreField) \ |
| 258 V(StoreBuffer) \ | 261 V(StoreBuffer) \ |
| 259 V(StoreElement) \ | 262 V(StoreElement) \ |
| 260 V(ObjectIsCallable) \ | 263 V(ObjectIsCallable) \ |
| 261 V(ObjectIsNumber) \ | 264 V(ObjectIsNumber) \ |
| 262 V(ObjectIsReceiver) \ | 265 V(ObjectIsReceiver) \ |
| 263 V(ObjectIsSmi) \ | 266 V(ObjectIsSmi) \ |
| 264 V(ObjectIsString) \ | 267 V(ObjectIsString) \ |
| 265 V(ObjectIsUndetectable) | 268 V(ObjectIsUndetectable) |
| 266 | 269 |
| 270 #define SIMPLIFIED_OP_LIST(V) \ |
| 271 SIMPLIFIED_CHANGE_OP_LIST(V) \ |
| 272 SIMPLIFIED_CHECKED_OP_LIST(V) \ |
| 273 SIMPLIFIED_COMPARE_BINOP_LIST(V) \ |
| 274 SIMPLIFIED_OTHER_OP_LIST(V) |
| 275 |
| 267 // Opcodes for Machine-level operators. | 276 // Opcodes for Machine-level operators. |
| 268 #define MACHINE_COMPARE_BINOP_LIST(V) \ | 277 #define MACHINE_COMPARE_BINOP_LIST(V) \ |
| 269 V(Word32Equal) \ | 278 V(Word32Equal) \ |
| 270 V(Word64Equal) \ | 279 V(Word64Equal) \ |
| 271 V(Int32LessThan) \ | 280 V(Int32LessThan) \ |
| 272 V(Int32LessThanOrEqual) \ | 281 V(Int32LessThanOrEqual) \ |
| 273 V(Uint32LessThan) \ | 282 V(Uint32LessThan) \ |
| 274 V(Uint32LessThanOrEqual) \ | 283 V(Uint32LessThanOrEqual) \ |
| 275 V(Int64LessThan) \ | 284 V(Int64LessThan) \ |
| 276 V(Int64LessThanOrEqual) \ | 285 V(Int64LessThanOrEqual) \ |
| (...skipping 411 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 688 } | 697 } |
| 689 }; | 698 }; |
| 690 | 699 |
| 691 std::ostream& operator<<(std::ostream&, IrOpcode::Value); | 700 std::ostream& operator<<(std::ostream&, IrOpcode::Value); |
| 692 | 701 |
| 693 } // namespace compiler | 702 } // namespace compiler |
| 694 } // namespace internal | 703 } // namespace internal |
| 695 } // namespace v8 | 704 } // namespace v8 |
| 696 | 705 |
| 697 #endif // V8_COMPILER_OPCODES_H_ | 706 #endif // V8_COMPILER_OPCODES_H_ |
| OLD | NEW |