Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (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$viii (func (param i32 i32 i32)))
- (type $FUNCSIG$vi (func (param 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")
- (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")
- (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")
- (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")
- (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")
- (data (i32.const 256) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s")
- (data (i32.const 312) "\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")
- (data (i32.const 360) "&\00\00\00\01\00\00\00\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s")
- (data (i32.const 416) "\04\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\91\04\00\00\02")
- (table $0 2 funcref)
- (elem (i32.const 0) $null $assembly/index/defaultSort~anonymous|0)
- (global $~lib/rt/tlsf/ROOT (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/rt/pure/ROOTS (mut i32) (i32.const 0))
- (global $assembly/index/INT32ARRAY i32 (i32.const 3))
- (global $~lib/argc (mut i32) (i32.const 0))
- (global $~lib/rt/__rtti_base i32 (i32.const 416))
- (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 "INT32ARRAY" (global $assembly/index/INT32ARRAY))
- (export "defaultSort" (func $assembly/index/defaultSort))
- (export "quickSort" (func $assembly/index/quickSort))
- (export "insertionSort" (func $assembly/index/insertionSort))
- (export "countingSort" (func $assembly/index/countingSort))
- (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.get $1
- i32.load
- local.tee $3
- 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 $3
- i32.const -4
- i32.and
- local.tee $2
- i32.const 16
- i32.ge_u
- if (result i32)
- local.get $2
- 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 $2
- i32.const 256
- i32.lt_u
- if (result i32)
- local.get $2
- i32.const 4
- i32.shr_u
- local.set $2
- i32.const 0
- else
- local.get $2
- i32.const 31
- local.get $2
- i32.clz
- i32.sub
- local.tee $3
- i32.const 4
- i32.sub
- i32.shr_u
- i32.const 16
- i32.xor
- local.set $2
- local.get $3
- i32.const 7
- i32.sub
- end
- local.tee $3
- i32.const 23
- i32.lt_u
- if (result i32)
- local.get $2
- 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=20
- local.set $4
- local.get $1
- i32.load offset=16
- local.tee $5
- if
- local.get $5
- local.get $4
- i32.store offset=20
- end
- local.get $4
- if
- local.get $4
- local.get $5
- i32.store offset=16
- end
- local.get $3
- i32.const 4
- i32.shl
- local.get $2
- i32.add
- i32.const 2
- i32.shl
- local.get $0
- i32.add
- i32.load offset=96
- local.get $1
- i32.eq
- if
- local.get $3
- i32.const 4
- i32.shl
- local.get $2
- i32.add
- i32.const 2
- i32.shl
- local.get $0
- i32.add
- local.get $4
- i32.store offset=96
- local.get $4
- i32.eqz
- if
- local.get $3
- i32.const 2
- i32.shl
- local.get $0
- i32.add
- local.get $3
- i32.const 2
- i32.shl
- local.get $0
- i32.add
- i32.load offset=4
- i32.const 1
- local.get $2
- i32.shl
- i32.const -1
- i32.xor
- i32.and
- local.tee $1
- i32.store offset=4
- local.get $1
- i32.eqz
- if
- local.get $0
- local.get $0
- i32.load
- i32.const 1
- local.get $3
- 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.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.tee $3
- 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
- i32.const 16
- i32.add
- local.get $1
- i32.load
- i32.const -4
- i32.and
- i32.add
- local.tee $4
- i32.load
- local.tee $5
- i32.const 1
- i32.and
- if
- local.get $3
- i32.const -4
- i32.and
- i32.const 16
- i32.add
- local.get $5
- i32.const -4
- i32.and
- i32.add
- local.tee $2
- i32.const 1073741808
- i32.lt_u
- if
- local.get $0
- local.get $4
- call $~lib/rt/tlsf/removeBlock
- local.get $1
- local.get $3
- i32.const 3
- i32.and
- local.get $2
- i32.or
- local.tee $3
- i32.store
- local.get $1
- i32.const 16
- i32.add
- local.get $1
- i32.load
- i32.const -4
- i32.and
- i32.add
- local.tee $4
- i32.load
- local.set $5
- end
- end
- local.get $3
- i32.const 2
- i32.and
- if
- local.get $1
- i32.const 4
- i32.sub
- i32.load
- local.tee $2
- i32.load
- local.tee $6
- 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 $6
- i32.const -4
- i32.and
- i32.const 16
- i32.add
- local.get $3
- i32.const -4
- i32.and
- i32.add
- local.tee $7
- i32.const 1073741808
- i32.lt_u
- if (result i32)
- local.get $0
- local.get $2
- call $~lib/rt/tlsf/removeBlock
- local.get $2
- local.get $6
- i32.const 3
- i32.and
- local.get $7
- i32.or
- local.tee $3
- i32.store
- local.get $2
- else
- local.get $1
- end
- local.set $1
- end
- local.get $4
- local.get $5
- i32.const 2
- i32.or
- i32.store
- local.get $3
- i32.const -4
- i32.and
- local.tee $2
- i32.const 16
- i32.ge_u
- if (result i32)
- local.get $2
- 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 $4
- local.get $1
- i32.const 16
- i32.add
- local.get $2
- i32.add
- i32.ne
- 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 $2
- i32.const 256
- i32.lt_u
- if (result i32)
- local.get $2
- i32.const 4
- i32.shr_u
- local.set $4
- i32.const 0
- else
- local.get $2
- i32.const 31
- local.get $2
- i32.clz
- i32.sub
- local.tee $2
- i32.const 4
- i32.sub
- i32.shr_u
- i32.const 16
- i32.xor
- local.set $4
- local.get $2
- i32.const 7
- i32.sub
- end
- local.tee $3
- i32.const 23
- i32.lt_u
- if (result i32)
- local.get $4
- 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 $3
- i32.const 4
- i32.shl
- local.get $4
- i32.add
- i32.const 2
- i32.shl
- local.get $0
- i32.add
- i32.load offset=96
- local.set $2
- local.get $1
- i32.const 0
- i32.store offset=16
- local.get $1
- local.get $2
- i32.store offset=20
- local.get $2
- if
- local.get $2
- local.get $1
- i32.store offset=16
- end
- local.get $3
- i32.const 4
- i32.shl
- local.get $4
- i32.add
- i32.const 2
- i32.shl
- local.get $0
- i32.add
- local.get $1
- i32.store offset=96
- local.get $0
- local.get $0
- i32.load
- i32.const 1
- local.get $3
- i32.shl
- i32.or
- i32.store
- local.get $3
- i32.const 2
- i32.shl
- local.get $0
- i32.add
- local.get $3
- i32.const 2
- i32.shl
- local.get $0
- i32.add
- i32.load offset=4
- i32.const 1
- local.get $4
- i32.shl
- i32.or
- i32.store offset=4
- )
- (func $~lib/rt/tlsf/addMemory (; 3 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
- (local $3 i32)
- (local $4 i32)
- local.get $2
- i32.const 15
- i32.and
- i32.eqz
- i32.const 0
- local.get $1
- i32.const 15
- i32.and
- i32.eqz
- i32.const 0
- local.get $1
- local.get $2
- i32.le_u
- select
- select
- i32.eqz
- if
- i32.const 0
- i32.const 24
- i32.const 386
- i32.const 4
- call $~lib/builtins/abort
- unreachable
- end
- local.get $0
- i32.load offset=1568
- local.tee $3
- if
- local.get $1
- local.get $3
- i32.const 16
- i32.add
- i32.lt_u
- 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 $3
- i32.eq
- if
- local.get $3
- i32.load
- local.set $4
- local.get $1
- i32.const 16
- i32.sub
- local.set $1
- end
- else
- local.get $1
- local.get $0
- i32.const 1572
- i32.add
- i32.lt_u
- 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.tee $2
- i32.const 48
- i32.lt_u
- if
- return
- end
- local.get $1
- local.get $4
- i32.const 2
- i32.and
- local.get $2
- i32.const 32
- i32.sub
- i32.const 1
- i32.or
- i32.or
- i32.store
- local.get $1
- i32.const 0
- i32.store offset=16
- local.get $1
- i32.const 0
- i32.store offset=20
- local.get $1
- local.get $2
- i32.add
- i32.const 16
- i32.sub
- local.tee $2
- i32.const 2
- i32.store
- local.get $0
- local.get $2
- i32.store offset=1568
- local.get $0
- local.get $1
- call $~lib/rt/tlsf/insertBlock
- )
- (func $~lib/rt/tlsf/initializeRoot (; 4 ;) (type $FUNCSIG$v)
- (local $0 i32)
- (local $1 i32)
- i32.const 1
- memory.size
- local.tee $0
- i32.gt_s
- if (result i32)
- i32.const 1
- local.get $0
- i32.sub
- memory.grow
- i32.const 0
- i32.lt_s
- else
- i32.const 0
- end
- if
- unreachable
- end
- i32.const 464
- i32.const 0
- i32.store
- i32.const 2032
- i32.const 0
- i32.store
- i32.const 0
- local.set $0
- loop $loop|0
- block $break|0
- local.get $0
- i32.const 23
- i32.ge_u
- br_if $break|0
- local.get $0
- i32.const 2
- i32.shl
- i32.const 464
- i32.add
- i32.const 0
- i32.store offset=4
- i32.const 0
- local.set $1
- loop $loop|1
- block $break|1
- local.get $1
- i32.const 16
- i32.ge_u
- br_if $break|1
- local.get $0
- i32.const 4
- i32.shl
- local.get $1
- i32.add
- i32.const 2
- i32.shl
- i32.const 464
- i32.add
- i32.const 0
- i32.store offset=96
- local.get $1
- i32.const 1
- i32.add
- local.set $1
- br $loop|1
- end
- end
- local.get $0
- i32.const 1
- i32.add
- local.set $0
- br $loop|0
- end
- end
- i32.const 464
- i32.const 2048
- memory.size
- i32.const 16
- i32.shl
- call $~lib/rt/tlsf/addMemory
- i32.const 464
- global.set $~lib/rt/tlsf/ROOT
- )
- (func $~lib/rt/tlsf/prepareSize (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result 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 -16
- i32.and
- local.tee $0
- i32.const 16
- local.get $0
- i32.const 16
- 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.get $1
- i32.const 256
- i32.lt_u
- if (result i32)
- local.get $1
- i32.const 4
- i32.shr_u
- local.set $1
- i32.const 0
- else
- local.get $1
- i32.const 536870904
- i32.lt_u
- if
- i32.const 1
- i32.const 27
- local.get $1
- i32.clz
- i32.sub
- i32.shl
- local.get $1
- i32.add
- i32.const 1
- i32.sub
- local.set $1
- end
- local.get $1
- i32.const 31
- local.get $1
- i32.clz
- i32.sub
- local.tee $2
- i32.const 4
- i32.sub
- i32.shr_u
- i32.const 16
- i32.xor
- local.set $1
- local.get $2
- i32.const 7
- i32.sub
- end
- local.tee $2
- i32.const 23
- i32.lt_u
- if (result i32)
- local.get $1
- 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 $2
- i32.const 2
- i32.shl
- local.get $0
- i32.add
- i32.load offset=4
- i32.const -1
- local.get $1
- i32.shl
- i32.and
- local.tee $1
- if (result i32)
- local.get $1
- i32.ctz
- local.get $2
- i32.const 4
- i32.shl
- i32.add
- i32.const 2
- i32.shl
- local.get $0
- i32.add
- i32.load offset=96
- else
- local.get $0
- i32.load
- i32.const -1
- local.get $2
- i32.const 1
- i32.add
- i32.shl
- i32.and
- local.tee $1
- if (result i32)
- local.get $1
- i32.ctz
- local.tee $1
- i32.const 2
- i32.shl
- local.get $0
- i32.add
- i32.load offset=4
- local.tee $2
- i32.eqz
- if
- i32.const 0
- i32.const 24
- i32.const 351
- i32.const 17
- call $~lib/builtins/abort
- unreachable
- end
- local.get $2
- i32.ctz
- local.get $1
- i32.const 4
- i32.shl
- i32.add
- i32.const 2
- i32.shl
- local.get $0
- i32.add
- i32.load offset=96
- else
- i32.const 0
- end
- end
- )
- (func $~lib/rt/tlsf/growMemory (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
- (local $2 i32)
- memory.size
- local.tee $2
- i32.const 16
- local.get $0
- i32.load offset=1568
- local.get $2
- i32.const 16
- i32.shl
- i32.const 16
- i32.sub
- i32.ne
- i32.shl
- i32.const 1
- i32.const 27
- local.get $1
- i32.clz
- i32.sub
- i32.shl
- i32.const 1
- i32.sub
- local.get $1
- i32.add
- local.get $1
- local.get $1
- i32.const 536870904
- i32.lt_u
- select
- i32.add
- i32.const 65535
- i32.add
- i32.const -65536
- i32.and
- i32.const 16
- i32.shr_u
- local.tee $1
- local.get $2
- local.get $1
- i32.gt_s
- select
- memory.grow
- i32.const 0
- i32.lt_s
- if
- local.get $1
- memory.grow
- i32.const 0
- i32.lt_s
- if
- unreachable
- end
- end
- local.get $0
- local.get $2
- i32.const 16
- i32.shl
- memory.size
- i32.const 16
- i32.shl
- call $~lib/rt/tlsf/addMemory
- )
- (func $~lib/rt/tlsf/prepareBlock (; 8 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
- (local $3 i32)
- (local $4 i32)
- local.get $1
- i32.load
- local.set $3
- local.get $2
- i32.const 15
- i32.and
- if
- i32.const 0
- i32.const 24
- i32.const 365
- i32.const 13
- call $~lib/builtins/abort
- unreachable
- end
- local.get $3
- i32.const -4
- i32.and
- local.get $2
- i32.sub
- local.tee $4
- i32.const 32
- i32.ge_u
- if
- local.get $1
- local.get $3
- i32.const 2
- i32.and
- local.get $2
- i32.or
- i32.store
- local.get $1
- i32.const 16
- i32.add
- local.get $2
- i32.add
- local.tee $1
- local.get $4
- i32.const 16
- i32.sub
- i32.const 1
- i32.or
- i32.store
- local.get $0
- local.get $1
- call $~lib/rt/tlsf/insertBlock
- else
- local.get $1
- local.get $3
- i32.const -2
- i32.and
- i32.store
- local.get $1
- i32.const 16
- i32.add
- local.get $1
- i32.load
- i32.const -4
- i32.and
- i32.add
- local.get $1
- i32.const 16
- i32.add
- local.get $1
- i32.load
- i32.const -4
- i32.and
- i32.add
- i32.load
- i32.const -3
- i32.and
- i32.store
- end
- )
- (func $~lib/rt/tlsf/allocateBlock (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
- (local $2 i32)
- (local $3 i32)
- local.get $0
- local.get $1
- call $~lib/rt/tlsf/prepareSize
- local.tee $3
- call $~lib/rt/tlsf/searchBlock
- local.tee $2
- i32.eqz
- if
- local.get $0
- local.get $3
- call $~lib/rt/tlsf/growMemory
- local.get $0
- local.get $3
- call $~lib/rt/tlsf/searchBlock
- local.tee $2
- i32.eqz
- if
- i32.const 0
- i32.const 24
- i32.const 487
- i32.const 15
- call $~lib/builtins/abort
- unreachable
- end
- end
- local.get $2
- i32.load
- i32.const -4
- i32.and
- local.get $3
- i32.lt_u
- if
- i32.const 0
- i32.const 24
- i32.const 489
- i32.const 13
- call $~lib/builtins/abort
- unreachable
- end
- local.get $2
- i32.const 0
- i32.store offset=4
- local.get $2
- local.get $1
- i32.store offset=12
- local.get $0
- local.get $2
- call $~lib/rt/tlsf/removeBlock
- local.get $0
- local.get $2
- local.get $3
- call $~lib/rt/tlsf/prepareBlock
- local.get $2
- )
- (func $~lib/rt/tlsf/__alloc (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
- (local $2 i32)
- global.get $~lib/rt/tlsf/ROOT
- local.tee $2
- if (result i32)
- local.get $2
- else
- call $~lib/rt/tlsf/initializeRoot
- global.get $~lib/rt/tlsf/ROOT
- end
- local.get $0
- call $~lib/rt/tlsf/allocateBlock
- local.tee $0
- local.get $1
- i32.store offset=8
- local.get $0
- i32.const 16
- i32.add
- )
- (func $~lib/rt/pure/increment (; 11 ;) (type $FUNCSIG$vi) (param $0 i32)
- (local $1 i32)
- local.get $0
- i32.load offset=4
- local.tee $1
- i32.const -268435456
- i32.and
- local.get $1
- i32.const 1
- i32.add
- i32.const -268435456
- i32.and
- i32.ne
- 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
- if
- i32.const 0
- i32.const 128
- i32.const 107
- i32.const 13
- call $~lib/builtins/abort
- unreachable
- end
- )
- (func $~lib/rt/pure/__retain (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
- local.get $0
- i32.const 452
- i32.gt_u
- if
- local.get $0
- i32.const 16
- i32.sub
- call $~lib/rt/pure/increment
- end
- local.get $0
- )
- (func $~lib/rt/tlsf/freeBlock (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
- (local $2 i32)
- local.get $1
- i32.load
- local.tee $2
- i32.const 1
- i32.and
- if
- i32.const 0
- i32.const 24
- i32.const 546
- 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/__typeinfo (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
- local.get $0
- i32.const 416
- 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 $0
- i32.const 3
- i32.shl
- i32.const 420
- i32.add
- i32.load
- )
- (func $~lib/memory/memory.copy (; 15 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
- (local $3 i32)
- (local $4 i32)
- block $~lib/util/memory/memmove|inlined.0
- local.get $2
- local.set $3
- local.get $0
- local.get $1
- i32.eq
- br_if $~lib/util/memory/memmove|inlined.0
- local.get $0
- local.get $1
- i32.lt_u
- if
- local.get $1
- i32.const 7
- i32.and
- local.get $0
- i32.const 7
- i32.and
- i32.eq
- if
- loop $continue|0
- local.get $0
- i32.const 7
- i32.and
- if
- local.get $3
- i32.eqz
- br_if $~lib/util/memory/memmove|inlined.0
- local.get $3
- i32.const 1
- i32.sub
- local.set $3
- local.get $0
- local.tee $2
- i32.const 1
- i32.add
- local.set $0
- local.get $1
- local.tee $4
- i32.const 1
- i32.add
- local.set $1
- local.get $2
- local.get $4
- i32.load8_u
- i32.store8
- br $continue|0
- end
- end
- loop $continue|1
- local.get $3
- i32.const 8
- i32.lt_u
- i32.eqz
- if
- local.get $0
- local.get $1
- i64.load
- i64.store
- local.get $3
- i32.const 8
- i32.sub
- local.set $3
- local.get $0
- i32.const 8
- i32.add
- local.set $0
- local.get $1
- i32.const 8
- i32.add
- local.set $1
- br $continue|1
- end
- end
- end
- loop $continue|2
- local.get $3
- if
- local.get $0
- local.tee $2
- i32.const 1
- i32.add
- local.set $0
- local.get $1
- local.tee $4
- i32.const 1
- i32.add
- local.set $1
- local.get $2
- local.get $4
- i32.load8_u
- i32.store8
- local.get $3
- i32.const 1
- i32.sub
- local.set $3
- br $continue|2
- end
- end
- else
- local.get $1
- i32.const 7
- i32.and
- local.get $0
- i32.const 7
- i32.and
- i32.eq
- if
- loop $continue|3
- local.get $0
- local.get $3
- i32.add
- i32.const 7
- i32.and
- if
- local.get $3
- i32.eqz
- br_if $~lib/util/memory/memmove|inlined.0
- local.get $0
- local.get $3
- i32.const 1
- i32.sub
- local.tee $3
- i32.add
- local.get $1
- local.get $3
- i32.add
- i32.load8_u
- i32.store8
- br $continue|3
- end
- end
- loop $continue|4
- local.get $3
- i32.const 8
- i32.lt_u
- i32.eqz
- if
- local.get $0
- local.get $3
- i32.const 8
- i32.sub
- local.tee $3
- i32.add
- local.get $1
- local.get $3
- i32.add
- i64.load
- i64.store
- br $continue|4
- end
- end
- end
- loop $continue|5
- local.get $3
- if
- local.get $0
- local.get $3
- i32.const 1
- i32.sub
- local.tee $3
- i32.add
- local.get $1
- local.get $3
- i32.add
- i32.load8_u
- i32.store8
- br $continue|5
- end
- end
- end
- end
- )
- (func $~lib/rt/tlsf/__free (; 16 ;) (type $FUNCSIG$vi) (param $0 i32)
- global.get $~lib/rt/tlsf/ROOT
- i32.eqz
- if
- i32.const 0
- i32.const 24
- i32.const 576
- i32.const 13
- call $~lib/builtins/abort
- unreachable
- end
- local.get $0
- i32.const 15
- i32.and
- i32.eqz
- i32.const 0
- local.get $0
- select
- i32.eqz
- if
- i32.const 0
- i32.const 24
- i32.const 577
- 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 (; 17 ;) (type $FUNCSIG$v)
- (local $0 i32)
- (local $1 i32)
- (local $2 i32)
- (local $3 i32)
- global.get $~lib/rt/pure/CUR
- global.get $~lib/rt/pure/ROOTS
- local.tee $1
- i32.sub
- local.tee $2
- i32.const 1
- i32.shl
- local.tee $0
- i32.const 256
- local.get $0
- i32.const 256
- i32.gt_u
- select
- local.tee $3
- i32.const 0
- call $~lib/rt/tlsf/__alloc
- local.tee $0
- local.get $1
- local.get $2
- call $~lib/memory/memory.copy
- local.get $1
- if
- local.get $1
- call $~lib/rt/tlsf/__free
- end
- local.get $0
- global.set $~lib/rt/pure/ROOTS
- local.get $0
- local.get $2
- i32.add
- global.set $~lib/rt/pure/CUR
- local.get $0
- local.get $3
- i32.add
- global.set $~lib/rt/pure/END
- )
- (func $~lib/rt/pure/appendRoot (; 18 ;) (type $FUNCSIG$vi) (param $0 i32)
- (local $1 i32)
- global.get $~lib/rt/pure/CUR
- local.tee $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 (; 19 ;) (type $FUNCSIG$vi) (param $0 i32)
- (local $1 i32)
- (local $2 i32)
- local.get $0
- i32.load offset=4
- local.tee $2
- i32.const 268435455
- i32.and
- local.set $1
- local.get $0
- i32.load
- i32.const 1
- i32.and
- if
- i32.const 0
- i32.const 128
- i32.const 115
- i32.const 13
- call $~lib/builtins/abort
- unreachable
- end
- local.get $1
- i32.const 1
- i32.eq
- if
- local.get $0
- i32.const 16
- i32.add
- i32.const 1
- call $~lib/rt/__visit_members
- local.get $2
- i32.const -2147483648
- i32.and
- if
- local.get $0
- i32.const -2147483648
- i32.store offset=4
- else
- global.get $~lib/rt/tlsf/ROOT
- local.get $0
- call $~lib/rt/tlsf/freeBlock
- end
- else
- local.get $1
- i32.const 0
- i32.le_u
- 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
- if
- local.get $0
- local.get $1
- i32.const 1
- i32.sub
- local.get $2
- i32.const -268435456
- i32.and
- i32.or
- i32.store offset=4
- else
- local.get $0
- local.get $1
- i32.const 1
- i32.sub
- i32.const -1342177280
- i32.or
- i32.store offset=4
- local.get $2
- i32.const -2147483648
- i32.and
- i32.eqz
- if
- local.get $0
- call $~lib/rt/pure/appendRoot
- end
- end
- end
- )
- (func $~lib/rt/pure/__release (; 20 ;) (type $FUNCSIG$vi) (param $0 i32)
- local.get $0
- i32.const 452
- i32.gt_u
- if
- local.get $0
- i32.const 16
- i32.sub
- call $~lib/rt/pure/decrement
- end
- )
- (func $~lib/rt/pure/markGray (; 21 ;) (type $FUNCSIG$vi) (param $0 i32)
- (local $1 i32)
- local.get $0
- i32.load offset=4
- local.tee $1
- i32.const 1879048192
- i32.and
- i32.const 268435456
- i32.ne
- if
- local.get $0
- local.get $1
- i32.const -1879048193
- 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/pure/scanBlack (; 22 ;) (type $FUNCSIG$vi) (param $0 i32)
- local.get $0
- local.get $0
- i32.load offset=4
- i32.const -1879048193
- i32.and
- 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 (; 23 ;) (type $FUNCSIG$vi) (param $0 i32)
- (local $1 i32)
- local.get $0
- i32.load offset=4
- local.tee $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 -1879048193
- 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 (; 24 ;) (type $FUNCSIG$vi) (param $0 i32)
- (local $1 i32)
- local.get $0
- i32.load offset=4
- local.tee $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 -1879048193
- i32.and
- 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 (; 25 ;) (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.tee $5
- local.tee $2
- local.set $3
- global.get $~lib/rt/pure/CUR
- local.set $0
- loop $loop|0
- block $break|0
- local.get $3
- local.get $0
- i32.ge_u
- br_if $break|0
- local.get $3
- i32.load
- local.tee $4
- i32.load offset=4
- local.tee $1
- i32.const 1879048192
- i32.and
- i32.const 805306368
- i32.eq
- if (result i32)
- local.get $1
- 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 $2
- local.get $4
- i32.store
- local.get $2
- i32.const 4
- i32.add
- local.set $2
- else
- i32.const 0
- local.get $1
- i32.const 268435455
- i32.and
- i32.eqz
- local.get $1
- i32.const 1879048192
- i32.and
- select
- if
- global.get $~lib/rt/tlsf/ROOT
- local.get $4
- call $~lib/rt/tlsf/freeBlock
- else
- local.get $4
- local.get $1
- i32.const 2147483647
- i32.and
- i32.store offset=4
- end
- end
- local.get $3
- i32.const 4
- i32.add
- local.set $3
- br $loop|0
- end
- end
- local.get $2
- global.set $~lib/rt/pure/CUR
- local.get $5
- local.set $0
- loop $loop|1
- block $break|1
- local.get $0
- local.get $2
- i32.ge_u
- br_if $break|1
- local.get $0
- i32.load
- call $~lib/rt/pure/scan
- local.get $0
- i32.const 4
- i32.add
- local.set $0
- br $loop|1
- end
- end
- local.get $5
- local.set $0
- loop $loop|2
- block $break|2
- local.get $0
- local.get $2
- i32.ge_u
- br_if $break|2
- local.get $0
- i32.load
- local.tee $1
- local.get $1
- i32.load offset=4
- i32.const 2147483647
- i32.and
- i32.store offset=4
- local.get $1
- call $~lib/rt/pure/collectWhite
- local.get $0
- i32.const 4
- i32.add
- local.set $0
- br $loop|2
- end
- end
- local.get $5
- global.set $~lib/rt/pure/CUR
- )
- (func $assembly/index/defaultSort~anonymous|0 (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
- local.get $0
- local.get $1
- i32.sub
- )
- (func $~lib/typedarray/Int32Array#get:length (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
- local.get $0
- i32.load offset=8
- i32.const 2
- i32.shr_u
- )
- (func $~lib/util/sort/insertionSort<i32> (; 28 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- loop $loop|0
- local.get $3
- local.get $1
- i32.ge_s
- i32.eqz
- if
- local.get $3
- i32.const 2
- i32.shl
- local.get $0
- i32.add
- i32.load
- local.set $4
- local.get $3
- i32.const 1
- i32.sub
- local.set $2
- loop $continue|1
- block $break|1
- local.get $2
- i32.const 0
- i32.lt_s
- br_if $break|1
- local.get $2
- i32.const 2
- i32.shl
- local.get $0
- i32.add
- i32.load
- local.set $5
- i32.const 2
- global.set $~lib/argc
- local.get $4
- local.get $5
- call $assembly/index/defaultSort~anonymous|0
- i32.const 0
- i32.ge_s
- br_if $break|1
- local.get $2
- local.tee $6
- i32.const 1
- i32.sub
- local.set $2
- local.get $6
- i32.const 1
- i32.add
- i32.const 2
- i32.shl
- local.get $0
- i32.add
- local.get $5
- i32.store
- br $continue|1
- end
- end
- local.get $2
- i32.const 1
- i32.add
- i32.const 2
- i32.shl
- local.get $0
- i32.add
- local.get $4
- i32.store
- local.get $3
- i32.const 1
- i32.add
- local.set $3
- br $loop|0
- end
- end
- )
- (func $~lib/memory/memory.fill (; 29 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
- (local $2 i32)
- block $~lib/util/memory/memset|inlined.0
- local.get $1
- i32.eqz
- br_if $~lib/util/memory/memset|inlined.0
- local.get $0
- i32.const 0
- i32.store8
- local.get $0
- local.get $1
- i32.add
- i32.const 1
- i32.sub
- i32.const 0
- i32.store8
- local.get $1
- i32.const 2
- i32.le_u
- br_if $~lib/util/memory/memset|inlined.0
- local.get $0
- i32.const 1
- i32.add
- i32.const 0
- i32.store8
- local.get $0
- i32.const 2
- i32.add
- i32.const 0
- i32.store8
- local.get $0
- local.get $1
- i32.add
- local.tee $2
- i32.const 2
- i32.sub
- i32.const 0
- i32.store8
- local.get $2
- i32.const 3
- i32.sub
- i32.const 0
- i32.store8
- local.get $1
- i32.const 6
- i32.le_u
- br_if $~lib/util/memory/memset|inlined.0
- local.get $0
- i32.const 3
- i32.add
- i32.const 0
- i32.store8
- local.get $0
- local.get $1
- i32.add
- i32.const 4
- i32.sub
- i32.const 0
- i32.store8
- local.get $1
- i32.const 8
- i32.le_u
- br_if $~lib/util/memory/memset|inlined.0
- local.get $1
- i32.const 0
- local.get $0
- i32.sub
- i32.const 3
- i32.and
- local.tee $1
- i32.sub
- local.get $0
- local.get $1
- i32.add
- local.tee $0
- i32.const 0
- i32.store
- i32.const -4
- i32.and
- local.tee $1
- local.get $0
- i32.add
- i32.const 4
- i32.sub
- i32.const 0
- i32.store
- local.get $1
- i32.const 8
- i32.le_u
- br_if $~lib/util/memory/memset|inlined.0
- local.get $0
- i32.const 4
- i32.add
- i32.const 0
- i32.store
- local.get $0
- i32.const 8
- i32.add
- i32.const 0
- i32.store
- local.get $0
- local.get $1
- i32.add
- local.tee $2
- i32.const 12
- i32.sub
- i32.const 0
- i32.store
- local.get $2
- i32.const 8
- i32.sub
- i32.const 0
- i32.store
- local.get $1
- i32.const 24
- i32.le_u
- br_if $~lib/util/memory/memset|inlined.0
- local.get $0
- i32.const 12
- i32.add
- i32.const 0
- i32.store
- local.get $0
- i32.const 16
- i32.add
- i32.const 0
- i32.store
- local.get $0
- i32.const 20
- i32.add
- i32.const 0
- i32.store
- local.get $0
- i32.const 24
- i32.add
- i32.const 0
- i32.store
- local.get $0
- local.get $1
- i32.add
- local.tee $2
- i32.const 28
- i32.sub
- i32.const 0
- i32.store
- local.get $2
- i32.const 24
- i32.sub
- i32.const 0
- i32.store
- local.get $2
- i32.const 20
- i32.sub
- i32.const 0
- i32.store
- local.get $2
- i32.const 16
- i32.sub
- i32.const 0
- i32.store
- local.get $0
- i32.const 4
- i32.and
- i32.const 24
- i32.add
- local.tee $2
- local.get $0
- i32.add
- local.set $0
- local.get $1
- local.get $2
- i32.sub
- local.set $1
- loop $continue|0
- local.get $1
- i32.const 32
- i32.ge_u
- if
- local.get $0
- i64.const 0
- i64.store
- local.get $0
- i32.const 8
- i32.add
- i64.const 0
- i64.store
- local.get $0
- i32.const 16
- i32.add
- i64.const 0
- i64.store
- local.get $0
- i32.const 24
- i32.add
- i64.const 0
- i64.store
- local.get $1
- i32.const 32
- i32.sub
- local.set $1
- local.get $0
- i32.const 32
- i32.add
- local.set $0
- br $continue|0
- end
- end
- end
- )
- (func $~lib/util/sort/weakHeapSort<i32> (; 30 ;) (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 31
- i32.add
- i32.const 5
- i32.shr_s
- i32.const 2
- i32.shl
- local.tee $2
- i32.const 0
- call $~lib/rt/tlsf/__alloc
- local.tee $4
- local.get $2
- call $~lib/memory/memory.fill
- local.get $1
- i32.const 1
- i32.sub
- local.set $2
- loop $loop|0
- local.get $2
- i32.const 0
- i32.gt_s
- if
- local.get $2
- local.set $3
- loop $continue|1
- local.get $3
- i32.const 1
- i32.and
- local.get $3
- i32.const 6
- i32.shr_s
- i32.const 2
- i32.shl
- local.get $4
- i32.add
- i32.load
- local.get $3
- i32.const 1
- i32.shr_s
- i32.const 31
- i32.and
- i32.shr_u
- i32.const 1
- i32.and
- i32.eq
- if
- local.get $3
- i32.const 1
- i32.shr_s
- local.set $3
- br $continue|1
- end
- end
- local.get $3
- i32.const 1
- i32.shr_s
- local.tee $6
- i32.const 2
- i32.shl
- local.get $0
- i32.add
- i32.load
- local.set $3
- local.get $2
- i32.const 2
- i32.shl
- local.get $0
- i32.add
- i32.load
- local.set $5
- i32.const 2
- global.set $~lib/argc
- local.get $3
- local.get $5
- call $assembly/index/defaultSort~anonymous|0
- i32.const 0
- i32.lt_s
- if
- local.get $2
- i32.const 5
- i32.shr_s
- i32.const 2
- i32.shl
- local.get $4
- i32.add
- local.tee $7
- local.get $7
- i32.load
- i32.const 1
- local.get $2
- i32.const 31
- i32.and
- i32.shl
- i32.xor
- i32.store
- local.get $2
- i32.const 2
- i32.shl
- local.get $0
- i32.add
- local.get $3
- i32.store
- local.get $6
- i32.const 2
- i32.shl
- local.get $0
- i32.add
- local.get $5
- i32.store
- end
- local.get $2
- i32.const 1
- i32.sub
- local.set $2
- br $loop|0
- end
- end
- local.get $1
- i32.const 1
- i32.sub
- local.set $3
- loop $loop|2
- local.get $3
- i32.const 2
- i32.ge_s
- if
- local.get $0
- i32.load
- local.set $1
- local.get $0
- local.get $3
- i32.const 2
- i32.shl
- local.get $0
- i32.add
- local.tee $2
- i32.load
- i32.store
- local.get $2
- local.get $1
- i32.store
- i32.const 1
- local.set $1
- loop $continue|3
- local.get $1
- i32.const 5
- i32.shr_s
- i32.const 2
- i32.shl
- local.get $4
- i32.add
- i32.load
- local.get $1
- i32.const 31
- i32.and
- i32.shr_u
- i32.const 1
- i32.and
- local.get $1
- i32.const 1
- i32.shl
- i32.add
- local.tee $2
- local.get $3
- i32.lt_s
- if
- local.get $2
- local.set $1
- br $continue|3
- end
- end
- loop $continue|4
- local.get $1
- i32.const 0
- i32.gt_s
- if
- local.get $0
- i32.load
- local.set $2
- local.get $1
- i32.const 2
- i32.shl
- local.get $0
- i32.add
- i32.load
- local.set $5
- i32.const 2
- global.set $~lib/argc
- local.get $2
- local.get $5
- call $assembly/index/defaultSort~anonymous|0
- i32.const 0
- i32.lt_s
- if
- local.get $1
- i32.const 5
- i32.shr_s
- i32.const 2
- i32.shl
- local.get $4
- i32.add
- local.tee $6
- local.get $6
- i32.load
- i32.const 1
- local.get $1
- i32.const 31
- i32.and
- i32.shl
- i32.xor
- i32.store
- local.get $1
- i32.const 2
- i32.shl
- local.get $0
- i32.add
- local.get $2
- i32.store
- local.get $0
- local.get $5
- i32.store
- end
- local.get $1
- i32.const 1
- i32.shr_s
- local.set $1
- br $continue|4
- end
- end
- local.get $3
- i32.const 1
- i32.sub
- local.set $3
- br $loop|2
- end
- end
- local.get $4
- call $~lib/rt/tlsf/__free
- local.get $0
- i32.load offset=4
- local.set $1
- local.get $0
- local.get $0
- i32.load
- i32.store offset=4
- local.get $0
- local.get $1
- i32.store
- )
- (func $~lib/typedarray/Int32Array#sort (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
- (local $1 i32)
- (local $2 i32)
- (local $3 i32)
- block $~lib/typedarray/SORT<~lib/typedarray/Int32Array,i32>|inlined.0
- local.get $0
- call $~lib/rt/pure/__retain
- local.tee $2
- call $~lib/typedarray/Int32Array#get:length
- local.tee $1
- i32.const 1
- i32.le_s
- if
- local.get $2
- call $~lib/rt/pure/__release
- br $~lib/typedarray/SORT<~lib/typedarray/Int32Array,i32>|inlined.0
- end
- local.get $2
- i32.load offset=4
- local.set $0
- local.get $1
- i32.const 2
- i32.eq
- if
- local.get $0
- i32.load offset=4
- local.set $1
- local.get $0
- i32.load
- local.set $3
- i32.const 2
- global.set $~lib/argc
- local.get $1
- local.get $3
- call $assembly/index/defaultSort~anonymous|0
- i32.const 0
- i32.lt_s
- if
- local.get $0
- local.get $3
- i32.store offset=4
- local.get $0
- local.get $1
- i32.store
- end
- local.get $2
- call $~lib/rt/pure/__release
- br $~lib/typedarray/SORT<~lib/typedarray/Int32Array,i32>|inlined.0
- end
- local.get $1
- i32.const 256
- i32.lt_s
- if
- local.get $0
- local.get $1
- call $~lib/util/sort/insertionSort<i32>
- else
- local.get $0
- local.get $1
- call $~lib/util/sort/weakHeapSort<i32>
- end
- end
- local.get $2
- )
- (func $assembly/index/defaultSort (; 32 ;) (type $FUNCSIG$vi) (param $0 i32)
- local.get $0
- call $~lib/rt/pure/__retain
- drop
- local.get $0
- call $~lib/typedarray/Int32Array#sort
- call $~lib/rt/pure/__release
- local.get $0
- call $~lib/rt/pure/__release
- )
- (func $~lib/typedarray/Int32Array#__get (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
- local.get $1
- local.get $0
- i32.load offset=8
- i32.const 2
- i32.shr_u
- i32.ge_u
- if
- i32.const 176
- i32.const 272
- i32.const 517
- i32.const 63
- call $~lib/builtins/abort
- unreachable
- end
- local.get $0
- i32.load offset=4
- local.get $1
- i32.const 2
- i32.shl
- i32.add
- i32.load
- )
- (func $~lib/typedarray/Int32Array#__set (; 34 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
- local.get $1
- local.get $0
- i32.load offset=8
- i32.const 2
- i32.shr_u
- i32.ge_u
- if
- i32.const 176
- i32.const 272
- i32.const 523
- i32.const 63
- call $~lib/builtins/abort
- unreachable
- end
- local.get $0
- i32.load offset=4
- local.get $1
- i32.const 2
- i32.shl
- i32.add
- local.get $2
- i32.store
- )
- (func $assembly/index/swap (; 35 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
- (local $3 i32)
- local.get $0
- call $~lib/rt/pure/__retain
- drop
- local.get $0
- local.get $1
- call $~lib/typedarray/Int32Array#__get
- local.set $3
- local.get $0
- local.get $1
- local.get $0
- local.get $2
- call $~lib/typedarray/Int32Array#__get
- call $~lib/typedarray/Int32Array#__set
- local.get $0
- local.get $2
- local.get $3
- call $~lib/typedarray/Int32Array#__set
- local.get $0
- call $~lib/rt/pure/__release
- )
- (func $assembly/index/partition (; 36 ;) (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 $0
- call $~lib/rt/pure/__retain
- drop
- local.get $0
- local.get $1
- call $~lib/typedarray/Int32Array#__get
- local.set $5
- local.get $1
- local.tee $3
- i32.const 1
- i32.add
- local.set $4
- loop $loop|0
- block $break|0
- local.get $4
- local.get $2
- i32.gt_s
- br_if $break|0
- local.get $0
- local.get $4
- call $~lib/typedarray/Int32Array#__get
- local.get $5
- i32.lt_s
- if
- local.get $0
- local.get $4
- local.get $3
- call $assembly/index/swap
- local.get $4
- local.get $1
- local.get $1
- local.get $3
- i32.eq
- select
- local.set $1
- local.get $3
- i32.const 1
- i32.add
- local.set $3
- end
- local.get $4
- i32.const 1
- i32.add
- local.set $4
- br $loop|0
- end
- end
- local.get $0
- local.get $1
- local.get $3
- call $assembly/index/swap
- local.get $0
- call $~lib/rt/pure/__release
- local.get $3
- )
- (func $assembly/index/quickSort (; 37 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
- local.get $0
- call $~lib/rt/pure/__retain
- drop
- local.get $1
- local.get $2
- i32.lt_s
- if
- local.get $0
- local.get $1
- local.get $0
- local.get $1
- local.get $2
- call $assembly/index/partition
- local.tee $1
- call $assembly/index/quickSort
- local.get $0
- local.get $1
- i32.const 1
- i32.add
- local.get $2
- call $assembly/index/quickSort
- end
- local.get $0
- call $~lib/rt/pure/__release
- )
- (func $assembly/index/insertionSort (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
- (local $1 i32)
- (local $2 i32)
- (local $3 i32)
- local.get $0
- call $~lib/rt/pure/__retain
- drop
- loop $loop|0
- block $break|0
- local.get $2
- local.get $0
- call $~lib/typedarray/Int32Array#get:length
- i32.ge_s
- br_if $break|0
- local.get $0
- local.get $2
- call $~lib/typedarray/Int32Array#__get
- local.set $3
- local.get $2
- i32.const 1
- i32.sub
- local.set $1
- loop $loop|1
- block $break|1
- local.get $1
- i32.const -1
- i32.gt_s
- if (result i32)
- local.get $0
- local.get $1
- call $~lib/typedarray/Int32Array#__get
- local.get $3
- i32.gt_s
- else
- i32.const 0
- end
- i32.eqz
- br_if $break|1
- local.get $0
- local.get $1
- i32.const 1
- i32.add
- local.get $0
- local.get $1
- call $~lib/typedarray/Int32Array#__get
- call $~lib/typedarray/Int32Array#__set
- local.get $1
- i32.const 1
- i32.sub
- local.set $1
- br $loop|1
- end
- end
- local.get $0
- local.get $1
- i32.const 1
- i32.add
- local.get $3
- call $~lib/typedarray/Int32Array#__set
- local.get $2
- i32.const 1
- i32.add
- local.set $2
- br $loop|0
- end
- end
- local.get $0
- )
- (func $~lib/arraybuffer/ArrayBufferView#constructor (; 39 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
- (local $2 i32)
- (local $3 i32)
- local.get $1
- i32.const 268435452
- i32.gt_u
- if
- i32.const 328
- i32.const 376
- i32.const 14
- i32.const 56
- call $~lib/builtins/abort
- unreachable
- end
- local.get $1
- i32.const 2
- i32.shl
- local.tee $2
- i32.const 0
- call $~lib/rt/tlsf/__alloc
- local.tee $1
- local.get $2
- call $~lib/memory/memory.fill
- local.get $0
- i32.eqz
- if
- i32.const 12
- i32.const 2
- 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
- i32.const 0
- i32.store offset=4
- local.get $0
- i32.const 0
- i32.store offset=8
- local.get $1
- local.get $0
- i32.load
- local.tee $3
- i32.ne
- if
- local.get $1
- call $~lib/rt/pure/__retain
- drop
- local.get $3
- call $~lib/rt/pure/__release
- end
- local.get $0
- local.get $1
- i32.store
- local.get $0
- local.get $1
- i32.store offset=4
- local.get $0
- local.get $2
- i32.store offset=8
- local.get $0
- )
- (func $~lib/typedarray/Int32Array#constructor (; 40 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
- i32.const 12
- i32.const 3
- call $~lib/rt/tlsf/__alloc
- call $~lib/rt/pure/__retain
- local.get $0
- call $~lib/arraybuffer/ArrayBufferView#constructor
- )
- (func $assembly/index/findMax (; 41 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
- (local $1 i32)
- (local $2 i32)
- local.get $0
- call $~lib/rt/pure/__retain
- drop
- loop $loop|0
- block $break|0
- local.get $1
- local.get $0
- call $~lib/typedarray/Int32Array#get:length
- i32.ge_s
- br_if $break|0
- local.get $0
- local.get $1
- call $~lib/typedarray/Int32Array#__get
- local.get $2
- i32.gt_s
- if
- local.get $0
- local.get $1
- call $~lib/typedarray/Int32Array#__get
- local.set $2
- end
- local.get $1
- i32.const 1
- i32.add
- local.set $1
- br $loop|0
- end
- end
- local.get $0
- call $~lib/rt/pure/__release
- local.get $2
- )
- (func $assembly/index/countingSort (; 42 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
- (local $1 i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- local.get $0
- call $~lib/rt/pure/__retain
- drop
- local.get $0
- call $assembly/index/findMax
- i32.const 1
- i32.add
- call $~lib/typedarray/Int32Array#constructor
- local.set $2
- loop $loop|0
- block $break|0
- local.get $1
- local.get $0
- call $~lib/typedarray/Int32Array#get:length
- i32.ge_s
- br_if $break|0
- local.get $2
- local.get $0
- local.get $1
- call $~lib/typedarray/Int32Array#__get
- local.get $2
- local.get $0
- local.get $1
- call $~lib/typedarray/Int32Array#__get
- call $~lib/typedarray/Int32Array#__get
- i32.const 1
- i32.add
- call $~lib/typedarray/Int32Array#__set
- local.get $1
- i32.const 1
- i32.add
- local.set $1
- br $loop|0
- end
- end
- i32.const 1
- local.set $1
- loop $loop|1
- block $break|1
- local.get $1
- local.get $2
- call $~lib/typedarray/Int32Array#get:length
- i32.ge_s
- br_if $break|1
- local.get $2
- local.get $1
- local.get $2
- local.get $1
- call $~lib/typedarray/Int32Array#__get
- local.get $2
- local.get $1
- i32.const 1
- i32.sub
- call $~lib/typedarray/Int32Array#__get
- i32.add
- call $~lib/typedarray/Int32Array#__set
- local.get $1
- i32.const 1
- i32.add
- local.set $1
- br $loop|1
- end
- end
- local.get $0
- call $~lib/typedarray/Int32Array#get:length
- call $~lib/typedarray/Int32Array#constructor
- local.set $4
- i32.const 0
- local.set $1
- loop $loop|2
- block $break|2
- local.get $1
- local.get $0
- call $~lib/typedarray/Int32Array#get:length
- i32.ge_s
- br_if $break|2
- local.get $4
- local.get $2
- local.get $0
- local.get $1
- call $~lib/typedarray/Int32Array#__get
- local.tee $3
- call $~lib/typedarray/Int32Array#__get
- i32.const 1
- i32.sub
- local.get $3
- call $~lib/typedarray/Int32Array#__set
- local.get $2
- local.get $3
- local.get $2
- local.get $3
- call $~lib/typedarray/Int32Array#__get
- i32.const 1
- i32.sub
- call $~lib/typedarray/Int32Array#__set
- local.get $1
- i32.const 1
- i32.add
- local.set $1
- br $loop|2
- end
- end
- local.get $2
- call $~lib/rt/pure/__release
- local.get $0
- call $~lib/rt/pure/__release
- local.get $4
- )
- (func $~lib/rt/pure/__visit (; 43 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
- local.get $0
- i32.const 452
- i32.lt_u
- if
- return
- end
- local.get $0
- i32.const 16
- i32.sub
- local.set $0
- block $break|0
- block $case5|0
- block $case4|0
- block $case3|0
- block $case2|0
- block $case1|0
- local.get $1
- i32.const 1
- i32.ne
- if
- local.get $1
- i32.const 2
- i32.eq
- br_if $case1|0
- block $tablify|0
- local.get $1
- i32.const 3
- i32.sub
- br_table $case2|0 $case3|0 $case4|0 $tablify|0
- end
- br $case5|0
- end
- local.get $0
- call $~lib/rt/pure/decrement
- br $break|0
- end
- local.get $0
- i32.load offset=4
- i32.const 268435455
- i32.and
- i32.const 0
- i32.le_u
- if
- i32.const 0
- i32.const 128
- i32.const 75
- i32.const 17
- call $~lib/builtins/abort
- unreachable
- end
- local.get $0
- local.get $0
- i32.load offset=4
- i32.const 1
- i32.sub
- i32.store offset=4
- local.get $0
- call $~lib/rt/pure/markGray
- br $break|0
- end
- local.get $0
- call $~lib/rt/pure/scan
- br $break|0
- end
- local.get $0
- i32.load offset=4
- local.tee $1
- i32.const -268435456
- i32.and
- local.get $1
- i32.const 1
- i32.add
- i32.const -268435456
- i32.and
- i32.ne
- if
- i32.const 0
- i32.const 128
- i32.const 86
- i32.const 6
- call $~lib/builtins/abort
- unreachable
- end
- local.get $0
- local.get $1
- i32.const 1
- i32.add
- i32.store offset=4
- local.get $1
- i32.const 1879048192
- i32.and
- if
- local.get $0
- call $~lib/rt/pure/scanBlack
- end
- br $break|0
- end
- local.get $0
- call $~lib/rt/pure/collectWhite
- br $break|0
- end
- i32.const 0
- i32.const 128
- i32.const 97
- i32.const 24
- call $~lib/builtins/abort
- unreachable
- end
- )
- (func $~lib/rt/__visit_members (; 44 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
- block $switch$1$default
- 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$4 $switch$1$default
- end
- return
- end
- local.get $0
- i32.load
- local.tee $0
- if
- local.get $0
- local.get $1
- call $~lib/rt/pure/__visit
- end
- return
- end
- unreachable
- )
- (func $null (; 45 ;) (type $FUNCSIG$v)
- nop
- )
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement