| 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 // Opcodes for control operators. | 8 // Opcodes for control operators. |
| 9 #define INNER_CONTROL_OP_LIST(V) \ | |
| 10 V(Dead) \ | |
| 11 V(Loop) \ | |
| 12 V(Branch) \ | |
| 13 V(Switch) \ | |
| 14 V(IfTrue) \ | |
| 15 V(IfFalse) \ | |
| 16 V(IfSuccess) \ | |
| 17 V(IfException) \ | |
| 18 V(IfValue) \ | |
| 19 V(IfDefault) \ | |
| 20 V(Merge) \ | |
| 21 V(Deoptimize) \ | |
| 22 V(Return) \ | |
| 23 V(OsrNormalEntry) \ | |
| 24 V(OsrLoopEntry) \ | |
| 25 V(Throw) | |
| 26 | |
| 27 #define CONTROL_OP_LIST(V) \ | 9 #define CONTROL_OP_LIST(V) \ |
| 28 INNER_CONTROL_OP_LIST(V) \ | |
| 29 V(Start) \ | 10 V(Start) \ |
| 11 V(Dead) \ |
| 12 V(Loop) \ |
| 13 V(Branch) \ |
| 14 V(Switch) \ |
| 15 V(IfTrue) \ |
| 16 V(IfFalse) \ |
| 17 V(IfSuccess) \ |
| 18 V(IfException) \ |
| 19 V(IfValue) \ |
| 20 V(IfDefault) \ |
| 21 V(Merge) \ |
| 22 V(Deoptimize) \ |
| 23 V(Return) \ |
| 24 V(OsrNormalEntry) \ |
| 25 V(OsrLoopEntry) \ |
| 26 V(Throw) \ |
| 30 V(End) | 27 V(End) |
| 31 | 28 |
| 32 // Opcodes for constant operators. | 29 // Opcodes for constant operators. |
| 33 #define CONSTANT_OP_LIST(V) \ | 30 #define CONSTANT_OP_LIST(V) \ |
| 34 V(Int32Constant) \ | 31 V(Int32Constant) \ |
| 35 V(Int64Constant) \ | 32 V(Int64Constant) \ |
| 36 V(Float32Constant) \ | 33 V(Float32Constant) \ |
| 37 V(Float64Constant) \ | 34 V(Float64Constant) \ |
| 38 V(ExternalConstant) \ | 35 V(ExternalConstant) \ |
| 39 V(NumberConstant) \ | 36 V(NumberConstant) \ |
| (...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 299 #define COUNT_OPCODE(x) +1 | 296 #define COUNT_OPCODE(x) +1 |
| 300 ALL_OP_LIST(COUNT_OPCODE) | 297 ALL_OP_LIST(COUNT_OPCODE) |
| 301 #undef COUNT_OPCODE | 298 #undef COUNT_OPCODE |
| 302 }; | 299 }; |
| 303 | 300 |
| 304 // Returns the mnemonic name of an opcode. | 301 // Returns the mnemonic name of an opcode. |
| 305 static char const* Mnemonic(Value value); | 302 static char const* Mnemonic(Value value); |
| 306 | 303 |
| 307 // Returns true if opcode for common operator. | 304 // Returns true if opcode for common operator. |
| 308 static bool IsCommonOpcode(Value value) { | 305 static bool IsCommonOpcode(Value value) { |
| 309 return kDead <= value && value <= kAlways; | 306 return kStart <= value && value <= kAlways; |
| 310 } | 307 } |
| 311 | 308 |
| 312 // Returns true if opcode for control operator. | 309 // Returns true if opcode for control operator. |
| 313 static bool IsControlOpcode(Value value) { | 310 static bool IsControlOpcode(Value value) { |
| 314 return kDead <= value && value <= kEnd; | 311 return kStart <= value && value <= kEnd; |
| 315 } | 312 } |
| 316 | 313 |
| 317 // Returns true if opcode for JavaScript operator. | 314 // Returns true if opcode for JavaScript operator. |
| 318 static bool IsJsOpcode(Value value) { | 315 static bool IsJsOpcode(Value value) { |
| 319 return kJSEqual <= value && value <= kJSStackCheck; | 316 return kJSEqual <= value && value <= kJSStackCheck; |
| 320 } | 317 } |
| 321 | 318 |
| 322 // Returns true if opcode for constant operator. | 319 // Returns true if opcode for constant operator. |
| 323 static bool IsConstantOpcode(Value value) { | 320 static bool IsConstantOpcode(Value value) { |
| 324 return kInt32Constant <= value && value <= kHeapConstant; | 321 return kInt32Constant <= value && value <= kHeapConstant; |
| (...skipping 17 matching lines...) Expand all Loading... |
| 342 (kNumberEqual <= value && value <= kStringLessThanOrEqual) || | 339 (kNumberEqual <= value && value <= kStringLessThanOrEqual) || |
| 343 (kWord32Equal <= value && value <= kFloat64LessThanOrEqual); | 340 (kWord32Equal <= value && value <= kFloat64LessThanOrEqual); |
| 344 } | 341 } |
| 345 }; | 342 }; |
| 346 | 343 |
| 347 } // namespace compiler | 344 } // namespace compiler |
| 348 } // namespace internal | 345 } // namespace internal |
| 349 } // namespace v8 | 346 } // namespace v8 |
| 350 | 347 |
| 351 #endif // V8_COMPILER_OPCODES_H_ | 348 #endif // V8_COMPILER_OPCODES_H_ |
| OLD | NEW |