Skip to content

Commit 543ce1a

Browse files
authored
Fix StaticArray id being zero in static memory segments (#1457)
1 parent 6254c67 commit 543ce1a

File tree

6 files changed

+63
-32
lines changed

6 files changed

+63
-32
lines changed

src/compiler.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1952,6 +1952,7 @@ export class Compiler extends DiagnosticEmitter {
19521952
var program = this.program;
19531953
var arrayBufferInstance = program.arrayBufferInstance;
19541954
var buf = arrayBufferInstance.createBuffer(values.length * elementType.byteSize);
1955+
writeI32(id, buf, 8); // use specified rtId
19551956
assert(this.writeStaticBuffer(buf, program.runtimeHeaderSize, elementType, values) == buf.length);
19561957
return this.addMemorySegment(buf);
19571958
}

tests/compiler/std/staticarray.optimized.wat

Lines changed: 27 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@
1414
(import "rtrace" "ondecrement" (func $~lib/rt/rtrace/ondecrement (param i32)))
1515
(import "rtrace" "onfree" (func $~lib/rt/rtrace/onfree (param i32)))
1616
(memory $0 1)
17-
(data (i32.const 1024) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03")
17+
(data (i32.const 1024) "\0c\00\00\00\01\00\00\00\03\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03")
1818
(data (i32.const 1056) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e")
1919
(data (i32.const 1120) "&\00\00\00\01\00\00\00\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s")
2020
(data (i32.const 1184) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00s\00t\00d\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s")
21-
(data (i32.const 1248) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03")
22-
(data (i32.const 1280) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\05\00\00\00\06\00\00\00\07")
21+
(data (i32.const 1248) "\0c\00\00\00\01\00\00\00\03\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03")
22+
(data (i32.const 1280) "\0c\00\00\00\01\00\00\00\03\00\00\00\0c\00\00\00\05\00\00\00\06\00\00\00\07")
2323
(data (i32.const 1312) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s")
2424
(data (i32.const 1360) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00a\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e")
2525
(data (i32.const 1424) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s")
@@ -1354,7 +1354,7 @@
13541354
if
13551355
i32.const 0
13561356
i32.const 1200
1357-
i32.const 3
1357+
i32.const 5
13581358
i32.const 1
13591359
call $~lib/builtins/abort
13601360
unreachable
@@ -1366,7 +1366,7 @@
13661366
if
13671367
i32.const 0
13681368
i32.const 1200
1369-
i32.const 4
1369+
i32.const 6
13701370
i32.const 1
13711371
call $~lib/builtins/abort
13721372
unreachable
@@ -1382,7 +1382,19 @@
13821382
if
13831383
i32.const 0
13841384
i32.const 1200
1385-
i32.const 6
1385+
i32.const 8
1386+
i32.const 1
1387+
call $~lib/builtins/abort
1388+
unreachable
1389+
end
1390+
i32.const 1032
1391+
i32.load
1392+
i32.const 3
1393+
i32.ne
1394+
if
1395+
i32.const 0
1396+
i32.const 1200
1397+
i32.const 9
13861398
i32.const 1
13871399
call $~lib/builtins/abort
13881400
unreachable
@@ -1395,7 +1407,7 @@
13951407
if
13961408
i32.const 0
13971409
i32.const 1200
1398-
i32.const 10
1410+
i32.const 13
13991411
i32.const 1
14001412
call $~lib/builtins/abort
14011413
unreachable
@@ -1407,7 +1419,7 @@
14071419
if
14081420
i32.const 0
14091421
i32.const 1200
1410-
i32.const 11
1422+
i32.const 14
14111423
i32.const 1
14121424
call $~lib/builtins/abort
14131425
unreachable
@@ -1423,7 +1435,7 @@
14231435
if
14241436
i32.const 0
14251437
i32.const 1200
1426-
i32.const 13
1438+
i32.const 16
14271439
i32.const 1
14281440
call $~lib/builtins/abort
14291441
unreachable
@@ -1438,7 +1450,7 @@
14381450
if
14391451
i32.const 0
14401452
i32.const 1200
1441-
i32.const 20
1453+
i32.const 23
14421454
i32.const 1
14431455
call $~lib/builtins/abort
14441456
unreachable
@@ -1451,7 +1463,7 @@
14511463
if
14521464
i32.const 0
14531465
i32.const 1200
1454-
i32.const 21
1466+
i32.const 24
14551467
i32.const 1
14561468
call $~lib/builtins/abort
14571469
unreachable
@@ -1464,7 +1476,7 @@
14641476
if
14651477
i32.const 0
14661478
i32.const 1200
1467-
i32.const 22
1479+
i32.const 25
14681480
i32.const 1
14691481
call $~lib/builtins/abort
14701482
unreachable
@@ -1476,7 +1488,7 @@
14761488
if
14771489
i32.const 0
14781490
i32.const 1200
1479-
i32.const 23
1491+
i32.const 26
14801492
i32.const 1
14811493
call $~lib/builtins/abort
14821494
unreachable
@@ -1492,7 +1504,7 @@
14921504
if
14931505
i32.const 0
14941506
i32.const 1200
1495-
i32.const 25
1507+
i32.const 28
14961508
i32.const 1
14971509
call $~lib/builtins/abort
14981510
unreachable
@@ -1509,7 +1521,7 @@
15091521
if
15101522
i32.const 0
15111523
i32.const 1200
1512-
i32.const 27
1524+
i32.const 30
15131525
i32.const 1
15141526
call $~lib/builtins/abort
15151527
unreachable

tests/compiler/std/staticarray.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
1+
import { BLOCK_OVERHEAD, BLOCK } from "rt/common";
2+
13
// from contextual type
24
const arr1: StaticArray<i32> = [1,2,3];
35
assert(arr1[1] == 2);
46
assert(arr1.length == 3);
57
arr1[1] = 4;
68
assert(arr1[1] == 4);
9+
assert(changetype<BLOCK>(changetype<usize>(arr1) - BLOCK_OVERHEAD).rtId == idof<StaticArray<i32>>());
710

811
// from assertion
912
const arr2 = [1,2,3] as StaticArray<i32>;

tests/compiler/std/staticarray.untouched.wat

Lines changed: 30 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@
1414
(import "rtrace" "ondecrement" (func $~lib/rt/rtrace/ondecrement (param i32)))
1515
(import "rtrace" "onfree" (func $~lib/rt/rtrace/onfree (param i32)))
1616
(memory $0 1)
17-
(data (i32.const 16) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00")
17+
(data (i32.const 16) "\0c\00\00\00\01\00\00\00\03\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00")
1818
(data (i32.const 48) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00")
1919
(data (i32.const 112) "&\00\00\00\01\00\00\00\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s\00")
2020
(data (i32.const 176) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00s\00t\00d\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s\00")
21-
(data (i32.const 240) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00")
22-
(data (i32.const 272) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00")
21+
(data (i32.const 240) "\0c\00\00\00\01\00\00\00\03\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00")
22+
(data (i32.const 272) "\0c\00\00\00\01\00\00\00\03\00\00\00\0c\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00")
2323
(data (i32.const 304) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00")
2424
(data (i32.const 352) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00a\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00")
2525
(data (i32.const 416) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00")
@@ -2908,7 +2908,7 @@
29082908
if
29092909
i32.const 0
29102910
i32.const 192
2911-
i32.const 3
2911+
i32.const 5
29122912
i32.const 1
29132913
call $~lib/builtins/abort
29142914
unreachable
@@ -2921,7 +2921,7 @@
29212921
if
29222922
i32.const 0
29232923
i32.const 192
2924-
i32.const 4
2924+
i32.const 6
29252925
i32.const 1
29262926
call $~lib/builtins/abort
29272927
unreachable
@@ -2939,7 +2939,22 @@
29392939
if
29402940
i32.const 0
29412941
i32.const 192
2942-
i32.const 6
2942+
i32.const 8
2943+
i32.const 1
2944+
call $~lib/builtins/abort
2945+
unreachable
2946+
end
2947+
global.get $std/staticarray/arr1
2948+
i32.const 16
2949+
i32.sub
2950+
i32.load offset=8
2951+
i32.const 3
2952+
i32.eq
2953+
i32.eqz
2954+
if
2955+
i32.const 0
2956+
i32.const 192
2957+
i32.const 9
29432958
i32.const 1
29442959
call $~lib/builtins/abort
29452960
unreachable
@@ -2953,7 +2968,7 @@
29532968
if
29542969
i32.const 0
29552970
i32.const 192
2956-
i32.const 10
2971+
i32.const 13
29572972
i32.const 1
29582973
call $~lib/builtins/abort
29592974
unreachable
@@ -2966,7 +2981,7 @@
29662981
if
29672982
i32.const 0
29682983
i32.const 192
2969-
i32.const 11
2984+
i32.const 14
29702985
i32.const 1
29712986
call $~lib/builtins/abort
29722987
unreachable
@@ -2984,7 +2999,7 @@
29842999
if
29853000
i32.const 0
29863001
i32.const 192
2987-
i32.const 13
3002+
i32.const 16
29883003
i32.const 1
29893004
call $~lib/builtins/abort
29903005
unreachable
@@ -3000,7 +3015,7 @@
30003015
if
30013016
i32.const 0
30023017
i32.const 192
3003-
i32.const 20
3018+
i32.const 23
30043019
i32.const 1
30053020
call $~lib/builtins/abort
30063021
unreachable
@@ -3014,7 +3029,7 @@
30143029
if
30153030
i32.const 0
30163031
i32.const 192
3017-
i32.const 21
3032+
i32.const 24
30183033
i32.const 1
30193034
call $~lib/builtins/abort
30203035
unreachable
@@ -3028,7 +3043,7 @@
30283043
if
30293044
i32.const 0
30303045
i32.const 192
3031-
i32.const 22
3046+
i32.const 25
30323047
i32.const 1
30333048
call $~lib/builtins/abort
30343049
unreachable
@@ -3041,7 +3056,7 @@
30413056
if
30423057
i32.const 0
30433058
i32.const 192
3044-
i32.const 23
3059+
i32.const 26
30453060
i32.const 1
30463061
call $~lib/builtins/abort
30473062
unreachable
@@ -3059,7 +3074,7 @@
30593074
if
30603075
i32.const 0
30613076
i32.const 192
3062-
i32.const 25
3077+
i32.const 28
30633078
i32.const 1
30643079
call $~lib/builtins/abort
30653080
unreachable
@@ -3079,7 +3094,7 @@
30793094
if
30803095
i32.const 0
30813096
i32.const 192
3082-
i32.const 27
3097+
i32.const 30
30833098
i32.const 1
30843099
call $~lib/builtins/abort
30853100
unreachable

tests/compiler/std/string-casemapping.optimized.wat

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
(data (i32.const 1040) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s")
2525
(data (i32.const 1088) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s")
2626
(data (i32.const 1136) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00a\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e")
27-
(data (i32.const 1200) "0\03\00\00\01\00\00\00\00\00\00\000\03\00\00\df\00S\00S\00\00\00I\01\bc\02N\00\00\00\f0\01J\00\0c\03\00\00\90\03\99\03\08\03\01\03\b0\03\a5\03\08\03\01\03\87\055\05R\05\00\00\96\1eH\001\03\00\00\97\1eT\00\08\03\00\00\98\1eW\00\n\03\00\00\99\1eY\00\n\03\00\00\9a\1eA\00\be\02\00\00P\1f\a5\03\13\03\00\00R\1f\a5\03\13\03\00\03T\1f\a5\03\13\03\01\03V\1f\a5\03\13\03B\03\80\1f\08\1f\99\03\00\00\81\1f\t\1f\99\03\00\00\82\1f\n\1f\99\03\00\00\83\1f\0b\1f\99\03\00\00\84\1f\0c\1f\99\03\00\00\85\1f\0d\1f\99\03\00\00\86\1f\0e\1f\99\03\00\00\87\1f\0f\1f\99\03\00\00\88\1f\08\1f\99\03\00\00\89\1f\t\1f\99\03\00\00\8a\1f\n\1f\99\03\00\00\8b\1f\0b\1f\99\03\00\00\8c\1f\0c\1f\99\03\00\00\8d\1f\0d\1f\99\03\00\00\8e\1f\0e\1f\99\03\00\00\8f\1f\0f\1f\99\03\00\00\90\1f(\1f\99\03\00\00\91\1f)\1f\99\03\00\00\92\1f*\1f\99\03\00\00\93\1f+\1f\99\03\00\00\94\1f,\1f\99\03\00\00\95\1f-\1f\99\03\00\00\96\1f.\1f\99\03\00\00\97\1f/\1f\99\03\00\00\98\1f(\1f\99\03\00\00\99\1f)\1f\99\03\00\00\9a\1f*\1f\99\03\00\00\9b\1f+\1f\99\03\00\00\9c\1f,\1f\99\03\00\00\9d\1f-\1f\99\03\00\00\9e\1f.\1f\99\03\00\00\9f\1f/\1f\99\03\00\00\a0\1fh\1f\99\03\00\00\a1\1fi\1f\99\03\00\00\a2\1fj\1f\99\03\00\00\a3\1fk\1f\99\03\00\00\a4\1fl\1f\99\03\00\00\a5\1fm\1f\99\03\00\00\a6\1fn\1f\99\03\00\00\a7\1fo\1f\99\03\00\00\a8\1fh\1f\99\03\00\00\a9\1fi\1f\99\03\00\00\aa\1fj\1f\99\03\00\00\ab\1fk\1f\99\03\00\00\ac\1fl\1f\99\03\00\00\ad\1fm\1f\99\03\00\00\ae\1fn\1f\99\03\00\00\af\1fo\1f\99\03\00\00\b2\1f\ba\1f\99\03\00\00\b3\1f\91\03\99\03\00\00\b4\1f\86\03\99\03\00\00\b6\1f\91\03B\03\00\00\b7\1f\91\03B\03\99\03\bc\1f\91\03\99\03\00\00\c2\1f\ca\1f\99\03\00\00\c3\1f\97\03\99\03\00\00\c4\1f\89\03\99\03\00\00\c6\1f\97\03B\03\00\00\c7\1f\97\03B\03\99\03\cc\1f\97\03\99\03\00\00\d2\1f\99\03\08\03\00\03\d3\1f\99\03\08\03\01\03\d6\1f\99\03B\03\00\00\d7\1f\99\03\08\03B\03\e2\1f\a5\03\08\03\00\03\e3\1f\a5\03\08\03\01\03\e4\1f\a1\03\13\03\00\00\e6\1f\a5\03B\03\00\00\e7\1f\a5\03\08\03B\03\f2\1f\fa\1f\99\03\00\00\f3\1f\a9\03\99\03\00\00\f4\1f\8f\03\99\03\00\00\f6\1f\a9\03B\03\00\00\f7\1f\a9\03B\03\99\03\fc\1f\a9\03\99\03\00\00\00\fbF\00F\00\00\00\01\fbF\00I\00\00\00\02\fbF\00L\00\00\00\03\fbF\00F\00I\00\04\fbF\00F\00L\00\05\fbS\00T\00\00\00\06\fbS\00T\00\00\00\13\fbD\05F\05\00\00\14\fbD\055\05\00\00\15\fbD\05;\05\00\00\16\fbN\05F\05\00\00\17\fbD\05=\05")
27+
(data (i32.const 1200) "0\03\00\00\01\00\00\00\03\00\00\000\03\00\00\df\00S\00S\00\00\00I\01\bc\02N\00\00\00\f0\01J\00\0c\03\00\00\90\03\99\03\08\03\01\03\b0\03\a5\03\08\03\01\03\87\055\05R\05\00\00\96\1eH\001\03\00\00\97\1eT\00\08\03\00\00\98\1eW\00\n\03\00\00\99\1eY\00\n\03\00\00\9a\1eA\00\be\02\00\00P\1f\a5\03\13\03\00\00R\1f\a5\03\13\03\00\03T\1f\a5\03\13\03\01\03V\1f\a5\03\13\03B\03\80\1f\08\1f\99\03\00\00\81\1f\t\1f\99\03\00\00\82\1f\n\1f\99\03\00\00\83\1f\0b\1f\99\03\00\00\84\1f\0c\1f\99\03\00\00\85\1f\0d\1f\99\03\00\00\86\1f\0e\1f\99\03\00\00\87\1f\0f\1f\99\03\00\00\88\1f\08\1f\99\03\00\00\89\1f\t\1f\99\03\00\00\8a\1f\n\1f\99\03\00\00\8b\1f\0b\1f\99\03\00\00\8c\1f\0c\1f\99\03\00\00\8d\1f\0d\1f\99\03\00\00\8e\1f\0e\1f\99\03\00\00\8f\1f\0f\1f\99\03\00\00\90\1f(\1f\99\03\00\00\91\1f)\1f\99\03\00\00\92\1f*\1f\99\03\00\00\93\1f+\1f\99\03\00\00\94\1f,\1f\99\03\00\00\95\1f-\1f\99\03\00\00\96\1f.\1f\99\03\00\00\97\1f/\1f\99\03\00\00\98\1f(\1f\99\03\00\00\99\1f)\1f\99\03\00\00\9a\1f*\1f\99\03\00\00\9b\1f+\1f\99\03\00\00\9c\1f,\1f\99\03\00\00\9d\1f-\1f\99\03\00\00\9e\1f.\1f\99\03\00\00\9f\1f/\1f\99\03\00\00\a0\1fh\1f\99\03\00\00\a1\1fi\1f\99\03\00\00\a2\1fj\1f\99\03\00\00\a3\1fk\1f\99\03\00\00\a4\1fl\1f\99\03\00\00\a5\1fm\1f\99\03\00\00\a6\1fn\1f\99\03\00\00\a7\1fo\1f\99\03\00\00\a8\1fh\1f\99\03\00\00\a9\1fi\1f\99\03\00\00\aa\1fj\1f\99\03\00\00\ab\1fk\1f\99\03\00\00\ac\1fl\1f\99\03\00\00\ad\1fm\1f\99\03\00\00\ae\1fn\1f\99\03\00\00\af\1fo\1f\99\03\00\00\b2\1f\ba\1f\99\03\00\00\b3\1f\91\03\99\03\00\00\b4\1f\86\03\99\03\00\00\b6\1f\91\03B\03\00\00\b7\1f\91\03B\03\99\03\bc\1f\91\03\99\03\00\00\c2\1f\ca\1f\99\03\00\00\c3\1f\97\03\99\03\00\00\c4\1f\89\03\99\03\00\00\c6\1f\97\03B\03\00\00\c7\1f\97\03B\03\99\03\cc\1f\97\03\99\03\00\00\d2\1f\99\03\08\03\00\03\d3\1f\99\03\08\03\01\03\d6\1f\99\03B\03\00\00\d7\1f\99\03\08\03B\03\e2\1f\a5\03\08\03\00\03\e3\1f\a5\03\08\03\01\03\e4\1f\a1\03\13\03\00\00\e6\1f\a5\03B\03\00\00\e7\1f\a5\03\08\03B\03\f2\1f\fa\1f\99\03\00\00\f3\1f\a9\03\99\03\00\00\f4\1f\8f\03\99\03\00\00\f6\1f\a9\03B\03\00\00\f7\1f\a9\03B\03\99\03\fc\1f\a9\03\99\03\00\00\00\fbF\00F\00\00\00\01\fbF\00I\00\00\00\02\fbF\00L\00\00\00\03\fbF\00F\00I\00\04\fbF\00F\00L\00\05\fbS\00T\00\00\00\06\fbS\00T\00\00\00\13\fbD\05F\05\00\00\14\fbD\055\05\00\00\15\fbD\05;\05\00\00\16\fbN\05F\05\00\00\17\fbD\05=\05")
2828
(data (i32.const 2032) "\07\08\t\n\0b\0c\06\06\06\06\06\06\06\06\06\06\0d\06\06\0e\06\06\06\06\06\06\06\06\0f\10\11\12\06\13\06\06\06\06\06\06\06\06\06\06\14\15\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\16\17\06\06\06\18\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\19\06\06\06\06\1a\06\06\06\06\06\06\06\1b\06\06\06\06\06\06\06\06\06\06\06\1c\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\1d\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\1e\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06")
2929
(data (i32.const 2655) "$++++++++\01\00TVVVVVVVV")
3030
(data (i32.const 2694) "\18\00\00\00+++++++\07++[VVVVVVVJVV\051P1P1P1P1P1P1P1P$Py1P1P18P1P1P1P1P1P1P1PN1\02N\0d\0dN\03N\00$n\00N1&nQN$PN9\14\81\1b\1d\1dS1P1P\0d1P1P1P\1bS$P1\02\\{\\{\\{\\{\\{\14y\\{\\{\\-+I\03H\03x\\{\14\00\96\n\01+(\06\06\00*\06**+\07\bb\b5+\1e\00+\07+++\01++++++++++++++++++++++++++++++++\01+++++++++++++++++++++++*+++++++++++++\cdF\cd+\00%+\07\01\06\01UVVVVVUVV\02$\81\81\81\81\81\15\81\81\81\00\00+\00\b2\d1\b2\d1\b2\d1\b2\d1\00\00\cd\cc\01\00\d7\d7\d7\d7\d7\83\81\81\81\81\81\81\81\81\81\81\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\1c\00\00\00\00\001P1P1P1P1P1\02\00\001P1P1P1P1P1P1P1P1PN1P1PN1P1P1P1P1P1P1P1\02\87\a6\87\a6\87\a6\87\a6\87\a6\87\a6\87\a6\87\a6*++++++++++++\00\00\00TVVVVVVVVVVVV")

0 commit comments

Comments
 (0)