porffor 0.16.0-688a50c13 โ†’ 0.16.0-7339fdd79

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/b.txt DELETED
@@ -1,457 +0,0 @@
1
- reading tests...
2
-
3
- funcs
4
-
5
 
6
-
7
-
8
-
9
- test/built-ins/String/fromCharCode/S9.7_A1.js: 1/1 passed - 100.00% (0 to go until 100.1%, 0 to go until 101%)
10
-  1 
11
- ๐Ÿงช 1 | ๐Ÿค  1 | โŒ 0 | ๐Ÿ’€ 0 | ๐Ÿ“ 0 | โฐ 0 | ๐Ÿ—๏ธ 0 | ๐Ÿ’ฅ 0
12
-
13
- took 0.3s to run (0.3s total)
14
- (f64, i32, f64, i32) -> (f64, i32) ;; $__assert__isSameValue (3)
15
- local f64 f64 i32 i32 i32 i32 i32 i32 i32
16
- block i32 ;; string_only ;; label @2
17
- local.get 0 ;; $a
18
- local.tee 4 ;; string_only ;; $__tmpop_left
19
- local.get 2 ;; $b
20
- local.tee 5 ;; string_only ;; $__tmpop_right
21
- local.get 1 ;; string_only|start ;; $a#type (i32)
22
- i32.const 2
23
- i32.eq
24
- local.get 3 ;; $b#type (i32)
25
- i32.const 2
26
- i32.eq
27
- i32.and
28
- if ;; label @3
29
- local.get 4 ;; $__tmpop_left
30
- i32.trunc_sat_f64_u
31
- local.tee 6 ;; $compare_left_pointer (i32)
32
- local.get 5 ;; $__tmpop_right
33
- i32.trunc_sat_f64_u
34
- local.tee 8 ;; $compare_right_pointer (i32)
35
- i32.ne
36
- if i32 ;; label @4
37
- local.get 6 ;; $compare_left_pointer (i32)
38
- i32.load 0 0
39
- local.tee 7 ;; $compare_left_length (i32)
40
- local.get 8 ;; $compare_right_pointer (i32)
41
- i32.load 0 0
42
- i32.ne
43
- if ;; label @5
44
- i32.const 0
45
- br 1 ;; goto @4
46
- end
47
- i32.const 0
48
- local.set 9 ;; $compare_index (i32)
49
- local.get 7 ;; $compare_left_length (i32)
50
- i32.const 2
51
- i32.mul
52
- local.set 10 ;; $compare_index_end (i32)
53
- loop ;; label @5
54
- local.get 9 ;; $compare_index (i32)
55
- local.get 6 ;; $compare_left_pointer (i32)
56
- i32.add
57
- i32.load16_u 0 4
58
- local.get 9 ;; $compare_index (i32)
59
- local.get 8 ;; $compare_right_pointer (i32)
60
- i32.add
61
- i32.load16_u 0 4
62
- i32.ne
63
- if ;; label @6
64
- i32.const 0
65
- br 2 ;; goto @4
66
- end
67
- local.get 9 ;; $compare_index (i32)
68
- i32.const 2
69
- i32.add
70
- local.tee 9 ;; $compare_index (i32)
71
- local.get 10 ;; $compare_index_end (i32)
72
- i32.lt_s
73
- br_if 0 ;; goto @5
74
- end
75
- i32.const 1
76
- else ;; label @4
77
- i32.const 1
78
- end
79
- br 1 ;; goto @2
80
- end
81
- local.get 1 ;; $a#type (i32)
82
- i32.const 18
83
- i32.eq
84
- local.get 3 ;; $b#type (i32)
85
- i32.const 18
86
- i32.eq
87
- i32.and
88
- if ;; label @3
89
- local.get 4 ;; $__tmpop_left
90
- i32.trunc_sat_f64_u
91
- local.tee 6 ;; $compare_left_pointer (i32)
92
- local.get 5 ;; $__tmpop_right
93
- i32.trunc_sat_f64_u
94
- local.tee 8 ;; $compare_right_pointer (i32)
95
- i32.ne
96
- if i32 ;; label @4
97
- local.get 6 ;; $compare_left_pointer (i32)
98
- i32.load 0 0
99
- local.tee 7 ;; $compare_left_length (i32)
100
- local.get 8 ;; $compare_right_pointer (i32)
101
- i32.load 0 0
102
- i32.ne
103
- if ;; label @5
104
- i32.const 0
105
- br 1 ;; goto @4
106
- end
107
- i32.const 0
108
- local.set 9 ;; $compare_index (i32)
109
- local.get 7 ;; $compare_left_length (i32)
110
- local.set 10 ;; $compare_index_end (i32)
111
- loop ;; label @5
112
- local.get 9 ;; $compare_index (i32)
113
- local.get 6 ;; $compare_left_pointer (i32)
114
- i32.add
115
- i32.load8_u 0 4
116
- local.get 9 ;; $compare_index (i32)
117
- local.get 8 ;; $compare_right_pointer (i32)
118
- i32.add
119
- i32.load8_u 0 4
120
- i32.ne
121
- if ;; label @6
122
- i32.const 0
123
- br 2 ;; goto @4
124
- end
125
- local.get 9 ;; $compare_index (i32)
126
- i32.const 1
127
- i32.add
128
- local.tee 9 ;; $compare_index (i32)
129
- local.get 10 ;; $compare_index_end (i32)
130
- i32.lt_s
131
- br_if 0 ;; goto @5
132
- end
133
- i32.const 1
134
- else ;; label @4
135
- i32.const 1
136
- end
137
- br 1 ;; goto @2
138
- end ;; string_only|end
139
- f64.eq
140
- end ;; string_only
141
- local.get 1 ;; $a#type (i32)
142
- local.get 3 ;; $b#type (i32)
143
- i32.eq
144
- i32.and
145
- i32.eqz
146
- i32.eqz
147
- if ;; label @2
148
- local.get 0 ;; $a
149
- f64.const 0
150
- f64.ne
151
- local.get 1 ;; $a#type (i32)
152
- i32.const 0
153
- i32.ne
154
- i32.or
155
- local.tee 11 ;; $logictmpi (i32)
156
- i32.eqz
157
- if i32 ;; label @3
158
- f64.const 1
159
- local.get 0 ;; $a
160
- f64.div
161
- f64.const 1
162
- local.get 2 ;; $b
163
- f64.div
164
- f64.eq
165
- i32.const 0
166
- i32.const 0
167
- i32.eq
168
- i32.and
169
- i32.const 1
170
- local.set 12 ;; $#last_type (i32)
171
- else ;; label @3
172
- local.get 11 ;; $logictmpi (i32)
173
- i32.const 1
174
- local.set 12 ;; $#last_type (i32)
175
- end
176
- f64.convert_i32_s
177
- local.get 12 ;; $#last_type (i32)
178
- return
179
- end
180
- block i32 ;; string_only ;; label @2
181
- local.get 0 ;; $a
182
- local.tee 4 ;; string_only ;; $__tmpop_left
183
- local.get 0 ;; $a
184
- local.tee 5 ;; string_only ;; $__tmpop_right
185
- local.get 1 ;; string_only|start ;; $a#type (i32)
186
- i32.const 2
187
- i32.eq
188
- local.get 1 ;; $a#type (i32)
189
- i32.const 2
190
- i32.eq
191
- i32.and
192
- if ;; label @3
193
- local.get 4 ;; $__tmpop_left
194
- i32.trunc_sat_f64_u
195
- local.tee 6 ;; $compare_left_pointer (i32)
196
- local.get 5 ;; $__tmpop_right
197
- i32.trunc_sat_f64_u
198
- local.tee 8 ;; $compare_right_pointer (i32)
199
- i32.ne
200
- if i32 ;; label @4
201
- local.get 6 ;; $compare_left_pointer (i32)
202
- i32.load 0 0
203
- local.tee 7 ;; $compare_left_length (i32)
204
- local.get 8 ;; $compare_right_pointer (i32)
205
- i32.load 0 0
206
- i32.ne
207
- if ;; label @5
208
- i32.const 0
209
- br 1 ;; goto @4
210
- end
211
- i32.const 0
212
- local.set 9 ;; $compare_index (i32)
213
- local.get 7 ;; $compare_left_length (i32)
214
- i32.const 2
215
- i32.mul
216
- local.set 10 ;; $compare_index_end (i32)
217
- loop ;; label @5
218
- local.get 9 ;; $compare_index (i32)
219
- local.get 6 ;; $compare_left_pointer (i32)
220
- i32.add
221
- i32.load16_u 0 4
222
- local.get 9 ;; $compare_index (i32)
223
- local.get 8 ;; $compare_right_pointer (i32)
224
- i32.add
225
- i32.load16_u 0 4
226
- i32.ne
227
- if ;; label @6
228
- i32.const 0
229
- br 2 ;; goto @4
230
- end
231
- local.get 9 ;; $compare_index (i32)
232
- i32.const 2
233
- i32.add
234
- local.tee 9 ;; $compare_index (i32)
235
- local.get 10 ;; $compare_index_end (i32)
236
- i32.lt_s
237
- br_if 0 ;; goto @5
238
- end
239
- i32.const 1
240
- else ;; label @4
241
- i32.const 1
242
- end
243
- i32.eqz
244
- br 1 ;; goto @2
245
- end
246
- local.get 1 ;; $a#type (i32)
247
- i32.const 18
248
- i32.eq
249
- local.get 1 ;; $a#type (i32)
250
- i32.const 18
251
- i32.eq
252
- i32.and
253
- if ;; label @3
254
- local.get 4 ;; $__tmpop_left
255
- i32.trunc_sat_f64_u
256
- local.tee 6 ;; $compare_left_pointer (i32)
257
- local.get 5 ;; $__tmpop_right
258
- i32.trunc_sat_f64_u
259
- local.tee 8 ;; $compare_right_pointer (i32)
260
- i32.ne
261
- if i32 ;; label @4
262
- local.get 6 ;; $compare_left_pointer (i32)
263
- i32.load 0 0
264
- local.tee 7 ;; $compare_left_length (i32)
265
- local.get 8 ;; $compare_right_pointer (i32)
266
- i32.load 0 0
267
- i32.ne
268
- if ;; label @5
269
- i32.const 0
270
- br 1 ;; goto @4
271
- end
272
- i32.const 0
273
- local.set 9 ;; $compare_index (i32)
274
- local.get 7 ;; $compare_left_length (i32)
275
- local.set 10 ;; $compare_index_end (i32)
276
- loop ;; label @5
277
- local.get 9 ;; $compare_index (i32)
278
- local.get 6 ;; $compare_left_pointer (i32)
279
- i32.add
280
- i32.load8_u 0 4
281
- local.get 9 ;; $compare_index (i32)
282
- local.get 8 ;; $compare_right_pointer (i32)
283
- i32.add
284
- i32.load8_u 0 4
285
- i32.ne
286
- if ;; label @6
287
- i32.const 0
288
- br 2 ;; goto @4
289
- end
290
- local.get 9 ;; $compare_index (i32)
291
- i32.const 1
292
- i32.add
293
- local.tee 9 ;; $compare_index (i32)
294
- local.get 10 ;; $compare_index_end (i32)
295
- i32.lt_s
296
- br_if 0 ;; goto @5
297
- end
298
- i32.const 1
299
- else ;; label @4
300
- i32.const 1
301
- end
302
- i32.eqz
303
- br 1 ;; goto @2
304
- end ;; string_only|end
305
- f64.ne
306
- end ;; string_only
307
- local.get 1 ;; $a#type (i32)
308
- local.get 1 ;; $a#type (i32)
309
- i32.ne
310
- i32.or
311
- local.tee 11 ;; $logictmpi (i32)
312
- i32.eqz
313
- i32.eqz
314
- if i32 ;; label @2
315
- block i32 ;; string_only ;; label @3
316
- local.get 2 ;; $b
317
- local.tee 4 ;; string_only ;; $__tmpop_left
318
- local.get 2 ;; $b
319
- local.tee 5 ;; string_only ;; $__tmpop_right
320
- local.get 3 ;; string_only|start ;; $b#type (i32)
321
- i32.const 2
322
- i32.eq
323
- local.get 3 ;; $b#type (i32)
324
- i32.const 2
325
- i32.eq
326
- i32.and
327
- if ;; label @4
328
- local.get 4 ;; $__tmpop_left
329
- i32.trunc_sat_f64_u
330
- local.tee 6 ;; $compare_left_pointer (i32)
331
- local.get 5 ;; $__tmpop_right
332
- i32.trunc_sat_f64_u
333
- local.tee 8 ;; $compare_right_pointer (i32)
334
- i32.ne
335
- if i32 ;; label @5
336
- local.get 6 ;; $compare_left_pointer (i32)
337
- i32.load 0 0
338
- local.tee 7 ;; $compare_left_length (i32)
339
- local.get 8 ;; $compare_right_pointer (i32)
340
- i32.load 0 0
341
- i32.ne
342
- if ;; label @6
343
- i32.const 0
344
- br 1 ;; goto @5
345
- end
346
- i32.const 0
347
- local.set 9 ;; $compare_index (i32)
348
- local.get 7 ;; $compare_left_length (i32)
349
- i32.const 2
350
- i32.mul
351
- local.set 10 ;; $compare_index_end (i32)
352
- loop ;; label @6
353
- local.get 9 ;; $compare_index (i32)
354
- local.get 6 ;; $compare_left_pointer (i32)
355
- i32.add
356
- i32.load16_u 0 4
357
- local.get 9 ;; $compare_index (i32)
358
- local.get 8 ;; $compare_right_pointer (i32)
359
- i32.add
360
- i32.load16_u 0 4
361
- i32.ne
362
- if ;; label @7
363
- i32.const 0
364
- br 2 ;; goto @5
365
- end
366
- local.get 9 ;; $compare_index (i32)
367
- i32.const 2
368
- i32.add
369
- local.tee 9 ;; $compare_index (i32)
370
- local.get 10 ;; $compare_index_end (i32)
371
- i32.lt_s
372
- br_if 0 ;; goto @6
373
- end
374
- i32.const 1
375
- else ;; label @5
376
- i32.const 1
377
- end
378
- i32.eqz
379
- br 1 ;; goto @3
380
- end
381
- local.get 3 ;; $b#type (i32)
382
- i32.const 18
383
- i32.eq
384
- local.get 3 ;; $b#type (i32)
385
- i32.const 18
386
- i32.eq
387
- i32.and
388
- if ;; label @4
389
- local.get 4 ;; $__tmpop_left
390
- i32.trunc_sat_f64_u
391
- local.tee 6 ;; $compare_left_pointer (i32)
392
- local.get 5 ;; $__tmpop_right
393
- i32.trunc_sat_f64_u
394
- local.tee 8 ;; $compare_right_pointer (i32)
395
- i32.ne
396
- if i32 ;; label @5
397
- local.get 6 ;; $compare_left_pointer (i32)
398
- i32.load 0 0
399
- local.tee 7 ;; $compare_left_length (i32)
400
- local.get 8 ;; $compare_right_pointer (i32)
401
- i32.load 0 0
402
- i32.ne
403
- if ;; label @6
404
- i32.const 0
405
- br 1 ;; goto @5
406
- end
407
- i32.const 0
408
- local.set 9 ;; $compare_index (i32)
409
- local.get 7 ;; $compare_left_length (i32)
410
- local.set 10 ;; $compare_index_end (i32)
411
- loop ;; label @6
412
- local.get 9 ;; $compare_index (i32)
413
- local.get 6 ;; $compare_left_pointer (i32)
414
- i32.add
415
- i32.load8_u 0 4
416
- local.get 9 ;; $compare_index (i32)
417
- local.get 8 ;; $compare_right_pointer (i32)
418
- i32.add
419
- i32.load8_u 0 4
420
- i32.ne
421
- if ;; label @7
422
- i32.const 0
423
- br 2 ;; goto @5
424
- end
425
- local.get 9 ;; $compare_index (i32)
426
- i32.const 1
427
- i32.add
428
- local.tee 9 ;; $compare_index (i32)
429
- local.get 10 ;; $compare_index_end (i32)
430
- i32.lt_s
431
- br_if 0 ;; goto @6
432
- end
433
- i32.const 1
434
- else ;; label @5
435
- i32.const 1
436
- end
437
- i32.eqz
438
- br 1 ;; goto @3
439
- end ;; string_only|end
440
- f64.ne
441
- end ;; string_only
442
- local.get 3 ;; $b#type (i32)
443
- local.get 3 ;; $b#type (i32)
444
- i32.ne
445
- i32.or
446
- i32.const 1
447
- local.set 12 ;; $#last_type (i32)
448
- else ;; label @2
449
- local.get 11 ;; $logictmpi (i32)
450
- i32.const 1
451
- local.set 12 ;; $#last_type (i32)
452
- end
453
- f64.convert_i32_s
454
- local.get 12 ;; $#last_type (i32)
455
- return
456
- end
457
-
458
-
@@ -1,26 +0,0 @@
1
- import { Opcodes, Valtype } from '../wasmSpec.js';
2
- import { number } from '../embedding.js';
3
- import Prefs from '../prefs.js';
4
-
5
- export default class GrowAllocator {
6
- constructor() {
7
- Prefs.rmUnusedTypes = false;
8
- Prefs.data = false;
9
- }
10
-
11
- alloc() {
12
- return [
13
- // get current page count
14
- [ Opcodes.memory_size, 0 ],
15
-
16
- // grow by 1 page
17
- [ Opcodes.i32_const, 1 ],
18
- [ Opcodes.memory_grow, 0 ],
19
- [ Opcodes.drop ],
20
-
21
- // get ptr (page count * page size)
22
- number(65536, Valtype.i32)[0],
23
- [ Opcodes.i32_mul ]
24
- ];
25
- }
26
- }
@@ -1,10 +0,0 @@
1
- import StaticAllocator from './static.js';
2
- import GrowAllocator from './grow.js';
3
-
4
- export default name => {
5
- switch (name) {
6
- case 'static': return new StaticAllocator();
7
- case 'grow': return new GrowAllocator();
8
- default: throw new Error(`unknown allocator: ${name}`);
9
- }
10
- };
@@ -1,42 +0,0 @@
1
- import { Valtype } from '../wasmSpec.js';
2
- import { number } from '../embedding.js';
3
- import Prefs from '../prefs.js';
4
-
5
- const allocType = itemType => {
6
- switch (itemType) {
7
- case 'i8': return 'bytestring';
8
- case 'i16': return 'string';
9
-
10
- default: return 'array';
11
- }
12
- };
13
-
14
- const ptr = ind => {
15
- if (ind === 0) return 1;
16
- return ind * pageSize;
17
- };
18
-
19
-
20
- export default class StaticAllocator {
21
- constructor() {
22
- }
23
-
24
- alloc({ scope, pages }, name, { itemType }) {
25
- const reason = `${allocType(itemType)}: ${Prefs.scopedPageNames ? (scope.name + '/') : ''}${name}`;
26
-
27
- if (pages.has(reason)) return number(ptr(pages.get(reason).ind), Valtype.i32);
28
-
29
- if (reason.startsWith('array:')) pages.hasArray = true;
30
- if (reason.startsWith('string:')) pages.hasString = true;
31
- if (reason.startsWith('bytestring:')) pages.hasByteString = true;
32
- if (reason.includes('string:')) pages.hasAnyString = true;
33
-
34
- let ind = pages.size;
35
- pages.set(reason, { ind, type: itemType });
36
-
37
- scope.pages ??= new Map();
38
- scope.pages.set(reason, { ind, type: itemType });
39
-
40
- return number(ptr(ind), Valtype.i32);
41
- }
42
- }