(module (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$v (func)) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 8) "\11\00\00\00 \00\00\00\00\00\00\00\00\00\00\00r\00u\00n\00t\00i\00m\00e\00/\00f\00l\00a\00g\00s\00.\00t\00s\00") (data (i32.const 56) "\11\00\00\00,\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00/\00t\00l\00s\00f\00.\00t\00s\00") (data (i32.const 120) "\11\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") (data (i32.const 176) ";\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\19\00\00\00\0f\00\00\00)\00\00\00\0f\00\00\00I\00\00\00\0f\00\00\00\89\00\00\00\0f\00\00\00\t\01\00\00\0f\00\00\00\08\00\00\00\00\00\00\00I\04\00\00\0f\00\00\00I\06\00\00\0f\00\00\00\1a\00\00\00\00\00\00\00*\00\00\00\00\00\00\00J\00\00\00\00\00\00\00\8a\00\00\00\00\00\00\00\n\01\00\00\00\00\00\00J\04\00\00\00\00\00\00J\06\00\00\00\00\00\00\1c\80\00\00\00\00\00\00,@\00\00\00\00\00\00L \00\00\00\00\00\00\8c\10\00\00\00\00\00\00\0c\t\00\00\00\00\00\00\1c \02\00\00\00\00\00\1c \03\00\00\00\00\00L\0c\00\00\00\00\00\00L\0e\00\00\00\00\00\00L&\03\00\00\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00A\04\00\00\0f\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00B\04\00\00\00\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00D \02\00\00\00\00\00\00\00\00\00\00\00\00\00D$\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $runtime/flags/VALUE_ALIGN_REF i32 (i32.const 64)) (global $runtime/flags/KEY_ALIGN_REF i32 (i32.const 8192)) (global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 16)) (global $~lib/allocator/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/util/runtime/HEADER_MAGIC i32 (i32.const -1520547049)) (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) (global $~lib/collector/itcm/state (mut i32) (i32.const 0)) (global $~lib/collector/itcm/fromSpace (mut i32) (i32.const 0)) (global $~lib/collector/itcm/toSpace (mut i32) (i32.const 0)) (global $~lib/collector/itcm/iter (mut i32) (i32.const 0)) (global $~lib/collector/itcm/white (mut i32) (i32.const 0)) (global $~lib/runtime/ROOT (mut i32) (i32.const 0)) (global $~lib/runtime/RTTI_BASE i32 (i32.const 176)) (global $~lib/memory/HEAP_BASE i32 (i32.const 656)) (export "memory" (memory $0)) (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) (export "$.flags" (func $~lib/runtime/runtime.flags)) (export "$.newObject" (func $~lib/runtime/runtime.newObject)) (export "$.newString" (func $~lib/runtime/runtime.newString)) (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) (export "$.newArray" (func $~lib/runtime/runtime.newArray)) (export "$.retain" (func $~lib/runtime/runtime.retain)) (export "$.release" (func $~lib/runtime/runtime.release)) (export "$.collect" (func $~lib/runtime/runtime.collect)) (start $start) (func $~lib/runtime/runtime.flags (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) global.get $~lib/runtime/RTTI_BASE local.set $1 local.get $0 i32.eqz if (result i32) i32.const 1 else local.get $0 local.get $1 i32.load i32.gt_u end if (result i32) unreachable else local.get $1 local.get $0 i32.const 8 i32.mul i32.add i32.load end ) (func $runtime/flags/test<~lib/array/Array> (; 2 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 18 call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 i32.const 5 i32.const 2 call $~lib/builtins/abort unreachable end ) (func $runtime/flags/test<~lib/array/Array> (; 3 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 19 call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 i32.const 5 i32.const 2 call $~lib/builtins/abort unreachable end ) (func $runtime/flags/test<~lib/array/Array> (; 4 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 20 call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 i32.const 5 i32.const 2 call $~lib/builtins/abort unreachable end ) (func $runtime/flags/test<~lib/array/Array> (; 5 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 21 call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 i32.const 5 i32.const 2 call $~lib/builtins/abort unreachable end ) (func $runtime/flags/test<~lib/array/Array> (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 22 call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 i32.const 5 i32.const 2 call $~lib/builtins/abort unreachable end ) (func $runtime/flags/test<~lib/array/Array> (; 7 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 24 call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 i32.const 5 i32.const 2 call $~lib/builtins/abort unreachable end ) (func $runtime/flags/test<~lib/array/Array> (; 8 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 25 call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 i32.const 5 i32.const 2 call $~lib/builtins/abort unreachable end ) (func $runtime/flags/test<~lib/set/Set> (; 9 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 26 call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 i32.const 5 i32.const 2 call $~lib/builtins/abort unreachable end ) (func $runtime/flags/test<~lib/set/Set> (; 10 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 27 call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 i32.const 5 i32.const 2 call $~lib/builtins/abort unreachable end ) (func $runtime/flags/test<~lib/set/Set> (; 11 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 28 call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 i32.const 5 i32.const 2 call $~lib/builtins/abort unreachable end ) (func $runtime/flags/test<~lib/set/Set> (; 12 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 29 call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 i32.const 5 i32.const 2 call $~lib/builtins/abort unreachable end ) (func $runtime/flags/test<~lib/set/Set> (; 13 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 30 call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 i32.const 5 i32.const 2 call $~lib/builtins/abort unreachable end ) (func $runtime/flags/test<~lib/set/Set> (; 14 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 31 call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 i32.const 5 i32.const 2 call $~lib/builtins/abort unreachable end ) (func $runtime/flags/test<~lib/set/Set> (; 15 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 32 call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 i32.const 5 i32.const 2 call $~lib/builtins/abort unreachable end ) (func $runtime/flags/test<~lib/map/Map> (; 16 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 33 call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 i32.const 5 i32.const 2 call $~lib/builtins/abort unreachable end ) (func $runtime/flags/test<~lib/map/Map> (; 17 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 34 call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 i32.const 5 i32.const 2 call $~lib/builtins/abort unreachable end ) (func $runtime/flags/test<~lib/map/Map> (; 18 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 35 call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 i32.const 5 i32.const 2 call $~lib/builtins/abort unreachable end ) (func $runtime/flags/test<~lib/map/Map> (; 19 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 36 call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 i32.const 5 i32.const 2 call $~lib/builtins/abort unreachable end ) (func $runtime/flags/test<~lib/map/Map> (; 20 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 37 call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 i32.const 5 i32.const 2 call $~lib/builtins/abort unreachable end ) (func $runtime/flags/test<~lib/map/Map> (; 21 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 38 call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 i32.const 5 i32.const 2 call $~lib/builtins/abort unreachable end ) (func $runtime/flags/test<~lib/map/Map> (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 39 call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 i32.const 5 i32.const 2 call $~lib/builtins/abort unreachable end ) (func $runtime/flags/test<~lib/map/Map> (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 40 call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 i32.const 5 i32.const 2 call $~lib/builtins/abort unreachable end ) (func $runtime/flags/test<~lib/map/Map> (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 41 call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 i32.const 5 i32.const 2 call $~lib/builtins/abort unreachable end ) (func $runtime/flags/test<~lib/map/Map> (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 42 call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 i32.const 5 i32.const 2 call $~lib/builtins/abort unreachable end ) (func $runtime/flags/test (; 26 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 43 call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 i32.const 5 i32.const 2 call $~lib/builtins/abort unreachable end ) (func $runtime/flags/test (; 27 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 44 call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 i32.const 5 i32.const 2 call $~lib/builtins/abort unreachable end ) (func $runtime/flags/test (; 28 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 45 call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 i32.const 5 i32.const 2 call $~lib/builtins/abort unreachable end ) (func $runtime/flags/test (; 29 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 47 call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 i32.const 5 i32.const 2 call $~lib/builtins/abort unreachable end ) (func $runtime/flags/test (; 30 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 49 call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 i32.const 5 i32.const 2 call $~lib/builtins/abort unreachable end ) (func $runtime/flags/test (; 31 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 50 call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 i32.const 5 i32.const 2 call $~lib/builtins/abort unreachable end ) (func $runtime/flags/test (; 32 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 52 call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 i32.const 5 i32.const 2 call $~lib/builtins/abort unreachable end ) (func $runtime/flags/test (; 33 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 53 call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 i32.const 5 i32.const 2 call $~lib/builtins/abort unreachable end ) (func $runtime/flags/test (; 34 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 55 call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 i32.const 5 i32.const 2 call $~lib/builtins/abort unreachable end ) (func $runtime/flags/test (; 35 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 57 call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 i32.const 5 i32.const 2 call $~lib/builtins/abort unreachable end ) (func $runtime/flags/test (; 36 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 58 call $~lib/runtime/runtime.flags local.get $0 i32.eq i32.eqz if i32.const 0 i32.const 24 i32.const 5 i32.const 2 call $~lib/builtins/abort unreachable end ) (func $start:runtime/flags (; 37 ;) (type $FUNCSIG$v) i32.const 1 i32.const 8 i32.or i32.const 16 i32.or call $runtime/flags/test<~lib/array/Array> i32.const 1 i32.const 8 i32.or i32.const 32 i32.or call $runtime/flags/test<~lib/array/Array> i32.const 1 i32.const 8 i32.or i32.const 64 i32.or call $runtime/flags/test<~lib/array/Array> i32.const 1 i32.const 8 i32.or i32.const 128 i32.or call $runtime/flags/test<~lib/array/Array> i32.const 1 i32.const 8 i32.or i32.const 256 i32.or call $runtime/flags/test<~lib/array/Array> i32.const 1 i32.const 8 i32.or global.get $runtime/flags/VALUE_ALIGN_REF i32.or i32.const 1024 i32.or call $runtime/flags/test<~lib/array/Array> i32.const 1 i32.const 8 i32.or global.get $runtime/flags/VALUE_ALIGN_REF i32.or i32.const 512 i32.or i32.const 1024 i32.or call $runtime/flags/test<~lib/array/Array> i32.const 2 i32.const 8 i32.or i32.const 16 i32.or call $runtime/flags/test<~lib/set/Set> i32.const 2 i32.const 8 i32.or i32.const 32 i32.or call $runtime/flags/test<~lib/set/Set> i32.const 2 i32.const 8 i32.or i32.const 64 i32.or call $runtime/flags/test<~lib/set/Set> i32.const 2 i32.const 8 i32.or i32.const 128 i32.or call $runtime/flags/test<~lib/set/Set> i32.const 2 i32.const 8 i32.or i32.const 256 i32.or call $runtime/flags/test<~lib/set/Set> i32.const 2 i32.const 8 i32.or global.get $runtime/flags/VALUE_ALIGN_REF i32.or i32.const 1024 i32.or call $runtime/flags/test<~lib/set/Set> i32.const 2 i32.const 8 i32.or global.get $runtime/flags/VALUE_ALIGN_REF i32.or i32.const 512 i32.or i32.const 1024 i32.or call $runtime/flags/test<~lib/set/Set> i32.const 4 i32.const 8 i32.or i32.const 32768 i32.or i32.const 16 i32.or call $runtime/flags/test<~lib/map/Map> i32.const 4 i32.const 8 i32.or i32.const 16384 i32.or i32.const 32 i32.or call $runtime/flags/test<~lib/map/Map> i32.const 4 i32.const 8 i32.or i32.const 8192 i32.or i32.const 64 i32.or call $runtime/flags/test<~lib/map/Map> i32.const 4 i32.const 8 i32.or i32.const 4096 i32.or i32.const 128 i32.or call $runtime/flags/test<~lib/map/Map> i32.const 4 i32.const 8 i32.or i32.const 2048 i32.or i32.const 256 i32.or call $runtime/flags/test<~lib/map/Map> i32.const 4 i32.const 8 i32.or global.get $runtime/flags/KEY_ALIGN_REF i32.or i32.const 131072 i32.or i32.const 16 i32.or call $runtime/flags/test<~lib/map/Map> i32.const 4 i32.const 8 i32.or global.get $runtime/flags/KEY_ALIGN_REF i32.or i32.const 65536 i32.or i32.const 131072 i32.or i32.const 16 i32.or call $runtime/flags/test<~lib/map/Map> i32.const 4 i32.const 8 i32.or i32.const 2048 i32.or i32.const 1024 i32.or global.get $runtime/flags/VALUE_ALIGN_REF i32.or call $runtime/flags/test<~lib/map/Map> i32.const 4 i32.const 8 i32.or i32.const 2048 i32.or i32.const 512 i32.or i32.const 1024 i32.or global.get $runtime/flags/VALUE_ALIGN_REF i32.or call $runtime/flags/test<~lib/map/Map> i32.const 4 i32.const 8 i32.or i32.const 65536 i32.or i32.const 131072 i32.or global.get $runtime/flags/KEY_ALIGN_REF i32.or i32.const 512 i32.or i32.const 1024 i32.or global.get $runtime/flags/VALUE_ALIGN_REF i32.or call $runtime/flags/test<~lib/map/Map> i32.const 8 call $runtime/flags/test i32.const 0 call $runtime/flags/test i32.const 0 call $runtime/flags/test i32.const 0 call $runtime/flags/test i32.const 8 call $runtime/flags/test i32.const 0 call $runtime/flags/test i32.const 8 call $runtime/flags/test i32.const 0 call $runtime/flags/test i32.const 0 call $runtime/flags/test i32.const 8 call $runtime/flags/test i32.const 8 call $runtime/flags/test ) (func $~lib/runtime/runtime.instanceof (; 38 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 global.get $~lib/util/runtime/HEADER_SIZE i32.sub i32.load local.set $2 global.get $~lib/runtime/RTTI_BASE local.set $3 local.get $2 if (result i32) local.get $2 local.get $3 i32.load i32.le_u else i32.const 0 end if loop $continue|0 local.get $2 local.get $1 i32.eq if i32.const 1 return end local.get $3 local.get $2 i32.const 8 i32.mul i32.add i32.load offset=4 local.tee $2 br_if $continue|0 end end i32.const 0 ) (func $~lib/util/runtime/adjust (; 39 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 i32.const 32 local.get $0 global.get $~lib/util/runtime/HEADER_SIZE i32.add i32.const 1 i32.sub i32.clz i32.sub i32.shl ) (func $~lib/allocator/tlsf/Root#set:tailRef (; 40 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=2912 ) (func $~lib/allocator/tlsf/Root#setSLMap (; 41 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 i32.const 22 i32.lt_u i32.eqz if i32.const 0 i32.const 72 i32.const 165 i32.const 4 call $~lib/builtins/abort unreachable end local.get $0 local.get $1 i32.const 4 i32.mul i32.add local.get $2 i32.store offset=4 ) (func $~lib/allocator/tlsf/Root#setHead (; 42 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) local.get $1 i32.const 22 i32.lt_u if (result i32) local.get $2 i32.const 32 i32.lt_u else i32.const 0 end i32.eqz if i32.const 0 i32.const 72 i32.const 189 i32.const 4 call $~lib/builtins/abort unreachable end local.get $0 local.get $1 i32.const 32 i32.mul local.get $2 i32.add i32.const 4 i32.mul i32.add local.get $3 i32.store offset=96 ) (func $~lib/allocator/tlsf/Root#get:tailRef (; 43 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=2912 ) (func $~lib/allocator/tlsf/Block#get:right (; 44 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.load i32.const 3 i32.const -1 i32.xor i32.and i32.eqz if i32.const 0 i32.const 72 i32.const 110 i32.const 4 call $~lib/builtins/abort unreachable end local.get $0 i32.const 8 i32.add local.get $0 i32.load i32.const 3 i32.const -1 i32.xor i32.and i32.add local.tee $1 i32.eqz if (result i32) i32.const 0 i32.const 72 i32.const 111 i32.const 11 call $~lib/builtins/abort unreachable else local.get $1 end ) (func $~lib/allocator/tlsf/fls (; 45 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 0 i32.ne i32.eqz if i32.const 0 i32.const 72 i32.const 452 i32.const 2 call $~lib/builtins/abort unreachable end i32.const 31 local.get $0 i32.clz i32.sub ) (func $~lib/allocator/tlsf/Root#getHead (; 46 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $1 i32.const 22 i32.lt_u if (result i32) local.get $2 i32.const 32 i32.lt_u else i32.const 0 end i32.eqz if i32.const 0 i32.const 72 i32.const 181 i32.const 4 call $~lib/builtins/abort unreachable end local.get $0 local.get $1 i32.const 32 i32.mul local.get $2 i32.add i32.const 4 i32.mul i32.add i32.load offset=96 ) (func $~lib/allocator/tlsf/Root#getSLMap (; 47 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 i32.const 22 i32.lt_u i32.eqz if i32.const 0 i32.const 72 i32.const 159 i32.const 4 call $~lib/builtins/abort unreachable end local.get $0 local.get $1 i32.const 4 i32.mul i32.add i32.load offset=4 ) (func $~lib/allocator/tlsf/Root#remove (; 48 ;) (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.get $1 i32.load local.set $2 local.get $2 i32.const 1 i32.and i32.eqz if i32.const 0 i32.const 72 i32.const 276 i32.const 4 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 1073741824 i32.lt_u else i32.const 0 end i32.eqz if i32.const 0 i32.const 72 i32.const 278 i32.const 4 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 8 i32.div_u local.set $5 else local.get $3 call $~lib/allocator/tlsf/fls local.set $4 local.get $3 local.get $4 i32.const 5 i32.sub i32.shr_u i32.const 1 i32.const 5 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 $1 i32.load offset=4 local.set $6 local.get $1 i32.load offset=8 local.set $7 local.get $6 if local.get $6 local.get $7 i32.store offset=8 end local.get $7 if local.get $7 local.get $6 i32.store offset=4 end local.get $1 local.get $0 local.get $4 local.get $5 call $~lib/allocator/tlsf/Root#getHead i32.eq if local.get $0 local.get $4 local.get $5 local.get $7 call $~lib/allocator/tlsf/Root#setHead local.get $7 i32.eqz if local.get $0 local.get $4 call $~lib/allocator/tlsf/Root#getSLMap local.set $8 local.get $0 local.get $4 local.get $8 i32.const 1 local.get $5 i32.shl i32.const -1 i32.xor i32.and local.tee $8 call $~lib/allocator/tlsf/Root#setSLMap local.get $8 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/allocator/tlsf/Block#get:left (; 49 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.load i32.const 2 i32.and i32.eqz if i32.const 0 i32.const 72 i32.const 102 i32.const 4 call $~lib/builtins/abort unreachable end local.get $0 i32.const 4 i32.sub i32.load local.tee $1 i32.eqz if (result i32) i32.const 0 i32.const 72 i32.const 103 i32.const 11 call $~lib/builtins/abort unreachable else local.get $1 end ) (func $~lib/allocator/tlsf/Root#setJump (; 50 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 i32.load i32.const 1 i32.and i32.const 0 i32.ne if (result i32) local.get $1 call $~lib/allocator/tlsf/Block#get:right local.get $2 i32.eq else i32.const 0 end if (result i32) local.get $2 i32.load i32.const 2 i32.and i32.const 0 i32.ne else i32.const 0 end i32.eqz if i32.const 0 i32.const 72 i32.const 352 i32.const 4 call $~lib/builtins/abort unreachable end local.get $2 i32.const 4 i32.sub local.get $1 i32.store ) (func $~lib/allocator/tlsf/Root#insert (; 51 ;) (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.get $1 i32.eqz if i32.const 0 i32.const 72 i32.const 211 i32.const 4 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 72 i32.const 213 i32.const 4 call $~lib/builtins/abort unreachable end local.get $1 call $~lib/allocator/tlsf/Block#get:right local.set $3 local.get $3 i32.load local.set $4 local.get $4 i32.const 1 i32.and if local.get $0 local.get $3 call $~lib/allocator/tlsf/Root#remove local.get $1 local.get $2 i32.const 8 local.get $4 i32.const 3 i32.const -1 i32.xor i32.and i32.add i32.add local.tee $2 i32.store local.get $1 call $~lib/allocator/tlsf/Block#get:right local.set $3 local.get $3 i32.load local.set $4 end local.get $2 i32.const 2 i32.and if local.get $1 call $~lib/allocator/tlsf/Block#get:left local.set $5 local.get $5 i32.load local.set $6 local.get $6 i32.const 1 i32.and i32.eqz if i32.const 0 i32.const 72 i32.const 231 i32.const 6 call $~lib/builtins/abort unreachable end local.get $0 local.get $5 call $~lib/allocator/tlsf/Root#remove local.get $5 local.get $6 i32.const 8 local.get $2 i32.const 3 i32.const -1 i32.xor i32.and i32.add i32.add local.tee $6 i32.store local.get $5 local.set $1 local.get $6 local.set $2 end local.get $3 local.get $4 i32.const 2 i32.or i32.store local.get $0 local.get $1 local.get $3 call $~lib/allocator/tlsf/Root#setJump local.get $2 i32.const 3 i32.const -1 i32.xor i32.and local.set $7 local.get $7 i32.const 16 i32.ge_u if (result i32) local.get $7 i32.const 1073741824 i32.lt_u else i32.const 0 end i32.eqz if i32.const 0 i32.const 72 i32.const 244 i32.const 4 call $~lib/builtins/abort unreachable end local.get $7 i32.const 256 i32.lt_u if i32.const 0 local.set $8 local.get $7 i32.const 8 i32.div_u local.set $9 else local.get $7 call $~lib/allocator/tlsf/fls local.set $8 local.get $7 local.get $8 i32.const 5 i32.sub i32.shr_u i32.const 1 i32.const 5 i32.shl i32.xor local.set $9 local.get $8 i32.const 8 i32.const 1 i32.sub i32.sub local.set $8 end local.get $0 local.get $8 local.get $9 call $~lib/allocator/tlsf/Root#getHead local.set $10 local.get $1 i32.const 0 i32.store offset=4 local.get $1 local.get $10 i32.store offset=8 local.get $10 if local.get $10 local.get $1 i32.store offset=4 end local.get $0 local.get $8 local.get $9 local.get $1 call $~lib/allocator/tlsf/Root#setHead local.get $0 local.get $0 i32.load i32.const 1 local.get $8 i32.shl i32.or i32.store local.get $0 local.get $8 local.get $0 local.get $8 call $~lib/allocator/tlsf/Root#getSLMap i32.const 1 local.get $9 i32.shl i32.or call $~lib/allocator/tlsf/Root#setSLMap ) (func $~lib/allocator/tlsf/Root#addMemory (; 52 ;) (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 $1 local.get $2 i32.le_u if (result i32) local.get $1 i32.const 7 i32.and i32.eqz else i32.const 0 end if (result i32) local.get $2 i32.const 7 i32.and i32.eqz else i32.const 0 end i32.eqz if i32.const 0 i32.const 72 i32.const 399 i32.const 4 call $~lib/builtins/abort unreachable end local.get $0 call $~lib/allocator/tlsf/Root#get:tailRef local.set $3 i32.const 0 local.set $4 local.get $3 if local.get $1 local.get $3 i32.const 8 i32.add i32.ge_u i32.eqz if i32.const 0 i32.const 72 i32.const 408 i32.const 6 call $~lib/builtins/abort unreachable end local.get $1 i32.const 8 i32.sub local.get $3 i32.eq if local.get $1 i32.const 8 i32.sub local.set $1 local.get $3 i32.load local.set $4 end else local.get $1 local.get $0 i32.const 2916 i32.add i32.ge_u i32.eqz if i32.const 0 i32.const 72 i32.const 417 i32.const 6 call $~lib/builtins/abort unreachable end end local.get $2 local.get $1 i32.sub local.set $5 local.get $5 i32.const 8 i32.const 16 i32.add i32.const 8 i32.add i32.lt_u if i32.const 0 return end local.get $5 i32.const 2 i32.const 8 i32.mul i32.sub local.set $6 local.get $1 local.set $7 local.get $7 local.get $6 i32.const 1 i32.or local.get $4 i32.const 2 i32.and i32.or i32.store local.get $7 i32.const 0 i32.store offset=4 local.get $7 i32.const 0 i32.store offset=8 local.get $1 local.get $5 i32.add i32.const 8 i32.sub local.set $8 local.get $8 i32.const 0 i32.const 2 i32.or i32.store local.get $0 local.get $8 call $~lib/allocator/tlsf/Root#set:tailRef local.get $0 local.get $7 call $~lib/allocator/tlsf/Root#insert i32.const 1 ) (func $~lib/allocator/tlsf/ffs (; 53 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 0 i32.ne i32.eqz if i32.const 0 i32.const 72 i32.const 446 i32.const 2 call $~lib/builtins/abort unreachable end local.get $0 i32.ctz ) (func $~lib/allocator/tlsf/ffs (; 54 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 0 i32.ne i32.eqz if i32.const 0 i32.const 72 i32.const 446 i32.const 2 call $~lib/builtins/abort unreachable end local.get $0 i32.ctz ) (func $~lib/allocator/tlsf/Root#search (; 55 ;) (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.get $1 i32.const 256 i32.lt_u if i32.const 0 local.set $2 local.get $1 i32.const 8 i32.div_u local.set $3 else local.get $1 call $~lib/allocator/tlsf/fls local.set $2 local.get $1 local.get $2 i32.const 5 i32.sub i32.shr_u i32.const 1 i32.const 5 i32.shl i32.xor local.set $3 local.get $2 i32.const 8 i32.const 1 i32.sub i32.sub local.set $2 local.get $3 i32.const 32 i32.const 1 i32.sub i32.lt_u if local.get $3 i32.const 1 i32.add local.set $3 else local.get $2 i32.const 1 i32.add local.set $2 i32.const 0 local.set $3 end end local.get $0 local.get $2 call $~lib/allocator/tlsf/Root#getSLMap i32.const 0 i32.const -1 i32.xor local.get $3 i32.shl i32.and local.set $4 local.get $4 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 $6 local.get $6 i32.eqz if i32.const 0 local.set $5 else local.get $6 call $~lib/allocator/tlsf/ffs local.set $2 local.get $0 local.get $2 call $~lib/allocator/tlsf/Root#getSLMap local.tee $7 if (result i32) local.get $7 else i32.const 0 i32.const 72 i32.const 341 i32.const 16 call $~lib/builtins/abort unreachable end local.set $4 local.get $0 local.get $2 local.get $4 call $~lib/allocator/tlsf/ffs call $~lib/allocator/tlsf/Root#getHead local.set $5 end else local.get $0 local.get $2 local.get $4 call $~lib/allocator/tlsf/ffs call $~lib/allocator/tlsf/Root#getHead local.set $5 end local.get $5 ) (func $~lib/allocator/tlsf/Root#use (; 56 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) local.get $1 i32.load local.set $3 local.get $3 i32.const 1 i32.and i32.const 0 i32.ne if (result i32) local.get $2 i32.const 7 i32.and i32.eqz else i32.const 0 end i32.eqz if i32.const 0 i32.const 72 i32.const 370 i32.const 4 call $~lib/builtins/abort unreachable end local.get $0 local.get $1 call $~lib/allocator/tlsf/Root#remove 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 8 i32.const 16 i32.add 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 8 i32.add local.get $2 i32.add local.set $5 local.get $5 local.get $4 i32.const 8 i32.sub i32.const 1 i32.or i32.store local.get $0 local.get $5 call $~lib/allocator/tlsf/Root#insert else local.get $1 local.get $3 i32.const 1 i32.const -1 i32.xor i32.and i32.store local.get $1 call $~lib/allocator/tlsf/Block#get:right local.set $5 local.get $5 local.get $5 i32.load i32.const 2 i32.const -1 i32.xor i32.and i32.store end local.get $1 i32.const 8 i32.add ) (func $~lib/allocator/tlsf/__mem_allocate (; 57 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) global.get $~lib/allocator/tlsf/ROOT local.set $1 local.get $1 i32.eqz if global.get $~lib/memory/HEAP_BASE i32.const 7 i32.add i32.const 7 i32.const -1 i32.xor i32.and local.set $2 current_memory local.set $3 local.get $2 i32.const 2916 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 $4 local.get $4 local.get $3 i32.gt_s if (result i32) local.get $4 local.get $3 i32.sub grow_memory i32.const 0 i32.lt_s else i32.const 0 end if unreachable end local.get $2 local.tee $1 global.set $~lib/allocator/tlsf/ROOT local.get $1 i32.const 0 call $~lib/allocator/tlsf/Root#set:tailRef local.get $1 i32.const 0 i32.store block $break|0 i32.const 0 local.set $5 loop $repeat|0 local.get $5 i32.const 22 i32.lt_u i32.eqz br_if $break|0 block local.get $1 local.get $5 i32.const 0 call $~lib/allocator/tlsf/Root#setSLMap block $break|1 i32.const 0 local.set $6 loop $repeat|1 local.get $6 i32.const 32 i32.lt_u i32.eqz br_if $break|1 local.get $1 local.get $5 local.get $6 i32.const 0 call $~lib/allocator/tlsf/Root#setHead local.get $6 i32.const 1 i32.add local.set $6 br $repeat|1 unreachable end unreachable end end local.get $5 i32.const 1 i32.add local.set $5 br $repeat|0 unreachable end unreachable end local.get $1 local.get $2 i32.const 2916 i32.add i32.const 7 i32.add i32.const 7 i32.const -1 i32.xor i32.and current_memory i32.const 16 i32.shl call $~lib/allocator/tlsf/Root#addMemory drop end local.get $0 i32.const 1073741824 i32.gt_u if unreachable end local.get $0 i32.const 7 i32.add i32.const 7 i32.const -1 i32.xor i32.and local.tee $4 i32.const 16 local.tee $3 local.get $4 local.get $3 i32.gt_u select local.set $0 local.get $1 local.get $0 call $~lib/allocator/tlsf/Root#search local.set $7 local.get $7 i32.eqz if current_memory local.set $4 local.get $0 i32.const 65535 i32.add i32.const 65535 i32.const -1 i32.xor i32.and i32.const 16 i32.shr_u local.set $3 local.get $4 local.tee $2 local.get $3 local.tee $5 local.get $2 local.get $5 i32.gt_s select local.set $2 local.get $2 grow_memory i32.const 0 i32.lt_s if local.get $3 grow_memory i32.const 0 i32.lt_s if unreachable end end current_memory local.set $5 local.get $1 local.get $4 i32.const 16 i32.shl local.get $5 i32.const 16 i32.shl call $~lib/allocator/tlsf/Root#addMemory drop local.get $1 local.get $0 call $~lib/allocator/tlsf/Root#search local.tee $6 i32.eqz if (result i32) i32.const 0 i32.const 72 i32.const 507 i32.const 12 call $~lib/builtins/abort unreachable else local.get $6 end local.set $7 end local.get $7 i32.load i32.const 3 i32.const -1 i32.xor i32.and local.get $0 i32.ge_u i32.eqz if i32.const 0 i32.const 72 i32.const 510 i32.const 2 call $~lib/builtins/abort unreachable end local.get $1 local.get $7 local.get $0 call $~lib/allocator/tlsf/Root#use ) (func $~lib/memory/memory.allocate (; 58 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/allocator/tlsf/__mem_allocate return ) (func $~lib/util/runtime/allocate (; 59 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/util/runtime/adjust call $~lib/memory/memory.allocate local.set $1 local.get $1 global.get $~lib/util/runtime/HEADER_MAGIC i32.store local.get $1 local.get $0 i32.store offset=4 local.get $1 i32.const 0 i32.store offset=8 local.get $1 i32.const 0 i32.store offset=12 local.get $1 global.get $~lib/util/runtime/HEADER_SIZE i32.add ) (func $~lib/collector/itcm/ManagedObjectList#clear (; 60 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.store offset=8 local.get $0 local.get $0 i32.store offset=12 ) (func $~lib/collector/itcm/maybeInit (; 61 ;) (type $FUNCSIG$v) global.get $~lib/collector/itcm/state i32.const 0 i32.eq if global.get $~lib/util/runtime/HEADER_SIZE call $~lib/memory/memory.allocate global.set $~lib/collector/itcm/fromSpace global.get $~lib/collector/itcm/fromSpace i32.const -1 i32.store global.get $~lib/collector/itcm/fromSpace i32.const 0 i32.store offset=4 global.get $~lib/collector/itcm/fromSpace call $~lib/collector/itcm/ManagedObjectList#clear global.get $~lib/util/runtime/HEADER_SIZE call $~lib/memory/memory.allocate global.set $~lib/collector/itcm/toSpace global.get $~lib/collector/itcm/toSpace i32.const -1 i32.store global.get $~lib/collector/itcm/toSpace i32.const 0 i32.store offset=4 global.get $~lib/collector/itcm/toSpace call $~lib/collector/itcm/ManagedObjectList#clear global.get $~lib/collector/itcm/toSpace global.set $~lib/collector/itcm/iter i32.const 1 global.set $~lib/collector/itcm/state end ) (func $~lib/collector/itcm/ManagedObject#set:color (; 62 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 local.get $0 i32.load offset=8 i32.const 3 i32.const -1 i32.xor i32.and local.get $1 i32.or i32.store offset=8 ) (func $~lib/collector/itcm/ManagedObject#set:next (; 63 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 local.get $1 local.get $0 i32.load offset=8 i32.const 3 i32.and i32.or i32.store offset=8 ) (func $~lib/collector/itcm/ManagedObjectList#push (; 64 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 i32.load offset=12 local.set $2 local.get $1 local.get $0 call $~lib/collector/itcm/ManagedObject#set:next local.get $1 local.get $2 i32.store offset=12 local.get $2 local.get $1 call $~lib/collector/itcm/ManagedObject#set:next local.get $0 local.get $1 i32.store offset=12 ) (func $~lib/collector/itcm/__ref_register (; 65 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) call $~lib/collector/itcm/maybeInit block $~lib/collector/itcm/refToObj|inlined.0 (result i32) local.get $0 local.set $1 local.get $1 global.get $~lib/util/runtime/HEADER_SIZE i32.sub end local.set $2 local.get $2 global.get $~lib/collector/itcm/white call $~lib/collector/itcm/ManagedObject#set:color global.get $~lib/collector/itcm/fromSpace local.get $2 call $~lib/collector/itcm/ManagedObjectList#push ) (func $~lib/util/runtime/register (; 66 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE i32.gt_u i32.eqz if i32.const 0 i32.const 136 i32.const 129 i32.const 4 call $~lib/builtins/abort unreachable end local.get $0 global.get $~lib/util/runtime/HEADER_SIZE i32.sub local.set $2 local.get $2 i32.load global.get $~lib/util/runtime/HEADER_MAGIC i32.eq i32.eqz if i32.const 0 i32.const 136 i32.const 131 i32.const 4 call $~lib/builtins/abort unreachable end local.get $2 local.get $1 i32.store local.get $0 call $~lib/collector/itcm/__ref_register local.get $0 ) (func $~lib/runtime/runtime.newObject (; 67 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 call $~lib/util/runtime/allocate local.get $1 call $~lib/util/runtime/register ) (func $~lib/runtime/runtime.newString (; 68 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 1 i32.shl i32.const 17 call $~lib/runtime/runtime.newObject ) (func $~lib/runtime/runtime.newArrayBuffer (; 69 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 16 call $~lib/runtime/runtime.newObject ) (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 70 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 global.get $~lib/util/runtime/HEADER_SIZE i32.sub i32.load offset=4 ) (func $~lib/collector/itcm/ManagedObject#get:color (; 71 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=8 i32.const 3 i32.and ) (func $~lib/collector/itcm/ManagedObject#get:next (; 72 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=8 i32.const 3 i32.const -1 i32.xor i32.and ) (func $~lib/collector/itcm/ManagedObject#unlink (; 73 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 call $~lib/collector/itcm/ManagedObject#get:next local.set $1 local.get $0 i32.load offset=12 local.set $2 local.get $1 local.get $2 i32.store offset=12 local.get $2 local.get $1 call $~lib/collector/itcm/ManagedObject#set:next ) (func $~lib/collector/itcm/ManagedObject#makeGray (; 74 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 global.get $~lib/collector/itcm/iter i32.eq if local.get $0 i32.load offset=12 global.set $~lib/collector/itcm/iter end local.get $0 call $~lib/collector/itcm/ManagedObject#unlink global.get $~lib/collector/itcm/toSpace local.get $0 call $~lib/collector/itcm/ManagedObjectList#push local.get $0 local.get $0 i32.load offset=8 i32.const 3 i32.const -1 i32.xor i32.and i32.const 2 i32.or i32.store offset=8 ) (func $~lib/collector/itcm/__ref_link (; 75 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) call $~lib/collector/itcm/maybeInit block $~lib/collector/itcm/refToObj|inlined.1 (result i32) local.get $1 local.set $2 local.get $2 global.get $~lib/util/runtime/HEADER_SIZE i32.sub end local.set $3 local.get $3 call $~lib/collector/itcm/ManagedObject#get:color global.get $~lib/collector/itcm/white i32.eqz i32.eq if (result i32) block $~lib/collector/itcm/refToObj|inlined.3 (result i32) local.get $0 local.set $2 local.get $2 global.get $~lib/util/runtime/HEADER_SIZE i32.sub end call $~lib/collector/itcm/ManagedObject#get:color global.get $~lib/collector/itcm/white i32.eq else i32.const 0 end if local.get $3 call $~lib/collector/itcm/ManagedObject#makeGray end ) (func $~lib/runtime/runtime.newArray (; 76 ;) (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.get $0 call $~lib/runtime/runtime.flags local.set $2 local.get $2 i32.const 16 i32.div_u i32.const 31 i32.and local.set $3 local.get $1 i32.eqz if i32.const 0 local.tee $4 call $~lib/runtime/runtime.newArrayBuffer local.set $1 else local.get $1 call $~lib/arraybuffer/ArrayBuffer#get:byteLength local.set $4 end local.get $0 i32.const 16 call $~lib/runtime/runtime.newObject local.set $5 local.get $5 local.tee $6 local.get $1 local.tee $7 local.get $6 i32.load local.tee $8 i32.ne if (result i32) nop local.get $7 local.get $6 call $~lib/collector/itcm/__ref_link local.get $7 else local.get $7 end i32.store local.get $5 local.get $1 i32.store offset=4 local.get $5 local.get $4 i32.store offset=8 local.get $5 local.get $4 local.get $3 i32.shr_u i32.store offset=12 local.get $2 i32.const 1024 i32.and if local.get $1 local.set $6 local.get $6 local.get $4 i32.add local.set $8 block $break|0 loop $continue|0 local.get $6 local.get $8 i32.lt_u if block local.get $6 i32.load local.set $7 local.get $7 if local.get $7 local.get $5 call $~lib/collector/itcm/__ref_link end local.get $6 i32.const 4 i32.add local.set $6 end br $continue|0 end end end end local.get $5 ) (func $~lib/runtime/Root#constructor (; 77 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 0 call $~lib/util/runtime/allocate i32.const 59 call $~lib/util/runtime/register local.set $0 end local.get $0 ) (func $~lib/runtime/runtime.retain (; 78 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 global.get $~lib/runtime/ROOT call $~lib/collector/itcm/__ref_link ) (func $~lib/runtime/runtime.release (; 79 ;) (type $FUNCSIG$vi) (param $0 i32) nop ) (func $~lib/allocator/tlsf/__mem_free (; 80 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 if local.get $0 i32.const 7 i32.and i32.eqz i32.eqz if i32.const 0 i32.const 72 i32.const 519 i32.const 4 call $~lib/builtins/abort unreachable end global.get $~lib/allocator/tlsf/ROOT local.set $1 local.get $1 if local.get $0 i32.const 8 i32.sub local.set $2 local.get $2 i32.load local.set $3 local.get $3 i32.const 1 i32.and i32.eqz i32.eqz if i32.const 0 i32.const 72 i32.const 524 i32.const 6 call $~lib/builtins/abort unreachable end local.get $2 local.get $3 i32.const 1 i32.or i32.store local.get $1 local.get $0 i32.const 8 i32.sub call $~lib/allocator/tlsf/Root#insert end end ) (func $~lib/memory/memory.free (; 81 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 call $~lib/allocator/tlsf/__mem_free ) (func $~lib/collector/itcm/step (; 82 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) block $break|0 block $case3|0 block $case2|0 block $case1|0 block $case0|0 global.get $~lib/collector/itcm/state local.set $1 local.get $1 i32.const 0 i32.eq br_if $case0|0 local.get $1 i32.const 1 i32.eq br_if $case1|0 local.get $1 i32.const 2 i32.eq br_if $case2|0 local.get $1 i32.const 3 i32.eq br_if $case3|0 br $break|0 end unreachable end block call $~lib/runtime/__gc_mark_roots i32.const 2 global.set $~lib/collector/itcm/state br $break|0 unreachable end unreachable end block global.get $~lib/collector/itcm/iter call $~lib/collector/itcm/ManagedObject#get:next local.set $0 local.get $0 global.get $~lib/collector/itcm/toSpace i32.ne if local.get $0 global.set $~lib/collector/itcm/iter local.get $0 global.get $~lib/collector/itcm/white i32.eqz call $~lib/collector/itcm/ManagedObject#set:color local.get $0 i32.load block $~lib/collector/itcm/objToRef|inlined.0 (result i32) local.get $0 local.set $1 local.get $1 global.get $~lib/util/runtime/HEADER_SIZE i32.add end call $~lib/runtime/__gc_mark_members else call $~lib/runtime/__gc_mark_roots global.get $~lib/collector/itcm/iter call $~lib/collector/itcm/ManagedObject#get:next local.set $0 local.get $0 global.get $~lib/collector/itcm/toSpace i32.eq if global.get $~lib/collector/itcm/fromSpace local.set $1 global.get $~lib/collector/itcm/toSpace global.set $~lib/collector/itcm/fromSpace local.get $1 global.set $~lib/collector/itcm/toSpace global.get $~lib/collector/itcm/white i32.eqz global.set $~lib/collector/itcm/white local.get $1 call $~lib/collector/itcm/ManagedObject#get:next global.set $~lib/collector/itcm/iter i32.const 3 global.set $~lib/collector/itcm/state end end br $break|0 unreachable end unreachable end block global.get $~lib/collector/itcm/iter local.set $0 local.get $0 global.get $~lib/collector/itcm/toSpace i32.ne if local.get $0 call $~lib/collector/itcm/ManagedObject#get:next global.set $~lib/collector/itcm/iter local.get $0 global.get $~lib/memory/HEAP_BASE i32.ge_u if local.get $0 call $~lib/memory/memory.free end else global.get $~lib/collector/itcm/toSpace call $~lib/collector/itcm/ManagedObjectList#clear i32.const 1 global.set $~lib/collector/itcm/state end br $break|0 unreachable end unreachable end ) (func $~lib/collector/itcm/__ref_collect (; 83 ;) (type $FUNCSIG$v) call $~lib/collector/itcm/maybeInit block $break|0 loop $continue|0 global.get $~lib/collector/itcm/state i32.const 1 i32.ne if call $~lib/collector/itcm/step br $continue|0 end end end block $break|1 loop $continue|1 call $~lib/collector/itcm/step global.get $~lib/collector/itcm/state i32.const 1 i32.ne br_if $continue|1 end end ) (func $~lib/runtime/runtime.collect (; 84 ;) (type $FUNCSIG$v) call $~lib/collector/itcm/__ref_collect ) (func $~lib/runtime/runtime#constructor (; 85 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) unreachable ) (func $start (; 86 ;) (type $FUNCSIG$v) call $start:runtime/flags i32.const 0 call $~lib/runtime/Root#constructor global.set $~lib/runtime/ROOT ) (func $~lib/collector/itcm/__ref_mark (; 87 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) call $~lib/collector/itcm/maybeInit block $~lib/collector/itcm/refToObj|inlined.4 (result i32) local.get $0 local.set $1 local.get $1 global.get $~lib/util/runtime/HEADER_SIZE i32.sub end local.set $2 local.get $2 call $~lib/collector/itcm/ManagedObject#get:color global.get $~lib/collector/itcm/white i32.eq if local.get $2 call $~lib/collector/itcm/ManagedObject#makeGray end ) (func $~lib/runtime/__gc_mark_roots (; 88 ;) (type $FUNCSIG$v) (local $0 i32) global.get $~lib/runtime/ROOT local.tee $0 if local.get $0 call $~lib/collector/itcm/__ref_mark end ) (func $~lib/array/Array#__traverse (; 89 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 i32.load call $~lib/collector/itcm/__ref_mark ) (func $~lib/array/Array#__traverse (; 90 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 i32.load call $~lib/collector/itcm/__ref_mark ) (func $~lib/array/Array#__traverse (; 91 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 i32.load call $~lib/collector/itcm/__ref_mark ) (func $~lib/array/Array#__traverse (; 92 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 i32.load call $~lib/collector/itcm/__ref_mark ) (func $~lib/array/Array#__traverse (; 93 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 i32.load call $~lib/collector/itcm/__ref_mark ) (func $~lib/array/Array#__traverse (; 94 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 i32.load call $~lib/collector/itcm/__ref_mark local.get $0 i32.load offset=4 local.set $1 local.get $1 local.get $0 i32.load offset=8 i32.add local.set $2 block $break|0 loop $continue|0 local.get $1 local.get $2 i32.lt_u if block local.get $1 i32.load local.set $3 local.get $3 call $~lib/collector/itcm/__ref_mark i32.const 23 local.get $3 call $~lib/runtime/__gc_mark_members local.get $1 i32.const 4 i32.add local.set $1 end br $continue|0 end end end ) (func $~lib/array/Array#__traverse (; 95 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 i32.load call $~lib/collector/itcm/__ref_mark local.get $0 i32.load offset=4 local.set $1 local.get $1 local.get $0 i32.load offset=8 i32.add local.set $2 block $break|0 loop $continue|0 local.get $1 local.get $2 i32.lt_u if block local.get $1 i32.load local.set $3 local.get $3 if local.get $3 call $~lib/collector/itcm/__ref_mark i32.const 23 local.get $3 call $~lib/runtime/__gc_mark_members end local.get $1 i32.const 4 i32.add local.set $1 end br $continue|0 end end end ) (func $~lib/set/Set#__traverse (; 96 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load call $~lib/collector/itcm/__ref_mark local.get $0 i32.load offset=8 local.set $1 local.get $1 call $~lib/collector/itcm/__ref_mark ) (func $~lib/set/Set#__traverse (; 97 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load call $~lib/collector/itcm/__ref_mark local.get $0 i32.load offset=8 local.set $1 local.get $1 call $~lib/collector/itcm/__ref_mark ) (func $~lib/set/Set#__traverse (; 98 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load call $~lib/collector/itcm/__ref_mark local.get $0 i32.load offset=8 local.set $1 local.get $1 call $~lib/collector/itcm/__ref_mark ) (func $~lib/set/Set#__traverse (; 99 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load call $~lib/collector/itcm/__ref_mark local.get $0 i32.load offset=8 local.set $1 local.get $1 call $~lib/collector/itcm/__ref_mark ) (func $~lib/set/Set#__traverse (; 100 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load call $~lib/collector/itcm/__ref_mark local.get $0 i32.load offset=8 local.set $1 local.get $1 call $~lib/collector/itcm/__ref_mark ) (func $~lib/set/Set#__traverse (; 101 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) local.get $0 i32.load call $~lib/collector/itcm/__ref_mark local.get $0 i32.load offset=8 local.set $1 local.get $1 call $~lib/collector/itcm/__ref_mark local.get $1 local.set $2 local.get $2 local.get $0 i32.load offset=16 block $~lib/set/ENTRY_SIZE|inlined.0 (result i32) i32.const 8 end i32.mul i32.add local.set $3 block $break|0 loop $continue|0 local.get $2 local.get $3 i32.lt_u if block local.get $2 local.set $4 local.get $4 i32.load offset=4 i32.const 1 i32.and i32.eqz if local.get $4 i32.load local.set $5 local.get $5 call $~lib/collector/itcm/__ref_mark i32.const 23 local.get $5 call $~lib/runtime/__gc_mark_members end local.get $2 block $~lib/set/ENTRY_SIZE|inlined.1 (result i32) i32.const 8 end i32.add local.set $2 end br $continue|0 end end end ) (func $~lib/set/Set#__traverse (; 102 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) local.get $0 i32.load call $~lib/collector/itcm/__ref_mark local.get $0 i32.load offset=8 local.set $1 local.get $1 call $~lib/collector/itcm/__ref_mark local.get $1 local.set $2 local.get $2 local.get $0 i32.load offset=16 block $~lib/set/ENTRY_SIZE|inlined.0 (result i32) i32.const 8 end i32.mul i32.add local.set $3 block $break|0 loop $continue|0 local.get $2 local.get $3 i32.lt_u if block local.get $2 local.set $4 local.get $4 i32.load offset=4 i32.const 1 i32.and i32.eqz if local.get $4 i32.load local.set $5 local.get $5 if local.get $5 call $~lib/collector/itcm/__ref_mark i32.const 23 local.get $5 call $~lib/runtime/__gc_mark_members end end local.get $2 block $~lib/set/ENTRY_SIZE|inlined.1 (result i32) i32.const 8 end i32.add local.set $2 end br $continue|0 end end end ) (func $~lib/map/Map#__traverse (; 103 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load call $~lib/collector/itcm/__ref_mark local.get $0 i32.load offset=8 local.set $1 local.get $1 call $~lib/collector/itcm/__ref_mark ) (func $~lib/map/Map#__traverse (; 104 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load call $~lib/collector/itcm/__ref_mark local.get $0 i32.load offset=8 local.set $1 local.get $1 call $~lib/collector/itcm/__ref_mark ) (func $~lib/map/Map#__traverse (; 105 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load call $~lib/collector/itcm/__ref_mark local.get $0 i32.load offset=8 local.set $1 local.get $1 call $~lib/collector/itcm/__ref_mark ) (func $~lib/map/Map#__traverse (; 106 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load call $~lib/collector/itcm/__ref_mark local.get $0 i32.load offset=8 local.set $1 local.get $1 call $~lib/collector/itcm/__ref_mark ) (func $~lib/map/Map#__traverse (; 107 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 i32.load call $~lib/collector/itcm/__ref_mark local.get $0 i32.load offset=8 local.set $1 local.get $1 call $~lib/collector/itcm/__ref_mark ) (func $~lib/map/Map#__traverse (; 108 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) local.get $0 i32.load call $~lib/collector/itcm/__ref_mark local.get $0 i32.load offset=8 local.set $1 local.get $1 call $~lib/collector/itcm/__ref_mark local.get $1 local.set $2 local.get $2 local.get $0 i32.load offset=16 block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) i32.const 12 end i32.mul i32.add local.set $3 block $break|0 loop $continue|0 local.get $2 local.get $3 i32.lt_u if block local.get $2 local.set $4 local.get $4 i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $4 i32.load local.set $5 local.get $5 call $~lib/collector/itcm/__ref_mark i32.const 23 local.get $5 call $~lib/runtime/__gc_mark_members end local.get $2 block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) i32.const 12 end i32.add local.set $2 end br $continue|0 end end end ) (func $~lib/map/Map#__traverse (; 109 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) local.get $0 i32.load call $~lib/collector/itcm/__ref_mark local.get $0 i32.load offset=8 local.set $1 local.get $1 call $~lib/collector/itcm/__ref_mark local.get $1 local.set $2 local.get $2 local.get $0 i32.load offset=16 block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) i32.const 12 end i32.mul i32.add local.set $3 block $break|0 loop $continue|0 local.get $2 local.get $3 i32.lt_u if block local.get $2 local.set $4 local.get $4 i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $4 i32.load local.set $5 local.get $5 if local.get $5 call $~lib/collector/itcm/__ref_mark i32.const 23 local.get $5 call $~lib/runtime/__gc_mark_members end end local.get $2 block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) i32.const 12 end i32.add local.set $2 end br $continue|0 end end end ) (func $~lib/map/Map#__traverse (; 110 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) local.get $0 i32.load call $~lib/collector/itcm/__ref_mark local.get $0 i32.load offset=8 local.set $1 local.get $1 call $~lib/collector/itcm/__ref_mark local.get $1 local.set $2 local.get $2 local.get $0 i32.load offset=16 block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) i32.const 12 end i32.mul i32.add local.set $3 block $break|0 loop $continue|0 local.get $2 local.get $3 i32.lt_u if block local.get $2 local.set $4 local.get $4 i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $4 i32.load offset=4 local.set $5 local.get $5 call $~lib/collector/itcm/__ref_mark i32.const 23 local.get $5 call $~lib/runtime/__gc_mark_members end local.get $2 block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) i32.const 12 end i32.add local.set $2 end br $continue|0 end end end ) (func $~lib/map/Map#__traverse (; 111 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) local.get $0 i32.load call $~lib/collector/itcm/__ref_mark local.get $0 i32.load offset=8 local.set $1 local.get $1 call $~lib/collector/itcm/__ref_mark local.get $1 local.set $2 local.get $2 local.get $0 i32.load offset=16 block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) i32.const 12 end i32.mul i32.add local.set $3 block $break|0 loop $continue|0 local.get $2 local.get $3 i32.lt_u if block local.get $2 local.set $4 local.get $4 i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $4 i32.load offset=4 local.set $5 local.get $5 if local.get $5 call $~lib/collector/itcm/__ref_mark i32.const 23 local.get $5 call $~lib/runtime/__gc_mark_members end end local.get $2 block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) i32.const 12 end i32.add local.set $2 end br $continue|0 end end end ) (func $~lib/map/Map#__traverse (; 112 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) local.get $0 i32.load call $~lib/collector/itcm/__ref_mark local.get $0 i32.load offset=8 local.set $1 local.get $1 call $~lib/collector/itcm/__ref_mark local.get $1 local.set $2 local.get $2 local.get $0 i32.load offset=16 block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) i32.const 12 end i32.mul i32.add local.set $3 block $break|0 loop $continue|0 local.get $2 local.get $3 i32.lt_u if block local.get $2 local.set $4 local.get $4 i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $4 i32.load local.set $5 local.get $5 if local.get $5 call $~lib/collector/itcm/__ref_mark i32.const 23 local.get $5 call $~lib/runtime/__gc_mark_members end local.get $4 i32.load offset=4 local.set $5 local.get $5 if local.get $5 call $~lib/collector/itcm/__ref_mark i32.const 23 local.get $5 call $~lib/runtime/__gc_mark_members end end local.get $2 block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) i32.const 12 end i32.add local.set $2 end br $continue|0 end end end ) (func $~lib/array/Array#__traverse (; 113 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 i32.load call $~lib/collector/itcm/__ref_mark local.get $0 i32.load offset=4 local.set $1 local.get $1 local.get $0 i32.load offset=8 i32.add local.set $2 block $break|0 loop $continue|0 local.get $1 local.get $2 i32.lt_u if block local.get $1 i32.load local.set $3 local.get $3 call $~lib/collector/itcm/__ref_mark i32.const 47 local.get $3 call $~lib/runtime/__gc_mark_members local.get $1 i32.const 4 i32.add local.set $1 end br $continue|0 end end end ) (func $~lib/set/Set#__traverse (; 114 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) local.get $0 i32.load call $~lib/collector/itcm/__ref_mark local.get $0 i32.load offset=8 local.set $1 local.get $1 call $~lib/collector/itcm/__ref_mark local.get $1 local.set $2 local.get $2 local.get $0 i32.load offset=16 block $~lib/set/ENTRY_SIZE|inlined.0 (result i32) i32.const 8 end i32.mul i32.add local.set $3 block $break|0 loop $continue|0 local.get $2 local.get $3 i32.lt_u if block local.get $2 local.set $4 local.get $4 i32.load offset=4 i32.const 1 i32.and i32.eqz if local.get $4 i32.load local.set $5 local.get $5 call $~lib/collector/itcm/__ref_mark i32.const 50 local.get $5 call $~lib/runtime/__gc_mark_members end local.get $2 block $~lib/set/ENTRY_SIZE|inlined.1 (result i32) i32.const 8 end i32.add local.set $2 end br $continue|0 end end end ) (func $~lib/map/Map#__traverse (; 115 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) local.get $0 i32.load call $~lib/collector/itcm/__ref_mark local.get $0 i32.load offset=8 local.set $1 local.get $1 call $~lib/collector/itcm/__ref_mark local.get $1 local.set $2 local.get $2 local.get $0 i32.load offset=16 block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) i32.const 12 end i32.mul i32.add local.set $3 block $break|0 loop $continue|0 local.get $2 local.get $3 i32.lt_u if block local.get $2 local.set $4 local.get $4 i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $4 i32.load local.set $5 local.get $5 call $~lib/collector/itcm/__ref_mark i32.const 53 local.get $5 call $~lib/runtime/__gc_mark_members end local.get $2 block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) i32.const 12 end i32.add local.set $2 end br $continue|0 end end end ) (func $~lib/map/Map#__traverse (; 116 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) local.get $0 i32.load call $~lib/collector/itcm/__ref_mark local.get $0 i32.load offset=8 local.set $1 local.get $1 call $~lib/collector/itcm/__ref_mark local.get $1 local.set $2 local.get $2 local.get $0 i32.load offset=16 block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) i32.const 12 end i32.mul i32.add local.set $3 block $break|0 loop $continue|0 local.get $2 local.get $3 i32.lt_u if block local.get $2 local.set $4 local.get $4 i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $4 i32.load offset=4 local.set $5 local.get $5 call $~lib/collector/itcm/__ref_mark i32.const 55 local.get $5 call $~lib/runtime/__gc_mark_members end local.get $2 block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) i32.const 12 end i32.add local.set $2 end br $continue|0 end end end ) (func $~lib/runtime/__gc_mark_members (; 117 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $invalid block $~lib/runtime/Root block $runtime/flags/InnerCycleMapValue block $runtime/flags/InnerCycleMapKey block $~lib/map/Map block $runtime/flags/IndirectCycleMapValue block $~lib/map/Map block $runtime/flags/IndirectCycleMapKey block $runtime/flags/InnerCycleSet block $~lib/set/Set block $runtime/flags/IndirectCycleSet block $runtime/flags/InnerCycleArray block $~lib/array/Array block $runtime/flags/IndirectCycleArray block $runtime/flags/IndirectCycleBack block $runtime/flags/IndirectCycle block $runtime/flags/DirectCycle block $runtime/flags/NoCycle block $~lib/map/Map block $~lib/map/Map block $~lib/map/Map block $~lib/map/Map block $~lib/map/Map block $~lib/map/Map block $~lib/map/Map block $~lib/map/Map block $~lib/map/Map block $~lib/map/Map block $~lib/set/Set block $~lib/set/Set block $~lib/set/Set block $~lib/set/Set block $~lib/set/Set block $~lib/set/Set block $~lib/set/Set block $~lib/array/Array block $~lib/array/Array block $runtime/flags/Ref block $~lib/array/Array block $~lib/array/Array block $~lib/array/Array block $~lib/array/Array block $~lib/array/Array block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer block $~lib/arraybuffer/ArrayBufferView block $~lib/vector/V128 block $~lib/number/F64 block $~lib/number/F32 block $~lib/number/Bool block $~lib/number/Usize block $~lib/number/U64 block $~lib/number/U32 block $~lib/number/U16 block $~lib/number/U8 block $~lib/number/Isize block $~lib/number/I64 block $~lib/number/I32 block $~lib/number/I16 block $~lib/number/I8 local.get $0 br_table $invalid $~lib/number/I8 $~lib/number/I16 $~lib/number/I32 $~lib/number/I64 $~lib/number/Isize $~lib/number/U8 $~lib/number/U16 $~lib/number/U32 $~lib/number/U64 $~lib/number/Usize $~lib/number/Bool $~lib/number/F32 $~lib/number/F64 $~lib/vector/V128 $~lib/arraybuffer/ArrayBufferView $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $runtime/flags/Ref $~lib/array/Array $~lib/array/Array $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $runtime/flags/NoCycle $runtime/flags/DirectCycle $runtime/flags/IndirectCycle $runtime/flags/IndirectCycleBack $runtime/flags/IndirectCycleArray $~lib/array/Array $runtime/flags/InnerCycleArray $runtime/flags/IndirectCycleSet $~lib/set/Set $runtime/flags/InnerCycleSet $runtime/flags/IndirectCycleMapKey $~lib/map/Map $runtime/flags/IndirectCycleMapValue $~lib/map/Map $runtime/flags/InnerCycleMapKey $runtime/flags/InnerCycleMapValue $~lib/runtime/Root $invalid end return end return end return end return end return end return end return end return end return end return end return end return end return end return end local.get $1 i32.load local.tee $2 if local.get $2 call $~lib/collector/itcm/__ref_mark i32.const 16 local.get $2 call $~lib/runtime/__gc_mark_members end return end return end return end local.get $1 call $~lib/array/Array#__traverse return end local.get $1 call $~lib/array/Array#__traverse return end local.get $1 call $~lib/array/Array#__traverse return end local.get $1 call $~lib/array/Array#__traverse return end local.get $1 call $~lib/array/Array#__traverse return end return end local.get $1 call $~lib/array/Array#__traverse return end local.get $1 call $~lib/array/Array#__traverse return end local.get $1 call $~lib/set/Set#__traverse return end local.get $1 call $~lib/set/Set#__traverse return end local.get $1 call $~lib/set/Set#__traverse return end local.get $1 call $~lib/set/Set#__traverse return end local.get $1 call $~lib/set/Set#__traverse return end local.get $1 call $~lib/set/Set#__traverse return end local.get $1 call $~lib/set/Set#__traverse return end local.get $1 call $~lib/map/Map#__traverse return end local.get $1 call $~lib/map/Map#__traverse return end local.get $1 call $~lib/map/Map#__traverse return end local.get $1 call $~lib/map/Map#__traverse return end local.get $1 call $~lib/map/Map#__traverse return end local.get $1 call $~lib/map/Map#__traverse return end local.get $1 call $~lib/map/Map#__traverse return end local.get $1 call $~lib/map/Map#__traverse return end local.get $1 call $~lib/map/Map#__traverse return end local.get $1 call $~lib/map/Map#__traverse return end return end local.get $1 i32.load local.tee $2 if local.get $2 call $~lib/collector/itcm/__ref_mark i32.const 44 local.get $2 call $~lib/runtime/__gc_mark_members end return end local.get $1 i32.load local.tee $2 if local.get $2 call $~lib/collector/itcm/__ref_mark i32.const 46 local.get $2 call $~lib/runtime/__gc_mark_members end return end local.get $1 i32.load local.tee $2 if local.get $2 call $~lib/collector/itcm/__ref_mark i32.const 45 local.get $2 call $~lib/runtime/__gc_mark_members end return end local.get $1 i32.load local.tee $2 if local.get $2 call $~lib/collector/itcm/__ref_mark i32.const 48 local.get $2 call $~lib/runtime/__gc_mark_members end return end local.get $1 call $~lib/array/Array#__traverse return end local.get $1 i32.load local.tee $2 if local.get $2 call $~lib/collector/itcm/__ref_mark i32.const 47 local.get $2 call $~lib/runtime/__gc_mark_members end return end local.get $1 i32.load local.tee $2 if local.get $2 call $~lib/collector/itcm/__ref_mark i32.const 51 local.get $2 call $~lib/runtime/__gc_mark_members end return end local.get $1 call $~lib/set/Set#__traverse return end local.get $1 i32.load local.tee $2 if local.get $2 call $~lib/collector/itcm/__ref_mark i32.const 50 local.get $2 call $~lib/runtime/__gc_mark_members end return end local.get $1 i32.load local.tee $2 if local.get $2 call $~lib/collector/itcm/__ref_mark i32.const 54 local.get $2 call $~lib/runtime/__gc_mark_members end return end local.get $1 call $~lib/map/Map#__traverse return end local.get $1 i32.load local.tee $2 if local.get $2 call $~lib/collector/itcm/__ref_mark i32.const 56 local.get $2 call $~lib/runtime/__gc_mark_members end return end local.get $1 call $~lib/map/Map#__traverse return end local.get $1 i32.load local.tee $2 if local.get $2 call $~lib/collector/itcm/__ref_mark i32.const 53 local.get $2 call $~lib/runtime/__gc_mark_members end return end local.get $1 i32.load local.tee $2 if local.get $2 call $~lib/collector/itcm/__ref_mark i32.const 55 local.get $2 call $~lib/runtime/__gc_mark_members end return end return end unreachable ) (func $null (; 118 ;) (type $FUNCSIG$v) ) )