summaryrefslogtreecommitdiff
path: root/illegal.h
blob: 1f9c13543d73a3337fe8c228caaa0888902223d9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
#pragma once

#define WASM_OP_IF			0x04 /* "if" BLOCKT */
#define WASM_OP_ELSE			0x05 /* "else" */
#define WASM_OP_TRY			0x06 /* "try", ImmSigs.BLOCKT */
#define WASM_OP_CATCH			0x07 /* "catch", ImmSigs.TAG */
#define WASM_OP_THROW			0x08 /* "throw", ImmSigs.TAG */
#define WASM_OP_RETHROW			0x09 /* "rethrow", ImmSigs.NONE */
#define WASM_OP_RETURN_CALL		0x12 /* "return_call", ImmSigs.FUNC */
#define WASM_OP_RETURN_CALL_INDIRECT	0x13 /* "return_call_indirect", ImmSigs.SIG_TABLE */
#define WASM_OP_CALL_REF		0x14 /* "call_ref", ImmSigs.NONE */
#define WASM_OP_RETURN_CALL_REF		0x15 /* "return_call_ref", ImmSigs.NONE */
#define WASM_OP_DELEGATE		0x18 /* "delegate", ImmSigs.NONE */
#define WASM_OP_CATCH_ALL		0x19 /* "catch_all", ImmSigs.NONE */
#define WASM_OP_SELECT_T		0x1C /* "select", ImmSigs.VALTS */
#define WASM_OP_TABLE_GET		0x25 /* "table.get" TABLE */
#define WASM_OP_TABLE_SET		0x26 /* "table.set" TABLE */
#define WASM_OP_I64_LOAD		0x29 /* "i64.load", ImmSigs.MEMARG */
#define WASM_OP_F32_LOAD		0x2A /* "f32.load", ImmSigs.MEMARG */
#define WASM_OP_I64_LOAD8_S		0x30 /* "i64.load8_s", ImmSigs.MEMARG */
#define WASM_OP_I64_LOAD8_U		0x31 /* "i64.load8_u", ImmSigs.MEMARG */
#define WASM_OP_I64_LOAD16_S		0x32 /* "i64.load16_s", ImmSigs.MEMARG */
#define WASM_OP_I64_LOAD16_U		0x33 /* "i64.load16_u", ImmSigs.MEMARG */
#define WASM_OP_I64_LOAD32_S		0x34 /* "i64.load32_s", ImmSigs.MEMARG */
#define WASM_OP_I64_LOAD32_U		0x35 /* "i64.load32_u", ImmSigs.MEMARG */
#define WASM_OP_I64_STORE		0x37 /* "i64.store", ImmSigs.MEMARG */
#define WASM_OP_F32_STORE		0x38 /* "f32.store", ImmSigs.MEMARG */
#define WASM_OP_I64_STORE8		0x3C /* "i64.store8", ImmSigs.MEMARG */
#define WASM_OP_I64_STORE16		0x3D /* "i64.store16", ImmSigs.MEMARG */
#define WASM_OP_I64_STORE32		0x3E /* "i64.store32", ImmSigs.MEMARG */
#define WASM_OP_MEMORY_SIZE		0x3F /* "memory.size", ImmSigs.MEMORY */
#define WASM_OP_MEMORY_GROW		0x40 /* "memory.grow", ImmSigs.MEMORY */
#define WASM_OP_I64_CONST		0x42 /* "i64.const", ImmSigs.I64 */
#define WASM_OP_F32_CONST		0x43 /* "f32.const", ImmSigs.F32 */
#define WASM_OP_I64_EQZ			0x50 /* "i64.eqz", ImmSigs.NONE */
#define WASM_OP_I64_EQ			0x51 /* "i64.eq", ImmSigs.NONE */
#define WASM_OP_I64_NE			0x52 /* "i64.ne", ImmSigs.NONE */
#define WASM_OP_I64_LT_S		0x53 /* "i64.lt_s", ImmSigs.NONE */
#define WASM_OP_I64_LT_U		0x54 /* "i64.lt_u", ImmSigs.NONE */
#define WASM_OP_I64_GT_S		0x55 /* "i64.gt_s", ImmSigs.NONE */
#define WASM_OP_I64_GT_U		0x56 /* "i64.gt_u", ImmSigs.NONE */
#define WASM_OP_I64_LE_S		0x57 /* "i64.le_s", ImmSigs.NONE */
#define WASM_OP_I64_LE_U		0x58 /* "i64.le_u", ImmSigs.NONE */
#define WASM_OP_I64_GE_S		0x59 /* "i64.ge_s", ImmSigs.NONE */
#define WASM_OP_I64_GE_U		0x5A /* "i64.ge_u", ImmSigs.NONE */
#define WASM_OP_F32_EQ			0x5B /* "f32.eq", ImmSigs.NONE */
#define WASM_OP_F32_NE			0x5C /* "f32.ne", ImmSigs.NONE */
#define WASM_OP_F32_LT			0x5D /* "f32.lt", ImmSigs.NONE */
#define WASM_OP_F32_GT			0x5E /* "f32.gt", ImmSigs.NONE */
#define WASM_OP_F32_LE			0x5F /* "f32.le", ImmSigs.NONE */
#define WASM_OP_F32_GE			0x60 /* "f32.ge", ImmSigs.NONE */
#define WASM_OP_I64_CLZ			0x79 /* "i64.clz", ImmSigs.NONE */
#define WASM_OP_I64_CTZ			0x7A /* "i64.ctz", ImmSigs.NONE */
#define WASM_OP_I64_POPCNT		0x7B /* "i64.popcnt", ImmSigs.NONE */
#define WASM_OP_I64_ADD			0x7C /* "i64.add", ImmSigs.NONE */
#define WASM_OP_I64_SUB			0x7D /* "i64.sub", ImmSigs.NONE */
#define WASM_OP_I64_MUL			0x7E /* "i64.mul", ImmSigs.NONE */
#define WASM_OP_I64_DIV_S		0x7F /* "i64.div_s", ImmSigs.NONE */
#define WASM_OP_I64_DIV_U		0x80 /* "i64.div_u", ImmSigs.NONE */
#define WASM_OP_I64_REM_S		0x81 /* "i64.rem_s", ImmSigs.NONE */
#define WASM_OP_I64_REM_U		0x82 /* "i64.rem_u", ImmSigs.NONE */
#define WASM_OP_I64_AND			0x83 /* "i64.and", ImmSigs.NONE */
#define WASM_OP_I64_OR			0x84 /* "i64.or", ImmSigs.NONE */
#define WASM_OP_I64_XOR			0x85 /* "i64.xor", ImmSigs.NONE */
#define WASM_OP_I64_SHL			0x86 /* "i64.shl", ImmSigs.NONE */
#define WASM_OP_I64_SHR_S		0x87 /* "i64.shr_s", ImmSigs.NONE */
#define WASM_OP_I64_SHR_U		0x88 /* "i64.shr_u", ImmSigs.NONE */
#define WASM_OP_I64_ROTL		0x89 /* "i64.rotl", ImmSigs.NONE */
#define WASM_OP_I64_ROTR		0x8A /* "i64.rotr", ImmSigs.NONE */
#define WASM_OP_F32_ABS			0x8B /* "f32.abs", ImmSigs.NONE */
#define WASM_OP_F32_NEG			0x8C /* "f32.neg", ImmSigs.NONE */
#define WASM_OP_F32_CEIL		0x8D /* "f32.ceil", ImmSigs.NONE */
#define WASM_OP_F32_FLOOR		0x8E /* "f32.floor", ImmSigs.NONE */
#define WASM_OP_F32_TRUNC		0x8F /* "f32.trunc", ImmSigs.NONE */
#define WASM_OP_F32_NEAREST		0x90 /* "f32.nearest", ImmSigs.NONE */
#define WASM_OP_F32_SQRT		0x91 /* "f32.sqrt", ImmSigs.NONE */
#define WASM_OP_F32_ADD			0x92 /* "f32.add", ImmSigs.NONE */
#define WASM_OP_F32_SUB			0x93 /* "f32.sub", ImmSigs.NONE */
#define WASM_OP_F32_MUL			0x94 /* "f32.mul", ImmSigs.NONE */
#define WASM_OP_F32_DIV			0x95 /* "f32.div", ImmSigs.NONE */
#define WASM_OP_F32_MIN			0x96 /* "f32.min", ImmSigs.NONE */
#define WASM_OP_F32_MAX			0x97 /* "f32.max", ImmSigs.NONE */
#define WASM_OP_F32_COPYSIGN		0x98 /* "f32.copysign", ImmSigs.NONE */
#define WASM_OP_F64_ABS			0x99 /* "f64.abs", ImmSigs.NONE */
#define WASM_OP_F64_NEG			0x9A /* "f64.neg", ImmSigs.NONE */
#define WASM_OP_F64_CEIL		0x9B /* "f64.ceil", ImmSigs.NONE */
#define WASM_OP_F64_FLOOR		0x9C /* "f64.floor", ImmSigs.NONE */
#define WASM_OP_F64_TRUNC		0x9D /* "f64.trunc", ImmSigs.NONE */
#define WASM_OP_F64_NEAREST		0x9E /* "f64.nearest", ImmSigs.NONE */
#define WASM_OP_F64_SQRT		0x9F /* "f64.sqrt", ImmSigs.NONE */
#define WASM_OP_F64_MIN			0xA4 /* "f64.min", ImmSigs.NONE */
#define WASM_OP_F64_MAX			0xA5 /* "f64.max", ImmSigs.NONE */
#define WASM_OP_F64_COPYSIGN		0xA6 /* "f64.copysign", ImmSigs.NONE */
#define WASM_OP_I32_WRAP_I64		0xA7 /* "i32.wrap_i64", ImmSigs.NONE */
#define WASM_OP_I32_TRUNC_F32_S		0xA8 /* "i32.trunc_f32_s", ImmSigs.NONE */
#define WASM_OP_I32_TRUNC_F32_U		0xA9 /* "i32.trunc_f32_u", ImmSigs.NONE */
#define WASM_OP_I64_EXTEND_I32_S	0xAC /* "i64.extend_i32_s", ImmSigs.NONE */
#define WASM_OP_I64_EXTEND_I32_U	0xAD /* "i64.extend_i32_u", ImmSigs.NONE */
#define WASM_OP_I64_TRUNC_F32_S		0xAE /* "i64.trunc_f32_s", ImmSigs.NONE */
#define WASM_OP_I64_TRUNC_F32_U		0xAF /* "i64.trunc_f32_u", ImmSigs.NONE */
#define WASM_OP_I64_TRUNC_F64_S		0xB0 /* "i64.trunc_f64_s", ImmSigs.NONE */
#define WASM_OP_I64_TRUNC_F64_U		0xB1 /* "i64.trunc_f64_u", ImmSigs.NONE */
#define WASM_OP_F32_CONVERT_I32_S	0xB2 /* "f32.convert_i32_s", ImmSigs.NONE */
#define WASM_OP_F32_CONVERT_I32_U	0xB3 /* "f32.convert_i32_u", ImmSigs.NONE */
#define WASM_OP_F32_CONVERT_I64_S	0xB4 /* "f32.convert_i64_s", ImmSigs.NONE */
#define WASM_OP_F32_CONVERT_I64_U	0xB5 /* "f32.convert_i64_u", ImmSigs.NONE */
#define WASM_OP_F32_DEMOTE_F64		0xB6 /* "f32.demote_f64", ImmSigs.NONE */
#define WASM_OP_F64_CONVERT_I64_S	0xB9 /* "f64.convert_i64_s" */
#define WASM_OP_F64_CONVERT_I64_U	0xBA /* "f64.convert_i64_u" */
#define WASM_OP_F64_PROMOTE_F32		0xBB /* "f64.promote_f32", ImmSigs.NONE */
#define WASM_OP_I32_REINTERPRET_F32	0xBC /* "i32.reinterpret_f32", ImmSigs.NONE */
#define WASM_OP_I64_REINTERPRET_F64	0xBD /* "i64.reinterpret_f64", ImmSigs.NONE */
#define WASM_OP_F32_REINTERPRET_I32	0xBE /* "f32.reinterpret_i32", ImmSigs.NONE */
#define WASM_OP_F64_REINTERPRET_I64	0xBF /* "f64.reinterpret_i64", ImmSigs.NONE */
#define WASM_OP_I64_EXTEND8_S		0xC2 /* "i64.extend8_s", ImmSigs.NONE */
#define WASM_OP_I64_EXTEND16_S		0xC3 /* "i64.extend16_s", ImmSigs.NONE */
#define WASM_OP_I64_EXTEND32_S		0xC4 /* "i64.extend32_s", ImmSigs.NONE */
#define WASM_OP_REF_NULL		0xD0 /* "ref.null", ImmSigs.REFNULLT */
#define WASM_OP_REF_IS_NULL		0xD1 /* "ref.is_null", ImmSigs.NONE */
#define WASM_OP_REF_FUNC		0xD2 /* "ref.func", ImmSigs.FUNC */
#define WASM_OP_REF_AS_NON_NULL		0xD3 /* "ref.as_non_null", ImmSigs.NONE */
#define WASM_OP_BR_ON_NULL		0xD4 /* "br_on_null", ImmSigs.LABEL */
#define WASM_OP_REF_EQ			0xD5 /* "ref.eq", ImmSigs.NONE */
#define WASM_OP_BR_ON_NON_NULL		0xD6 /* "br_on_non_null", ImmSigs.LABEL */