OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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_WASM_OPCODES_H_ | 5 #ifndef V8_WASM_OPCODES_H_ |
6 #define V8_WASM_OPCODES_H_ | 6 #define V8_WASM_OPCODES_H_ |
7 | 7 |
8 #include "src/machine-type.h" | 8 #include "src/machine-type.h" |
9 #include "src/signature.h" | 9 #include "src/signature.h" |
10 | 10 |
(...skipping 443 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
454 V(s_f, kAstS128, kAstF32) \ | 454 V(s_f, kAstS128, kAstF32) \ |
455 V(f_si, kAstF32, kAstS128, kAstI32) \ | 455 V(f_si, kAstF32, kAstS128, kAstI32) \ |
456 V(s_sif, kAstS128, kAstS128, kAstI32, kAstF32) \ | 456 V(s_sif, kAstS128, kAstS128, kAstI32, kAstF32) \ |
457 V(s_ss, kAstS128, kAstS128, kAstS128) \ | 457 V(s_ss, kAstS128, kAstS128, kAstS128) \ |
458 V(s_sss, kAstS128, kAstS128, kAstS128, kAstS128) \ | 458 V(s_sss, kAstS128, kAstS128, kAstS128, kAstS128) \ |
459 V(s_i, kAstS128, kAstI32) \ | 459 V(s_i, kAstS128, kAstI32) \ |
460 V(i_si, kAstI32, kAstS128, kAstI32) \ | 460 V(i_si, kAstI32, kAstS128, kAstI32) \ |
461 V(s_sii, kAstS128, kAstS128, kAstI32, kAstI32) \ | 461 V(s_sii, kAstS128, kAstS128, kAstI32, kAstI32) \ |
462 V(s_si, kAstS128, kAstS128, kAstI32) | 462 V(s_si, kAstS128, kAstS128, kAstI32) |
463 | 463 |
| 464 #define FOREACH_PREFIX(V) V(Simd, 0xe5) |
| 465 |
464 enum WasmOpcode { | 466 enum WasmOpcode { |
465 // Declare expression opcodes. | 467 // Declare expression opcodes. |
466 #define DECLARE_NAMED_ENUM(name, opcode, sig) kExpr##name = opcode, | 468 #define DECLARE_NAMED_ENUM(name, opcode, sig) kExpr##name = opcode, |
467 FOREACH_OPCODE(DECLARE_NAMED_ENUM) | 469 FOREACH_OPCODE(DECLARE_NAMED_ENUM) |
468 #undef DECLARE_NAMED_ENUM | 470 #undef DECLARE_NAMED_ENUM |
| 471 #define DECLARE_PREFIX(name, opcode) k##name##Prefix = opcode, |
| 472 FOREACH_PREFIX(DECLARE_PREFIX) |
| 473 #undef DECLARE_PREFIX |
469 }; | 474 }; |
470 | 475 |
471 // The reason for a trap. | 476 // The reason for a trap. |
472 #define FOREACH_WASM_TRAPREASON(V) \ | 477 #define FOREACH_WASM_TRAPREASON(V) \ |
473 V(TrapUnreachable) \ | 478 V(TrapUnreachable) \ |
474 V(TrapMemOutOfBounds) \ | 479 V(TrapMemOutOfBounds) \ |
475 V(TrapDivByZero) \ | 480 V(TrapDivByZero) \ |
476 V(TrapDivUnrepresentable) \ | 481 V(TrapDivUnrepresentable) \ |
477 V(TrapRemByZero) \ | 482 V(TrapRemByZero) \ |
478 V(TrapFloatUnrepresentable) \ | 483 V(TrapFloatUnrepresentable) \ |
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
667 default: | 672 default: |
668 return "<unknown>"; | 673 return "<unknown>"; |
669 } | 674 } |
670 } | 675 } |
671 }; | 676 }; |
672 } // namespace wasm | 677 } // namespace wasm |
673 } // namespace internal | 678 } // namespace internal |
674 } // namespace v8 | 679 } // namespace v8 |
675 | 680 |
676 #endif // V8_WASM_OPCODES_H_ | 681 #endif // V8_WASM_OPCODES_H_ |
OLD | NEW |