Created
October 11, 2019 18:06
-
-
Save vird/a467005edc2f54204785f76e4e2f23a8 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| (module | |
| (type $FUNCSIG$iii (func (param i32 i32) (result i32))) | |
| (type $FUNCSIG$v (func)) | |
| (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) | |
| (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) | |
| (type $FUNCSIG$vii (func (param i32 i32))) | |
| (type $FUNCSIG$ii (func (param i32) (result i32))) | |
| (type $FUNCSIG$vi (func (param i32))) | |
| (type $FUNCSIG$viii (func (param i32 i32 i32))) | |
| (type $FUNCSIG$i (func (result i32))) | |
| (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32))) | |
| (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) | |
| (memory $0 1) | |
| (data (i32.const 8) "\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") | |
| (data (i32.const 56) "(\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") | |
| (data (i32.const 112) "\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") | |
| (data (i32.const 160) "$\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") | |
| (data (i32.const 216) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00") | |
| (data (i32.const 256) "\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") | |
| (data (i32.const 272) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") | |
| (data (i32.const 320) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") | |
| (data (i32.const 368) "^\00\00\00\01\00\00\00\01\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00") | |
| (data (i32.const 480) "\06\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\93 \00\00\02\00\00\00\93\04\00\00\02\00\00\00") | |
| (table $0 1 funcref) | |
| (elem (i32.const 0) $null) | |
| (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) | |
| (global $~lib/rt/tlsf/collectLock (mut i32) (i32.const 0)) | |
| (global $~lib/gc/gc.auto (mut i32) (i32.const 1)) | |
| (global $~lib/rt/pure/ROOTS (mut i32) (i32.const 0)) | |
| (global $~lib/rt/pure/CUR (mut i32) (i32.const 0)) | |
| (global $~lib/rt/pure/END (mut i32) (i32.const 0)) | |
| (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) | |
| (global $~lib/rt/__rtti_base i32 (i32.const 480)) | |
| (global $~lib/heap/__heap_base i32 (i32.const 532)) | |
| (global $index/Struct i32 (i32.const 3)) | |
| (export "__start" (func $start)) | |
| (export "memory" (memory $0)) | |
| (export "__alloc" (func $~lib/rt/tlsf/__alloc)) | |
| (export "__retain" (func $~lib/rt/pure/__retain)) | |
| (export "__release" (func $~lib/rt/pure/__release)) | |
| (export "__collect" (func $~lib/rt/pure/__collect)) | |
| (export "__rtti_base" (global $~lib/rt/__rtti_base)) | |
| (export "Struct" (global $index/Struct)) | |
| (export "Struct#get:a" (func $Struct#get:a)) | |
| (export "Struct#set:a" (func $Struct#set:a)) | |
| (export "main" (func $index/main)) | |
| (func $~lib/rt/tlsf/removeBlock (; 1 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) | |
| (local $2 i32) | |
| (local $3 i32) | |
| (local $4 i32) | |
| (local $5 i32) | |
| (local $6 i32) | |
| (local $7 i32) | |
| (local $8 i32) | |
| (local $9 i32) | |
| (local $10 i32) | |
| (local $11 i32) | |
| local.get $1 | |
| i32.load | |
| local.set $2 | |
| local.get $2 | |
| i32.const 1 | |
| i32.and | |
| i32.eqz | |
| if | |
| i32.const 0 | |
| i32.const 24 | |
| i32.const 277 | |
| i32.const 13 | |
| call $~lib/builtins/abort | |
| unreachable | |
| end | |
| local.get $2 | |
| i32.const 3 | |
| i32.const -1 | |
| i32.xor | |
| i32.and | |
| local.set $3 | |
| local.get $3 | |
| i32.const 16 | |
| i32.ge_u | |
| if (result i32) | |
| local.get $3 | |
| i32.const 1073741808 | |
| i32.lt_u | |
| else | |
| i32.const 0 | |
| end | |
| i32.eqz | |
| if | |
| i32.const 0 | |
| i32.const 24 | |
| i32.const 279 | |
| i32.const 13 | |
| call $~lib/builtins/abort | |
| unreachable | |
| end | |
| local.get $3 | |
| i32.const 256 | |
| i32.lt_u | |
| if | |
| i32.const 0 | |
| local.set $4 | |
| local.get $3 | |
| i32.const 4 | |
| i32.shr_u | |
| local.set $5 | |
| else | |
| i32.const 31 | |
| local.get $3 | |
| i32.clz | |
| i32.sub | |
| local.set $4 | |
| local.get $3 | |
| local.get $4 | |
| i32.const 4 | |
| i32.sub | |
| i32.shr_u | |
| i32.const 1 | |
| i32.const 4 | |
| i32.shl | |
| i32.xor | |
| local.set $5 | |
| local.get $4 | |
| i32.const 8 | |
| i32.const 1 | |
| i32.sub | |
| i32.sub | |
| local.set $4 | |
| end | |
| local.get $4 | |
| i32.const 23 | |
| i32.lt_u | |
| if (result i32) | |
| local.get $5 | |
| i32.const 16 | |
| i32.lt_u | |
| else | |
| i32.const 0 | |
| end | |
| i32.eqz | |
| if | |
| i32.const 0 | |
| i32.const 24 | |
| i32.const 292 | |
| i32.const 13 | |
| call $~lib/builtins/abort | |
| unreachable | |
| end | |
| local.get $1 | |
| i32.load offset=16 | |
| local.set $6 | |
| local.get $1 | |
| i32.load offset=20 | |
| local.set $7 | |
| local.get $6 | |
| if | |
| local.get $6 | |
| local.get $7 | |
| i32.store offset=20 | |
| end | |
| local.get $7 | |
| if | |
| local.get $7 | |
| local.get $6 | |
| i32.store offset=16 | |
| end | |
| local.get $1 | |
| local.get $0 | |
| local.set $10 | |
| local.get $4 | |
| local.set $9 | |
| local.get $5 | |
| local.set $8 | |
| local.get $10 | |
| local.get $9 | |
| i32.const 4 | |
| i32.shl | |
| local.get $8 | |
| i32.add | |
| i32.const 2 | |
| i32.shl | |
| i32.add | |
| i32.load offset=96 | |
| i32.eq | |
| if | |
| local.get $0 | |
| local.set $11 | |
| local.get $4 | |
| local.set $10 | |
| local.get $5 | |
| local.set $9 | |
| local.get $7 | |
| local.set $8 | |
| local.get $11 | |
| local.get $10 | |
| i32.const 4 | |
| i32.shl | |
| local.get $9 | |
| i32.add | |
| i32.const 2 | |
| i32.shl | |
| i32.add | |
| local.get $8 | |
| i32.store offset=96 | |
| local.get $7 | |
| i32.eqz | |
| if | |
| local.get $0 | |
| local.set $9 | |
| local.get $4 | |
| local.set $8 | |
| local.get $9 | |
| local.get $8 | |
| i32.const 2 | |
| i32.shl | |
| i32.add | |
| i32.load offset=4 | |
| local.set $9 | |
| local.get $0 | |
| local.set $8 | |
| local.get $4 | |
| local.set $11 | |
| local.get $9 | |
| i32.const 1 | |
| local.get $5 | |
| i32.shl | |
| i32.const -1 | |
| i32.xor | |
| i32.and | |
| local.tee $9 | |
| local.set $10 | |
| local.get $8 | |
| local.get $11 | |
| i32.const 2 | |
| i32.shl | |
| i32.add | |
| local.get $10 | |
| i32.store offset=4 | |
| local.get $9 | |
| i32.eqz | |
| if | |
| local.get $0 | |
| local.get $0 | |
| i32.load | |
| i32.const 1 | |
| local.get $4 | |
| i32.shl | |
| i32.const -1 | |
| i32.xor | |
| i32.and | |
| i32.store | |
| end | |
| end | |
| end | |
| ) | |
| (func $~lib/rt/tlsf/insertBlock (; 2 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) | |
| (local $2 i32) | |
| (local $3 i32) | |
| (local $4 i32) | |
| (local $5 i32) | |
| (local $6 i32) | |
| (local $7 i32) | |
| (local $8 i32) | |
| (local $9 i32) | |
| (local $10 i32) | |
| (local $11 i32) | |
| (local $12 i32) | |
| (local $13 i32) | |
| local.get $1 | |
| i32.eqz | |
| if | |
| i32.const 0 | |
| i32.const 24 | |
| i32.const 205 | |
| i32.const 13 | |
| call $~lib/builtins/abort | |
| unreachable | |
| end | |
| local.get $1 | |
| i32.load | |
| local.set $2 | |
| local.get $2 | |
| i32.const 1 | |
| i32.and | |
| i32.eqz | |
| if | |
| i32.const 0 | |
| i32.const 24 | |
| i32.const 207 | |
| i32.const 13 | |
| call $~lib/builtins/abort | |
| unreachable | |
| end | |
| local.get $1 | |
| local.set $3 | |
| local.get $3 | |
| i32.const 16 | |
| i32.add | |
| local.get $3 | |
| i32.load | |
| i32.const 3 | |
| i32.const -1 | |
| i32.xor | |
| i32.and | |
| i32.add | |
| local.set $4 | |
| local.get $4 | |
| i32.load | |
| local.set $5 | |
| local.get $5 | |
| i32.const 1 | |
| i32.and | |
| if | |
| local.get $2 | |
| i32.const 3 | |
| i32.const -1 | |
| i32.xor | |
| i32.and | |
| i32.const 16 | |
| i32.add | |
| local.get $5 | |
| i32.const 3 | |
| i32.const -1 | |
| i32.xor | |
| i32.and | |
| i32.add | |
| local.set $3 | |
| local.get $3 | |
| i32.const 1073741808 | |
| i32.lt_u | |
| if | |
| local.get $0 | |
| local.get $4 | |
| call $~lib/rt/tlsf/removeBlock | |
| local.get $1 | |
| local.get $2 | |
| i32.const 3 | |
| i32.and | |
| local.get $3 | |
| i32.or | |
| local.tee $2 | |
| i32.store | |
| local.get $1 | |
| local.set $6 | |
| local.get $6 | |
| i32.const 16 | |
| i32.add | |
| local.get $6 | |
| i32.load | |
| i32.const 3 | |
| i32.const -1 | |
| i32.xor | |
| i32.and | |
| i32.add | |
| local.set $4 | |
| local.get $4 | |
| i32.load | |
| local.set $5 | |
| end | |
| end | |
| local.get $2 | |
| i32.const 2 | |
| i32.and | |
| if | |
| local.get $1 | |
| local.set $6 | |
| local.get $6 | |
| i32.const 4 | |
| i32.sub | |
| i32.load | |
| local.set $6 | |
| local.get $6 | |
| i32.load | |
| local.set $3 | |
| local.get $3 | |
| i32.const 1 | |
| i32.and | |
| i32.eqz | |
| if | |
| i32.const 0 | |
| i32.const 24 | |
| i32.const 228 | |
| i32.const 15 | |
| call $~lib/builtins/abort | |
| unreachable | |
| end | |
| local.get $3 | |
| i32.const 3 | |
| i32.const -1 | |
| i32.xor | |
| i32.and | |
| i32.const 16 | |
| i32.add | |
| local.get $2 | |
| i32.const 3 | |
| i32.const -1 | |
| i32.xor | |
| i32.and | |
| i32.add | |
| local.set $7 | |
| local.get $7 | |
| i32.const 1073741808 | |
| i32.lt_u | |
| if | |
| local.get $0 | |
| local.get $6 | |
| call $~lib/rt/tlsf/removeBlock | |
| local.get $6 | |
| local.get $3 | |
| i32.const 3 | |
| i32.and | |
| local.get $7 | |
| i32.or | |
| local.tee $2 | |
| i32.store | |
| local.get $6 | |
| local.set $1 | |
| end | |
| end | |
| local.get $4 | |
| local.get $5 | |
| i32.const 2 | |
| i32.or | |
| i32.store | |
| local.get $2 | |
| i32.const 3 | |
| i32.const -1 | |
| i32.xor | |
| i32.and | |
| local.set $8 | |
| local.get $8 | |
| i32.const 16 | |
| i32.ge_u | |
| if (result i32) | |
| local.get $8 | |
| i32.const 1073741808 | |
| i32.lt_u | |
| else | |
| i32.const 0 | |
| end | |
| i32.eqz | |
| if | |
| i32.const 0 | |
| i32.const 24 | |
| i32.const 243 | |
| i32.const 13 | |
| call $~lib/builtins/abort | |
| unreachable | |
| end | |
| local.get $1 | |
| i32.const 16 | |
| i32.add | |
| local.get $8 | |
| i32.add | |
| local.get $4 | |
| i32.eq | |
| i32.eqz | |
| if | |
| i32.const 0 | |
| i32.const 24 | |
| i32.const 244 | |
| i32.const 13 | |
| call $~lib/builtins/abort | |
| unreachable | |
| end | |
| local.get $4 | |
| i32.const 4 | |
| i32.sub | |
| local.get $1 | |
| i32.store | |
| local.get $8 | |
| i32.const 256 | |
| i32.lt_u | |
| if | |
| i32.const 0 | |
| local.set $9 | |
| local.get $8 | |
| i32.const 4 | |
| i32.shr_u | |
| local.set $10 | |
| else | |
| i32.const 31 | |
| local.get $8 | |
| i32.clz | |
| i32.sub | |
| local.set $9 | |
| local.get $8 | |
| local.get $9 | |
| i32.const 4 | |
| i32.sub | |
| i32.shr_u | |
| i32.const 1 | |
| i32.const 4 | |
| i32.shl | |
| i32.xor | |
| local.set $10 | |
| local.get $9 | |
| i32.const 8 | |
| i32.const 1 | |
| i32.sub | |
| i32.sub | |
| local.set $9 | |
| end | |
| local.get $9 | |
| i32.const 23 | |
| i32.lt_u | |
| if (result i32) | |
| local.get $10 | |
| i32.const 16 | |
| i32.lt_u | |
| else | |
| i32.const 0 | |
| end | |
| i32.eqz | |
| if | |
| i32.const 0 | |
| i32.const 24 | |
| i32.const 260 | |
| i32.const 13 | |
| call $~lib/builtins/abort | |
| unreachable | |
| end | |
| local.get $0 | |
| local.set $7 | |
| local.get $9 | |
| local.set $3 | |
| local.get $10 | |
| local.set $6 | |
| local.get $7 | |
| local.get $3 | |
| i32.const 4 | |
| i32.shl | |
| local.get $6 | |
| i32.add | |
| i32.const 2 | |
| i32.shl | |
| i32.add | |
| i32.load offset=96 | |
| local.set $11 | |
| local.get $1 | |
| i32.const 0 | |
| i32.store offset=16 | |
| local.get $1 | |
| local.get $11 | |
| i32.store offset=20 | |
| local.get $11 | |
| if | |
| local.get $11 | |
| local.get $1 | |
| i32.store offset=16 | |
| end | |
| local.get $0 | |
| local.set $12 | |
| local.get $9 | |
| local.set $7 | |
| local.get $10 | |
| local.set $3 | |
| local.get $1 | |
| local.set $6 | |
| local.get $12 | |
| local.get $7 | |
| i32.const 4 | |
| i32.shl | |
| local.get $3 | |
| i32.add | |
| i32.const 2 | |
| i32.shl | |
| i32.add | |
| local.get $6 | |
| i32.store offset=96 | |
| local.get $0 | |
| local.get $0 | |
| i32.load | |
| i32.const 1 | |
| local.get $9 | |
| i32.shl | |
| i32.or | |
| i32.store | |
| local.get $0 | |
| local.set $13 | |
| local.get $9 | |
| local.set $12 | |
| local.get $0 | |
| local.set $3 | |
| local.get $9 | |
| local.set $6 | |
| local.get $3 | |
| local.get $6 | |
| i32.const 2 | |
| i32.shl | |
| i32.add | |
| i32.load offset=4 | |
| i32.const 1 | |
| local.get $10 | |
| i32.shl | |
| i32.or | |
| local.set $7 | |
| local.get $13 | |
| local.get $12 | |
| i32.const 2 | |
| i32.shl | |
| i32.add | |
| local.get $7 | |
| i32.store offset=4 | |
| ) | |
| (func $~lib/rt/tlsf/addMemory (; 3 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) | |
| (local $3 i32) | |
| (local $4 i32) | |
| (local $5 i32) | |
| (local $6 i32) | |
| (local $7 i32) | |
| (local $8 i32) | |
| (local $9 i32) | |
| local.get $1 | |
| local.get $2 | |
| i32.le_u | |
| if (result i32) | |
| local.get $1 | |
| i32.const 15 | |
| i32.and | |
| i32.eqz | |
| else | |
| i32.const 0 | |
| end | |
| if (result i32) | |
| local.get $2 | |
| i32.const 15 | |
| i32.and | |
| i32.eqz | |
| else | |
| i32.const 0 | |
| end | |
| i32.eqz | |
| if | |
| i32.const 0 | |
| i32.const 24 | |
| i32.const 386 | |
| i32.const 4 | |
| call $~lib/builtins/abort | |
| unreachable | |
| end | |
| local.get $0 | |
| local.set $3 | |
| local.get $3 | |
| i32.load offset=1568 | |
| local.set $4 | |
| i32.const 0 | |
| local.set $5 | |
| local.get $4 | |
| if | |
| local.get $1 | |
| local.get $4 | |
| i32.const 16 | |
| i32.add | |
| i32.ge_u | |
| i32.eqz | |
| if | |
| i32.const 0 | |
| i32.const 24 | |
| i32.const 396 | |
| i32.const 15 | |
| call $~lib/builtins/abort | |
| unreachable | |
| end | |
| local.get $1 | |
| i32.const 16 | |
| i32.sub | |
| local.get $4 | |
| i32.eq | |
| if | |
| local.get $1 | |
| i32.const 16 | |
| i32.sub | |
| local.set $1 | |
| local.get $4 | |
| i32.load | |
| local.set $5 | |
| else | |
| nop | |
| end | |
| else | |
| local.get $1 | |
| local.get $0 | |
| i32.const 1572 | |
| i32.add | |
| i32.ge_u | |
| i32.eqz | |
| if | |
| i32.const 0 | |
| i32.const 24 | |
| i32.const 408 | |
| i32.const 4 | |
| call $~lib/builtins/abort | |
| unreachable | |
| end | |
| end | |
| local.get $2 | |
| local.get $1 | |
| i32.sub | |
| local.set $6 | |
| local.get $6 | |
| i32.const 48 | |
| i32.lt_u | |
| if | |
| i32.const 0 | |
| return | |
| end | |
| local.get $6 | |
| i32.const 16 | |
| i32.const 1 | |
| i32.shl | |
| i32.sub | |
| local.set $7 | |
| local.get $1 | |
| local.set $8 | |
| local.get $8 | |
| local.get $7 | |
| i32.const 1 | |
| i32.or | |
| local.get $5 | |
| i32.const 2 | |
| i32.and | |
| i32.or | |
| i32.store | |
| local.get $8 | |
| i32.const 0 | |
| i32.store offset=16 | |
| local.get $8 | |
| i32.const 0 | |
| i32.store offset=20 | |
| local.get $1 | |
| local.get $6 | |
| i32.add | |
| i32.const 16 | |
| i32.sub | |
| local.set $4 | |
| local.get $4 | |
| i32.const 0 | |
| i32.const 2 | |
| i32.or | |
| i32.store | |
| local.get $0 | |
| local.set $9 | |
| local.get $4 | |
| local.set $3 | |
| local.get $9 | |
| local.get $3 | |
| i32.store offset=1568 | |
| local.get $0 | |
| local.get $8 | |
| call $~lib/rt/tlsf/insertBlock | |
| i32.const 1 | |
| ) | |
| (func $~lib/rt/tlsf/initializeRoot (; 4 ;) (type $FUNCSIG$v) | |
| (local $0 i32) | |
| (local $1 i32) | |
| (local $2 i32) | |
| (local $3 i32) | |
| (local $4 i32) | |
| (local $5 i32) | |
| (local $6 i32) | |
| (local $7 i32) | |
| (local $8 i32) | |
| (local $9 i32) | |
| global.get $~lib/heap/__heap_base | |
| i32.const 15 | |
| i32.add | |
| i32.const 15 | |
| i32.const -1 | |
| i32.xor | |
| i32.and | |
| local.set $0 | |
| memory.size | |
| local.set $1 | |
| local.get $0 | |
| i32.const 1572 | |
| i32.add | |
| i32.const 65535 | |
| i32.add | |
| i32.const 65535 | |
| i32.const -1 | |
| i32.xor | |
| i32.and | |
| i32.const 16 | |
| i32.shr_u | |
| local.set $2 | |
| local.get $2 | |
| local.get $1 | |
| i32.gt_s | |
| if (result i32) | |
| local.get $2 | |
| local.get $1 | |
| i32.sub | |
| memory.grow | |
| i32.const 0 | |
| i32.lt_s | |
| else | |
| i32.const 0 | |
| end | |
| if | |
| unreachable | |
| end | |
| local.get $0 | |
| local.set $3 | |
| local.get $3 | |
| i32.const 0 | |
| i32.store | |
| local.get $3 | |
| local.set $5 | |
| i32.const 0 | |
| local.set $4 | |
| local.get $5 | |
| local.get $4 | |
| i32.store offset=1568 | |
| block $break|0 | |
| i32.const 0 | |
| local.set $5 | |
| loop $loop|0 | |
| local.get $5 | |
| i32.const 23 | |
| i32.lt_u | |
| i32.eqz | |
| br_if $break|0 | |
| local.get $3 | |
| local.set $7 | |
| local.get $5 | |
| local.set $6 | |
| i32.const 0 | |
| local.set $4 | |
| local.get $7 | |
| local.get $6 | |
| i32.const 2 | |
| i32.shl | |
| i32.add | |
| local.get $4 | |
| i32.store offset=4 | |
| block $break|1 | |
| i32.const 0 | |
| local.set $7 | |
| loop $loop|1 | |
| local.get $7 | |
| i32.const 16 | |
| i32.lt_u | |
| i32.eqz | |
| br_if $break|1 | |
| local.get $3 | |
| local.set $9 | |
| local.get $5 | |
| local.set $8 | |
| local.get $7 | |
| local.set $6 | |
| i32.const 0 | |
| local.set $4 | |
| local.get $9 | |
| local.get $8 | |
| i32.const 4 | |
| i32.shl | |
| local.get $6 | |
| i32.add | |
| i32.const 2 | |
| i32.shl | |
| i32.add | |
| local.get $4 | |
| i32.store offset=96 | |
| local.get $7 | |
| i32.const 1 | |
| i32.add | |
| local.set $7 | |
| br $loop|1 | |
| end | |
| unreachable | |
| end | |
| local.get $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $5 | |
| br $loop|0 | |
| end | |
| unreachable | |
| end | |
| local.get $3 | |
| local.get $0 | |
| i32.const 1572 | |
| i32.add | |
| i32.const 15 | |
| i32.add | |
| i32.const 15 | |
| i32.const -1 | |
| i32.xor | |
| i32.and | |
| memory.size | |
| i32.const 16 | |
| i32.shl | |
| call $~lib/rt/tlsf/addMemory | |
| drop | |
| local.get $3 | |
| global.set $~lib/rt/tlsf/ROOT | |
| ) | |
| (func $~lib/rt/tlsf/prepareSize (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) | |
| (local $1 i32) | |
| (local $2 i32) | |
| local.get $0 | |
| i32.const 1073741808 | |
| i32.ge_u | |
| if | |
| i32.const 72 | |
| i32.const 24 | |
| i32.const 457 | |
| i32.const 29 | |
| call $~lib/builtins/abort | |
| unreachable | |
| end | |
| local.get $0 | |
| i32.const 15 | |
| i32.add | |
| i32.const 15 | |
| i32.const -1 | |
| i32.xor | |
| i32.and | |
| local.tee $1 | |
| i32.const 16 | |
| local.tee $2 | |
| local.get $1 | |
| local.get $2 | |
| i32.gt_u | |
| select | |
| ) | |
| (func $~lib/rt/tlsf/searchBlock (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) | |
| (local $2 i32) | |
| (local $3 i32) | |
| (local $4 i32) | |
| (local $5 i32) | |
| (local $6 i32) | |
| (local $7 i32) | |
| (local $8 i32) | |
| (local $9 i32) | |
| local.get $1 | |
| i32.const 256 | |
| i32.lt_u | |
| if | |
| i32.const 0 | |
| local.set $2 | |
| local.get $1 | |
| i32.const 4 | |
| i32.shr_u | |
| local.set $3 | |
| else | |
| local.get $1 | |
| i32.const 536870904 | |
| i32.lt_u | |
| if (result i32) | |
| local.get $1 | |
| i32.const 1 | |
| i32.const 27 | |
| local.get $1 | |
| i32.clz | |
| i32.sub | |
| i32.shl | |
| i32.add | |
| i32.const 1 | |
| i32.sub | |
| else | |
| local.get $1 | |
| end | |
| local.set $4 | |
| i32.const 31 | |
| local.get $4 | |
| i32.clz | |
| i32.sub | |
| local.set $2 | |
| local.get $4 | |
| local.get $2 | |
| i32.const 4 | |
| i32.sub | |
| i32.shr_u | |
| i32.const 1 | |
| i32.const 4 | |
| i32.shl | |
| i32.xor | |
| local.set $3 | |
| local.get $2 | |
| i32.const 8 | |
| i32.const 1 | |
| i32.sub | |
| i32.sub | |
| local.set $2 | |
| end | |
| local.get $2 | |
| i32.const 23 | |
| i32.lt_u | |
| if (result i32) | |
| local.get $3 | |
| i32.const 16 | |
| i32.lt_u | |
| else | |
| i32.const 0 | |
| end | |
| i32.eqz | |
| if | |
| i32.const 0 | |
| i32.const 24 | |
| i32.const 338 | |
| i32.const 13 | |
| call $~lib/builtins/abort | |
| unreachable | |
| end | |
| local.get $0 | |
| local.set $5 | |
| local.get $2 | |
| local.set $4 | |
| local.get $5 | |
| local.get $4 | |
| i32.const 2 | |
| i32.shl | |
| i32.add | |
| i32.load offset=4 | |
| i32.const 0 | |
| i32.const -1 | |
| i32.xor | |
| local.get $3 | |
| i32.shl | |
| i32.and | |
| local.set $6 | |
| i32.const 0 | |
| local.set $7 | |
| local.get $6 | |
| i32.eqz | |
| if | |
| local.get $0 | |
| i32.load | |
| i32.const 0 | |
| i32.const -1 | |
| i32.xor | |
| local.get $2 | |
| i32.const 1 | |
| i32.add | |
| i32.shl | |
| i32.and | |
| local.set $5 | |
| local.get $5 | |
| i32.eqz | |
| if | |
| i32.const 0 | |
| local.set $7 | |
| else | |
| local.get $5 | |
| i32.ctz | |
| local.set $2 | |
| local.get $0 | |
| local.set $8 | |
| local.get $2 | |
| local.set $4 | |
| local.get $8 | |
| local.get $4 | |
| i32.const 2 | |
| i32.shl | |
| i32.add | |
| i32.load offset=4 | |
| local.set $6 | |
| local.get $6 | |
| i32.eqz | |
| if | |
| i32.const 0 | |
| i32.const 24 | |
| i32.const 351 | |
| i32.const 17 | |
| call $~lib/builtins/abort | |
| unreachable | |
| end | |
| local.get $0 | |
| local.set $9 | |
| local.get $2 | |
| local.set $8 | |
| local.get $6 | |
| i32.ctz | |
| local.set $4 | |
| local.get $9 | |
| local.get $8 | |
| i32.const 4 | |
| i32.shl | |
| local.get $4 | |
| i32.add | |
| i32.const 2 | |
| i32.shl | |
| i32.add | |
| i32.load offset=96 | |
| local.set $7 | |
| end | |
| else | |
| local.get $0 | |
| local.set $9 | |
| local.get $2 | |
| local.set $8 | |
| local.get $6 | |
| i32.ctz | |
| local.set $4 | |
| local.get $9 | |
| local.get $8 | |
| i32.const 4 | |
| i32.shl | |
| local.get $4 | |
| i32.add | |
| i32.const 2 | |
| i32.shl | |
| i32.add | |
| i32.load offset=96 | |
| local.set $7 | |
| end | |
| local.get $7 | |
| ) | |
| (func $~lib/rt/pure/markGray (; 7 ;) (type $FUNCSIG$vi) (param $0 i32) | |
| (local $1 i32) | |
| local.get $0 | |
| i32.load offset=4 | |
| local.set $1 | |
| local.get $1 | |
| i32.const 1879048192 | |
| i32.and | |
| i32.const 268435456 | |
| i32.ne | |
| if | |
| local.get $0 | |
| local.get $1 | |
| i32.const 1879048192 | |
| i32.const -1 | |
| i32.xor | |
| i32.and | |
| i32.const 268435456 | |
| i32.or | |
| i32.store offset=4 | |
| local.get $0 | |
| i32.const 16 | |
| i32.add | |
| i32.const 2 | |
| call $~lib/rt/__visit_members | |
| end | |
| ) | |
| (func $~lib/rt/tlsf/freeBlock (; 8 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) | |
| (local $2 i32) | |
| local.get $1 | |
| i32.load | |
| local.set $2 | |
| local.get $2 | |
| i32.const 1 | |
| i32.and | |
| i32.eqz | |
| i32.eqz | |
| if | |
| i32.const 0 | |
| i32.const 24 | |
| i32.const 563 | |
| i32.const 2 | |
| call $~lib/builtins/abort | |
| unreachable | |
| end | |
| local.get $1 | |
| local.get $2 | |
| i32.const 1 | |
| i32.or | |
| i32.store | |
| local.get $0 | |
| local.get $1 | |
| call $~lib/rt/tlsf/insertBlock | |
| ) | |
| (func $~lib/rt/pure/scanBlack (; 9 ;) (type $FUNCSIG$vi) (param $0 i32) | |
| local.get $0 | |
| local.get $0 | |
| i32.load offset=4 | |
| i32.const 1879048192 | |
| i32.const -1 | |
| i32.xor | |
| i32.and | |
| i32.const 0 | |
| i32.or | |
| i32.store offset=4 | |
| local.get $0 | |
| i32.const 16 | |
| i32.add | |
| i32.const 4 | |
| call $~lib/rt/__visit_members | |
| ) | |
| (func $~lib/rt/pure/scan (; 10 ;) (type $FUNCSIG$vi) (param $0 i32) | |
| (local $1 i32) | |
| local.get $0 | |
| i32.load offset=4 | |
| local.set $1 | |
| local.get $1 | |
| i32.const 1879048192 | |
| i32.and | |
| i32.const 268435456 | |
| i32.eq | |
| if | |
| local.get $1 | |
| i32.const 268435455 | |
| i32.and | |
| i32.const 0 | |
| i32.gt_u | |
| if | |
| local.get $0 | |
| call $~lib/rt/pure/scanBlack | |
| else | |
| local.get $0 | |
| local.get $1 | |
| i32.const 1879048192 | |
| i32.const -1 | |
| i32.xor | |
| i32.and | |
| i32.const 536870912 | |
| i32.or | |
| i32.store offset=4 | |
| local.get $0 | |
| i32.const 16 | |
| i32.add | |
| i32.const 3 | |
| call $~lib/rt/__visit_members | |
| end | |
| end | |
| ) | |
| (func $~lib/rt/pure/collectWhite (; 11 ;) (type $FUNCSIG$vi) (param $0 i32) | |
| (local $1 i32) | |
| local.get $0 | |
| i32.load offset=4 | |
| local.set $1 | |
| local.get $1 | |
| i32.const 1879048192 | |
| i32.and | |
| i32.const 536870912 | |
| i32.eq | |
| if (result i32) | |
| local.get $1 | |
| i32.const -2147483648 | |
| i32.and | |
| i32.eqz | |
| else | |
| i32.const 0 | |
| end | |
| if | |
| local.get $0 | |
| local.get $1 | |
| i32.const 1879048192 | |
| i32.const -1 | |
| i32.xor | |
| i32.and | |
| i32.const 0 | |
| i32.or | |
| i32.store offset=4 | |
| local.get $0 | |
| i32.const 16 | |
| i32.add | |
| i32.const 5 | |
| call $~lib/rt/__visit_members | |
| global.get $~lib/rt/tlsf/ROOT | |
| local.get $0 | |
| call $~lib/rt/tlsf/freeBlock | |
| end | |
| ) | |
| (func $~lib/rt/pure/__collect (; 12 ;) (type $FUNCSIG$v) | |
| (local $0 i32) | |
| (local $1 i32) | |
| (local $2 i32) | |
| (local $3 i32) | |
| (local $4 i32) | |
| (local $5 i32) | |
| global.get $~lib/rt/pure/ROOTS | |
| local.set $0 | |
| local.get $0 | |
| local.set $1 | |
| block $break|0 | |
| local.get $1 | |
| local.set $2 | |
| global.get $~lib/rt/pure/CUR | |
| local.set $3 | |
| loop $loop|0 | |
| local.get $2 | |
| local.get $3 | |
| i32.lt_u | |
| i32.eqz | |
| br_if $break|0 | |
| local.get $2 | |
| i32.load | |
| local.set $4 | |
| local.get $4 | |
| i32.load offset=4 | |
| local.set $5 | |
| local.get $5 | |
| i32.const 1879048192 | |
| i32.and | |
| i32.const 805306368 | |
| i32.eq | |
| if (result i32) | |
| local.get $5 | |
| i32.const 268435455 | |
| i32.and | |
| i32.const 0 | |
| i32.gt_u | |
| else | |
| i32.const 0 | |
| end | |
| if | |
| local.get $4 | |
| call $~lib/rt/pure/markGray | |
| local.get $1 | |
| local.get $4 | |
| i32.store | |
| local.get $1 | |
| i32.const 4 | |
| i32.add | |
| local.set $1 | |
| else | |
| local.get $5 | |
| i32.const 1879048192 | |
| i32.and | |
| i32.const 0 | |
| i32.eq | |
| if (result i32) | |
| local.get $5 | |
| i32.const 268435455 | |
| i32.and | |
| i32.eqz | |
| else | |
| i32.const 0 | |
| end | |
| if | |
| global.get $~lib/rt/tlsf/ROOT | |
| local.get $4 | |
| call $~lib/rt/tlsf/freeBlock | |
| else | |
| local.get $4 | |
| local.get $5 | |
| i32.const -2147483648 | |
| i32.const -1 | |
| i32.xor | |
| i32.and | |
| i32.store offset=4 | |
| end | |
| end | |
| local.get $2 | |
| i32.const 4 | |
| i32.add | |
| local.set $2 | |
| br $loop|0 | |
| end | |
| unreachable | |
| end | |
| local.get $1 | |
| global.set $~lib/rt/pure/CUR | |
| block $break|1 | |
| local.get $0 | |
| local.set $5 | |
| loop $loop|1 | |
| local.get $5 | |
| local.get $1 | |
| i32.lt_u | |
| i32.eqz | |
| br_if $break|1 | |
| local.get $5 | |
| i32.load | |
| call $~lib/rt/pure/scan | |
| local.get $5 | |
| i32.const 4 | |
| i32.add | |
| local.set $5 | |
| br $loop|1 | |
| end | |
| unreachable | |
| end | |
| block $break|2 | |
| local.get $0 | |
| local.set $5 | |
| loop $loop|2 | |
| local.get $5 | |
| local.get $1 | |
| i32.lt_u | |
| i32.eqz | |
| br_if $break|2 | |
| local.get $5 | |
| i32.load | |
| local.set $4 | |
| local.get $4 | |
| local.get $4 | |
| i32.load offset=4 | |
| i32.const -2147483648 | |
| i32.const -1 | |
| i32.xor | |
| i32.and | |
| i32.store offset=4 | |
| local.get $4 | |
| call $~lib/rt/pure/collectWhite | |
| local.get $5 | |
| i32.const 4 | |
| i32.add | |
| local.set $5 | |
| br $loop|2 | |
| end | |
| unreachable | |
| end | |
| local.get $0 | |
| global.set $~lib/rt/pure/CUR | |
| ) | |
| (func $~lib/rt/tlsf/growMemory (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) | |
| (local $2 i32) | |
| (local $3 i32) | |
| (local $4 i32) | |
| (local $5 i32) | |
| (local $6 i32) | |
| (local $7 i32) | |
| local.get $1 | |
| i32.const 536870904 | |
| i32.lt_u | |
| if | |
| local.get $1 | |
| i32.const 1 | |
| i32.const 27 | |
| local.get $1 | |
| i32.clz | |
| i32.sub | |
| i32.shl | |
| i32.const 1 | |
| i32.sub | |
| i32.add | |
| local.set $1 | |
| end | |
| memory.size | |
| local.set $2 | |
| local.get $1 | |
| i32.const 16 | |
| local.get $2 | |
| i32.const 16 | |
| i32.shl | |
| i32.const 16 | |
| i32.sub | |
| local.get $0 | |
| local.set $3 | |
| local.get $3 | |
| i32.load offset=1568 | |
| i32.ne | |
| i32.shl | |
| i32.add | |
| local.set $1 | |
| local.get $1 | |
| i32.const 65535 | |
| i32.add | |
| i32.const 65535 | |
| i32.const -1 | |
| i32.xor | |
| i32.and | |
| i32.const 16 | |
| i32.shr_u | |
| local.set $4 | |
| local.get $2 | |
| local.tee $3 | |
| local.get $4 | |
| local.tee $5 | |
| local.get $3 | |
| local.get $5 | |
| i32.gt_s | |
| select | |
| local.set $6 | |
| local.get $6 | |
| memory.grow | |
| i32.const 0 | |
| i32.lt_s | |
| if | |
| local.get $4 | |
| memory.grow | |
| i32.const 0 | |
| i32.lt_s | |
| if | |
| unreachable | |
| end | |
| end | |
| memory.size | |
| local.set $7 | |
| local.get $0 | |
| local.get $2 | |
| i32.const 16 | |
| i32.shl | |
| local.get $7 | |
| i32.const 16 | |
| i32.shl | |
| call $~lib/rt/tlsf/addMemory | |
| drop | |
| ) | |
| (func $~lib/rt/tlsf/prepareBlock (; 14 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) | |
| (local $3 i32) | |
| (local $4 i32) | |
| (local $5 i32) | |
| local.get $1 | |
| i32.load | |
| local.set $3 | |
| local.get $2 | |
| i32.const 15 | |
| i32.and | |
| i32.eqz | |
| i32.eqz | |
| if | |
| i32.const 0 | |
| i32.const 24 | |
| i32.const 365 | |
| i32.const 13 | |
| call $~lib/builtins/abort | |
| unreachable | |
| end | |
| local.get $3 | |
| i32.const 3 | |
| i32.const -1 | |
| i32.xor | |
| i32.and | |
| local.get $2 | |
| i32.sub | |
| local.set $4 | |
| local.get $4 | |
| i32.const 32 | |
| i32.ge_u | |
| if | |
| local.get $1 | |
| local.get $2 | |
| local.get $3 | |
| i32.const 2 | |
| i32.and | |
| i32.or | |
| i32.store | |
| local.get $1 | |
| i32.const 16 | |
| i32.add | |
| local.get $2 | |
| i32.add | |
| local.set $5 | |
| local.get $5 | |
| local.get $4 | |
| i32.const 16 | |
| i32.sub | |
| i32.const 1 | |
| i32.or | |
| i32.store | |
| local.get $0 | |
| local.get $5 | |
| call $~lib/rt/tlsf/insertBlock | |
| else | |
| local.get $1 | |
| local.get $3 | |
| i32.const 1 | |
| i32.const -1 | |
| i32.xor | |
| i32.and | |
| i32.store | |
| local.get $1 | |
| local.set $5 | |
| local.get $5 | |
| i32.const 16 | |
| i32.add | |
| local.get $5 | |
| i32.load | |
| i32.const 3 | |
| i32.const -1 | |
| i32.xor | |
| i32.and | |
| i32.add | |
| local.get $1 | |
| local.set $5 | |
| local.get $5 | |
| i32.const 16 | |
| i32.add | |
| local.get $5 | |
| i32.load | |
| i32.const 3 | |
| i32.const -1 | |
| i32.xor | |
| i32.and | |
| i32.add | |
| i32.load | |
| i32.const 2 | |
| i32.const -1 | |
| i32.xor | |
| i32.and | |
| i32.store | |
| end | |
| ) | |
| (func $~lib/rt/tlsf/allocateBlock (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) | |
| (local $2 i32) | |
| (local $3 i32) | |
| global.get $~lib/rt/tlsf/collectLock | |
| i32.eqz | |
| i32.eqz | |
| if | |
| i32.const 0 | |
| i32.const 24 | |
| i32.const 486 | |
| i32.const 13 | |
| call $~lib/builtins/abort | |
| unreachable | |
| end | |
| local.get $1 | |
| call $~lib/rt/tlsf/prepareSize | |
| local.set $2 | |
| local.get $0 | |
| local.get $2 | |
| call $~lib/rt/tlsf/searchBlock | |
| local.set $3 | |
| local.get $3 | |
| i32.eqz | |
| if | |
| global.get $~lib/gc/gc.auto | |
| if | |
| i32.const 1 | |
| global.set $~lib/rt/tlsf/collectLock | |
| call $~lib/rt/pure/__collect | |
| i32.const 0 | |
| global.set $~lib/rt/tlsf/collectLock | |
| local.get $0 | |
| local.get $2 | |
| call $~lib/rt/tlsf/searchBlock | |
| local.set $3 | |
| local.get $3 | |
| i32.eqz | |
| if | |
| local.get $0 | |
| local.get $2 | |
| call $~lib/rt/tlsf/growMemory | |
| local.get $0 | |
| local.get $2 | |
| call $~lib/rt/tlsf/searchBlock | |
| local.set $3 | |
| local.get $3 | |
| i32.eqz | |
| if | |
| i32.const 0 | |
| i32.const 24 | |
| i32.const 498 | |
| i32.const 19 | |
| call $~lib/builtins/abort | |
| unreachable | |
| end | |
| end | |
| else | |
| local.get $0 | |
| local.get $2 | |
| call $~lib/rt/tlsf/growMemory | |
| local.get $0 | |
| local.get $2 | |
| call $~lib/rt/tlsf/searchBlock | |
| local.set $3 | |
| local.get $3 | |
| i32.eqz | |
| if | |
| i32.const 0 | |
| i32.const 24 | |
| i32.const 503 | |
| i32.const 17 | |
| call $~lib/builtins/abort | |
| unreachable | |
| end | |
| end | |
| end | |
| local.get $3 | |
| i32.load | |
| i32.const -4 | |
| i32.and | |
| local.get $2 | |
| i32.ge_u | |
| i32.eqz | |
| if | |
| i32.const 0 | |
| i32.const 24 | |
| i32.const 506 | |
| i32.const 13 | |
| call $~lib/builtins/abort | |
| unreachable | |
| end | |
| local.get $3 | |
| i32.const 0 | |
| i32.store offset=4 | |
| local.get $3 | |
| local.get $1 | |
| i32.store offset=12 | |
| local.get $0 | |
| local.get $3 | |
| call $~lib/rt/tlsf/removeBlock | |
| local.get $0 | |
| local.get $3 | |
| local.get $2 | |
| call $~lib/rt/tlsf/prepareBlock | |
| local.get $3 | |
| ) | |
| (func $~lib/rt/tlsf/__alloc (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) | |
| (local $2 i32) | |
| (local $3 i32) | |
| global.get $~lib/rt/tlsf/ROOT | |
| local.set $2 | |
| local.get $2 | |
| i32.eqz | |
| if | |
| call $~lib/rt/tlsf/initializeRoot | |
| global.get $~lib/rt/tlsf/ROOT | |
| local.set $2 | |
| end | |
| local.get $2 | |
| local.get $0 | |
| call $~lib/rt/tlsf/allocateBlock | |
| local.set $3 | |
| local.get $3 | |
| local.get $1 | |
| i32.store offset=8 | |
| local.get $3 | |
| i32.const 16 | |
| i32.add | |
| ) | |
| (func $~lib/rt/pure/increment (; 17 ;) (type $FUNCSIG$vi) (param $0 i32) | |
| (local $1 i32) | |
| local.get $0 | |
| i32.load offset=4 | |
| local.set $1 | |
| local.get $1 | |
| i32.const -268435456 | |
| i32.and | |
| local.get $1 | |
| i32.const 1 | |
| i32.add | |
| i32.const -268435456 | |
| i32.and | |
| i32.eq | |
| i32.eqz | |
| if | |
| i32.const 0 | |
| i32.const 128 | |
| i32.const 104 | |
| i32.const 2 | |
| call $~lib/builtins/abort | |
| unreachable | |
| end | |
| local.get $0 | |
| local.get $1 | |
| i32.const 1 | |
| i32.add | |
| i32.store offset=4 | |
| local.get $0 | |
| i32.load | |
| i32.const 1 | |
| i32.and | |
| i32.eqz | |
| i32.eqz | |
| if | |
| i32.const 0 | |
| i32.const 128 | |
| i32.const 107 | |
| i32.const 13 | |
| call $~lib/builtins/abort | |
| unreachable | |
| end | |
| ) | |
| (func $~lib/rt/pure/__retain (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) | |
| local.get $0 | |
| global.get $~lib/heap/__heap_base | |
| i32.gt_u | |
| if | |
| local.get $0 | |
| i32.const 16 | |
| i32.sub | |
| call $~lib/rt/pure/increment | |
| end | |
| local.get $0 | |
| ) | |
| (func $~lib/rt/__typeinfo (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) | |
| (local $1 i32) | |
| global.get $~lib/rt/__rtti_base | |
| local.set $1 | |
| local.get $0 | |
| local.get $1 | |
| i32.load | |
| i32.gt_u | |
| if | |
| i32.const 176 | |
| i32.const 232 | |
| i32.const 22 | |
| i32.const 27 | |
| call $~lib/builtins/abort | |
| unreachable | |
| end | |
| local.get $1 | |
| i32.const 4 | |
| i32.add | |
| local.get $0 | |
| i32.const 8 | |
| i32.mul | |
| i32.add | |
| i32.load | |
| ) | |
| (func $~lib/util/memory/memcpy (; 20 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) | |
| (local $3 i32) | |
| (local $4 i32) | |
| (local $5 i32) | |
| block $break|0 | |
| loop $continue|0 | |
| local.get $2 | |
| if (result i32) | |
| local.get $1 | |
| i32.const 3 | |
| i32.and | |
| else | |
| i32.const 0 | |
| end | |
| i32.eqz | |
| br_if $break|0 | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| local.get $2 | |
| i32.const 1 | |
| i32.sub | |
| local.set $2 | |
| br $continue|0 | |
| end | |
| unreachable | |
| end | |
| local.get $0 | |
| i32.const 3 | |
| i32.and | |
| i32.const 0 | |
| i32.eq | |
| if | |
| block $break|1 | |
| loop $continue|1 | |
| local.get $2 | |
| i32.const 16 | |
| i32.ge_u | |
| i32.eqz | |
| br_if $break|1 | |
| local.get $0 | |
| local.get $1 | |
| i32.load | |
| i32.store | |
| local.get $0 | |
| i32.const 4 | |
| i32.add | |
| local.get $1 | |
| i32.const 4 | |
| i32.add | |
| i32.load | |
| i32.store | |
| local.get $0 | |
| i32.const 8 | |
| i32.add | |
| local.get $1 | |
| i32.const 8 | |
| i32.add | |
| i32.load | |
| i32.store | |
| local.get $0 | |
| i32.const 12 | |
| i32.add | |
| local.get $1 | |
| i32.const 12 | |
| i32.add | |
| i32.load | |
| i32.store | |
| local.get $1 | |
| i32.const 16 | |
| i32.add | |
| local.set $1 | |
| local.get $0 | |
| i32.const 16 | |
| i32.add | |
| local.set $0 | |
| local.get $2 | |
| i32.const 16 | |
| i32.sub | |
| local.set $2 | |
| br $continue|1 | |
| end | |
| unreachable | |
| end | |
| local.get $2 | |
| i32.const 8 | |
| i32.and | |
| if | |
| local.get $0 | |
| local.get $1 | |
| i32.load | |
| i32.store | |
| local.get $0 | |
| i32.const 4 | |
| i32.add | |
| local.get $1 | |
| i32.const 4 | |
| i32.add | |
| i32.load | |
| i32.store | |
| local.get $0 | |
| i32.const 8 | |
| i32.add | |
| local.set $0 | |
| local.get $1 | |
| i32.const 8 | |
| i32.add | |
| local.set $1 | |
| end | |
| local.get $2 | |
| i32.const 4 | |
| i32.and | |
| if | |
| local.get $0 | |
| local.get $1 | |
| i32.load | |
| i32.store | |
| local.get $0 | |
| i32.const 4 | |
| i32.add | |
| local.set $0 | |
| local.get $1 | |
| i32.const 4 | |
| i32.add | |
| local.set $1 | |
| end | |
| local.get $2 | |
| i32.const 2 | |
| i32.and | |
| if | |
| local.get $0 | |
| local.get $1 | |
| i32.load16_u | |
| i32.store16 | |
| local.get $0 | |
| i32.const 2 | |
| i32.add | |
| local.set $0 | |
| local.get $1 | |
| i32.const 2 | |
| i32.add | |
| local.set $1 | |
| end | |
| local.get $2 | |
| i32.const 1 | |
| i32.and | |
| if | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| end | |
| return | |
| end | |
| local.get $2 | |
| i32.const 32 | |
| i32.ge_u | |
| if | |
| block $break|2 | |
| block $case2|2 | |
| block $case1|2 | |
| block $case0|2 | |
| local.get $0 | |
| i32.const 3 | |
| i32.and | |
| local.set $5 | |
| local.get $5 | |
| i32.const 1 | |
| i32.eq | |
| br_if $case0|2 | |
| local.get $5 | |
| i32.const 2 | |
| i32.eq | |
| br_if $case1|2 | |
| local.get $5 | |
| i32.const 3 | |
| i32.eq | |
| br_if $case2|2 | |
| br $break|2 | |
| end | |
| local.get $1 | |
| i32.load | |
| local.set $3 | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| local.get $2 | |
| i32.const 3 | |
| i32.sub | |
| local.set $2 | |
| block $break|3 | |
| loop $continue|3 | |
| local.get $2 | |
| i32.const 17 | |
| i32.ge_u | |
| i32.eqz | |
| br_if $break|3 | |
| local.get $1 | |
| i32.const 1 | |
| i32.add | |
| i32.load | |
| local.set $4 | |
| local.get $0 | |
| local.get $3 | |
| i32.const 24 | |
| i32.shr_u | |
| local.get $4 | |
| i32.const 8 | |
| i32.shl | |
| i32.or | |
| i32.store | |
| local.get $1 | |
| i32.const 5 | |
| i32.add | |
| i32.load | |
| local.set $3 | |
| local.get $0 | |
| i32.const 4 | |
| i32.add | |
| local.get $4 | |
| i32.const 24 | |
| i32.shr_u | |
| local.get $3 | |
| i32.const 8 | |
| i32.shl | |
| i32.or | |
| i32.store | |
| local.get $1 | |
| i32.const 9 | |
| i32.add | |
| i32.load | |
| local.set $4 | |
| local.get $0 | |
| i32.const 8 | |
| i32.add | |
| local.get $3 | |
| i32.const 24 | |
| i32.shr_u | |
| local.get $4 | |
| i32.const 8 | |
| i32.shl | |
| i32.or | |
| i32.store | |
| local.get $1 | |
| i32.const 13 | |
| i32.add | |
| i32.load | |
| local.set $3 | |
| local.get $0 | |
| i32.const 12 | |
| i32.add | |
| local.get $4 | |
| i32.const 24 | |
| i32.shr_u | |
| local.get $3 | |
| i32.const 8 | |
| i32.shl | |
| i32.or | |
| i32.store | |
| local.get $1 | |
| i32.const 16 | |
| i32.add | |
| local.set $1 | |
| local.get $0 | |
| i32.const 16 | |
| i32.add | |
| local.set $0 | |
| local.get $2 | |
| i32.const 16 | |
| i32.sub | |
| local.set $2 | |
| br $continue|3 | |
| end | |
| unreachable | |
| end | |
| br $break|2 | |
| end | |
| local.get $1 | |
| i32.load | |
| local.set $3 | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| local.get $2 | |
| i32.const 2 | |
| i32.sub | |
| local.set $2 | |
| block $break|4 | |
| loop $continue|4 | |
| local.get $2 | |
| i32.const 18 | |
| i32.ge_u | |
| i32.eqz | |
| br_if $break|4 | |
| local.get $1 | |
| i32.const 2 | |
| i32.add | |
| i32.load | |
| local.set $4 | |
| local.get $0 | |
| local.get $3 | |
| i32.const 16 | |
| i32.shr_u | |
| local.get $4 | |
| i32.const 16 | |
| i32.shl | |
| i32.or | |
| i32.store | |
| local.get $1 | |
| i32.const 6 | |
| i32.add | |
| i32.load | |
| local.set $3 | |
| local.get $0 | |
| i32.const 4 | |
| i32.add | |
| local.get $4 | |
| i32.const 16 | |
| i32.shr_u | |
| local.get $3 | |
| i32.const 16 | |
| i32.shl | |
| i32.or | |
| i32.store | |
| local.get $1 | |
| i32.const 10 | |
| i32.add | |
| i32.load | |
| local.set $4 | |
| local.get $0 | |
| i32.const 8 | |
| i32.add | |
| local.get $3 | |
| i32.const 16 | |
| i32.shr_u | |
| local.get $4 | |
| i32.const 16 | |
| i32.shl | |
| i32.or | |
| i32.store | |
| local.get $1 | |
| i32.const 14 | |
| i32.add | |
| i32.load | |
| local.set $3 | |
| local.get $0 | |
| i32.const 12 | |
| i32.add | |
| local.get $4 | |
| i32.const 16 | |
| i32.shr_u | |
| local.get $3 | |
| i32.const 16 | |
| i32.shl | |
| i32.or | |
| i32.store | |
| local.get $1 | |
| i32.const 16 | |
| i32.add | |
| local.set $1 | |
| local.get $0 | |
| i32.const 16 | |
| i32.add | |
| local.set $0 | |
| local.get $2 | |
| i32.const 16 | |
| i32.sub | |
| local.set $2 | |
| br $continue|4 | |
| end | |
| unreachable | |
| end | |
| br $break|2 | |
| end | |
| local.get $1 | |
| i32.load | |
| local.set $3 | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| local.get $2 | |
| i32.const 1 | |
| i32.sub | |
| local.set $2 | |
| block $break|5 | |
| loop $continue|5 | |
| local.get $2 | |
| i32.const 19 | |
| i32.ge_u | |
| i32.eqz | |
| br_if $break|5 | |
| local.get $1 | |
| i32.const 3 | |
| i32.add | |
| i32.load | |
| local.set $4 | |
| local.get $0 | |
| local.get $3 | |
| i32.const 8 | |
| i32.shr_u | |
| local.get $4 | |
| i32.const 24 | |
| i32.shl | |
| i32.or | |
| i32.store | |
| local.get $1 | |
| i32.const 7 | |
| i32.add | |
| i32.load | |
| local.set $3 | |
| local.get $0 | |
| i32.const 4 | |
| i32.add | |
| local.get $4 | |
| i32.const 8 | |
| i32.shr_u | |
| local.get $3 | |
| i32.const 24 | |
| i32.shl | |
| i32.or | |
| i32.store | |
| local.get $1 | |
| i32.const 11 | |
| i32.add | |
| i32.load | |
| local.set $4 | |
| local.get $0 | |
| i32.const 8 | |
| i32.add | |
| local.get $3 | |
| i32.const 8 | |
| i32.shr_u | |
| local.get $4 | |
| i32.const 24 | |
| i32.shl | |
| i32.or | |
| i32.store | |
| local.get $1 | |
| i32.const 15 | |
| i32.add | |
| i32.load | |
| local.set $3 | |
| local.get $0 | |
| i32.const 12 | |
| i32.add | |
| local.get $4 | |
| i32.const 8 | |
| i32.shr_u | |
| local.get $3 | |
| i32.const 24 | |
| i32.shl | |
| i32.or | |
| i32.store | |
| local.get $1 | |
| i32.const 16 | |
| i32.add | |
| local.set $1 | |
| local.get $0 | |
| i32.const 16 | |
| i32.add | |
| local.set $0 | |
| local.get $2 | |
| i32.const 16 | |
| i32.sub | |
| local.set $2 | |
| br $continue|5 | |
| end | |
| unreachable | |
| end | |
| br $break|2 | |
| end | |
| end | |
| local.get $2 | |
| i32.const 16 | |
| i32.and | |
| if | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| end | |
| local.get $2 | |
| i32.const 8 | |
| i32.and | |
| if | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| end | |
| local.get $2 | |
| i32.const 4 | |
| i32.and | |
| if | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| end | |
| local.get $2 | |
| i32.const 2 | |
| i32.and | |
| if | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| end | |
| local.get $2 | |
| i32.const 1 | |
| i32.and | |
| if | |
| local.get $0 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| local.get $5 | |
| local.get $1 | |
| local.tee $5 | |
| i32.const 1 | |
| i32.add | |
| local.set $1 | |
| local.get $5 | |
| i32.load8_u | |
| i32.store8 | |
| end | |
| ) | |
| (func $~lib/memory/memory.copy (; 21 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) | |
| (local $3 i32) | |
| (local $4 i32) | |
| (local $5 i32) | |
| (local $6 i32) | |
| block $~lib/util/memory/memmove|inlined.0 | |
| local.get $0 | |
| local.set $5 | |
| local.get $1 | |
| local.set $4 | |
| local.get $2 | |
| local.set $3 | |
| local.get $5 | |
| local.get $4 | |
| i32.eq | |
| if | |
| br $~lib/util/memory/memmove|inlined.0 | |
| end | |
| local.get $4 | |
| local.get $3 | |
| i32.add | |
| local.get $5 | |
| i32.le_u | |
| if (result i32) | |
| i32.const 1 | |
| else | |
| local.get $5 | |
| local.get $3 | |
| i32.add | |
| local.get $4 | |
| i32.le_u | |
| end | |
| if | |
| local.get $5 | |
| local.get $4 | |
| local.get $3 | |
| call $~lib/util/memory/memcpy | |
| br $~lib/util/memory/memmove|inlined.0 | |
| end | |
| local.get $5 | |
| local.get $4 | |
| i32.lt_u | |
| if | |
| local.get $4 | |
| i32.const 7 | |
| i32.and | |
| local.get $5 | |
| i32.const 7 | |
| i32.and | |
| i32.eq | |
| if | |
| block $break|0 | |
| loop $continue|0 | |
| local.get $5 | |
| i32.const 7 | |
| i32.and | |
| i32.eqz | |
| br_if $break|0 | |
| local.get $3 | |
| i32.eqz | |
| if | |
| br $~lib/util/memory/memmove|inlined.0 | |
| end | |
| local.get $3 | |
| i32.const 1 | |
| i32.sub | |
| local.set $3 | |
| local.get $5 | |
| local.tee $6 | |
| i32.const 1 | |
| i32.add | |
| local.set $5 | |
| local.get $6 | |
| local.get $4 | |
| local.tee $6 | |
| i32.const 1 | |
| i32.add | |
| local.set $4 | |
| local.get $6 | |
| i32.load8_u | |
| i32.store8 | |
| br $continue|0 | |
| end | |
| unreachable | |
| end | |
| block $break|1 | |
| loop $continue|1 | |
| local.get $3 | |
| i32.const 8 | |
| i32.ge_u | |
| i32.eqz | |
| br_if $break|1 | |
| local.get $5 | |
| local.get $4 | |
| i64.load | |
| i64.store | |
| local.get $3 | |
| i32.const 8 | |
| i32.sub | |
| local.set $3 | |
| local.get $5 | |
| i32.const 8 | |
| i32.add | |
| local.set $5 | |
| local.get $4 | |
| i32.const 8 | |
| i32.add | |
| local.set $4 | |
| br $continue|1 | |
| end | |
| unreachable | |
| end | |
| end | |
| block $break|2 | |
| loop $continue|2 | |
| local.get $3 | |
| i32.eqz | |
| br_if $break|2 | |
| local.get $5 | |
| local.tee $6 | |
| i32.const 1 | |
| i32.add | |
| local.set $5 | |
| local.get $6 | |
| local.get $4 | |
| local.tee $6 | |
| i32.const 1 | |
| i32.add | |
| local.set $4 | |
| local.get $6 | |
| i32.load8_u | |
| i32.store8 | |
| local.get $3 | |
| i32.const 1 | |
| i32.sub | |
| local.set $3 | |
| br $continue|2 | |
| end | |
| unreachable | |
| end | |
| else | |
| local.get $4 | |
| i32.const 7 | |
| i32.and | |
| local.get $5 | |
| i32.const 7 | |
| i32.and | |
| i32.eq | |
| if | |
| block $break|3 | |
| loop $continue|3 | |
| local.get $5 | |
| local.get $3 | |
| i32.add | |
| i32.const 7 | |
| i32.and | |
| i32.eqz | |
| br_if $break|3 | |
| local.get $3 | |
| i32.eqz | |
| if | |
| br $~lib/util/memory/memmove|inlined.0 | |
| end | |
| local.get $5 | |
| local.get $3 | |
| i32.const 1 | |
| i32.sub | |
| local.tee $3 | |
| i32.add | |
| local.get $4 | |
| local.get $3 | |
| i32.add | |
| i32.load8_u | |
| i32.store8 | |
| br $continue|3 | |
| end | |
| unreachable | |
| end | |
| block $break|4 | |
| loop $continue|4 | |
| local.get $3 | |
| i32.const 8 | |
| i32.ge_u | |
| i32.eqz | |
| br_if $break|4 | |
| local.get $3 | |
| i32.const 8 | |
| i32.sub | |
| local.set $3 | |
| local.get $5 | |
| local.get $3 | |
| i32.add | |
| local.get $4 | |
| local.get $3 | |
| i32.add | |
| i64.load | |
| i64.store | |
| br $continue|4 | |
| end | |
| unreachable | |
| end | |
| end | |
| block $break|5 | |
| loop $continue|5 | |
| local.get $3 | |
| i32.eqz | |
| br_if $break|5 | |
| local.get $5 | |
| local.get $3 | |
| i32.const 1 | |
| i32.sub | |
| local.tee $3 | |
| i32.add | |
| local.get $4 | |
| local.get $3 | |
| i32.add | |
| i32.load8_u | |
| i32.store8 | |
| br $continue|5 | |
| end | |
| unreachable | |
| end | |
| end | |
| end | |
| ) | |
| (func $~lib/rt/tlsf/__free (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) | |
| global.get $~lib/rt/tlsf/ROOT | |
| i32.eqz | |
| if | |
| i32.const 0 | |
| i32.const 24 | |
| i32.const 593 | |
| i32.const 13 | |
| call $~lib/builtins/abort | |
| unreachable | |
| end | |
| local.get $0 | |
| i32.const 0 | |
| i32.ne | |
| if (result i32) | |
| local.get $0 | |
| i32.const 15 | |
| i32.and | |
| i32.eqz | |
| else | |
| i32.const 0 | |
| end | |
| i32.eqz | |
| if | |
| i32.const 0 | |
| i32.const 24 | |
| i32.const 594 | |
| i32.const 2 | |
| call $~lib/builtins/abort | |
| unreachable | |
| end | |
| global.get $~lib/rt/tlsf/ROOT | |
| local.get $0 | |
| i32.const 16 | |
| i32.sub | |
| call $~lib/rt/tlsf/freeBlock | |
| ) | |
| (func $~lib/rt/pure/growRoots (; 23 ;) (type $FUNCSIG$v) | |
| (local $0 i32) | |
| (local $1 i32) | |
| (local $2 i32) | |
| (local $3 i32) | |
| (local $4 i32) | |
| (local $5 i32) | |
| global.get $~lib/rt/pure/ROOTS | |
| local.set $0 | |
| global.get $~lib/rt/pure/CUR | |
| local.get $0 | |
| i32.sub | |
| local.set $1 | |
| local.get $1 | |
| i32.const 2 | |
| i32.mul | |
| local.tee $2 | |
| i32.const 64 | |
| i32.const 2 | |
| i32.shl | |
| local.tee $3 | |
| local.get $2 | |
| local.get $3 | |
| i32.gt_u | |
| select | |
| local.set $4 | |
| local.get $4 | |
| i32.const 0 | |
| call $~lib/rt/tlsf/__alloc | |
| local.set $5 | |
| local.get $5 | |
| local.get $0 | |
| local.get $1 | |
| call $~lib/memory/memory.copy | |
| local.get $0 | |
| if | |
| local.get $0 | |
| call $~lib/rt/tlsf/__free | |
| end | |
| local.get $5 | |
| global.set $~lib/rt/pure/ROOTS | |
| local.get $5 | |
| local.get $1 | |
| i32.add | |
| global.set $~lib/rt/pure/CUR | |
| local.get $5 | |
| local.get $4 | |
| i32.add | |
| global.set $~lib/rt/pure/END | |
| ) | |
| (func $~lib/rt/pure/appendRoot (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) | |
| (local $1 i32) | |
| global.get $~lib/rt/pure/CUR | |
| local.set $1 | |
| local.get $1 | |
| global.get $~lib/rt/pure/END | |
| i32.ge_u | |
| if | |
| call $~lib/rt/pure/growRoots | |
| global.get $~lib/rt/pure/CUR | |
| local.set $1 | |
| end | |
| local.get $1 | |
| local.get $0 | |
| i32.store | |
| local.get $1 | |
| i32.const 4 | |
| i32.add | |
| global.set $~lib/rt/pure/CUR | |
| ) | |
| (func $~lib/rt/pure/decrement (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) | |
| (local $1 i32) | |
| (local $2 i32) | |
| local.get $0 | |
| i32.load offset=4 | |
| local.set $1 | |
| local.get $1 | |
| i32.const 268435455 | |
| i32.and | |
| local.set $2 | |
| local.get $0 | |
| i32.load | |
| i32.const 1 | |
| i32.and | |
| i32.eqz | |
| i32.eqz | |
| if | |
| i32.const 0 | |
| i32.const 128 | |
| i32.const 115 | |
| i32.const 13 | |
| call $~lib/builtins/abort | |
| unreachable | |
| end | |
| local.get $2 | |
| i32.const 1 | |
| i32.eq | |
| if | |
| local.get $0 | |
| i32.const 16 | |
| i32.add | |
| i32.const 1 | |
| call $~lib/rt/__visit_members | |
| local.get $1 | |
| i32.const -2147483648 | |
| i32.and | |
| i32.eqz | |
| if | |
| global.get $~lib/rt/tlsf/ROOT | |
| local.get $0 | |
| call $~lib/rt/tlsf/freeBlock | |
| else | |
| local.get $0 | |
| i32.const -2147483648 | |
| i32.const 0 | |
| i32.or | |
| i32.const 0 | |
| i32.or | |
| i32.store offset=4 | |
| end | |
| else | |
| local.get $2 | |
| i32.const 0 | |
| i32.gt_u | |
| i32.eqz | |
| if | |
| i32.const 0 | |
| i32.const 128 | |
| i32.const 124 | |
| i32.const 15 | |
| call $~lib/builtins/abort | |
| unreachable | |
| end | |
| local.get $0 | |
| i32.load offset=8 | |
| call $~lib/rt/__typeinfo | |
| i32.const 16 | |
| i32.and | |
| i32.eqz | |
| if | |
| local.get $0 | |
| i32.const -2147483648 | |
| i32.const 805306368 | |
| i32.or | |
| local.get $2 | |
| i32.const 1 | |
| i32.sub | |
| i32.or | |
| i32.store offset=4 | |
| local.get $1 | |
| i32.const -2147483648 | |
| i32.and | |
| i32.eqz | |
| if | |
| local.get $0 | |
| call $~lib/rt/pure/appendRoot | |
| end | |
| else | |
| local.get $0 | |
| local.get $1 | |
| i32.const 268435455 | |
| i32.const -1 | |
| i32.xor | |
| i32.and | |
| local.get $2 | |
| i32.const 1 | |
| i32.sub | |
| i32.or | |
| i32.store offset=4 | |
| end | |
| end | |
| ) | |
| (func $~lib/rt/pure/__release (; 26 ;) (type $FUNCSIG$vi) (param $0 i32) | |
| local.get $0 | |
| global.get $~lib/heap/__heap_base | |
| i32.gt_u | |
| if | |
| local.get $0 | |
| i32.const 16 | |
| i32.sub | |
| call $~lib/rt/pure/decrement | |
| end | |
| ) | |
| (func $~lib/rt/__allocArray (; 27 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) | |
| (local $4 i32) | |
| (local $5 i32) | |
| (local $6 i32) | |
| i32.const 16 | |
| local.get $2 | |
| call $~lib/rt/tlsf/__alloc | |
| local.set $4 | |
| local.get $0 | |
| local.get $1 | |
| i32.shl | |
| local.set $5 | |
| local.get $5 | |
| i32.const 0 | |
| call $~lib/rt/tlsf/__alloc | |
| local.set $6 | |
| local.get $4 | |
| local.get $6 | |
| call $~lib/rt/pure/__retain | |
| i32.store | |
| local.get $4 | |
| local.get $6 | |
| i32.store offset=4 | |
| local.get $4 | |
| local.get $5 | |
| i32.store offset=8 | |
| local.get $4 | |
| local.get $0 | |
| i32.store offset=12 | |
| local.get $3 | |
| if | |
| local.get $6 | |
| local.get $3 | |
| local.get $5 | |
| call $~lib/memory/memory.copy | |
| end | |
| local.get $4 | |
| ) | |
| (func $index/Struct#constructor (; 28 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) | |
| local.get $0 | |
| i32.eqz | |
| if | |
| i32.const 4 | |
| i32.const 3 | |
| call $~lib/rt/tlsf/__alloc | |
| call $~lib/rt/pure/__retain | |
| local.set $0 | |
| end | |
| local.get $0 | |
| i32.const 0 | |
| i32.store | |
| local.get $0 | |
| ) | |
| (func $~lib/rt/tlsf/reallocateBlock (; 29 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) | |
| (local $3 i32) | |
| (local $4 i32) | |
| (local $5 i32) | |
| (local $6 i32) | |
| (local $7 i32) | |
| (local $8 i32) | |
| local.get $2 | |
| call $~lib/rt/tlsf/prepareSize | |
| local.set $3 | |
| local.get $1 | |
| i32.load | |
| local.set $4 | |
| local.get $4 | |
| i32.const 1 | |
| i32.and | |
| i32.eqz | |
| if (result i32) | |
| local.get $1 | |
| i32.load offset=4 | |
| i32.const -268435456 | |
| i32.and | |
| i32.eqz | |
| else | |
| i32.const 0 | |
| end | |
| i32.eqz | |
| if | |
| i32.const 0 | |
| i32.const 24 | |
| i32.const 521 | |
| i32.const 4 | |
| call $~lib/builtins/abort | |
| unreachable | |
| end | |
| local.get $3 | |
| local.get $4 | |
| i32.const -4 | |
| i32.and | |
| i32.le_u | |
| if | |
| local.get $0 | |
| local.get $1 | |
| local.get $3 | |
| call $~lib/rt/tlsf/prepareBlock | |
| local.get $1 | |
| local.get $2 | |
| i32.store offset=12 | |
| local.get $1 | |
| return | |
| end | |
| local.get $1 | |
| local.set $5 | |
| local.get $5 | |
| i32.const 16 | |
| i32.add | |
| local.get $5 | |
| i32.load | |
| i32.const 3 | |
| i32.const -1 | |
| i32.xor | |
| i32.and | |
| i32.add | |
| local.set $6 | |
| local.get $6 | |
| i32.load | |
| local.set $7 | |
| local.get $7 | |
| i32.const 1 | |
| i32.and | |
| if | |
| local.get $4 | |
| i32.const 3 | |
| i32.const -1 | |
| i32.xor | |
| i32.and | |
| i32.const 16 | |
| i32.add | |
| local.get $7 | |
| i32.const 3 | |
| i32.const -1 | |
| i32.xor | |
| i32.and | |
| i32.add | |
| local.set $5 | |
| local.get $5 | |
| local.get $3 | |
| i32.ge_u | |
| if | |
| local.get $0 | |
| local.get $6 | |
| call $~lib/rt/tlsf/removeBlock | |
| local.get $1 | |
| local.get $4 | |
| i32.const 3 | |
| i32.and | |
| local.get $5 | |
| i32.or | |
| i32.store | |
| local.get $1 | |
| local.get $2 | |
| i32.store offset=12 | |
| local.get $0 | |
| local.get $1 | |
| local.get $3 | |
| call $~lib/rt/tlsf/prepareBlock | |
| local.get $1 | |
| return | |
| end | |
| end | |
| local.get $0 | |
| local.get $2 | |
| call $~lib/rt/tlsf/allocateBlock | |
| local.set $8 | |
| local.get $8 | |
| local.get $1 | |
| i32.load offset=8 | |
| i32.store offset=8 | |
| local.get $8 | |
| i32.const 16 | |
| i32.add | |
| local.get $1 | |
| i32.const 16 | |
| i32.add | |
| local.get $2 | |
| call $~lib/memory/memory.copy | |
| local.get $1 | |
| local.get $4 | |
| i32.const 1 | |
| i32.or | |
| i32.store | |
| local.get $0 | |
| local.get $1 | |
| call $~lib/rt/tlsf/insertBlock | |
| local.get $8 | |
| ) | |
| (func $~lib/rt/tlsf/__realloc (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) | |
| global.get $~lib/rt/tlsf/ROOT | |
| i32.eqz | |
| if | |
| i32.const 0 | |
| i32.const 24 | |
| i32.const 585 | |
| i32.const 13 | |
| call $~lib/builtins/abort | |
| unreachable | |
| end | |
| local.get $0 | |
| i32.const 0 | |
| i32.ne | |
| if (result i32) | |
| local.get $0 | |
| i32.const 15 | |
| i32.and | |
| i32.eqz | |
| else | |
| i32.const 0 | |
| end | |
| i32.eqz | |
| if | |
| i32.const 0 | |
| i32.const 24 | |
| i32.const 586 | |
| i32.const 2 | |
| call $~lib/builtins/abort | |
| unreachable | |
| end | |
| global.get $~lib/rt/tlsf/ROOT | |
| local.get $0 | |
| i32.const 16 | |
| i32.sub | |
| local.get $1 | |
| call $~lib/rt/tlsf/reallocateBlock | |
| i32.const 16 | |
| i32.add | |
| ) | |
| (func $~lib/memory/memory.fill (; 31 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) | |
| (local $3 i32) | |
| (local $4 i32) | |
| (local $5 i32) | |
| (local $6 i32) | |
| (local $7 i32) | |
| (local $8 i64) | |
| block $~lib/util/memory/memset|inlined.0 | |
| local.get $0 | |
| local.set $5 | |
| local.get $1 | |
| local.set $4 | |
| local.get $2 | |
| local.set $3 | |
| local.get $3 | |
| i32.eqz | |
| if | |
| br $~lib/util/memory/memset|inlined.0 | |
| end | |
| local.get $5 | |
| local.get $4 | |
| i32.store8 | |
| local.get $5 | |
| local.get $3 | |
| i32.add | |
| i32.const 1 | |
| i32.sub | |
| local.get $4 | |
| i32.store8 | |
| local.get $3 | |
| i32.const 2 | |
| i32.le_u | |
| if | |
| br $~lib/util/memory/memset|inlined.0 | |
| end | |
| local.get $5 | |
| i32.const 1 | |
| i32.add | |
| local.get $4 | |
| i32.store8 | |
| local.get $5 | |
| i32.const 2 | |
| i32.add | |
| local.get $4 | |
| i32.store8 | |
| local.get $5 | |
| local.get $3 | |
| i32.add | |
| i32.const 2 | |
| i32.sub | |
| local.get $4 | |
| i32.store8 | |
| local.get $5 | |
| local.get $3 | |
| i32.add | |
| i32.const 3 | |
| i32.sub | |
| local.get $4 | |
| i32.store8 | |
| local.get $3 | |
| i32.const 6 | |
| i32.le_u | |
| if | |
| br $~lib/util/memory/memset|inlined.0 | |
| end | |
| local.get $5 | |
| i32.const 3 | |
| i32.add | |
| local.get $4 | |
| i32.store8 | |
| local.get $5 | |
| local.get $3 | |
| i32.add | |
| i32.const 4 | |
| i32.sub | |
| local.get $4 | |
| i32.store8 | |
| local.get $3 | |
| i32.const 8 | |
| i32.le_u | |
| if | |
| br $~lib/util/memory/memset|inlined.0 | |
| end | |
| i32.const 0 | |
| local.get $5 | |
| i32.sub | |
| i32.const 3 | |
| i32.and | |
| local.set $6 | |
| local.get $5 | |
| local.get $6 | |
| i32.add | |
| local.set $5 | |
| local.get $3 | |
| local.get $6 | |
| i32.sub | |
| local.set $3 | |
| local.get $3 | |
| i32.const -4 | |
| i32.and | |
| local.set $3 | |
| i32.const -1 | |
| i32.const 255 | |
| i32.div_u | |
| local.get $4 | |
| i32.const 255 | |
| i32.and | |
| i32.mul | |
| local.set $7 | |
| local.get $5 | |
| local.get $7 | |
| i32.store | |
| local.get $5 | |
| local.get $3 | |
| i32.add | |
| i32.const 4 | |
| i32.sub | |
| local.get $7 | |
| i32.store | |
| local.get $3 | |
| i32.const 8 | |
| i32.le_u | |
| if | |
| br $~lib/util/memory/memset|inlined.0 | |
| end | |
| local.get $5 | |
| i32.const 4 | |
| i32.add | |
| local.get $7 | |
| i32.store | |
| local.get $5 | |
| i32.const 8 | |
| i32.add | |
| local.get $7 | |
| i32.store | |
| local.get $5 | |
| local.get $3 | |
| i32.add | |
| i32.const 12 | |
| i32.sub | |
| local.get $7 | |
| i32.store | |
| local.get $5 | |
| local.get $3 | |
| i32.add | |
| i32.const 8 | |
| i32.sub | |
| local.get $7 | |
| i32.store | |
| local.get $3 | |
| i32.const 24 | |
| i32.le_u | |
| if | |
| br $~lib/util/memory/memset|inlined.0 | |
| end | |
| local.get $5 | |
| i32.const 12 | |
| i32.add | |
| local.get $7 | |
| i32.store | |
| local.get $5 | |
| i32.const 16 | |
| i32.add | |
| local.get $7 | |
| i32.store | |
| local.get $5 | |
| i32.const 20 | |
| i32.add | |
| local.get $7 | |
| i32.store | |
| local.get $5 | |
| i32.const 24 | |
| i32.add | |
| local.get $7 | |
| i32.store | |
| local.get $5 | |
| local.get $3 | |
| i32.add | |
| i32.const 28 | |
| i32.sub | |
| local.get $7 | |
| i32.store | |
| local.get $5 | |
| local.get $3 | |
| i32.add | |
| i32.const 24 | |
| i32.sub | |
| local.get $7 | |
| i32.store | |
| local.get $5 | |
| local.get $3 | |
| i32.add | |
| i32.const 20 | |
| i32.sub | |
| local.get $7 | |
| i32.store | |
| local.get $5 | |
| local.get $3 | |
| i32.add | |
| i32.const 16 | |
| i32.sub | |
| local.get $7 | |
| i32.store | |
| i32.const 24 | |
| local.get $5 | |
| i32.const 4 | |
| i32.and | |
| i32.add | |
| local.set $6 | |
| local.get $5 | |
| local.get $6 | |
| i32.add | |
| local.set $5 | |
| local.get $3 | |
| local.get $6 | |
| i32.sub | |
| local.set $3 | |
| local.get $7 | |
| i64.extend_i32_u | |
| local.get $7 | |
| i64.extend_i32_u | |
| i64.const 32 | |
| i64.shl | |
| i64.or | |
| local.set $8 | |
| block $break|0 | |
| loop $continue|0 | |
| local.get $3 | |
| i32.const 32 | |
| i32.ge_u | |
| i32.eqz | |
| br_if $break|0 | |
| local.get $5 | |
| local.get $8 | |
| i64.store | |
| local.get $5 | |
| i32.const 8 | |
| i32.add | |
| local.get $8 | |
| i64.store | |
| local.get $5 | |
| i32.const 16 | |
| i32.add | |
| local.get $8 | |
| i64.store | |
| local.get $5 | |
| i32.const 24 | |
| i32.add | |
| local.get $8 | |
| i64.store | |
| local.get $3 | |
| i32.const 32 | |
| i32.sub | |
| local.set $3 | |
| local.get $5 | |
| i32.const 32 | |
| i32.add | |
| local.set $5 | |
| br $continue|0 | |
| end | |
| unreachable | |
| end | |
| end | |
| ) | |
| (func $~lib/array/ensureSize (; 32 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) | |
| (local $3 i32) | |
| (local $4 i32) | |
| (local $5 i32) | |
| (local $6 i32) | |
| local.get $0 | |
| i32.load offset=8 | |
| local.set $3 | |
| local.get $1 | |
| local.get $3 | |
| local.get $2 | |
| i32.shr_u | |
| i32.gt_u | |
| if | |
| local.get $1 | |
| i32.const 1073741808 | |
| local.get $2 | |
| i32.shr_u | |
| i32.gt_u | |
| if | |
| i32.const 288 | |
| i32.const 336 | |
| i32.const 14 | |
| i32.const 47 | |
| call $~lib/builtins/abort | |
| unreachable | |
| end | |
| local.get $0 | |
| i32.load | |
| local.set $4 | |
| local.get $1 | |
| local.get $2 | |
| i32.shl | |
| local.set $5 | |
| local.get $4 | |
| local.get $5 | |
| call $~lib/rt/tlsf/__realloc | |
| local.set $6 | |
| local.get $6 | |
| local.get $3 | |
| i32.add | |
| i32.const 0 | |
| local.get $5 | |
| local.get $3 | |
| i32.sub | |
| call $~lib/memory/memory.fill | |
| local.get $6 | |
| local.get $4 | |
| i32.ne | |
| if | |
| local.get $0 | |
| local.get $6 | |
| call $~lib/rt/pure/__retain | |
| i32.store | |
| local.get $0 | |
| local.get $6 | |
| i32.store offset=4 | |
| end | |
| local.get $0 | |
| local.get $5 | |
| i32.store offset=8 | |
| end | |
| ) | |
| (func $~lib/array/Array<index/Struct>#push (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) | |
| (local $2 i32) | |
| (local $3 i32) | |
| (local $4 i32) | |
| local.get $1 | |
| call $~lib/rt/pure/__retain | |
| drop | |
| local.get $0 | |
| i32.load offset=12 | |
| local.set $2 | |
| local.get $2 | |
| i32.const 1 | |
| i32.add | |
| local.set $3 | |
| local.get $0 | |
| local.get $3 | |
| i32.const 2 | |
| call $~lib/array/ensureSize | |
| local.get $0 | |
| i32.load offset=4 | |
| local.get $2 | |
| i32.const 2 | |
| i32.shl | |
| i32.add | |
| local.get $1 | |
| call $~lib/rt/pure/__retain | |
| i32.store | |
| local.get $0 | |
| local.get $3 | |
| i32.store offset=12 | |
| local.get $3 | |
| local.set $4 | |
| local.get $1 | |
| call $~lib/rt/pure/__release | |
| local.get $4 | |
| ) | |
| (func $~lib/array/Array<index/Struct>#get:length (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) | |
| local.get $0 | |
| i32.load offset=12 | |
| ) | |
| (func $~lib/array/Array<index/Struct>#__unchecked_get (; 35 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) | |
| local.get $0 | |
| i32.load offset=4 | |
| local.get $1 | |
| i32.const 2 | |
| i32.shl | |
| i32.add | |
| i32.load | |
| call $~lib/rt/pure/__retain | |
| ) | |
| (func $~lib/array/Array<index/Struct>#__get (; 36 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) | |
| (local $2 i32) | |
| local.get $1 | |
| local.get $0 | |
| i32.load offset=12 | |
| i32.ge_u | |
| if | |
| i32.const 176 | |
| i32.const 336 | |
| i32.const 92 | |
| i32.const 41 | |
| call $~lib/builtins/abort | |
| unreachable | |
| end | |
| local.get $0 | |
| local.get $1 | |
| call $~lib/array/Array<index/Struct>#__unchecked_get | |
| local.set $2 | |
| local.get $2 | |
| i32.eqz | |
| if | |
| local.get $2 | |
| call $~lib/rt/pure/__release | |
| i32.const 384 | |
| i32.const 336 | |
| i32.const 96 | |
| i32.const 39 | |
| call $~lib/builtins/abort | |
| unreachable | |
| end | |
| local.get $2 | |
| ) | |
| (func $index/main (; 37 ;) (type $FUNCSIG$i) (result i32) | |
| (local $0 i32) | |
| (local $1 i32) | |
| (local $2 i32) | |
| (local $3 i32) | |
| (local $4 i32) | |
| (local $5 i32) | |
| (local $6 i32) | |
| (local $7 i32) | |
| (local $8 i32) | |
| (local $9 i32) | |
| i32.const 0 | |
| local.set $0 | |
| i32.const 0 | |
| i32.const 2 | |
| i32.const 4 | |
| i32.const 272 | |
| call $~lib/rt/__allocArray | |
| call $~lib/rt/pure/__retain | |
| local.tee $2 | |
| call $~lib/rt/pure/__retain | |
| local.set $1 | |
| local.get $1 | |
| i32.const 0 | |
| call $index/Struct#constructor | |
| local.tee $3 | |
| call $~lib/array/Array<index/Struct>#push | |
| drop | |
| local.get $1 | |
| i32.const 0 | |
| call $index/Struct#constructor | |
| local.tee $4 | |
| call $~lib/array/Array<index/Struct>#push | |
| drop | |
| local.get $1 | |
| call $~lib/array/Array<index/Struct>#get:length | |
| local.set $5 | |
| block $break|0 | |
| i32.const 0 | |
| local.set $6 | |
| loop $loop|0 | |
| local.get $6 | |
| local.get $5 | |
| i32.lt_s | |
| i32.eqz | |
| br_if $break|0 | |
| local.get $1 | |
| local.get $6 | |
| call $~lib/array/Array<index/Struct>#__get | |
| local.set $7 | |
| block $break|1 | |
| i32.const 0 | |
| local.set $8 | |
| loop $loop|1 | |
| local.get $8 | |
| local.get $5 | |
| i32.lt_s | |
| i32.eqz | |
| br_if $break|1 | |
| block $continue|1 | |
| local.get $1 | |
| local.get $8 | |
| call $~lib/array/Array<index/Struct>#__get | |
| local.set $9 | |
| local.get $6 | |
| i32.const 0 | |
| i32.ge_s | |
| if | |
| local.get $9 | |
| call $~lib/rt/pure/__release | |
| br $continue|1 | |
| end | |
| local.get $0 | |
| i32.const 1 | |
| i32.add | |
| local.set $0 | |
| end | |
| local.get $8 | |
| i32.const 1 | |
| i32.add | |
| local.set $8 | |
| local.get $9 | |
| call $~lib/rt/pure/__release | |
| br $loop|1 | |
| end | |
| unreachable | |
| end | |
| local.get $6 | |
| i32.const 1 | |
| i32.add | |
| local.set $6 | |
| local.get $7 | |
| call $~lib/rt/pure/__release | |
| br $loop|0 | |
| end | |
| unreachable | |
| end | |
| local.get $0 | |
| local.set $7 | |
| local.get $2 | |
| call $~lib/rt/pure/__release | |
| local.get $1 | |
| call $~lib/rt/pure/__release | |
| local.get $3 | |
| call $~lib/rt/pure/__release | |
| local.get $4 | |
| call $~lib/rt/pure/__release | |
| local.get $7 | |
| ) | |
| (func $start (; 38 ;) (type $FUNCSIG$v) | |
| ) | |
| (func $~lib/rt/pure/__visit (; 39 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) | |
| (local $2 i32) | |
| (local $3 i32) | |
| local.get $0 | |
| global.get $~lib/heap/__heap_base | |
| i32.lt_u | |
| if | |
| return | |
| end | |
| local.get $0 | |
| i32.const 16 | |
| i32.sub | |
| local.set $2 | |
| block $break|0 | |
| block $case5|0 | |
| block $case4|0 | |
| block $case3|0 | |
| block $case2|0 | |
| block $case1|0 | |
| block $case0|0 | |
| local.get $1 | |
| local.set $3 | |
| local.get $3 | |
| i32.const 1 | |
| i32.eq | |
| br_if $case0|0 | |
| local.get $3 | |
| i32.const 2 | |
| i32.eq | |
| br_if $case1|0 | |
| local.get $3 | |
| i32.const 3 | |
| i32.eq | |
| br_if $case2|0 | |
| local.get $3 | |
| i32.const 4 | |
| i32.eq | |
| br_if $case3|0 | |
| local.get $3 | |
| i32.const 5 | |
| i32.eq | |
| br_if $case4|0 | |
| br $case5|0 | |
| end | |
| local.get $2 | |
| call $~lib/rt/pure/decrement | |
| br $break|0 | |
| end | |
| local.get $2 | |
| i32.load offset=4 | |
| i32.const 268435455 | |
| i32.and | |
| i32.const 0 | |
| i32.gt_u | |
| i32.eqz | |
| if | |
| i32.const 0 | |
| i32.const 128 | |
| i32.const 75 | |
| i32.const 17 | |
| call $~lib/builtins/abort | |
| unreachable | |
| end | |
| local.get $2 | |
| local.get $2 | |
| i32.load offset=4 | |
| i32.const 1 | |
| i32.sub | |
| i32.store offset=4 | |
| local.get $2 | |
| call $~lib/rt/pure/markGray | |
| br $break|0 | |
| end | |
| local.get $2 | |
| call $~lib/rt/pure/scan | |
| br $break|0 | |
| end | |
| local.get $2 | |
| i32.load offset=4 | |
| local.set $3 | |
| local.get $3 | |
| i32.const -268435456 | |
| i32.and | |
| local.get $3 | |
| i32.const 1 | |
| i32.add | |
| i32.const -268435456 | |
| i32.and | |
| i32.eq | |
| i32.eqz | |
| if | |
| i32.const 0 | |
| i32.const 128 | |
| i32.const 86 | |
| i32.const 6 | |
| call $~lib/builtins/abort | |
| unreachable | |
| end | |
| local.get $2 | |
| local.get $3 | |
| i32.const 1 | |
| i32.add | |
| i32.store offset=4 | |
| local.get $3 | |
| i32.const 1879048192 | |
| i32.and | |
| i32.const 0 | |
| i32.ne | |
| if | |
| local.get $2 | |
| call $~lib/rt/pure/scanBlack | |
| end | |
| br $break|0 | |
| end | |
| local.get $2 | |
| call $~lib/rt/pure/collectWhite | |
| br $break|0 | |
| end | |
| i32.const 0 | |
| i32.eqz | |
| if | |
| i32.const 0 | |
| i32.const 128 | |
| i32.const 97 | |
| i32.const 24 | |
| call $~lib/builtins/abort | |
| unreachable | |
| end | |
| end | |
| ) | |
| (func $~lib/array/Array<index/Struct>#__visit_impl (; 40 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) | |
| (local $2 i32) | |
| (local $3 i32) | |
| (local $4 i32) | |
| local.get $0 | |
| i32.load offset=4 | |
| local.set $2 | |
| local.get $2 | |
| local.get $0 | |
| i32.load offset=12 | |
| i32.const 2 | |
| i32.shl | |
| i32.add | |
| local.set $3 | |
| block $break|0 | |
| loop $continue|0 | |
| local.get $2 | |
| local.get $3 | |
| i32.lt_u | |
| i32.eqz | |
| br_if $break|0 | |
| local.get $2 | |
| i32.load | |
| local.set $4 | |
| local.get $4 | |
| if | |
| local.get $4 | |
| local.get $1 | |
| call $~lib/rt/pure/__visit | |
| end | |
| local.get $2 | |
| i32.const 4 | |
| i32.add | |
| local.set $2 | |
| br $continue|0 | |
| end | |
| unreachable | |
| end | |
| ) | |
| (func $~lib/array/Array<i32>#__visit_impl (; 41 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) | |
| nop | |
| ) | |
| (func $~lib/rt/__visit_members (; 42 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) | |
| (local $2 i32) | |
| block $block$4$break | |
| block $switch$1$default | |
| block $switch$1$case$7 | |
| block $switch$1$case$6 | |
| block $switch$1$case$4 | |
| block $switch$1$case$2 | |
| local.get $0 | |
| i32.const 8 | |
| i32.sub | |
| i32.load | |
| br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$2 $switch$1$case$6 $switch$1$case$7 $switch$1$default | |
| end | |
| return | |
| end | |
| br $block$4$break | |
| end | |
| local.get $0 | |
| local.get $1 | |
| call $~lib/array/Array<index/Struct>#__visit_impl | |
| br $block$4$break | |
| end | |
| local.get $0 | |
| local.get $1 | |
| call $~lib/array/Array<i32>#__visit_impl | |
| br $block$4$break | |
| end | |
| unreachable | |
| end | |
| local.get $0 | |
| i32.load | |
| local.tee $2 | |
| if | |
| local.get $2 | |
| local.get $1 | |
| call $~lib/rt/pure/__visit | |
| end | |
| return | |
| ) | |
| (func $null (; 43 ;) (type $FUNCSIG$v) | |
| ) | |
| (func $Struct#get:a (; 44 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) | |
| local.get $0 | |
| i32.load | |
| ) | |
| (func $Struct#set:a (; 45 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) | |
| local.get $0 | |
| local.get $1 | |
| i32.store | |
| ) | |
| ) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment