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 447 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
458 V(s_f, kAstS128, kAstF32) \ | 458 V(s_f, kAstS128, kAstF32) \ |
459 V(f_si, kAstF32, kAstS128, kAstI32) \ | 459 V(f_si, kAstF32, kAstS128, kAstI32) \ |
460 V(s_sif, kAstS128, kAstS128, kAstI32, kAstF32) \ | 460 V(s_sif, kAstS128, kAstS128, kAstI32, kAstF32) \ |
461 V(s_ss, kAstS128, kAstS128, kAstS128) \ | 461 V(s_ss, kAstS128, kAstS128, kAstS128) \ |
462 V(s_sss, kAstS128, kAstS128, kAstS128, kAstS128) \ | 462 V(s_sss, kAstS128, kAstS128, kAstS128, kAstS128) \ |
463 V(s_i, kAstS128, kAstI32) \ | 463 V(s_i, kAstS128, kAstI32) \ |
464 V(i_si, kAstI32, kAstS128, kAstI32) \ | 464 V(i_si, kAstI32, kAstS128, kAstI32) \ |
465 V(s_sii, kAstS128, kAstS128, kAstI32, kAstI32) \ | 465 V(s_sii, kAstS128, kAstS128, kAstI32, kAstI32) \ |
466 V(s_si, kAstS128, kAstS128, kAstI32) | 466 V(s_si, kAstS128, kAstS128, kAstI32) |
467 | 467 |
| 468 #define FOREACH_PREFIX(V) V(Simd, 0xe5) |
| 469 |
468 enum WasmOpcode { | 470 enum WasmOpcode { |
469 // Declare expression opcodes. | 471 // Declare expression opcodes. |
470 #define DECLARE_NAMED_ENUM(name, opcode, sig) kExpr##name = opcode, | 472 #define DECLARE_NAMED_ENUM(name, opcode, sig) kExpr##name = opcode, |
471 FOREACH_OPCODE(DECLARE_NAMED_ENUM) | 473 FOREACH_OPCODE(DECLARE_NAMED_ENUM) |
472 #undef DECLARE_NAMED_ENUM | 474 #undef DECLARE_NAMED_ENUM |
| 475 #define DECLARE_PREFIX(name, opcode) k##name##Prefix = opcode, |
| 476 FOREACH_PREFIX(DECLARE_PREFIX) |
| 477 #undef DECLARE_PREFIX |
473 }; | 478 }; |
474 | 479 |
475 // The reason for a trap. | 480 // The reason for a trap. |
476 #define FOREACH_WASM_TRAPREASON(V) \ | 481 #define FOREACH_WASM_TRAPREASON(V) \ |
477 V(TrapUnreachable) \ | 482 V(TrapUnreachable) \ |
478 V(TrapMemOutOfBounds) \ | 483 V(TrapMemOutOfBounds) \ |
479 V(TrapDivByZero) \ | 484 V(TrapDivByZero) \ |
480 V(TrapDivUnrepresentable) \ | 485 V(TrapDivUnrepresentable) \ |
481 V(TrapRemByZero) \ | 486 V(TrapRemByZero) \ |
482 V(TrapFloatUnrepresentable) \ | 487 V(TrapFloatUnrepresentable) \ |
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
672 default: | 677 default: |
673 return "<unknown>"; | 678 return "<unknown>"; |
674 } | 679 } |
675 } | 680 } |
676 }; | 681 }; |
677 } // namespace wasm | 682 } // namespace wasm |
678 } // namespace internal | 683 } // namespace internal |
679 } // namespace v8 | 684 } // namespace v8 |
680 | 685 |
681 #endif // V8_WASM_OPCODES_H_ | 686 #endif // V8_WASM_OPCODES_H_ |
OLD | NEW |