jseption 0.0.0-stage → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +26 -0
- package/README.md +191 -2
- package/dist/atoms.d.ts +255 -0
- package/dist/atoms.js +445 -0
- package/dist/atoms.js.map +1 -0
- package/dist/builtins/array.d.ts +3 -0
- package/dist/builtins/array.js +116 -0
- package/dist/builtins/array.js.map +1 -0
- package/dist/builtins/bigint.d.ts +3 -0
- package/dist/builtins/bigint.js +122 -0
- package/dist/builtins/bigint.js.map +1 -0
- package/dist/builtins/boolean.d.ts +2 -0
- package/dist/builtins/boolean.js +26 -0
- package/dist/builtins/boolean.js.map +1 -0
- package/dist/builtins/date.d.ts +3 -0
- package/dist/builtins/date.js +1046 -0
- package/dist/builtins/date.js.map +1 -0
- package/dist/builtins/error.d.ts +2 -0
- package/dist/builtins/error.js +154 -0
- package/dist/builtins/error.js.map +1 -0
- package/dist/builtins/function.d.ts +5 -0
- package/dist/builtins/function.js +164 -0
- package/dist/builtins/function.js.map +1 -0
- package/dist/builtins/global.d.ts +2 -0
- package/dist/builtins/global.js +29 -0
- package/dist/builtins/global.js.map +1 -0
- package/dist/builtins/index.d.ts +3 -0
- package/dist/builtins/index.js +139 -0
- package/dist/builtins/index.js.map +1 -0
- package/dist/builtins/json.d.ts +6 -0
- package/dist/builtins/json.js +984 -0
- package/dist/builtins/json.js.map +1 -0
- package/dist/builtins/mapset.d.ts +4 -0
- package/dist/builtins/mapset.js +234 -0
- package/dist/builtins/mapset.js.map +1 -0
- package/dist/builtins/math.d.ts +2 -0
- package/dist/builtins/math.js +62 -0
- package/dist/builtins/math.js.map +1 -0
- package/dist/builtins/native.d.ts +22 -0
- package/dist/builtins/native.js +250 -0
- package/dist/builtins/native.js.map +1 -0
- package/dist/builtins/number.d.ts +4 -0
- package/dist/builtins/number.js +76 -0
- package/dist/builtins/number.js.map +1 -0
- package/dist/builtins/object.d.ts +12 -0
- package/dist/builtins/object.js +575 -0
- package/dist/builtins/object.js.map +1 -0
- package/dist/builtins/promise.d.ts +13 -0
- package/dist/builtins/promise.js +582 -0
- package/dist/builtins/promise.js.map +1 -0
- package/dist/builtins/proxy.d.ts +3 -0
- package/dist/builtins/proxy.js +226 -0
- package/dist/builtins/proxy.js.map +1 -0
- package/dist/builtins/reflect.d.ts +2 -0
- package/dist/builtins/reflect.js +109 -0
- package/dist/builtins/reflect.js.map +1 -0
- package/dist/builtins/regexp.d.ts +2 -0
- package/dist/builtins/regexp.js +203 -0
- package/dist/builtins/regexp.js.map +1 -0
- package/dist/builtins/string.d.ts +4 -0
- package/dist/builtins/string.js +135 -0
- package/dist/builtins/string.js.map +1 -0
- package/dist/builtins/symbol.d.ts +3 -0
- package/dist/builtins/symbol.js +98 -0
- package/dist/builtins/symbol.js.map +1 -0
- package/dist/builtins/typedarray.d.ts +15 -0
- package/dist/builtins/typedarray.js +1838 -0
- package/dist/builtins/typedarray.js.map +1 -0
- package/dist/builtins/weakref.d.ts +18 -0
- package/dist/builtins/weakref.js +130 -0
- package/dist/builtins/weakref.js.map +1 -0
- package/dist/dump.d.ts +2 -0
- package/dist/dump.js +124 -0
- package/dist/dump.js.map +1 -0
- package/dist/embed.d.ts +18 -0
- package/dist/embed.js +286 -0
- package/dist/embed.js.map +1 -0
- package/dist/interpreter.d.ts +81 -0
- package/dist/interpreter.js +3768 -0
- package/dist/interpreter.js.map +1 -0
- package/dist/jit.d.ts +59 -0
- package/dist/jit.js +3440 -0
- package/dist/jit.js.map +1 -0
- package/dist/jit_hook.d.ts +21 -0
- package/dist/jit_hook.js +4 -0
- package/dist/jit_hook.js.map +1 -0
- package/dist/jit_runtime.d.ts +104 -0
- package/dist/jit_runtime.js +721 -0
- package/dist/jit_runtime.js.map +1 -0
- package/dist/jit_stack.d.ts +24 -0
- package/dist/jit_stack.js +227 -0
- package/dist/jit_stack.js.map +1 -0
- package/dist/jseption.d.ts +15 -0
- package/dist/jseption.js +61 -0
- package/dist/jseption.js.map +1 -0
- package/dist/opcodes.d.ts +347 -0
- package/dist/opcodes.js +322 -0
- package/dist/opcodes.js.map +1 -0
- package/dist/parser.d.ts +283 -0
- package/dist/parser.js +9752 -0
- package/dist/parser.js.map +1 -0
- package/dist/qjs.d.ts +2 -0
- package/dist/qjs.js +122 -0
- package/dist/qjs.js.map +1 -0
- package/dist/quickjs.d.ts +460 -0
- package/dist/quickjs.js +3408 -0
- package/dist/quickjs.js.map +1 -0
- package/dist/std.d.ts +4 -0
- package/dist/std.js +273 -0
- package/dist/std.js.map +1 -0
- package/dist/values.d.ts +447 -0
- package/dist/values.js +461 -0
- package/dist/values.js.map +1 -0
- package/package.json +59 -4
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
export declare const enum OpFmt {
|
|
2
|
+
none = 0,
|
|
3
|
+
none_int = 1,
|
|
4
|
+
none_loc = 2,
|
|
5
|
+
none_arg = 3,
|
|
6
|
+
none_var_ref = 4,
|
|
7
|
+
u8 = 5,
|
|
8
|
+
i8 = 6,
|
|
9
|
+
loc8 = 7,
|
|
10
|
+
const8 = 8,
|
|
11
|
+
label8 = 9,
|
|
12
|
+
u16 = 10,
|
|
13
|
+
i16 = 11,
|
|
14
|
+
label16 = 12,
|
|
15
|
+
npop = 13,
|
|
16
|
+
npopx = 14,
|
|
17
|
+
npop_u16 = 15,
|
|
18
|
+
loc = 16,
|
|
19
|
+
arg = 17,
|
|
20
|
+
var_ref = 18,
|
|
21
|
+
u32 = 19,
|
|
22
|
+
i32 = 20,
|
|
23
|
+
const = 21,
|
|
24
|
+
label = 22,
|
|
25
|
+
atom = 23,
|
|
26
|
+
atom_u8 = 24,
|
|
27
|
+
atom_u16 = 25,
|
|
28
|
+
atom_label_u8 = 26,
|
|
29
|
+
atom_label_u16 = 27,
|
|
30
|
+
label_u16 = 28
|
|
31
|
+
}
|
|
32
|
+
export declare const enum OP {
|
|
33
|
+
invalid = 0,
|
|
34
|
+
push_i32 = 1,
|
|
35
|
+
push_const = 2,
|
|
36
|
+
fclosure = 3,
|
|
37
|
+
push_atom_value = 4,
|
|
38
|
+
private_symbol = 5,
|
|
39
|
+
undefined = 6,
|
|
40
|
+
null = 7,
|
|
41
|
+
push_this = 8,
|
|
42
|
+
push_false = 9,
|
|
43
|
+
push_true = 10,
|
|
44
|
+
object = 11,
|
|
45
|
+
special_object = 12,
|
|
46
|
+
rest = 13,
|
|
47
|
+
drop = 14,
|
|
48
|
+
nip = 15,
|
|
49
|
+
nip1 = 16,
|
|
50
|
+
dup = 17,
|
|
51
|
+
dup1 = 18,
|
|
52
|
+
dup2 = 19,
|
|
53
|
+
dup3 = 20,
|
|
54
|
+
insert2 = 21,
|
|
55
|
+
insert3 = 22,
|
|
56
|
+
insert4 = 23,
|
|
57
|
+
perm3 = 24,
|
|
58
|
+
perm4 = 25,
|
|
59
|
+
perm5 = 26,
|
|
60
|
+
swap = 27,
|
|
61
|
+
swap2 = 28,
|
|
62
|
+
rot3l = 29,
|
|
63
|
+
rot3r = 30,
|
|
64
|
+
rot4l = 31,
|
|
65
|
+
rot5l = 32,
|
|
66
|
+
call_constructor = 33,
|
|
67
|
+
call = 34,
|
|
68
|
+
tail_call = 35,
|
|
69
|
+
call_method = 36,
|
|
70
|
+
tail_call_method = 37,
|
|
71
|
+
array_from = 38,
|
|
72
|
+
apply = 39,
|
|
73
|
+
return = 40,
|
|
74
|
+
return_undef = 41,
|
|
75
|
+
check_ctor_return = 42,
|
|
76
|
+
check_ctor = 43,
|
|
77
|
+
init_ctor = 44,
|
|
78
|
+
check_brand = 45,
|
|
79
|
+
add_brand = 46,
|
|
80
|
+
return_async = 47,
|
|
81
|
+
throw = 48,
|
|
82
|
+
throw_error = 49,
|
|
83
|
+
eval = 50,
|
|
84
|
+
apply_eval = 51,
|
|
85
|
+
regexp = 52,
|
|
86
|
+
get_super = 53,
|
|
87
|
+
import = 54,
|
|
88
|
+
check_var = 55,
|
|
89
|
+
get_var_undef = 56,
|
|
90
|
+
get_var = 57,
|
|
91
|
+
put_var = 58,
|
|
92
|
+
put_var_init = 59,
|
|
93
|
+
put_var_strict = 60,
|
|
94
|
+
get_ref_value = 61,
|
|
95
|
+
put_ref_value = 62,
|
|
96
|
+
define_var = 63,
|
|
97
|
+
check_define_var = 64,
|
|
98
|
+
define_func = 65,
|
|
99
|
+
get_field = 66,
|
|
100
|
+
get_field2 = 67,
|
|
101
|
+
put_field = 68,
|
|
102
|
+
get_private_field = 69,
|
|
103
|
+
put_private_field = 70,
|
|
104
|
+
define_private_field = 71,
|
|
105
|
+
get_array_el = 72,
|
|
106
|
+
get_array_el2 = 73,
|
|
107
|
+
put_array_el = 74,
|
|
108
|
+
get_super_value = 75,
|
|
109
|
+
put_super_value = 76,
|
|
110
|
+
define_field = 77,
|
|
111
|
+
set_name = 78,
|
|
112
|
+
set_name_computed = 79,
|
|
113
|
+
set_proto = 80,
|
|
114
|
+
set_home_object = 81,
|
|
115
|
+
define_array_el = 82,
|
|
116
|
+
append = 83,
|
|
117
|
+
copy_data_properties = 84,
|
|
118
|
+
define_method = 85,
|
|
119
|
+
define_method_computed = 86,
|
|
120
|
+
define_class = 87,
|
|
121
|
+
define_class_computed = 88,
|
|
122
|
+
get_loc = 89,
|
|
123
|
+
put_loc = 90,
|
|
124
|
+
set_loc = 91,
|
|
125
|
+
get_arg = 92,
|
|
126
|
+
put_arg = 93,
|
|
127
|
+
set_arg = 94,
|
|
128
|
+
get_var_ref = 95,
|
|
129
|
+
put_var_ref = 96,
|
|
130
|
+
set_var_ref = 97,
|
|
131
|
+
set_loc_uninitialized = 98,
|
|
132
|
+
get_loc_check = 99,
|
|
133
|
+
put_loc_check = 100,
|
|
134
|
+
put_loc_check_init = 101,
|
|
135
|
+
get_loc_checkthis = 102,
|
|
136
|
+
get_var_ref_check = 103,
|
|
137
|
+
put_var_ref_check = 104,
|
|
138
|
+
put_var_ref_check_init = 105,
|
|
139
|
+
close_loc = 106,
|
|
140
|
+
if_false = 107,
|
|
141
|
+
if_true = 108,
|
|
142
|
+
goto = 109,
|
|
143
|
+
catch = 110,
|
|
144
|
+
gosub = 111,
|
|
145
|
+
ret = 112,
|
|
146
|
+
nip_catch = 113,
|
|
147
|
+
to_object = 114,
|
|
148
|
+
to_propkey = 115,
|
|
149
|
+
to_propkey2 = 116,
|
|
150
|
+
with_get_var = 117,
|
|
151
|
+
with_put_var = 118,
|
|
152
|
+
with_delete_var = 119,
|
|
153
|
+
with_make_ref = 120,
|
|
154
|
+
with_get_ref = 121,
|
|
155
|
+
make_loc_ref = 122,
|
|
156
|
+
make_arg_ref = 123,
|
|
157
|
+
make_var_ref_ref = 124,
|
|
158
|
+
make_var_ref = 125,
|
|
159
|
+
for_in_start = 126,
|
|
160
|
+
for_of_start = 127,
|
|
161
|
+
for_await_of_start = 128,
|
|
162
|
+
for_in_next = 129,
|
|
163
|
+
for_of_next = 130,
|
|
164
|
+
for_await_of_next = 131,
|
|
165
|
+
iterator_check_object = 132,
|
|
166
|
+
iterator_get_value_done = 133,
|
|
167
|
+
iterator_close = 134,
|
|
168
|
+
iterator_next = 135,
|
|
169
|
+
iterator_call = 136,
|
|
170
|
+
initial_yield = 137,
|
|
171
|
+
yield = 138,
|
|
172
|
+
yield_star = 139,
|
|
173
|
+
async_yield_star = 140,
|
|
174
|
+
await = 141,
|
|
175
|
+
neg = 142,
|
|
176
|
+
plus = 143,
|
|
177
|
+
dec = 144,
|
|
178
|
+
inc = 145,
|
|
179
|
+
post_dec = 146,
|
|
180
|
+
post_inc = 147,
|
|
181
|
+
dec_loc = 148,
|
|
182
|
+
inc_loc = 149,
|
|
183
|
+
add_loc = 150,
|
|
184
|
+
not = 151,
|
|
185
|
+
lnot = 152,
|
|
186
|
+
typeof = 153,
|
|
187
|
+
delete = 154,
|
|
188
|
+
delete_var = 155,
|
|
189
|
+
mul = 156,
|
|
190
|
+
div = 157,
|
|
191
|
+
mod = 158,
|
|
192
|
+
add = 159,
|
|
193
|
+
sub = 160,
|
|
194
|
+
pow = 161,
|
|
195
|
+
shl = 162,
|
|
196
|
+
sar = 163,
|
|
197
|
+
shr = 164,
|
|
198
|
+
lt = 165,
|
|
199
|
+
lte = 166,
|
|
200
|
+
gt = 167,
|
|
201
|
+
gte = 168,
|
|
202
|
+
instanceof = 169,
|
|
203
|
+
in = 170,
|
|
204
|
+
eq = 171,
|
|
205
|
+
neq = 172,
|
|
206
|
+
strict_eq = 173,
|
|
207
|
+
strict_neq = 174,
|
|
208
|
+
and = 175,
|
|
209
|
+
xor = 176,
|
|
210
|
+
or = 177,
|
|
211
|
+
is_undefined_or_null = 178,
|
|
212
|
+
private_in = 179,
|
|
213
|
+
push_bigint_i32 = 180,
|
|
214
|
+
nop = 181,
|
|
215
|
+
enter_scope = 182,
|
|
216
|
+
leave_scope = 183,
|
|
217
|
+
label = 184,
|
|
218
|
+
scope_get_var_undef = 185,
|
|
219
|
+
scope_get_var = 186,
|
|
220
|
+
scope_put_var = 187,
|
|
221
|
+
scope_delete_var = 188,
|
|
222
|
+
scope_make_ref = 189,
|
|
223
|
+
scope_get_ref = 190,
|
|
224
|
+
scope_put_var_init = 191,
|
|
225
|
+
scope_get_var_checkthis = 192,
|
|
226
|
+
scope_get_private_field = 193,
|
|
227
|
+
scope_get_private_field2 = 194,
|
|
228
|
+
scope_put_private_field = 195,
|
|
229
|
+
scope_in_private_field = 196,
|
|
230
|
+
get_field_opt_chain = 197,
|
|
231
|
+
get_array_el_opt_chain = 198,
|
|
232
|
+
set_class_name = 199,
|
|
233
|
+
line_num = 200,
|
|
234
|
+
push_minus1 = 182,
|
|
235
|
+
push_0 = 183,
|
|
236
|
+
push_1 = 184,
|
|
237
|
+
push_2 = 185,
|
|
238
|
+
push_3 = 186,
|
|
239
|
+
push_4 = 187,
|
|
240
|
+
push_5 = 188,
|
|
241
|
+
push_6 = 189,
|
|
242
|
+
push_7 = 190,
|
|
243
|
+
push_i8 = 191,
|
|
244
|
+
push_i16 = 192,
|
|
245
|
+
push_const8 = 193,
|
|
246
|
+
fclosure8 = 194,
|
|
247
|
+
push_empty_string = 195,
|
|
248
|
+
get_loc8 = 196,
|
|
249
|
+
put_loc8 = 197,
|
|
250
|
+
set_loc8 = 198,
|
|
251
|
+
get_loc0 = 199,
|
|
252
|
+
get_loc1 = 200,
|
|
253
|
+
get_loc2 = 201,
|
|
254
|
+
get_loc3 = 202,
|
|
255
|
+
put_loc0 = 203,
|
|
256
|
+
put_loc1 = 204,
|
|
257
|
+
put_loc2 = 205,
|
|
258
|
+
put_loc3 = 206,
|
|
259
|
+
set_loc0 = 207,
|
|
260
|
+
set_loc1 = 208,
|
|
261
|
+
set_loc2 = 209,
|
|
262
|
+
set_loc3 = 210,
|
|
263
|
+
get_arg0 = 211,
|
|
264
|
+
get_arg1 = 212,
|
|
265
|
+
get_arg2 = 213,
|
|
266
|
+
get_arg3 = 214,
|
|
267
|
+
put_arg0 = 215,
|
|
268
|
+
put_arg1 = 216,
|
|
269
|
+
put_arg2 = 217,
|
|
270
|
+
put_arg3 = 218,
|
|
271
|
+
set_arg0 = 219,
|
|
272
|
+
set_arg1 = 220,
|
|
273
|
+
set_arg2 = 221,
|
|
274
|
+
set_arg3 = 222,
|
|
275
|
+
get_var_ref0 = 223,
|
|
276
|
+
get_var_ref1 = 224,
|
|
277
|
+
get_var_ref2 = 225,
|
|
278
|
+
get_var_ref3 = 226,
|
|
279
|
+
put_var_ref0 = 227,
|
|
280
|
+
put_var_ref1 = 228,
|
|
281
|
+
put_var_ref2 = 229,
|
|
282
|
+
put_var_ref3 = 230,
|
|
283
|
+
set_var_ref0 = 231,
|
|
284
|
+
set_var_ref1 = 232,
|
|
285
|
+
set_var_ref2 = 233,
|
|
286
|
+
set_var_ref3 = 234,
|
|
287
|
+
get_length = 235,
|
|
288
|
+
if_false8 = 236,
|
|
289
|
+
if_true8 = 237,
|
|
290
|
+
goto8 = 238,
|
|
291
|
+
goto16 = 239,
|
|
292
|
+
call0 = 240,
|
|
293
|
+
call1 = 241,
|
|
294
|
+
call2 = 242,
|
|
295
|
+
call3 = 243,
|
|
296
|
+
is_undefined = 244,
|
|
297
|
+
is_null = 245,
|
|
298
|
+
typeof_is_undefined = 246,
|
|
299
|
+
typeof_is_function = 247,
|
|
300
|
+
COUNT = 248
|
|
301
|
+
}
|
|
302
|
+
export declare const OP_TEMP_START = 182;
|
|
303
|
+
export declare const OP_TEMP_END = 201;
|
|
304
|
+
export interface JSOpCode {
|
|
305
|
+
name: string;
|
|
306
|
+
size: number;
|
|
307
|
+
n_pop: number;
|
|
308
|
+
n_push: number;
|
|
309
|
+
fmt: OpFmt;
|
|
310
|
+
}
|
|
311
|
+
export declare const opcode_info: JSOpCode[];
|
|
312
|
+
export declare function short_opcode_info(op: number): JSOpCode;
|
|
313
|
+
export declare const enum OPSpecialObject {
|
|
314
|
+
ARGUMENTS = 0,
|
|
315
|
+
MAPPED_ARGUMENTS = 1,
|
|
316
|
+
THIS_FUNC = 2,
|
|
317
|
+
NEW_TARGET = 3,
|
|
318
|
+
HOME_OBJECT = 4,
|
|
319
|
+
VAR_OBJECT = 5,
|
|
320
|
+
IMPORT_META = 6
|
|
321
|
+
}
|
|
322
|
+
export declare const OP_DEFINE_METHOD_METHOD = 0;
|
|
323
|
+
export declare const OP_DEFINE_METHOD_GETTER = 1;
|
|
324
|
+
export declare const OP_DEFINE_METHOD_SETTER = 2;
|
|
325
|
+
export declare const OP_DEFINE_METHOD_ENUMERABLE = 4;
|
|
326
|
+
export declare const JS_DEFINE_CLASS_HAS_HERITAGE: number;
|
|
327
|
+
export declare const JS_THROW_VAR_RO = 0;
|
|
328
|
+
export declare const JS_THROW_VAR_REDECL = 1;
|
|
329
|
+
export declare const JS_THROW_VAR_UNINITIALIZED = 2;
|
|
330
|
+
export declare const JS_THROW_ERROR_DELETE_SUPER = 3;
|
|
331
|
+
export declare const JS_THROW_ERROR_ITERATOR_THROW = 4;
|
|
332
|
+
export declare const FUNC_RET_AWAIT = 0;
|
|
333
|
+
export declare const FUNC_RET_YIELD = 1;
|
|
334
|
+
export declare const FUNC_RET_YIELD_STAR = 2;
|
|
335
|
+
export declare const FUNC_RET_INITIAL_YIELD = 3;
|
|
336
|
+
export declare const DEFINE_GLOBAL_LEX_VAR: number;
|
|
337
|
+
export declare const DEFINE_GLOBAL_FUNC_VAR: number;
|
|
338
|
+
export declare const OP_COPY_DATA_PROPERTIES_EXCLUDED_MASK = 0;
|
|
339
|
+
export declare function get_u8(buf: Uint8Array, pos: number): number;
|
|
340
|
+
export declare function get_i8(buf: Uint8Array, pos: number): number;
|
|
341
|
+
export declare function get_u16(buf: Uint8Array, pos: number): number;
|
|
342
|
+
export declare function get_i16(buf: Uint8Array, pos: number): number;
|
|
343
|
+
export declare function get_u32(buf: Uint8Array, pos: number): number;
|
|
344
|
+
export declare function get_i32(buf: Uint8Array, pos: number): number;
|
|
345
|
+
export declare function put_u8(buf: Uint8Array, pos: number, v: number): void;
|
|
346
|
+
export declare function put_u16(buf: Uint8Array, pos: number, v: number): void;
|
|
347
|
+
export declare function put_u32(buf: Uint8Array, pos: number, v: number): void;
|
package/dist/opcodes.js
ADDED
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
/* Generated from quickjs-opcode.h (QuickJS 2025-04-26). Do not edit by hand.
|
|
2
|
+
Numbering follows quickjs.c: the temporary opcodes (only present in the
|
|
3
|
+
compiler phases 1 and 2) overlap with the short opcodes. */
|
|
4
|
+
export const OP_TEMP_START = 182;
|
|
5
|
+
export const OP_TEMP_END = 201;
|
|
6
|
+
/* indexed in header order: [regular opcodes..nop][temporary opcodes][short opcodes] */
|
|
7
|
+
export const opcode_info = [
|
|
8
|
+
{ name: 'invalid', size: 1, n_pop: 0, n_push: 0, fmt: 0 /* OpFmt.none */ },
|
|
9
|
+
{ name: 'push_i32', size: 5, n_pop: 0, n_push: 1, fmt: 20 /* OpFmt.i32 */ },
|
|
10
|
+
{ name: 'push_const', size: 5, n_pop: 0, n_push: 1, fmt: 21 /* OpFmt.const */ },
|
|
11
|
+
{ name: 'fclosure', size: 5, n_pop: 0, n_push: 1, fmt: 21 /* OpFmt.const */ },
|
|
12
|
+
{ name: 'push_atom_value', size: 5, n_pop: 0, n_push: 1, fmt: 23 /* OpFmt.atom */ },
|
|
13
|
+
{ name: 'private_symbol', size: 5, n_pop: 0, n_push: 1, fmt: 23 /* OpFmt.atom */ },
|
|
14
|
+
{ name: 'undefined', size: 1, n_pop: 0, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
15
|
+
{ name: 'null', size: 1, n_pop: 0, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
16
|
+
{ name: 'push_this', size: 1, n_pop: 0, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
17
|
+
{ name: 'push_false', size: 1, n_pop: 0, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
18
|
+
{ name: 'push_true', size: 1, n_pop: 0, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
19
|
+
{ name: 'object', size: 1, n_pop: 0, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
20
|
+
{ name: 'special_object', size: 2, n_pop: 0, n_push: 1, fmt: 5 /* OpFmt.u8 */ },
|
|
21
|
+
{ name: 'rest', size: 3, n_pop: 0, n_push: 1, fmt: 10 /* OpFmt.u16 */ },
|
|
22
|
+
{ name: 'drop', size: 1, n_pop: 1, n_push: 0, fmt: 0 /* OpFmt.none */ },
|
|
23
|
+
{ name: 'nip', size: 1, n_pop: 2, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
24
|
+
{ name: 'nip1', size: 1, n_pop: 3, n_push: 2, fmt: 0 /* OpFmt.none */ },
|
|
25
|
+
{ name: 'dup', size: 1, n_pop: 1, n_push: 2, fmt: 0 /* OpFmt.none */ },
|
|
26
|
+
{ name: 'dup1', size: 1, n_pop: 2, n_push: 3, fmt: 0 /* OpFmt.none */ },
|
|
27
|
+
{ name: 'dup2', size: 1, n_pop: 2, n_push: 4, fmt: 0 /* OpFmt.none */ },
|
|
28
|
+
{ name: 'dup3', size: 1, n_pop: 3, n_push: 6, fmt: 0 /* OpFmt.none */ },
|
|
29
|
+
{ name: 'insert2', size: 1, n_pop: 2, n_push: 3, fmt: 0 /* OpFmt.none */ },
|
|
30
|
+
{ name: 'insert3', size: 1, n_pop: 3, n_push: 4, fmt: 0 /* OpFmt.none */ },
|
|
31
|
+
{ name: 'insert4', size: 1, n_pop: 4, n_push: 5, fmt: 0 /* OpFmt.none */ },
|
|
32
|
+
{ name: 'perm3', size: 1, n_pop: 3, n_push: 3, fmt: 0 /* OpFmt.none */ },
|
|
33
|
+
{ name: 'perm4', size: 1, n_pop: 4, n_push: 4, fmt: 0 /* OpFmt.none */ },
|
|
34
|
+
{ name: 'perm5', size: 1, n_pop: 5, n_push: 5, fmt: 0 /* OpFmt.none */ },
|
|
35
|
+
{ name: 'swap', size: 1, n_pop: 2, n_push: 2, fmt: 0 /* OpFmt.none */ },
|
|
36
|
+
{ name: 'swap2', size: 1, n_pop: 4, n_push: 4, fmt: 0 /* OpFmt.none */ },
|
|
37
|
+
{ name: 'rot3l', size: 1, n_pop: 3, n_push: 3, fmt: 0 /* OpFmt.none */ },
|
|
38
|
+
{ name: 'rot3r', size: 1, n_pop: 3, n_push: 3, fmt: 0 /* OpFmt.none */ },
|
|
39
|
+
{ name: 'rot4l', size: 1, n_pop: 4, n_push: 4, fmt: 0 /* OpFmt.none */ },
|
|
40
|
+
{ name: 'rot5l', size: 1, n_pop: 5, n_push: 5, fmt: 0 /* OpFmt.none */ },
|
|
41
|
+
{ name: 'call_constructor', size: 3, n_pop: 2, n_push: 1, fmt: 13 /* OpFmt.npop */ },
|
|
42
|
+
{ name: 'call', size: 3, n_pop: 1, n_push: 1, fmt: 13 /* OpFmt.npop */ },
|
|
43
|
+
{ name: 'tail_call', size: 3, n_pop: 1, n_push: 0, fmt: 13 /* OpFmt.npop */ },
|
|
44
|
+
{ name: 'call_method', size: 3, n_pop: 2, n_push: 1, fmt: 13 /* OpFmt.npop */ },
|
|
45
|
+
{ name: 'tail_call_method', size: 3, n_pop: 2, n_push: 0, fmt: 13 /* OpFmt.npop */ },
|
|
46
|
+
{ name: 'array_from', size: 3, n_pop: 0, n_push: 1, fmt: 13 /* OpFmt.npop */ },
|
|
47
|
+
{ name: 'apply', size: 3, n_pop: 3, n_push: 1, fmt: 10 /* OpFmt.u16 */ },
|
|
48
|
+
{ name: 'return', size: 1, n_pop: 1, n_push: 0, fmt: 0 /* OpFmt.none */ },
|
|
49
|
+
{ name: 'return_undef', size: 1, n_pop: 0, n_push: 0, fmt: 0 /* OpFmt.none */ },
|
|
50
|
+
{ name: 'check_ctor_return', size: 1, n_pop: 1, n_push: 2, fmt: 0 /* OpFmt.none */ },
|
|
51
|
+
{ name: 'check_ctor', size: 1, n_pop: 0, n_push: 0, fmt: 0 /* OpFmt.none */ },
|
|
52
|
+
{ name: 'init_ctor', size: 1, n_pop: 0, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
53
|
+
{ name: 'check_brand', size: 1, n_pop: 2, n_push: 2, fmt: 0 /* OpFmt.none */ },
|
|
54
|
+
{ name: 'add_brand', size: 1, n_pop: 2, n_push: 0, fmt: 0 /* OpFmt.none */ },
|
|
55
|
+
{ name: 'return_async', size: 1, n_pop: 1, n_push: 0, fmt: 0 /* OpFmt.none */ },
|
|
56
|
+
{ name: 'throw', size: 1, n_pop: 1, n_push: 0, fmt: 0 /* OpFmt.none */ },
|
|
57
|
+
{ name: 'throw_error', size: 6, n_pop: 0, n_push: 0, fmt: 24 /* OpFmt.atom_u8 */ },
|
|
58
|
+
{ name: 'eval', size: 5, n_pop: 1, n_push: 1, fmt: 15 /* OpFmt.npop_u16 */ },
|
|
59
|
+
{ name: 'apply_eval', size: 3, n_pop: 2, n_push: 1, fmt: 10 /* OpFmt.u16 */ },
|
|
60
|
+
{ name: 'regexp', size: 1, n_pop: 2, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
61
|
+
{ name: 'get_super', size: 1, n_pop: 1, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
62
|
+
{ name: 'import', size: 1, n_pop: 1, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
63
|
+
{ name: 'check_var', size: 5, n_pop: 0, n_push: 1, fmt: 23 /* OpFmt.atom */ },
|
|
64
|
+
{ name: 'get_var_undef', size: 5, n_pop: 0, n_push: 1, fmt: 23 /* OpFmt.atom */ },
|
|
65
|
+
{ name: 'get_var', size: 5, n_pop: 0, n_push: 1, fmt: 23 /* OpFmt.atom */ },
|
|
66
|
+
{ name: 'put_var', size: 5, n_pop: 1, n_push: 0, fmt: 23 /* OpFmt.atom */ },
|
|
67
|
+
{ name: 'put_var_init', size: 5, n_pop: 1, n_push: 0, fmt: 23 /* OpFmt.atom */ },
|
|
68
|
+
{ name: 'put_var_strict', size: 5, n_pop: 2, n_push: 0, fmt: 23 /* OpFmt.atom */ },
|
|
69
|
+
{ name: 'get_ref_value', size: 1, n_pop: 2, n_push: 3, fmt: 0 /* OpFmt.none */ },
|
|
70
|
+
{ name: 'put_ref_value', size: 1, n_pop: 3, n_push: 0, fmt: 0 /* OpFmt.none */ },
|
|
71
|
+
{ name: 'define_var', size: 6, n_pop: 0, n_push: 0, fmt: 24 /* OpFmt.atom_u8 */ },
|
|
72
|
+
{ name: 'check_define_var', size: 6, n_pop: 0, n_push: 0, fmt: 24 /* OpFmt.atom_u8 */ },
|
|
73
|
+
{ name: 'define_func', size: 6, n_pop: 1, n_push: 0, fmt: 24 /* OpFmt.atom_u8 */ },
|
|
74
|
+
{ name: 'get_field', size: 5, n_pop: 1, n_push: 1, fmt: 23 /* OpFmt.atom */ },
|
|
75
|
+
{ name: 'get_field2', size: 5, n_pop: 1, n_push: 2, fmt: 23 /* OpFmt.atom */ },
|
|
76
|
+
{ name: 'put_field', size: 5, n_pop: 2, n_push: 0, fmt: 23 /* OpFmt.atom */ },
|
|
77
|
+
{ name: 'get_private_field', size: 1, n_pop: 2, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
78
|
+
{ name: 'put_private_field', size: 1, n_pop: 3, n_push: 0, fmt: 0 /* OpFmt.none */ },
|
|
79
|
+
{ name: 'define_private_field', size: 1, n_pop: 3, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
80
|
+
{ name: 'get_array_el', size: 1, n_pop: 2, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
81
|
+
{ name: 'get_array_el2', size: 1, n_pop: 2, n_push: 2, fmt: 0 /* OpFmt.none */ },
|
|
82
|
+
{ name: 'put_array_el', size: 1, n_pop: 3, n_push: 0, fmt: 0 /* OpFmt.none */ },
|
|
83
|
+
{ name: 'get_super_value', size: 1, n_pop: 3, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
84
|
+
{ name: 'put_super_value', size: 1, n_pop: 4, n_push: 0, fmt: 0 /* OpFmt.none */ },
|
|
85
|
+
{ name: 'define_field', size: 5, n_pop: 2, n_push: 1, fmt: 23 /* OpFmt.atom */ },
|
|
86
|
+
{ name: 'set_name', size: 5, n_pop: 1, n_push: 1, fmt: 23 /* OpFmt.atom */ },
|
|
87
|
+
{ name: 'set_name_computed', size: 1, n_pop: 2, n_push: 2, fmt: 0 /* OpFmt.none */ },
|
|
88
|
+
{ name: 'set_proto', size: 1, n_pop: 2, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
89
|
+
{ name: 'set_home_object', size: 1, n_pop: 2, n_push: 2, fmt: 0 /* OpFmt.none */ },
|
|
90
|
+
{ name: 'define_array_el', size: 1, n_pop: 3, n_push: 2, fmt: 0 /* OpFmt.none */ },
|
|
91
|
+
{ name: 'append', size: 1, n_pop: 3, n_push: 2, fmt: 0 /* OpFmt.none */ },
|
|
92
|
+
{ name: 'copy_data_properties', size: 2, n_pop: 3, n_push: 3, fmt: 5 /* OpFmt.u8 */ },
|
|
93
|
+
{ name: 'define_method', size: 6, n_pop: 2, n_push: 1, fmt: 24 /* OpFmt.atom_u8 */ },
|
|
94
|
+
{ name: 'define_method_computed', size: 2, n_pop: 3, n_push: 1, fmt: 5 /* OpFmt.u8 */ },
|
|
95
|
+
{ name: 'define_class', size: 6, n_pop: 2, n_push: 2, fmt: 24 /* OpFmt.atom_u8 */ },
|
|
96
|
+
{ name: 'define_class_computed', size: 6, n_pop: 3, n_push: 3, fmt: 24 /* OpFmt.atom_u8 */ },
|
|
97
|
+
{ name: 'get_loc', size: 3, n_pop: 0, n_push: 1, fmt: 16 /* OpFmt.loc */ },
|
|
98
|
+
{ name: 'put_loc', size: 3, n_pop: 1, n_push: 0, fmt: 16 /* OpFmt.loc */ },
|
|
99
|
+
{ name: 'set_loc', size: 3, n_pop: 1, n_push: 1, fmt: 16 /* OpFmt.loc */ },
|
|
100
|
+
{ name: 'get_arg', size: 3, n_pop: 0, n_push: 1, fmt: 17 /* OpFmt.arg */ },
|
|
101
|
+
{ name: 'put_arg', size: 3, n_pop: 1, n_push: 0, fmt: 17 /* OpFmt.arg */ },
|
|
102
|
+
{ name: 'set_arg', size: 3, n_pop: 1, n_push: 1, fmt: 17 /* OpFmt.arg */ },
|
|
103
|
+
{ name: 'get_var_ref', size: 3, n_pop: 0, n_push: 1, fmt: 18 /* OpFmt.var_ref */ },
|
|
104
|
+
{ name: 'put_var_ref', size: 3, n_pop: 1, n_push: 0, fmt: 18 /* OpFmt.var_ref */ },
|
|
105
|
+
{ name: 'set_var_ref', size: 3, n_pop: 1, n_push: 1, fmt: 18 /* OpFmt.var_ref */ },
|
|
106
|
+
{ name: 'set_loc_uninitialized', size: 3, n_pop: 0, n_push: 0, fmt: 16 /* OpFmt.loc */ },
|
|
107
|
+
{ name: 'get_loc_check', size: 3, n_pop: 0, n_push: 1, fmt: 16 /* OpFmt.loc */ },
|
|
108
|
+
{ name: 'put_loc_check', size: 3, n_pop: 1, n_push: 0, fmt: 16 /* OpFmt.loc */ },
|
|
109
|
+
{ name: 'put_loc_check_init', size: 3, n_pop: 1, n_push: 0, fmt: 16 /* OpFmt.loc */ },
|
|
110
|
+
{ name: 'get_loc_checkthis', size: 3, n_pop: 0, n_push: 1, fmt: 16 /* OpFmt.loc */ },
|
|
111
|
+
{ name: 'get_var_ref_check', size: 3, n_pop: 0, n_push: 1, fmt: 18 /* OpFmt.var_ref */ },
|
|
112
|
+
{ name: 'put_var_ref_check', size: 3, n_pop: 1, n_push: 0, fmt: 18 /* OpFmt.var_ref */ },
|
|
113
|
+
{ name: 'put_var_ref_check_init', size: 3, n_pop: 1, n_push: 0, fmt: 18 /* OpFmt.var_ref */ },
|
|
114
|
+
{ name: 'close_loc', size: 3, n_pop: 0, n_push: 0, fmt: 16 /* OpFmt.loc */ },
|
|
115
|
+
{ name: 'if_false', size: 5, n_pop: 1, n_push: 0, fmt: 22 /* OpFmt.label */ },
|
|
116
|
+
{ name: 'if_true', size: 5, n_pop: 1, n_push: 0, fmt: 22 /* OpFmt.label */ },
|
|
117
|
+
{ name: 'goto', size: 5, n_pop: 0, n_push: 0, fmt: 22 /* OpFmt.label */ },
|
|
118
|
+
{ name: 'catch', size: 5, n_pop: 0, n_push: 1, fmt: 22 /* OpFmt.label */ },
|
|
119
|
+
{ name: 'gosub', size: 5, n_pop: 0, n_push: 0, fmt: 22 /* OpFmt.label */ },
|
|
120
|
+
{ name: 'ret', size: 1, n_pop: 1, n_push: 0, fmt: 0 /* OpFmt.none */ },
|
|
121
|
+
{ name: 'nip_catch', size: 1, n_pop: 2, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
122
|
+
{ name: 'to_object', size: 1, n_pop: 1, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
123
|
+
{ name: 'to_propkey', size: 1, n_pop: 1, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
124
|
+
{ name: 'to_propkey2', size: 1, n_pop: 2, n_push: 2, fmt: 0 /* OpFmt.none */ },
|
|
125
|
+
{ name: 'with_get_var', size: 10, n_pop: 1, n_push: 0, fmt: 26 /* OpFmt.atom_label_u8 */ },
|
|
126
|
+
{ name: 'with_put_var', size: 10, n_pop: 2, n_push: 1, fmt: 26 /* OpFmt.atom_label_u8 */ },
|
|
127
|
+
{ name: 'with_delete_var', size: 10, n_pop: 1, n_push: 0, fmt: 26 /* OpFmt.atom_label_u8 */ },
|
|
128
|
+
{ name: 'with_make_ref', size: 10, n_pop: 1, n_push: 0, fmt: 26 /* OpFmt.atom_label_u8 */ },
|
|
129
|
+
{ name: 'with_get_ref', size: 10, n_pop: 1, n_push: 0, fmt: 26 /* OpFmt.atom_label_u8 */ },
|
|
130
|
+
{ name: 'make_loc_ref', size: 7, n_pop: 0, n_push: 2, fmt: 25 /* OpFmt.atom_u16 */ },
|
|
131
|
+
{ name: 'make_arg_ref', size: 7, n_pop: 0, n_push: 2, fmt: 25 /* OpFmt.atom_u16 */ },
|
|
132
|
+
{ name: 'make_var_ref_ref', size: 7, n_pop: 0, n_push: 2, fmt: 25 /* OpFmt.atom_u16 */ },
|
|
133
|
+
{ name: 'make_var_ref', size: 5, n_pop: 0, n_push: 2, fmt: 23 /* OpFmt.atom */ },
|
|
134
|
+
{ name: 'for_in_start', size: 1, n_pop: 1, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
135
|
+
{ name: 'for_of_start', size: 1, n_pop: 1, n_push: 3, fmt: 0 /* OpFmt.none */ },
|
|
136
|
+
{ name: 'for_await_of_start', size: 1, n_pop: 1, n_push: 3, fmt: 0 /* OpFmt.none */ },
|
|
137
|
+
{ name: 'for_in_next', size: 1, n_pop: 1, n_push: 3, fmt: 0 /* OpFmt.none */ },
|
|
138
|
+
{ name: 'for_of_next', size: 2, n_pop: 3, n_push: 5, fmt: 5 /* OpFmt.u8 */ },
|
|
139
|
+
{ name: 'for_await_of_next', size: 1, n_pop: 3, n_push: 4, fmt: 0 /* OpFmt.none */ },
|
|
140
|
+
{ name: 'iterator_check_object', size: 1, n_pop: 1, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
141
|
+
{ name: 'iterator_get_value_done', size: 1, n_pop: 2, n_push: 3, fmt: 0 /* OpFmt.none */ },
|
|
142
|
+
{ name: 'iterator_close', size: 1, n_pop: 3, n_push: 0, fmt: 0 /* OpFmt.none */ },
|
|
143
|
+
{ name: 'iterator_next', size: 1, n_pop: 4, n_push: 4, fmt: 0 /* OpFmt.none */ },
|
|
144
|
+
{ name: 'iterator_call', size: 2, n_pop: 4, n_push: 5, fmt: 5 /* OpFmt.u8 */ },
|
|
145
|
+
{ name: 'initial_yield', size: 1, n_pop: 0, n_push: 0, fmt: 0 /* OpFmt.none */ },
|
|
146
|
+
{ name: 'yield', size: 1, n_pop: 1, n_push: 2, fmt: 0 /* OpFmt.none */ },
|
|
147
|
+
{ name: 'yield_star', size: 1, n_pop: 1, n_push: 2, fmt: 0 /* OpFmt.none */ },
|
|
148
|
+
{ name: 'async_yield_star', size: 1, n_pop: 1, n_push: 2, fmt: 0 /* OpFmt.none */ },
|
|
149
|
+
{ name: 'await', size: 1, n_pop: 1, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
150
|
+
{ name: 'neg', size: 1, n_pop: 1, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
151
|
+
{ name: 'plus', size: 1, n_pop: 1, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
152
|
+
{ name: 'dec', size: 1, n_pop: 1, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
153
|
+
{ name: 'inc', size: 1, n_pop: 1, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
154
|
+
{ name: 'post_dec', size: 1, n_pop: 1, n_push: 2, fmt: 0 /* OpFmt.none */ },
|
|
155
|
+
{ name: 'post_inc', size: 1, n_pop: 1, n_push: 2, fmt: 0 /* OpFmt.none */ },
|
|
156
|
+
{ name: 'dec_loc', size: 2, n_pop: 0, n_push: 0, fmt: 7 /* OpFmt.loc8 */ },
|
|
157
|
+
{ name: 'inc_loc', size: 2, n_pop: 0, n_push: 0, fmt: 7 /* OpFmt.loc8 */ },
|
|
158
|
+
{ name: 'add_loc', size: 2, n_pop: 1, n_push: 0, fmt: 7 /* OpFmt.loc8 */ },
|
|
159
|
+
{ name: 'not', size: 1, n_pop: 1, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
160
|
+
{ name: 'lnot', size: 1, n_pop: 1, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
161
|
+
{ name: 'typeof', size: 1, n_pop: 1, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
162
|
+
{ name: 'delete', size: 1, n_pop: 2, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
163
|
+
{ name: 'delete_var', size: 5, n_pop: 0, n_push: 1, fmt: 23 /* OpFmt.atom */ },
|
|
164
|
+
{ name: 'mul', size: 1, n_pop: 2, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
165
|
+
{ name: 'div', size: 1, n_pop: 2, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
166
|
+
{ name: 'mod', size: 1, n_pop: 2, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
167
|
+
{ name: 'add', size: 1, n_pop: 2, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
168
|
+
{ name: 'sub', size: 1, n_pop: 2, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
169
|
+
{ name: 'pow', size: 1, n_pop: 2, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
170
|
+
{ name: 'shl', size: 1, n_pop: 2, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
171
|
+
{ name: 'sar', size: 1, n_pop: 2, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
172
|
+
{ name: 'shr', size: 1, n_pop: 2, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
173
|
+
{ name: 'lt', size: 1, n_pop: 2, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
174
|
+
{ name: 'lte', size: 1, n_pop: 2, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
175
|
+
{ name: 'gt', size: 1, n_pop: 2, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
176
|
+
{ name: 'gte', size: 1, n_pop: 2, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
177
|
+
{ name: 'instanceof', size: 1, n_pop: 2, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
178
|
+
{ name: 'in', size: 1, n_pop: 2, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
179
|
+
{ name: 'eq', size: 1, n_pop: 2, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
180
|
+
{ name: 'neq', size: 1, n_pop: 2, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
181
|
+
{ name: 'strict_eq', size: 1, n_pop: 2, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
182
|
+
{ name: 'strict_neq', size: 1, n_pop: 2, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
183
|
+
{ name: 'and', size: 1, n_pop: 2, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
184
|
+
{ name: 'xor', size: 1, n_pop: 2, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
185
|
+
{ name: 'or', size: 1, n_pop: 2, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
186
|
+
{ name: 'is_undefined_or_null', size: 1, n_pop: 1, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
187
|
+
{ name: 'private_in', size: 1, n_pop: 2, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
188
|
+
{ name: 'push_bigint_i32', size: 5, n_pop: 0, n_push: 1, fmt: 20 /* OpFmt.i32 */ },
|
|
189
|
+
{ name: 'nop', size: 1, n_pop: 0, n_push: 0, fmt: 0 /* OpFmt.none */ },
|
|
190
|
+
{ name: 'enter_scope', size: 3, n_pop: 0, n_push: 0, fmt: 10 /* OpFmt.u16 */ },
|
|
191
|
+
{ name: 'leave_scope', size: 3, n_pop: 0, n_push: 0, fmt: 10 /* OpFmt.u16 */ },
|
|
192
|
+
{ name: 'label', size: 5, n_pop: 0, n_push: 0, fmt: 22 /* OpFmt.label */ },
|
|
193
|
+
{ name: 'scope_get_var_undef', size: 7, n_pop: 0, n_push: 1, fmt: 25 /* OpFmt.atom_u16 */ },
|
|
194
|
+
{ name: 'scope_get_var', size: 7, n_pop: 0, n_push: 1, fmt: 25 /* OpFmt.atom_u16 */ },
|
|
195
|
+
{ name: 'scope_put_var', size: 7, n_pop: 1, n_push: 0, fmt: 25 /* OpFmt.atom_u16 */ },
|
|
196
|
+
{ name: 'scope_delete_var', size: 7, n_pop: 0, n_push: 1, fmt: 25 /* OpFmt.atom_u16 */ },
|
|
197
|
+
{ name: 'scope_make_ref', size: 11, n_pop: 0, n_push: 2, fmt: 27 /* OpFmt.atom_label_u16 */ },
|
|
198
|
+
{ name: 'scope_get_ref', size: 7, n_pop: 0, n_push: 2, fmt: 25 /* OpFmt.atom_u16 */ },
|
|
199
|
+
{ name: 'scope_put_var_init', size: 7, n_pop: 0, n_push: 2, fmt: 25 /* OpFmt.atom_u16 */ },
|
|
200
|
+
{ name: 'scope_get_var_checkthis', size: 7, n_pop: 0, n_push: 1, fmt: 25 /* OpFmt.atom_u16 */ },
|
|
201
|
+
{ name: 'scope_get_private_field', size: 7, n_pop: 1, n_push: 1, fmt: 25 /* OpFmt.atom_u16 */ },
|
|
202
|
+
{ name: 'scope_get_private_field2', size: 7, n_pop: 1, n_push: 2, fmt: 25 /* OpFmt.atom_u16 */ },
|
|
203
|
+
{ name: 'scope_put_private_field', size: 7, n_pop: 2, n_push: 0, fmt: 25 /* OpFmt.atom_u16 */ },
|
|
204
|
+
{ name: 'scope_in_private_field', size: 7, n_pop: 1, n_push: 1, fmt: 25 /* OpFmt.atom_u16 */ },
|
|
205
|
+
{ name: 'get_field_opt_chain', size: 5, n_pop: 1, n_push: 1, fmt: 23 /* OpFmt.atom */ },
|
|
206
|
+
{ name: 'get_array_el_opt_chain', size: 1, n_pop: 2, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
207
|
+
{ name: 'set_class_name', size: 5, n_pop: 1, n_push: 1, fmt: 19 /* OpFmt.u32 */ },
|
|
208
|
+
{ name: 'line_num', size: 5, n_pop: 0, n_push: 0, fmt: 19 /* OpFmt.u32 */ },
|
|
209
|
+
{ name: 'push_minus1', size: 1, n_pop: 0, n_push: 1, fmt: 1 /* OpFmt.none_int */ },
|
|
210
|
+
{ name: 'push_0', size: 1, n_pop: 0, n_push: 1, fmt: 1 /* OpFmt.none_int */ },
|
|
211
|
+
{ name: 'push_1', size: 1, n_pop: 0, n_push: 1, fmt: 1 /* OpFmt.none_int */ },
|
|
212
|
+
{ name: 'push_2', size: 1, n_pop: 0, n_push: 1, fmt: 1 /* OpFmt.none_int */ },
|
|
213
|
+
{ name: 'push_3', size: 1, n_pop: 0, n_push: 1, fmt: 1 /* OpFmt.none_int */ },
|
|
214
|
+
{ name: 'push_4', size: 1, n_pop: 0, n_push: 1, fmt: 1 /* OpFmt.none_int */ },
|
|
215
|
+
{ name: 'push_5', size: 1, n_pop: 0, n_push: 1, fmt: 1 /* OpFmt.none_int */ },
|
|
216
|
+
{ name: 'push_6', size: 1, n_pop: 0, n_push: 1, fmt: 1 /* OpFmt.none_int */ },
|
|
217
|
+
{ name: 'push_7', size: 1, n_pop: 0, n_push: 1, fmt: 1 /* OpFmt.none_int */ },
|
|
218
|
+
{ name: 'push_i8', size: 2, n_pop: 0, n_push: 1, fmt: 6 /* OpFmt.i8 */ },
|
|
219
|
+
{ name: 'push_i16', size: 3, n_pop: 0, n_push: 1, fmt: 11 /* OpFmt.i16 */ },
|
|
220
|
+
{ name: 'push_const8', size: 2, n_pop: 0, n_push: 1, fmt: 8 /* OpFmt.const8 */ },
|
|
221
|
+
{ name: 'fclosure8', size: 2, n_pop: 0, n_push: 1, fmt: 8 /* OpFmt.const8 */ },
|
|
222
|
+
{ name: 'push_empty_string', size: 1, n_pop: 0, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
223
|
+
{ name: 'get_loc8', size: 2, n_pop: 0, n_push: 1, fmt: 7 /* OpFmt.loc8 */ },
|
|
224
|
+
{ name: 'put_loc8', size: 2, n_pop: 1, n_push: 0, fmt: 7 /* OpFmt.loc8 */ },
|
|
225
|
+
{ name: 'set_loc8', size: 2, n_pop: 1, n_push: 1, fmt: 7 /* OpFmt.loc8 */ },
|
|
226
|
+
{ name: 'get_loc0', size: 1, n_pop: 0, n_push: 1, fmt: 2 /* OpFmt.none_loc */ },
|
|
227
|
+
{ name: 'get_loc1', size: 1, n_pop: 0, n_push: 1, fmt: 2 /* OpFmt.none_loc */ },
|
|
228
|
+
{ name: 'get_loc2', size: 1, n_pop: 0, n_push: 1, fmt: 2 /* OpFmt.none_loc */ },
|
|
229
|
+
{ name: 'get_loc3', size: 1, n_pop: 0, n_push: 1, fmt: 2 /* OpFmt.none_loc */ },
|
|
230
|
+
{ name: 'put_loc0', size: 1, n_pop: 1, n_push: 0, fmt: 2 /* OpFmt.none_loc */ },
|
|
231
|
+
{ name: 'put_loc1', size: 1, n_pop: 1, n_push: 0, fmt: 2 /* OpFmt.none_loc */ },
|
|
232
|
+
{ name: 'put_loc2', size: 1, n_pop: 1, n_push: 0, fmt: 2 /* OpFmt.none_loc */ },
|
|
233
|
+
{ name: 'put_loc3', size: 1, n_pop: 1, n_push: 0, fmt: 2 /* OpFmt.none_loc */ },
|
|
234
|
+
{ name: 'set_loc0', size: 1, n_pop: 1, n_push: 1, fmt: 2 /* OpFmt.none_loc */ },
|
|
235
|
+
{ name: 'set_loc1', size: 1, n_pop: 1, n_push: 1, fmt: 2 /* OpFmt.none_loc */ },
|
|
236
|
+
{ name: 'set_loc2', size: 1, n_pop: 1, n_push: 1, fmt: 2 /* OpFmt.none_loc */ },
|
|
237
|
+
{ name: 'set_loc3', size: 1, n_pop: 1, n_push: 1, fmt: 2 /* OpFmt.none_loc */ },
|
|
238
|
+
{ name: 'get_arg0', size: 1, n_pop: 0, n_push: 1, fmt: 3 /* OpFmt.none_arg */ },
|
|
239
|
+
{ name: 'get_arg1', size: 1, n_pop: 0, n_push: 1, fmt: 3 /* OpFmt.none_arg */ },
|
|
240
|
+
{ name: 'get_arg2', size: 1, n_pop: 0, n_push: 1, fmt: 3 /* OpFmt.none_arg */ },
|
|
241
|
+
{ name: 'get_arg3', size: 1, n_pop: 0, n_push: 1, fmt: 3 /* OpFmt.none_arg */ },
|
|
242
|
+
{ name: 'put_arg0', size: 1, n_pop: 1, n_push: 0, fmt: 3 /* OpFmt.none_arg */ },
|
|
243
|
+
{ name: 'put_arg1', size: 1, n_pop: 1, n_push: 0, fmt: 3 /* OpFmt.none_arg */ },
|
|
244
|
+
{ name: 'put_arg2', size: 1, n_pop: 1, n_push: 0, fmt: 3 /* OpFmt.none_arg */ },
|
|
245
|
+
{ name: 'put_arg3', size: 1, n_pop: 1, n_push: 0, fmt: 3 /* OpFmt.none_arg */ },
|
|
246
|
+
{ name: 'set_arg0', size: 1, n_pop: 1, n_push: 1, fmt: 3 /* OpFmt.none_arg */ },
|
|
247
|
+
{ name: 'set_arg1', size: 1, n_pop: 1, n_push: 1, fmt: 3 /* OpFmt.none_arg */ },
|
|
248
|
+
{ name: 'set_arg2', size: 1, n_pop: 1, n_push: 1, fmt: 3 /* OpFmt.none_arg */ },
|
|
249
|
+
{ name: 'set_arg3', size: 1, n_pop: 1, n_push: 1, fmt: 3 /* OpFmt.none_arg */ },
|
|
250
|
+
{ name: 'get_var_ref0', size: 1, n_pop: 0, n_push: 1, fmt: 4 /* OpFmt.none_var_ref */ },
|
|
251
|
+
{ name: 'get_var_ref1', size: 1, n_pop: 0, n_push: 1, fmt: 4 /* OpFmt.none_var_ref */ },
|
|
252
|
+
{ name: 'get_var_ref2', size: 1, n_pop: 0, n_push: 1, fmt: 4 /* OpFmt.none_var_ref */ },
|
|
253
|
+
{ name: 'get_var_ref3', size: 1, n_pop: 0, n_push: 1, fmt: 4 /* OpFmt.none_var_ref */ },
|
|
254
|
+
{ name: 'put_var_ref0', size: 1, n_pop: 1, n_push: 0, fmt: 4 /* OpFmt.none_var_ref */ },
|
|
255
|
+
{ name: 'put_var_ref1', size: 1, n_pop: 1, n_push: 0, fmt: 4 /* OpFmt.none_var_ref */ },
|
|
256
|
+
{ name: 'put_var_ref2', size: 1, n_pop: 1, n_push: 0, fmt: 4 /* OpFmt.none_var_ref */ },
|
|
257
|
+
{ name: 'put_var_ref3', size: 1, n_pop: 1, n_push: 0, fmt: 4 /* OpFmt.none_var_ref */ },
|
|
258
|
+
{ name: 'set_var_ref0', size: 1, n_pop: 1, n_push: 1, fmt: 4 /* OpFmt.none_var_ref */ },
|
|
259
|
+
{ name: 'set_var_ref1', size: 1, n_pop: 1, n_push: 1, fmt: 4 /* OpFmt.none_var_ref */ },
|
|
260
|
+
{ name: 'set_var_ref2', size: 1, n_pop: 1, n_push: 1, fmt: 4 /* OpFmt.none_var_ref */ },
|
|
261
|
+
{ name: 'set_var_ref3', size: 1, n_pop: 1, n_push: 1, fmt: 4 /* OpFmt.none_var_ref */ },
|
|
262
|
+
{ name: 'get_length', size: 1, n_pop: 1, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
263
|
+
{ name: 'if_false8', size: 2, n_pop: 1, n_push: 0, fmt: 9 /* OpFmt.label8 */ },
|
|
264
|
+
{ name: 'if_true8', size: 2, n_pop: 1, n_push: 0, fmt: 9 /* OpFmt.label8 */ },
|
|
265
|
+
{ name: 'goto8', size: 2, n_pop: 0, n_push: 0, fmt: 9 /* OpFmt.label8 */ },
|
|
266
|
+
{ name: 'goto16', size: 3, n_pop: 0, n_push: 0, fmt: 12 /* OpFmt.label16 */ },
|
|
267
|
+
{ name: 'call0', size: 1, n_pop: 1, n_push: 1, fmt: 14 /* OpFmt.npopx */ },
|
|
268
|
+
{ name: 'call1', size: 1, n_pop: 1, n_push: 1, fmt: 14 /* OpFmt.npopx */ },
|
|
269
|
+
{ name: 'call2', size: 1, n_pop: 1, n_push: 1, fmt: 14 /* OpFmt.npopx */ },
|
|
270
|
+
{ name: 'call3', size: 1, n_pop: 1, n_push: 1, fmt: 14 /* OpFmt.npopx */ },
|
|
271
|
+
{ name: 'is_undefined', size: 1, n_pop: 1, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
272
|
+
{ name: 'is_null', size: 1, n_pop: 1, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
273
|
+
{ name: 'typeof_is_undefined', size: 1, n_pop: 1, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
274
|
+
{ name: 'typeof_is_function', size: 1, n_pop: 1, n_push: 1, fmt: 0 /* OpFmt.none */ },
|
|
275
|
+
];
|
|
276
|
+
/* opcode info for final bytecode (short opcodes, no temporary opcodes) */
|
|
277
|
+
export function short_opcode_info(op) {
|
|
278
|
+
return opcode_info[op >= OP_TEMP_START ? op + (OP_TEMP_END - OP_TEMP_START) : op];
|
|
279
|
+
}
|
|
280
|
+
/* flags operand of OP_define_method / OP_define_method_computed */
|
|
281
|
+
export const OP_DEFINE_METHOD_METHOD = 0;
|
|
282
|
+
export const OP_DEFINE_METHOD_GETTER = 1;
|
|
283
|
+
export const OP_DEFINE_METHOD_SETTER = 2;
|
|
284
|
+
export const OP_DEFINE_METHOD_ENUMERABLE = 4;
|
|
285
|
+
/* flags operand of OP_define_class */
|
|
286
|
+
export const JS_DEFINE_CLASS_HAS_HERITAGE = 1 << 0;
|
|
287
|
+
/* operand of OP_throw_error */
|
|
288
|
+
export const JS_THROW_VAR_RO = 0;
|
|
289
|
+
export const JS_THROW_VAR_REDECL = 1;
|
|
290
|
+
export const JS_THROW_VAR_UNINITIALIZED = 2;
|
|
291
|
+
export const JS_THROW_ERROR_DELETE_SUPER = 3;
|
|
292
|
+
export const JS_THROW_ERROR_ITERATOR_THROW = 4;
|
|
293
|
+
/* return values of JS_CallInternal for generators (JS_CALL_FLAG_GENERATOR) */
|
|
294
|
+
export const FUNC_RET_AWAIT = 0;
|
|
295
|
+
export const FUNC_RET_YIELD = 1;
|
|
296
|
+
export const FUNC_RET_YIELD_STAR = 2;
|
|
297
|
+
export const FUNC_RET_INITIAL_YIELD = 3;
|
|
298
|
+
/* flags operand of OP_define_var / OP_check_define_var */
|
|
299
|
+
export const DEFINE_GLOBAL_LEX_VAR = 1 << 7;
|
|
300
|
+
export const DEFINE_GLOBAL_FUNC_VAR = 1 << 6;
|
|
301
|
+
/* flags of OP_copy_data_properties: mask of stack positions */
|
|
302
|
+
export const OP_COPY_DATA_PROPERTIES_EXCLUDED_MASK = 0;
|
|
303
|
+
/* bytecode read helpers (little endian) */
|
|
304
|
+
export function get_u8(buf, pos) { return buf[pos]; }
|
|
305
|
+
export function get_i8(buf, pos) { return (buf[pos] << 24) >> 24; }
|
|
306
|
+
export function get_u16(buf, pos) { return buf[pos] | (buf[pos + 1] << 8); }
|
|
307
|
+
export function get_i16(buf, pos) { return ((buf[pos] | (buf[pos + 1] << 8)) << 16) >> 16; }
|
|
308
|
+
export function get_u32(buf, pos) {
|
|
309
|
+
return (buf[pos] | (buf[pos + 1] << 8) | (buf[pos + 2] << 16)) + buf[pos + 3] * 0x1000000;
|
|
310
|
+
}
|
|
311
|
+
export function get_i32(buf, pos) {
|
|
312
|
+
return buf[pos] | (buf[pos + 1] << 8) | (buf[pos + 2] << 16) | (buf[pos + 3] << 24);
|
|
313
|
+
}
|
|
314
|
+
export function put_u8(buf, pos, v) { buf[pos] = v & 0xff; }
|
|
315
|
+
export function put_u16(buf, pos, v) { buf[pos] = v & 0xff; buf[pos + 1] = (v >> 8) & 0xff; }
|
|
316
|
+
export function put_u32(buf, pos, v) {
|
|
317
|
+
buf[pos] = v & 0xff;
|
|
318
|
+
buf[pos + 1] = (v >>> 8) & 0xff;
|
|
319
|
+
buf[pos + 2] = (v >>> 16) & 0xff;
|
|
320
|
+
buf[pos + 3] = (v >>> 24) & 0xff;
|
|
321
|
+
}
|
|
322
|
+
//# sourceMappingURL=opcodes.js.map
|