| 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 388 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 399 V(I8x16Shr_u, 0xe571, s_ss) \ | 399 V(I8x16Shr_u, 0xe571, s_ss) \ |
| 400 V(I8x16Lt_u, 0xe572, s_ss) \ | 400 V(I8x16Lt_u, 0xe572, s_ss) \ |
| 401 V(I8x16Le_u, 0xe573, s_ss) \ | 401 V(I8x16Le_u, 0xe573, s_ss) \ |
| 402 V(I8x16Gt_u, 0xe574, s_ss) \ | 402 V(I8x16Gt_u, 0xe574, s_ss) \ |
| 403 V(I8x16Ge_u, 0xe575, s_ss) \ | 403 V(I8x16Ge_u, 0xe575, s_ss) \ |
| 404 V(S128And, 0xe576, s_ss) \ | 404 V(S128And, 0xe576, s_ss) \ |
| 405 V(S128Ior, 0xe577, s_ss) \ | 405 V(S128Ior, 0xe577, s_ss) \ |
| 406 V(S128Xor, 0xe578, s_ss) \ | 406 V(S128Xor, 0xe578, s_ss) \ |
| 407 V(S128Not, 0xe579, s_s) | 407 V(S128Not, 0xe579, s_s) |
| 408 | 408 |
| 409 // For enabling JIT functionality |
| 410 #define FOREACH_JIT_OPCODE(V) V(JITSingleFunction, 0xf0, _) |
| 411 |
| 409 // All opcodes. | 412 // All opcodes. |
| 410 #define FOREACH_OPCODE(V) \ | 413 #define FOREACH_OPCODE(V) \ |
| 411 FOREACH_CONTROL_OPCODE(V) \ | 414 FOREACH_CONTROL_OPCODE(V) \ |
| 412 FOREACH_MISC_OPCODE(V) \ | 415 FOREACH_MISC_OPCODE(V) \ |
| 413 FOREACH_SIMPLE_OPCODE(V) \ | 416 FOREACH_SIMPLE_OPCODE(V) \ |
| 414 FOREACH_SIMPLE_MEM_OPCODE(V) \ | 417 FOREACH_SIMPLE_MEM_OPCODE(V) \ |
| 415 FOREACH_STORE_MEM_OPCODE(V) \ | 418 FOREACH_STORE_MEM_OPCODE(V) \ |
| 416 FOREACH_LOAD_MEM_OPCODE(V) \ | 419 FOREACH_LOAD_MEM_OPCODE(V) \ |
| 417 FOREACH_MISC_MEM_OPCODE(V) \ | 420 FOREACH_MISC_MEM_OPCODE(V) \ |
| 418 FOREACH_ASMJS_COMPAT_OPCODE(V) \ | 421 FOREACH_ASMJS_COMPAT_OPCODE(V) \ |
| 419 FOREACH_SIMD_OPCODE(V) | 422 FOREACH_SIMD_OPCODE(V) \ |
| 423 FOREACH_JIT_OPCODE(V) |
| 420 | 424 |
| 421 // All signatures. | 425 // All signatures. |
| 422 #define FOREACH_SIGNATURE(V) \ | 426 #define FOREACH_SIGNATURE(V) \ |
| 423 FOREACH_SIMD_SIGNATURE(V) \ | 427 FOREACH_SIMD_SIGNATURE(V) \ |
| 424 V(i_ii, kAstI32, kAstI32, kAstI32) \ | 428 V(i_ii, kAstI32, kAstI32, kAstI32) \ |
| 425 V(i_i, kAstI32, kAstI32) \ | 429 V(i_i, kAstI32, kAstI32) \ |
| 426 V(i_v, kAstI32) \ | 430 V(i_v, kAstI32) \ |
| 427 V(i_ff, kAstI32, kAstF32, kAstF32) \ | 431 V(i_ff, kAstI32, kAstF32, kAstF32) \ |
| 428 V(i_f, kAstI32, kAstF32) \ | 432 V(i_f, kAstI32, kAstF32) \ |
| 429 V(i_dd, kAstI32, kAstF64, kAstF64) \ | 433 V(i_dd, kAstI32, kAstF64, kAstF64) \ |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 471 // The reason for a trap. | 475 // The reason for a trap. |
| 472 #define FOREACH_WASM_TRAPREASON(V) \ | 476 #define FOREACH_WASM_TRAPREASON(V) \ |
| 473 V(TrapUnreachable) \ | 477 V(TrapUnreachable) \ |
| 474 V(TrapMemOutOfBounds) \ | 478 V(TrapMemOutOfBounds) \ |
| 475 V(TrapDivByZero) \ | 479 V(TrapDivByZero) \ |
| 476 V(TrapDivUnrepresentable) \ | 480 V(TrapDivUnrepresentable) \ |
| 477 V(TrapRemByZero) \ | 481 V(TrapRemByZero) \ |
| 478 V(TrapFloatUnrepresentable) \ | 482 V(TrapFloatUnrepresentable) \ |
| 479 V(TrapFuncInvalid) \ | 483 V(TrapFuncInvalid) \ |
| 480 V(TrapFuncSigMismatch) \ | 484 V(TrapFuncSigMismatch) \ |
| 481 V(TrapMemAllocationFail) | 485 V(TrapMemAllocationFail) \ |
| 486 V(TrapInvalidIndex) |
| 482 | 487 |
| 483 enum TrapReason { | 488 enum TrapReason { |
| 484 #define DECLARE_ENUM(name) k##name, | 489 #define DECLARE_ENUM(name) k##name, |
| 485 FOREACH_WASM_TRAPREASON(DECLARE_ENUM) | 490 FOREACH_WASM_TRAPREASON(DECLARE_ENUM) |
| 486 kTrapCount | 491 kTrapCount |
| 487 #undef DECLARE_ENUM | 492 #undef DECLARE_ENUM |
| 488 }; | 493 }; |
| 489 | 494 |
| 490 // A collection of opcode-related static methods. | 495 // A collection of opcode-related static methods. |
| 491 class WasmOpcodes { | 496 class WasmOpcodes { |
| (...skipping 175 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 |