Rework resolver (#489)

* Rework IR and resolver to use nested lookup tables
* Integrate types into IR
* Make components prefer IR, slimmed down AST
* Implement `export *`
* Add `@lazy` annotation and remove `--noTreeShaking`
* Add `@start` annotation and remove magic `main`
* Related refactoring, cleanup and docs
This commit is contained in:
Daniel Wirtz
2019-02-21 00:11:22 +01:00
committed by GitHub
parent e623786b42
commit 0c64f21250
234 changed files with 16949 additions and 37871 deletions

View File

@ -1,7 +1,7 @@
(module
(type $_ (func))
(type $iiii_ (func (param i32 i32 i32 i32)))
(type $iii_ (func (param i32 i32 i32)))
(type $_ (func))
(type $FUNCSIG$i (func (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$vii (func (param i32 i32)))
@ -1412,7 +1412,7 @@
i32.const 0
end
)
(func $start (; 6 ;) (type $_)
(func $start:std/allocator_arena (; 6 ;) (type $_)
i32.const 56
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
@ -1524,7 +1524,10 @@
unreachable
end
)
(func $null (; 7 ;) (type $_)
(func $start (; 7 ;) (type $_)
call $start:std/allocator_arena
)
(func $null (; 8 ;) (type $_)
nop
)
)

View File

@ -1,30 +1,38 @@
(module
(type $_ (func))
(type $ii (func (param i32) (result i32)))
(type $iiii_ (func (param i32 i32 i32 i32)))
(type $iii_ (func (param i32 i32 i32)))
(type $iiii (func (param i32 i32 i32) (result i32)))
(type $i_ (func (param i32)))
(type $_ (func))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
(memory $0 1)
(data (i32.const 8) "\16\00\00\00s\00t\00d\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00_\00a\00r\00e\00n\00a\00.\00t\00s\00")
(table $0 1 funcref)
(elem (i32.const 0) $null)
(global $~lib/internal/allocator/AL_BITS i32 (i32.const 3))
(global $~lib/internal/allocator/AL_SIZE i32 (i32.const 8))
(global $~lib/internal/allocator/AL_MASK i32 (i32.const 7))
(global $~lib/internal/allocator/MAX_SIZE_32 i32 (i32.const 1073741824))
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
(global $std/allocator_arena/size i32 (i32.const 42))
(global $std/allocator_arena/ptr1 (mut i32) (i32.const 0))
(global $std/allocator_arena/ptr2 (mut i32) (i32.const 0))
(global $std/allocator_arena/i (mut i32) (i32.const 0))
(global $HEAP_BASE i32 (i32.const 56))
(global $~lib/memory/HEAP_BASE i32 (i32.const 56))
(export "memory" (memory $0))
(export "table" (table $0))
(start $start)
(func $~lib/allocator/arena/__memory_allocate (; 1 ;) (type $ii) (param $0 i32) (result i32)
(func $start:~lib/allocator/arena (; 1 ;) (type $_)
global.get $~lib/memory/HEAP_BASE
i32.const 7
i32.add
i32.const 7
i32.const -1
i32.xor
i32.and
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
global.set $~lib/allocator/arena/offset
)
(func $~lib/allocator/arena/__memory_allocate (; 2 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -32,7 +40,7 @@
(local $5 i32)
(local $6 i32)
local.get $0
global.get $~lib/internal/allocator/MAX_SIZE_32
i32.const 1073741824
i32.gt_u
if
unreachable
@ -49,9 +57,9 @@
i32.gt_u
select
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const 7
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const 7
i32.const -1
i32.xor
i32.and
@ -103,7 +111,7 @@
global.set $~lib/allocator/arena/offset
local.get $1
)
(func $~lib/internal/memory/memset (; 2 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/internal/memory/memset (; 3 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i64)
@ -357,7 +365,7 @@
end
end
)
(func $~lib/internal/memory/memcpy (; 3 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/internal/memory/memcpy (; 4 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -1558,7 +1566,7 @@
i32.store8
end
)
(func $~lib/internal/memory/memmove (; 4 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/internal/memory/memmove (; 5 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
local.get $0
local.get $1
@ -1785,7 +1793,7 @@
end
end
)
(func $~lib/internal/memory/memcmp (; 5 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/internal/memory/memcmp (; 6 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
local.get $0
local.get $1
@ -1839,27 +1847,18 @@
i32.const 0
end
)
(func $~lib/allocator/arena/__memory_free (; 6 ;) (type $i_) (param $0 i32)
(func $~lib/allocator/arena/__memory_free (; 7 ;) (type $i_) (param $0 i32)
nop
)
(func $~lib/allocator/arena/__memory_reset (; 7 ;) (type $_)
(func $~lib/allocator/arena/__memory_reset (; 8 ;) (type $_)
global.get $~lib/allocator/arena/startOffset
global.set $~lib/allocator/arena/offset
)
(func $start (; 8 ;) (type $_)
(func $start:std/allocator_arena (; 9 ;) (type $_)
(local $0 i32)
(local $1 i32)
(local $2 i32)
global.get $HEAP_BASE
global.get $~lib/internal/allocator/AL_MASK
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const -1
i32.xor
i32.and
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
global.set $~lib/allocator/arena/offset
call $start:~lib/allocator/arena
block $~lib/memory/memory.allocate|inlined.0 (result i32)
global.get $std/allocator_arena/size
local.set $0
@ -1888,7 +1887,7 @@
call $~lib/env/abort
unreachable
end
block $memory.fill|inlined.0
block $~lib/memory/memory.fill|inlined.0
global.get $std/allocator_arena/ptr1
local.set $0
i32.const 18
@ -1933,7 +1932,7 @@
end
unreachable
end
block $memory.copy|inlined.0
block $~lib/memory/memory.copy|inlined.0
global.get $std/allocator_arena/ptr2
local.set $2
global.get $std/allocator_arena/ptr1
@ -2028,7 +2027,7 @@
end
global.set $std/allocator_arena/ptr1
global.get $std/allocator_arena/ptr1
global.get $HEAP_BASE
global.get $~lib/memory/HEAP_BASE
i32.const 7
i32.add
i32.const 7
@ -2046,6 +2045,9 @@
unreachable
end
)
(func $null (; 9 ;) (type $_)
(func $start (; 10 ;) (type $_)
call $start:std/allocator_arena
)
(func $null (; 11 ;) (type $_)
)
)

View File

@ -12,12 +12,7 @@
(data (i32.const 48) "\04\00\00\00n\00u\00l\00l\00")
(table $0 1 funcref)
(elem (i32.const 0) $null)
(global $~lib/internal/allocator/AL_BITS i32 (i32.const 3))
(global $~lib/internal/allocator/AL_SIZE i32 (i32.const 8))
(global $~lib/internal/allocator/AL_MASK i32 (i32.const 7))
(global $~lib/internal/arraybuffer/HEADER_SIZE i32 (i32.const 8))
(global $~lib/internal/string/HEADER_SIZE i32 (i32.const 4))
(global $HEAP_BASE i32 (i32.const 60))
(global $~lib/memory/HEAP_BASE i32 (i32.const 60))
(export "memory" (memory $0))
(export "table" (table $0))
(export "i32ArrayArrayElementAccess" (func $std/array-access/i32ArrayArrayElementAccess))

View File

@ -1,7 +1,7 @@
(module
(type $_ (func))
(type $iiii_ (func (param i32 i32 i32 i32)))
(type $ii (func (param i32) (result i32)))
(type $_ (func))
(type $FUNCSIG$vii (func (param i32 i32)))
(type $FUNCSIG$i (func (result i32)))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
@ -391,7 +391,7 @@
call $~lib/internal/memory/memset
local.get $0
)
(func $start (; 6 ;) (type $_)
(func $start:std/array-literal (; 6 ;) (type $_)
(local $0 i32)
(local $1 i32)
i32.const 232
@ -895,7 +895,10 @@
unreachable
end
)
(func $null (; 7 ;) (type $_)
(func $start (; 7 ;) (type $_)
call $start:std/array-literal
)
(func $null (; 8 ;) (type $_)
nop
)
)

View File

@ -1,9 +1,9 @@
(module
(type $_ (func))
(type $iiii_ (func (param i32 i32 i32 i32)))
(type $iii (func (param i32 i32) (result i32)))
(type $ii (func (param i32) (result i32)))
(type $iii_ (func (param i32 i32 i32)))
(type $_ (func))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
(memory $0 1)
(data (i32.const 8) "\03\00\00\00\00\00\00\00\00\01\02\00\00\00\00\00")
@ -17,27 +17,33 @@
(data (i32.const 168) "\1c\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00")
(table $0 1 funcref)
(elem (i32.const 0) $null)
(global $~lib/internal/allocator/AL_BITS i32 (i32.const 3))
(global $~lib/internal/allocator/AL_SIZE i32 (i32.const 8))
(global $~lib/internal/allocator/AL_MASK i32 (i32.const 7))
(global $~lib/internal/allocator/MAX_SIZE_32 i32 (i32.const 1073741824))
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
(global $std/array-literal/staticArrayI8 i32 (i32.const 24))
(global $~lib/internal/arraybuffer/HEADER_SIZE i32 (i32.const 8))
(global $std/array-literal/staticArrayI32 i32 (i32.const 112))
(global $std/array-literal/emptyArrayI32 (mut i32) (i32.const 128))
(global $std/array-literal/i (mut i32) (i32.const 0))
(global $~lib/internal/arraybuffer/MAX_BLENGTH i32 (i32.const 1073741816))
(global $std/array-literal/dynamicArrayI8 (mut i32) (i32.const 0))
(global $std/array-literal/dynamicArrayI32 (mut i32) (i32.const 0))
(global $std/array-literal/dynamicArrayRef (mut i32) (i32.const 0))
(global $std/array-literal/dynamicArrayRefWithCtor (mut i32) (i32.const 0))
(global $HEAP_BASE i32 (i32.const 228))
(global $~lib/memory/HEAP_BASE i32 (i32.const 228))
(export "memory" (memory $0))
(export "table" (table $0))
(start $start)
(func $~lib/array/Array<i8>#__get (; 1 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $start:~lib/allocator/arena (; 1 ;) (type $_)
global.get $~lib/memory/HEAP_BASE
i32.const 7
i32.add
i32.const 7
i32.const -1
i32.xor
i32.and
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
global.set $~lib/allocator/arena/offset
)
(func $~lib/array/Array<i8>#__get (; 2 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -70,7 +76,7 @@
unreachable
end
)
(func $~lib/array/Array<i32>#__get (; 2 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/array/Array<i32>#__get (; 3 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -103,11 +109,11 @@
unreachable
end
)
(func $~lib/internal/arraybuffer/computeSize (; 3 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/arraybuffer/computeSize (; 4 ;) (type $ii) (param $0 i32) (result i32)
i32.const 1
i32.const 32
local.get $0
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.const 8
i32.add
i32.const 1
i32.sub
@ -115,7 +121,7 @@
i32.sub
i32.shl
)
(func $~lib/allocator/arena/__memory_allocate (; 4 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 5 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -123,7 +129,7 @@
(local $5 i32)
(local $6 i32)
local.get $0
global.get $~lib/internal/allocator/MAX_SIZE_32
i32.const 1073741824
i32.gt_u
if
unreachable
@ -140,9 +146,9 @@
i32.gt_u
select
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const 7
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const 7
i32.const -1
i32.xor
i32.and
@ -194,11 +200,11 @@
global.set $~lib/allocator/arena/offset
local.get $1
)
(func $~lib/internal/arraybuffer/allocateUnsafe (; 5 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/arraybuffer/allocateUnsafe (; 6 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
local.get $0
global.get $~lib/internal/arraybuffer/MAX_BLENGTH
i32.const 1073741816
i32.le_u
i32.eqz
if
@ -223,12 +229,12 @@
i32.store
local.get $1
)
(func $~lib/memory/memory.allocate (; 6 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 7 ;) (type $ii) (param $0 i32) (result i32)
local.get $0
call $~lib/allocator/arena/__memory_allocate
return
)
(func $~lib/internal/memory/memset (; 7 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/internal/memory/memset (; 8 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i64)
@ -482,7 +488,7 @@
end
end
)
(func $~lib/array/Array<i8>#constructor (; 8 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/array/Array<i8>#constructor (; 9 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -527,9 +533,9 @@
local.get $0
local.get $1
i32.store offset=4
block $memory.fill|inlined.0
block $~lib/memory/memory.fill|inlined.0
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.const 8
i32.add
local.set $4
i32.const 0
@ -543,7 +549,7 @@
end
local.get $0
)
(func $~lib/array/Array<i8>#__unchecked_set (; 9 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/array/Array<i8>#__unchecked_set (; 10 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -567,7 +573,7 @@
local.get $5
i32.store8 offset=8
)
(func $~lib/array/Array<i32>#constructor (; 10 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/array/Array<i32>#constructor (; 11 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -612,9 +618,9 @@
local.get $0
local.get $1
i32.store offset=4
block $memory.fill|inlined.1
block $~lib/memory/memory.fill|inlined.1
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.const 8
i32.add
local.set $4
i32.const 0
@ -628,7 +634,7 @@
end
local.get $0
)
(func $~lib/array/Array<i32>#__unchecked_set (; 11 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/array/Array<i32>#__unchecked_set (; 12 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -652,7 +658,7 @@
local.get $5
i32.store offset=8
)
(func $std/array-literal/Ref#constructor (; 12 ;) (type $ii) (param $0 i32) (result i32)
(func $std/array-literal/Ref#constructor (; 13 ;) (type $ii) (param $0 i32) (result i32)
local.get $0
i32.eqz
if
@ -662,7 +668,7 @@
end
local.get $0
)
(func $~lib/array/Array<Ref>#constructor (; 13 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/array/Array<Ref>#constructor (; 14 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -707,9 +713,9 @@
local.get $0
local.get $1
i32.store offset=4
block $memory.fill|inlined.2
block $~lib/memory/memory.fill|inlined.2
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.const 8
i32.add
local.set $4
i32.const 0
@ -723,7 +729,7 @@
end
local.get $0
)
(func $~lib/array/Array<Ref>#__unchecked_set (; 14 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/array/Array<Ref>#__unchecked_set (; 15 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -747,7 +753,7 @@
local.get $5
i32.store offset=8
)
(func $std/array-literal/RefWithCtor#constructor (; 15 ;) (type $ii) (param $0 i32) (result i32)
(func $std/array-literal/RefWithCtor#constructor (; 16 ;) (type $ii) (param $0 i32) (result i32)
local.get $0
i32.eqz
if
@ -757,7 +763,7 @@
end
local.get $0
)
(func $~lib/array/Array<RefWithCtor>#constructor (; 16 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/array/Array<RefWithCtor>#constructor (; 17 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -802,9 +808,9 @@
local.get $0
local.get $1
i32.store offset=4
block $memory.fill|inlined.3
block $~lib/memory/memory.fill|inlined.3
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.const 8
i32.add
local.set $4
i32.const 0
@ -818,7 +824,7 @@
end
local.get $0
)
(func $~lib/array/Array<RefWithCtor>#__unchecked_set (; 17 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/array/Array<RefWithCtor>#__unchecked_set (; 18 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -842,22 +848,13 @@
local.get $5
i32.store offset=8
)
(func $start (; 18 ;) (type $_)
(func $start:std/array-literal (; 19 ;) (type $_)
(local $0 i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
global.get $HEAP_BASE
global.get $~lib/internal/allocator/AL_MASK
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const -1
i32.xor
i32.and
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
global.set $~lib/allocator/arena/offset
call $start:~lib/allocator/arena
block $~lib/array/Array<i8>#get:length|inlined.0 (result i32)
global.get $std/array-literal/staticArrayI8
local.set $0
@ -1282,6 +1279,9 @@
unreachable
end
)
(func $null (; 19 ;) (type $_)
(func $start (; 20 ;) (type $_)
call $start:std/array-literal
)
(func $null (; 21 ;) (type $_)
)
)

View File

@ -1,4 +1,5 @@
(module
(type $_ (func))
(type $iii (func (param i32 i32) (result i32)))
(type $iiii_ (func (param i32 i32 i32 i32)))
(type $ii (func (param i32) (result i32)))
@ -20,7 +21,6 @@
(type $Ii (func (param i64) (result i32)))
(type $iIi_ (func (param i32 i64 i32)))
(type $iiIi (func (param i32 i32 i64) (result i32)))
(type $_ (func))
(type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
@ -339,19 +339,13 @@
(data (i32.const 8408) "\04\00\00\00\00\00\00\00\d0 ")
(data (i32.const 8424) "\d8 \00\00\01")
(table $0 56 funcref)
(elem (i32.const 0) $null $start~anonymous|1 $start~anonymous|2 $start~anonymous|3 $start~anonymous|4 $start~anonymous|3 $start~anonymous|6 $start~anonymous|7 $start~anonymous|8 $start~anonymous|9 $start~anonymous|10 $start~anonymous|11 $start~anonymous|12 $start~anonymous|13 $start~anonymous|14 $start~anonymous|15 $start~anonymous|16 $start~anonymous|17 $start~anonymous|18 $start~anonymous|17 $start~anonymous|20 $start~anonymous|21 $start~anonymous|22 $start~anonymous|23 $start~anonymous|24 $start~anonymous|25 $start~anonymous|26 $start~anonymous|27 $start~anonymous|28 $start~anonymous|29 $start~anonymous|30 $start~anonymous|30 $start~anonymous|32 $start~anonymous|33 $start~anonymous|34 $start~anonymous|30 $start~anonymous|36 $start~anonymous|30 $start~anonymous|30 $start~anonymous|32 $start~anonymous|33 $start~anonymous|34 $start~anonymous|30 $start~anonymous|36 $~lib/internal/sort/COMPARATOR<f32>~anonymous|44 $~lib/internal/sort/COMPARATOR<f64>~anonymous|45 $~lib/internal/sort/COMPARATOR<i32>~anonymous|46 $~lib/internal/sort/COMPARATOR<u32>~anonymous|47 $~lib/internal/sort/COMPARATOR<i32>~anonymous|46 $~lib/internal/sort/COMPARATOR<i32>~anonymous|46 $start~anonymous|50 $~lib/internal/sort/COMPARATOR<i32>~anonymous|46 $start~anonymous|50 $start~anonymous|53 $start~anonymous|54 $~lib/internal/sort/COMPARATOR<String>~anonymous|55)
(elem (i32.const 0) $null $start:std/array~anonymous|1 $start:std/array~anonymous|2 $start:std/array~anonymous|3 $start:std/array~anonymous|4 $start:std/array~anonymous|3 $start:std/array~anonymous|6 $start:std/array~anonymous|7 $start:std/array~anonymous|8 $start:std/array~anonymous|9 $start:std/array~anonymous|10 $start:std/array~anonymous|11 $start:std/array~anonymous|12 $start:std/array~anonymous|13 $start:std/array~anonymous|14 $start:std/array~anonymous|15 $start:std/array~anonymous|16 $start:std/array~anonymous|17 $start:std/array~anonymous|18 $start:std/array~anonymous|17 $start:std/array~anonymous|20 $start:std/array~anonymous|21 $start:std/array~anonymous|22 $start:std/array~anonymous|23 $start:std/array~anonymous|24 $start:std/array~anonymous|25 $start:std/array~anonymous|26 $start:std/array~anonymous|27 $start:std/array~anonymous|28 $start:std/array~anonymous|29 $start:std/array~anonymous|30 $start:std/array~anonymous|30 $start:std/array~anonymous|32 $start:std/array~anonymous|33 $start:std/array~anonymous|34 $start:std/array~anonymous|30 $start:std/array~anonymous|36 $start:std/array~anonymous|30 $start:std/array~anonymous|30 $start:std/array~anonymous|32 $start:std/array~anonymous|33 $start:std/array~anonymous|34 $start:std/array~anonymous|30 $start:std/array~anonymous|36 $~lib/internal/sort/COMPARATOR<f32>~anonymous|44 $~lib/internal/sort/COMPARATOR<f64>~anonymous|45 $~lib/internal/sort/COMPARATOR<i32>~anonymous|46 $~lib/internal/sort/COMPARATOR<u32>~anonymous|47 $~lib/internal/sort/COMPARATOR<i32>~anonymous|46 $~lib/internal/sort/COMPARATOR<i32>~anonymous|46 $start:std/array~anonymous|50 $~lib/internal/sort/COMPARATOR<i32>~anonymous|46 $start:std/array~anonymous|50 $start:std/array~anonymous|53 $start:std/array~anonymous|54 $~lib/internal/sort/COMPARATOR<String>~anonymous|55)
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
(global $~lib/internal/number/_K (mut i32) (i32.const 0))
(global $~lib/internal/number/_exp (mut i32) (i32.const 0))
(global $~lib/internal/number/_frc_minus (mut i64) (i64.const 0))
(global $~lib/internal/number/_frc_plus (mut i64) (i64.const 0))
(global $~lib/internal/number/_frc_pow (mut i64) (i64.const 0))
(global $~lib/internal/number/_exp_pow (mut i32) (i32.const 0))
(global $std/array/arr (mut i32) (i32.const 0))
(global $std/array/Null (mut i32) (i32.const 0))
(global $std/array/arr8 (mut i32) (i32.const 232))
(global $~argc (mut i32) (i32.const 0))
(global $~lib/argc (mut i32) (i32.const 0))
(global $std/array/arr32 (mut i32) (i32.const 392))
(global $std/array/i (mut i32) (i32.const 0))
(global $std/array/other (mut i32) (i32.const 0))
@ -391,6 +385,12 @@
(global $std/array/randomStringsActual (mut i32) (i32.const 3976))
(global $std/array/randomStringsExpected (mut i32) (i32.const 4048))
(global $std/array/randomStrings400 (mut i32) (i32.const 0))
(global $~lib/internal/number/_frc_plus (mut i64) (i64.const 0))
(global $~lib/internal/number/_frc_minus (mut i64) (i64.const 0))
(global $~lib/internal/number/_exp (mut i32) (i32.const 0))
(global $~lib/internal/number/_K (mut i32) (i32.const 0))
(global $~lib/internal/number/_frc_pow (mut i64) (i64.const 0))
(global $~lib/internal/number/_exp_pow (mut i32) (i32.const 0))
(global $std/array/refArr (mut i32) (i32.const 0))
(global $std/array/subarr32 (mut i32) (i32.const 8256))
(global $std/array/subarr8 (mut i32) (i32.const 8352))
@ -962,7 +962,7 @@
block $1of2
block $0of2
block $outOfRange
global.get $~argc
global.get $~lib/argc
i32.const 1
i32.sub
br_table $0of2 $1of2 $2of2 $outOfRange
@ -1144,7 +1144,7 @@
block $1of2
block $0of2
block $outOfRange
global.get $~argc
global.get $~lib/argc
i32.const 1
i32.sub
br_table $0of2 $1of2 $2of2 $outOfRange
@ -2653,7 +2653,7 @@
block $1of1
block $0of1
block $outOfRange
global.get $~argc
global.get $~lib/argc
i32.const 2
i32.sub
br_table $0of1 $1of1 $outOfRange
@ -3009,7 +3009,7 @@
block $1of1
block $0of1
block $outOfRange
global.get $~argc
global.get $~lib/argc
i32.const 1
i32.sub
br_table $0of1 $1of1 $outOfRange
@ -3070,7 +3070,7 @@
local.get $2
i32.store offset=8
)
(func $start~anonymous|1 (; 28 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start:std/array~anonymous|1 (; 28 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $0
i32.eqz
)
@ -3095,7 +3095,7 @@
i32.ge_s
br_if $break|0
i32.const 3
global.set $~argc
global.set $~lib/argc
local.get $0
i32.load
local.get $3
@ -3123,17 +3123,17 @@
end
i32.const -1
)
(func $start~anonymous|2 (; 30 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start:std/array~anonymous|2 (; 30 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $0
i32.const 1
i32.eq
)
(func $start~anonymous|3 (; 31 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start:std/array~anonymous|3 (; 31 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $0
i32.const 100
i32.eq
)
(func $start~anonymous|4 (; 32 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start:std/array~anonymous|4 (; 32 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $2
i32.const 100
call $~lib/array/Array<i32>#push
@ -3142,7 +3142,7 @@
i32.const 100
i32.eq
)
(func $start~anonymous|6 (; 33 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start:std/array~anonymous|6 (; 33 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $2
call $~lib/array/Array<i32>#pop
drop
@ -3150,7 +3150,7 @@
i32.const 100
i32.eq
)
(func $start~anonymous|7 (; 34 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start:std/array~anonymous|7 (; 34 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $0
i32.const 0
i32.ge_s
@ -3176,7 +3176,7 @@
i32.ge_s
br_if $break|0
i32.const 3
global.set $~argc
global.set $~lib/argc
local.get $0
i32.load
local.get $3
@ -3204,12 +3204,12 @@
end
i32.const 1
)
(func $start~anonymous|8 (; 36 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start:std/array~anonymous|8 (; 36 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $0
i32.const 0
i32.le_s
)
(func $start~anonymous|9 (; 37 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start:std/array~anonymous|9 (; 37 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $2
i32.const 100
call $~lib/array/Array<i32>#push
@ -3218,12 +3218,12 @@
i32.const 10
i32.lt_s
)
(func $start~anonymous|10 (; 38 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start:std/array~anonymous|10 (; 38 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $0
i32.const 10
i32.lt_s
)
(func $start~anonymous|11 (; 39 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start:std/array~anonymous|11 (; 39 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $2
call $~lib/array/Array<i32>#pop
drop
@ -3231,7 +3231,7 @@
i32.const 3
i32.lt_s
)
(func $start~anonymous|12 (; 40 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start:std/array~anonymous|12 (; 40 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $0
i32.const 3
i32.ge_s
@ -3257,7 +3257,7 @@
i32.ge_s
br_if $break|0
i32.const 3
global.set $~argc
global.set $~lib/argc
local.get $0
i32.load
local.get $3
@ -3285,12 +3285,12 @@
end
i32.const 0
)
(func $start~anonymous|13 (; 42 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start:std/array~anonymous|13 (; 42 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $0
i32.const -1
i32.le_s
)
(func $start~anonymous|14 (; 43 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start:std/array~anonymous|14 (; 43 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $2
i32.const 100
call $~lib/array/Array<i32>#push
@ -3299,12 +3299,12 @@
i32.const 10
i32.gt_s
)
(func $start~anonymous|15 (; 44 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start:std/array~anonymous|15 (; 44 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $0
i32.const 10
i32.gt_s
)
(func $start~anonymous|16 (; 45 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start:std/array~anonymous|16 (; 45 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $2
call $~lib/array/Array<i32>#pop
drop
@ -3312,7 +3312,7 @@
i32.const 3
i32.gt_s
)
(func $start~anonymous|17 (; 46 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(func $start:std/array~anonymous|17 (; 46 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
global.get $std/array/i
local.get $0
i32.add
@ -3339,7 +3339,7 @@
i32.ge_s
br_if $break|0
i32.const 3
global.set $~argc
global.set $~lib/argc
local.get $0
i32.load
local.get $3
@ -3362,7 +3362,7 @@
unreachable
end
)
(func $start~anonymous|18 (; 48 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(func $start:std/array~anonymous|18 (; 48 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
local.get $2
i32.const 100
call $~lib/array/Array<i32>#push
@ -3372,7 +3372,7 @@
i32.add
global.set $std/array/i
)
(func $start~anonymous|20 (; 49 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(func $start:std/array~anonymous|20 (; 49 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
local.get $2
call $~lib/array/Array<i32>#pop
drop
@ -3381,7 +3381,7 @@
i32.add
global.set $std/array/i
)
(func $start~anonymous|21 (; 50 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(func $start:std/array~anonymous|21 (; 50 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
local.get $1
i32.eqz
@ -3480,7 +3480,7 @@
end
end
)
(func $start~anonymous|22 (; 51 ;) (type $iiif) (param $0 i32) (param $1 i32) (param $2 i32) (result f32)
(func $start:std/array~anonymous|22 (; 51 ;) (type $iiif) (param $0 i32) (param $1 i32) (param $2 i32) (result f32)
local.get $0
f32.convert_i32_s
)
@ -3510,7 +3510,7 @@
i32.lt_s
if
i32.const 3
global.set $~argc
global.set $~lib/argc
local.get $1
local.tee $2
i32.const 2
@ -3537,7 +3537,7 @@
end
local.get $4
)
(func $start~anonymous|23 (; 53 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start:std/array~anonymous|23 (; 53 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $2
i32.const 100
call $~lib/array/Array<i32>#push
@ -3575,7 +3575,7 @@
i32.ge_s
br_if $break|0
i32.const 3
global.set $~argc
global.set $~lib/argc
local.get $6
local.get $3
local.tee $2
@ -3603,14 +3603,14 @@
end
local.get $5
)
(func $start~anonymous|24 (; 55 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start:std/array~anonymous|24 (; 55 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
global.get $std/array/i
local.get $0
i32.add
global.set $std/array/i
local.get $0
)
(func $start~anonymous|25 (; 56 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start:std/array~anonymous|25 (; 56 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $2
call $~lib/array/Array<i32>#pop
drop
@ -3620,7 +3620,7 @@
global.set $std/array/i
local.get $0
)
(func $start~anonymous|26 (; 57 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start:std/array~anonymous|26 (; 57 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $0
i32.const 2
i32.ge_s
@ -3659,7 +3659,7 @@
i32.load offset=8
local.set $2
i32.const 3
global.set $~argc
global.set $~lib/argc
local.get $2
local.get $3
local.get $0
@ -3680,7 +3680,7 @@
end
local.get $4
)
(func $start~anonymous|27 (; 59 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start:std/array~anonymous|27 (; 59 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $2
i32.const 100
call $~lib/array/Array<i32>#push
@ -3693,7 +3693,7 @@
i32.const 2
i32.ge_s
)
(func $start~anonymous|28 (; 60 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start:std/array~anonymous|28 (; 60 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
global.get $std/array/i
local.get $0
i32.add
@ -3702,7 +3702,7 @@
i32.const 2
i32.ge_s
)
(func $start~anonymous|29 (; 61 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start:std/array~anonymous|29 (; 61 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $2
call $~lib/array/Array<i32>#pop
drop
@ -3714,7 +3714,7 @@
i32.const 2
i32.ge_s
)
(func $start~anonymous|30 (; 62 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(func $start:std/array~anonymous|30 (; 62 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
local.get $0
local.get $1
i32.add
@ -3744,7 +3744,7 @@
i32.ge_s
br_if $break|0
i32.const 4
global.set $~argc
global.set $~lib/argc
local.get $3
local.get $0
i32.load
@ -3767,7 +3767,7 @@
end
local.get $3
)
(func $start~anonymous|32 (; 64 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(func $start:std/array~anonymous|32 (; 64 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
local.get $0
local.get $1
i32.const 2
@ -3775,7 +3775,7 @@
local.get $0
select
)
(func $start~anonymous|33 (; 65 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(func $start:std/array~anonymous|33 (; 65 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
local.get $0
local.get $1
i32.const 100
@ -3783,7 +3783,7 @@
local.get $0
select
)
(func $start~anonymous|34 (; 66 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(func $start:std/array~anonymous|34 (; 66 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
local.get $3
i32.const 1
call $~lib/array/Array<i32>#push
@ -3792,7 +3792,7 @@
local.get $1
i32.add
)
(func $start~anonymous|36 (; 67 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(func $start:std/array~anonymous|36 (; 67 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
local.get $3
call $~lib/array/Array<i32>#pop
drop
@ -3814,7 +3814,7 @@
i32.lt_s
br_if $break|0
i32.const 4
global.set $~argc
global.set $~lib/argc
local.get $2
local.get $0
i32.load
@ -3876,7 +3876,7 @@
if
i32.const 0
i32.const 2896
i32.const 972
i32.const 968
i32.const 4
call $~lib/env/abort
unreachable
@ -3971,7 +3971,7 @@
f32.load offset=8
local.set $6
i32.const 2
global.set $~argc
global.set $~lib/argc
local.get $5
local.get $6
local.get $2
@ -4092,7 +4092,7 @@
f32.load offset=8
local.set $5
i32.const 2
global.set $~argc
global.set $~lib/argc
local.get $6
local.get $5
local.get $2
@ -4209,7 +4209,7 @@
f32.load offset=8
local.set $6
i32.const 2
global.set $~argc
global.set $~lib/argc
local.get $5
local.get $6
local.get $2
@ -4314,7 +4314,7 @@
f32.load offset=8
local.set $5
i32.const 2
global.set $~argc
global.set $~lib/argc
local.get $4
local.get $5
local.get $1
@ -4544,7 +4544,7 @@
f64.load offset=8
local.set $6
i32.const 2
global.set $~argc
global.set $~lib/argc
local.get $5
local.get $6
local.get $2
@ -4665,7 +4665,7 @@
f64.load offset=8
local.set $5
i32.const 2
global.set $~argc
global.set $~lib/argc
local.get $6
local.get $5
local.get $2
@ -4782,7 +4782,7 @@
f64.load offset=8
local.set $6
i32.const 2
global.set $~argc
global.set $~lib/argc
local.get $5
local.get $6
local.get $2
@ -4887,7 +4887,7 @@
f64.load offset=8
local.set $5
i32.const 2
global.set $~argc
global.set $~lib/argc
local.get $4
local.get $5
local.get $1
@ -5117,7 +5117,7 @@
i32.load offset=8
local.set $6
i32.const 2
global.set $~argc
global.set $~lib/argc
local.get $5
local.get $6
local.get $2
@ -5238,7 +5238,7 @@
i32.load offset=8
local.set $3
i32.const 2
global.set $~argc
global.set $~lib/argc
local.get $5
local.get $3
local.get $2
@ -5355,7 +5355,7 @@
i32.load offset=8
local.set $3
i32.const 2
global.set $~argc
global.set $~lib/argc
local.get $6
local.get $3
local.get $2
@ -5458,7 +5458,7 @@
i32.load offset=8
local.set $4
i32.const 2
global.set $~argc
global.set $~lib/argc
local.get $3
local.get $4
local.get $1
@ -5552,7 +5552,7 @@
if
i32.const 0
i32.const 2896
i32.const 981
i32.const 977
i32.const 24
call $~lib/env/abort
unreachable
@ -5637,7 +5637,7 @@
i32.lt_s
if
i32.const 2
global.set $~argc
global.set $~lib/argc
local.get $2
i32.const 1
i32.sub
@ -5717,7 +5717,7 @@
i32.const 48
call $std/array/assertSorted<i32>
)
(func $start~anonymous|50 (; 92 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $start:std/array~anonymous|50 (; 92 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
local.get $1
local.get $0
i32.sub
@ -5775,7 +5775,7 @@
end
local.get $1
)
(func $start~anonymous|53 (; 94 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $start:std/array~anonymous|53 (; 94 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
i32.const 0
local.get $0
i32.load
@ -5845,7 +5845,7 @@
i32.load offset=8
local.set $4
i32.const 2
global.set $~argc
global.set $~lib/argc
local.get $2
local.get $4
local.get $1
@ -5926,7 +5926,7 @@
end
local.get $0
)
(func $start~anonymous|54 (; 98 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $start:std/array~anonymous|54 (; 98 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0
i32.load
local.get $1
@ -6038,7 +6038,7 @@
block $1of1
block $0of1
block $outOfRange
global.get $~argc
global.get $~lib/argc
i32.const 1
i32.sub
br_table $0of1 $1of1 $outOfRange
@ -10043,7 +10043,7 @@
end
local.get $1
)
(func $start (; 147 ;) (type $_)
(func $start:std/array (; 147 ;) (type $_)
(local $0 i32)
(local $1 i32)
i32.const 8432
@ -10102,7 +10102,7 @@
unreachable
end
i32.const 1
global.set $~argc
global.set $~lib/argc
global.get $std/array/arr8
i32.const 0
i32.const 0
@ -10139,7 +10139,7 @@
unreachable
end
i32.const 2
global.set $~argc
global.set $~lib/argc
global.get $std/array/arr8
i32.const 2
i32.const -2
@ -10195,7 +10195,7 @@
unreachable
end
i32.const 1
global.set $~argc
global.set $~lib/argc
global.get $std/array/arr32
i32.const 0
i32.const 0
@ -10234,7 +10234,7 @@
unreachable
end
i32.const 2
global.set $~argc
global.set $~lib/argc
global.get $std/array/arr32
i32.const 2
i32.const -2
@ -11048,7 +11048,7 @@
i32.const 664
global.set $std/array/cwArr
i32.const 2
global.set $~argc
global.set $~lib/argc
global.get $std/array/cwArr
i32.const 0
i32.const 3
@ -11068,7 +11068,7 @@
i32.const 744
global.set $std/array/cwArr
i32.const 2
global.set $~argc
global.set $~lib/argc
global.get $std/array/cwArr
i32.const 1
i32.const 3
@ -11088,7 +11088,7 @@
i32.const 824
global.set $std/array/cwArr
i32.const 2
global.set $~argc
global.set $~lib/argc
global.get $std/array/cwArr
i32.const 1
i32.const 2
@ -11108,7 +11108,7 @@
i32.const 904
global.set $std/array/cwArr
i32.const 2
global.set $~argc
global.set $~lib/argc
global.get $std/array/cwArr
i32.const 2
i32.const 2
@ -11185,7 +11185,7 @@
i32.const 1224
global.set $std/array/cwArr
i32.const 2
global.set $~argc
global.set $~lib/argc
global.get $std/array/cwArr
i32.const 0
i32.const -2
@ -11262,7 +11262,7 @@
i32.const 1544
global.set $std/array/cwArr
i32.const 2
global.set $~argc
global.set $~lib/argc
global.get $std/array/cwArr
i32.const -4
i32.const -3
@ -12382,7 +12382,7 @@
unreachable
end
i32.const 1
global.set $~argc
global.set $~lib/argc
global.get $std/array/sarr
i32.const 0
call $~lib/array/Array<i32>#splice|trampoline
@ -12414,7 +12414,7 @@
i32.const 1720
global.set $std/array/sarr
i32.const 1
global.set $~argc
global.set $~lib/argc
global.get $std/array/sarr
i32.const 2
call $~lib/array/Array<i32>#splice|trampoline
@ -12508,7 +12508,7 @@
i32.const 2032
global.set $std/array/sarr
i32.const 1
global.set $~argc
global.set $~lib/argc
global.get $std/array/sarr
i32.const -1
call $~lib/array/Array<i32>#splice|trampoline
@ -12540,7 +12540,7 @@
i32.const 2136
global.set $std/array/sarr
i32.const 1
global.set $~argc
global.set $~lib/argc
global.get $std/array/sarr
i32.const -2
call $~lib/array/Array<i32>#splice|trampoline
@ -13901,7 +13901,7 @@
i64.reinterpret_f64
call $~lib/math/NativeMath.seedRandom
i32.const 0
global.set $~argc
global.set $~lib/argc
global.get $std/array/f32ArrayTyped
local.set $0
i32.const 0
@ -13909,7 +13909,7 @@
block $1of1
block $0of1
block $outOfRange
global.get $~argc
global.get $~lib/argc
br_table $0of1 $1of1 $outOfRange
end
unreachable
@ -13933,7 +13933,7 @@
unreachable
end
i32.const 0
global.set $~argc
global.set $~lib/argc
global.get $std/array/f64ArrayTyped
local.set $0
i32.const 0
@ -13941,7 +13941,7 @@
block $1of155
block $0of156
block $outOfRange57
global.get $~argc
global.get $~lib/argc
br_table $0of156 $1of155 $outOfRange57
end
unreachable
@ -13965,7 +13965,7 @@
unreachable
end
i32.const 0
global.set $~argc
global.set $~lib/argc
global.get $std/array/i32ArrayTyped
local.set $0
i32.const 0
@ -13973,7 +13973,7 @@
block $1of158
block $0of159
block $outOfRange60
global.get $~argc
global.get $~lib/argc
br_table $0of159 $1of158 $outOfRange60
end
unreachable
@ -13999,7 +13999,7 @@
unreachable
end
i32.const 0
global.set $~argc
global.set $~lib/argc
global.get $std/array/u32ArrayTyped
local.set $0
i32.const 0
@ -14007,7 +14007,7 @@
block $1of161
block $0of162
block $outOfRange63
global.get $~argc
global.get $~lib/argc
br_table $0of162 $1of161 $outOfRange63
end
unreachable
@ -14185,7 +14185,7 @@
i32.const 54
call $std/array/assertSorted<Array<i32>>
i32.const 1
global.set $~argc
global.set $~lib/argc
global.get $std/array/randomStringsActual
call $std/array/assertSorted<String>|trampoline
global.get $std/array/randomStringsActual
@ -14203,7 +14203,7 @@
call $std/array/createRandomStringArray
global.set $std/array/randomStrings400
i32.const 1
global.set $~argc
global.set $~lib/argc
global.get $std/array/randomStrings400
call $std/array/assertSorted<String>|trampoline
call $~lib/array/Array<bool>#join
@ -14498,7 +14498,10 @@
unreachable
end
)
(func $null (; 148 ;) (type $_)
(func $start (; 148 ;) (type $_)
call $start:std/array
)
(func $null (; 149 ;) (type $_)
nop
)
)

File diff suppressed because it is too large Load Diff

View File

@ -1,11 +1,11 @@
(module
(type $_ (func))
(type $iiii (func (param i32 i32 i32) (result i32)))
(type $iiii_ (func (param i32 i32 i32 i32)))
(type $ii (func (param i32) (result i32)))
(type $iii_ (func (param i32 i32 i32)))
(type $iii (func (param i32 i32) (result i32)))
(type $iiiii (func (param i32 i32 i32 i32) (result i32)))
(type $_ (func))
(type $FUNCSIG$vii (func (param i32 i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$ii (func (param i32) (result i32)))
@ -23,7 +23,7 @@
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
(global $std/arraybuffer/buffer (mut i32) (i32.const 0))
(global $~argc (mut i32) (i32.const 0))
(global $~lib/argc (mut i32) (i32.const 0))
(global $std/arraybuffer/sliced (mut i32) (i32.const 0))
(global $std/arraybuffer/arr8 (mut i32) (i32.const 0))
(export "memory" (memory $0))
@ -1511,7 +1511,7 @@
block $1of2
block $0of2
block $outOfRange
global.get $~argc
global.get $~lib/argc
br_table $0of2 $1of2 $2of2 $outOfRange
end
unreachable
@ -1694,7 +1694,7 @@
block $2of2
block $1of2
block $outOfRange
global.get $~argc
global.get $~lib/argc
i32.const 1
i32.sub
br_table $1of2 $1of2 $2of2 $outOfRange
@ -1710,7 +1710,7 @@
local.get $1
call $~lib/dataview/DataView#constructor
)
(func $start (; 12 ;) (type $_)
(func $start:std/arraybuffer (; 12 ;) (type $_)
(local $0 i32)
i32.const 288
global.set $~lib/allocator/arena/startOffset
@ -1738,7 +1738,7 @@
unreachable
end
i32.const 0
global.set $~argc
global.set $~lib/argc
global.get $std/arraybuffer/buffer
i32.const 0
call $~lib/arraybuffer/ArrayBuffer#slice|trampoline
@ -1778,7 +1778,7 @@
unreachable
end
i32.const 1
global.set $~argc
global.set $~lib/argc
global.get $std/arraybuffer/buffer
i32.const 1
call $~lib/arraybuffer/ArrayBuffer#slice|trampoline
@ -1796,7 +1796,7 @@
unreachable
end
i32.const 1
global.set $~argc
global.set $~lib/argc
global.get $std/arraybuffer/buffer
i32.const -1
call $~lib/arraybuffer/ArrayBuffer#slice|trampoline
@ -1882,7 +1882,7 @@
unreachable
end
i32.const 1
global.set $~argc
global.set $~lib/argc
global.get $std/arraybuffer/buffer
i32.const 42
call $~lib/arraybuffer/ArrayBuffer#slice|trampoline
@ -1946,7 +1946,7 @@
unreachable
end
i32.const 1
global.set $~argc
global.set $~lib/argc
block $__inlined_func$~lib/arraybuffer/ArrayBuffer.isView<Uint8Array>6 (result i32)
i32.const 0
global.get $std/arraybuffer/arr8
@ -1967,7 +1967,10 @@
unreachable
end
)
(func $null (; 13 ;) (type $_)
(func $start (; 13 ;) (type $_)
call $start:std/arraybuffer
)
(func $null (; 14 ;) (type $_)
nop
)
)

View File

@ -1,11 +1,11 @@
(module
(type $_ (func))
(type $iiii (func (param i32 i32 i32) (result i32)))
(type $iiii_ (func (param i32 i32 i32 i32)))
(type $ii (func (param i32) (result i32)))
(type $iii_ (func (param i32 i32 i32)))
(type $iii (func (param i32 i32) (result i32)))
(type $iiiii (func (param i32 i32 i32 i32) (result i32)))
(type $_ (func))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
(memory $0 1)
(data (i32.const 8) "\13\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00")
@ -17,28 +17,34 @@
(data (i32.const 248) "\10\00\00\00~\00l\00i\00b\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s\00")
(table $0 1 funcref)
(elem (i32.const 0) $null)
(global $~lib/internal/allocator/AL_BITS i32 (i32.const 3))
(global $~lib/internal/allocator/AL_SIZE i32 (i32.const 8))
(global $~lib/internal/allocator/AL_MASK i32 (i32.const 7))
(global $~lib/internal/allocator/MAX_SIZE_32 i32 (i32.const 1073741824))
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
(global $~lib/internal/arraybuffer/HEADER_SIZE i32 (i32.const 8))
(global $~lib/internal/arraybuffer/MAX_BLENGTH i32 (i32.const 1073741816))
(global $std/arraybuffer/buffer (mut i32) (i32.const 0))
(global $~argc (mut i32) (i32.const 0))
(global $~lib/argc (mut i32) (i32.const 0))
(global $std/arraybuffer/sliced (mut i32) (i32.const 0))
(global $std/arraybuffer/arr8 (mut i32) (i32.const 0))
(global $~lib/builtins/i32.MIN_VALUE i32 (i32.const -2147483648))
(global $HEAP_BASE i32 (i32.const 284))
(global $~lib/memory/HEAP_BASE i32 (i32.const 284))
(export "memory" (memory $0))
(export "table" (table $0))
(start $start)
(func $~lib/internal/arraybuffer/computeSize (; 1 ;) (type $ii) (param $0 i32) (result i32)
(func $start:~lib/allocator/arena (; 1 ;) (type $_)
global.get $~lib/memory/HEAP_BASE
i32.const 7
i32.add
i32.const 7
i32.const -1
i32.xor
i32.and
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
global.set $~lib/allocator/arena/offset
)
(func $~lib/internal/arraybuffer/computeSize (; 2 ;) (type $ii) (param $0 i32) (result i32)
i32.const 1
i32.const 32
local.get $0
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.const 8
i32.add
i32.const 1
i32.sub
@ -46,7 +52,7 @@
i32.sub
i32.shl
)
(func $~lib/allocator/arena/__memory_allocate (; 2 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 3 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -54,7 +60,7 @@
(local $5 i32)
(local $6 i32)
local.get $0
global.get $~lib/internal/allocator/MAX_SIZE_32
i32.const 1073741824
i32.gt_u
if
unreachable
@ -71,9 +77,9 @@
i32.gt_u
select
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const 7
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const 7
i32.const -1
i32.xor
i32.and
@ -125,11 +131,11 @@
global.set $~lib/allocator/arena/offset
local.get $1
)
(func $~lib/internal/arraybuffer/allocateUnsafe (; 3 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/arraybuffer/allocateUnsafe (; 4 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
local.get $0
global.get $~lib/internal/arraybuffer/MAX_BLENGTH
i32.const 1073741816
i32.le_u
i32.eqz
if
@ -154,7 +160,7 @@
i32.store
local.get $1
)
(func $~lib/internal/memory/memset (; 4 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/internal/memory/memset (; 5 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i64)
@ -408,13 +414,13 @@
end
end
)
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 5 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 6 ;) (type $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.get $1
global.get $~lib/internal/arraybuffer/MAX_BLENGTH
i32.const 1073741816
i32.gt_u
if
i32.const 0
@ -433,7 +439,7 @@
i32.eqz
if
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.const 8
i32.add
local.set $4
i32.const 0
@ -447,7 +453,7 @@
end
local.get $3
)
(func $~lib/internal/memory/memcpy (; 6 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/internal/memory/memcpy (; 7 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -1648,7 +1654,7 @@
i32.store8
end
)
(func $~lib/internal/memory/memmove (; 7 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/internal/memory/memmove (; 8 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
local.get $0
local.get $1
@ -1875,7 +1881,7 @@
end
end
)
(func $~lib/arraybuffer/ArrayBuffer#slice (; 8 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer#slice (; 9 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -1951,13 +1957,13 @@
local.get $6
call $~lib/internal/arraybuffer/allocateUnsafe
local.set $7
block $memory.copy|inlined.0
block $~lib/memory/memory.copy|inlined.0
local.get $7
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.const 8
i32.add
local.set $4
local.get $0
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.const 8
i32.add
local.get $1
i32.add
@ -1971,12 +1977,12 @@
end
local.get $7
)
(func $~lib/arraybuffer/ArrayBuffer#slice|trampoline (; 9 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer#slice|trampoline (; 10 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
block $2of2
block $1of2
block $0of2
block $outOfRange
global.get $~argc
global.get $~lib/argc
br_table $0of2 $1of2 $2of2 $outOfRange
end
unreachable
@ -1984,7 +1990,7 @@
i32.const 0
local.set $1
end
global.get $~lib/internal/arraybuffer/MAX_BLENGTH
i32.const 1073741816
local.set $2
end
local.get $0
@ -1992,7 +1998,7 @@
local.get $2
call $~lib/arraybuffer/ArrayBuffer#slice
)
(func $~lib/arraybuffer/ArrayBuffer.isView<Array<i32>> (; 10 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer.isView<Array<i32>> (; 11 ;) (type $ii) (param $0 i32) (result i32)
local.get $0
i32.const 0
i32.eq
@ -2002,7 +2008,7 @@
end
i32.const 0
)
(func $~lib/arraybuffer/ArrayBuffer.isView<usize> (; 11 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer.isView<usize> (; 12 ;) (type $ii) (param $0 i32) (result i32)
local.get $0
i32.const 0
i32.eq
@ -2012,7 +2018,7 @@
end
i32.const 0
)
(func $~lib/arraybuffer/ArrayBuffer.isView<Uint8Array> (; 12 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer.isView<Uint8Array> (; 13 ;) (type $ii) (param $0 i32) (result i32)
local.get $0
i32.const 0
i32.eq
@ -2023,7 +2029,7 @@
i32.const 1
return
)
(func $~lib/arraybuffer/ArrayBuffer.isView<Int32Array> (; 13 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer.isView<Int32Array> (; 14 ;) (type $ii) (param $0 i32) (result i32)
local.get $0
i32.const 0
i32.eq
@ -2034,7 +2040,7 @@
i32.const 1
return
)
(func $~lib/arraybuffer/ArrayBuffer.isView<DataView> (; 14 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer.isView<DataView> (; 15 ;) (type $ii) (param $0 i32) (result i32)
local.get $0
i32.const 0
i32.eq
@ -2045,12 +2051,12 @@
i32.const 1
return
)
(func $~lib/memory/memory.allocate (; 15 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 16 ;) (type $ii) (param $0 i32) (result i32)
local.get $0
call $~lib/allocator/arena/__memory_allocate
return
)
(func $~lib/internal/typedarray/TypedArray<u8>#constructor (; 16 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/internal/typedarray/TypedArray<u8>#constructor (; 17 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -2074,9 +2080,9 @@
local.get $2
call $~lib/internal/arraybuffer/allocateUnsafe
local.set $3
block $memory.fill|inlined.1
block $~lib/memory/memory.fill|inlined.1
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.const 8
i32.add
local.set $4
i32.const 0
@ -2117,7 +2123,7 @@
i32.store offset=8
local.get $0
)
(func $~lib/typedarray/Uint8Array#constructor (; 17 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/typedarray/Uint8Array#constructor (; 18 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0
i32.eqz
if
@ -2131,7 +2137,7 @@
local.set $0
local.get $0
)
(func $~lib/internal/typedarray/TypedArray<i32>#constructor (; 18 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/internal/typedarray/TypedArray<i32>#constructor (; 19 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -2155,9 +2161,9 @@
local.get $2
call $~lib/internal/arraybuffer/allocateUnsafe
local.set $3
block $memory.fill|inlined.2
block $~lib/memory/memory.fill|inlined.2
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.const 8
i32.add
local.set $4
i32.const 0
@ -2198,7 +2204,7 @@
i32.store offset=8
local.get $0
)
(func $~lib/typedarray/Int32Array#constructor (; 19 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/typedarray/Int32Array#constructor (; 20 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0
i32.eqz
if
@ -2212,7 +2218,7 @@
local.set $0
local.get $0
)
(func $~lib/dataview/DataView#constructor (; 20 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(func $~lib/dataview/DataView#constructor (; 21 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
local.get $3
global.get $~lib/builtins/i32.MIN_VALUE
i32.eq
@ -2224,7 +2230,7 @@
local.set $3
end
local.get $2
global.get $~lib/internal/arraybuffer/MAX_BLENGTH
i32.const 1073741816
i32.gt_u
if
i32.const 0
@ -2235,7 +2241,7 @@
unreachable
end
local.get $3
global.get $~lib/internal/arraybuffer/MAX_BLENGTH
i32.const 1073741816
i32.gt_u
if
i32.const 0
@ -2277,12 +2283,12 @@
i32.store offset=8
local.get $0
)
(func $~lib/dataview/DataView#constructor|trampoline (; 21 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(func $~lib/dataview/DataView#constructor|trampoline (; 22 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
block $2of2
block $1of2
block $0of2
block $outOfRange
global.get $~argc
global.get $~lib/argc
i32.const 1
i32.sub
br_table $0of2 $1of2 $2of2 $outOfRange
@ -2301,18 +2307,9 @@
local.get $3
call $~lib/dataview/DataView#constructor
)
(func $start (; 22 ;) (type $_)
(func $start:std/arraybuffer (; 23 ;) (type $_)
(local $0 i32)
global.get $HEAP_BASE
global.get $~lib/internal/allocator/AL_MASK
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const -1
i32.xor
i32.and
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
global.set $~lib/allocator/arena/offset
call $start:~lib/allocator/arena
i32.const 0
i32.const 8
i32.const 0
@ -2333,7 +2330,7 @@
end
block (result i32)
i32.const 0
global.set $~argc
global.set $~lib/argc
global.get $std/arraybuffer/buffer
i32.const 0
i32.const 0
@ -2357,14 +2354,14 @@
global.get $std/arraybuffer/sliced
local.set $0
local.get $0
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.const 8
i32.add
end
block $~lib/arraybuffer/ArrayBuffer#get:data|inlined.1 (result i32)
global.get $std/arraybuffer/buffer
local.set $0
local.get $0
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.const 8
i32.add
end
i32.ne
@ -2391,7 +2388,7 @@
end
block (result i32)
i32.const 1
global.set $~argc
global.set $~lib/argc
global.get $std/arraybuffer/buffer
i32.const 1
i32.const 0
@ -2413,7 +2410,7 @@
end
block (result i32)
i32.const 1
global.set $~argc
global.set $~lib/argc
global.get $std/arraybuffer/buffer
i32.const -1
i32.const 0
@ -2507,7 +2504,7 @@
end
block (result i32)
i32.const 1
global.set $~argc
global.set $~lib/argc
global.get $std/arraybuffer/buffer
i32.const 42
i32.const 0
@ -2641,7 +2638,7 @@
end
block (result i32)
i32.const 1
global.set $~argc
global.set $~lib/argc
i32.const 0
global.get $std/arraybuffer/arr8
i32.load
@ -2660,6 +2657,9 @@
unreachable
end
)
(func $null (; 23 ;) (type $_)
(func $start (; 24 ;) (type $_)
call $start:std/arraybuffer
)
(func $null (; 25 ;) (type $_)
)
)

View File

@ -1,162 +0,0 @@
(module
(type $ii (func (param i32) (result i32)))
(type $_ (func))
(type $FUNCSIG$i (func (result i32)))
(memory $0 0)
(table $0 1 funcref)
(elem (i32.const 0) $null)
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
(global $std/constructor/emptyCtor (mut i32) (i32.const 0))
(global $std/constructor/emptyCtorWithFieldInit (mut i32) (i32.const 0))
(global $std/constructor/emptyCtorWithFieldNoInit (mut i32) (i32.const 0))
(global $std/constructor/none (mut i32) (i32.const 0))
(global $std/constructor/justFieldInit (mut i32) (i32.const 0))
(global $std/constructor/justFieldNoInit (mut i32) (i32.const 0))
(global $std/constructor/ctorReturns (mut i32) (i32.const 0))
(global $std/constructor/b (mut i32) (i32.const 1))
(global $std/constructor/ctorConditionallyReturns (mut i32) (i32.const 0))
(global $std/constructor/ctorAllocates (mut i32) (i32.const 0))
(global $std/constructor/ctorConditionallyAllocates (mut i32) (i32.const 0))
(export "memory" (memory $0))
(export "table" (table $0))
(start $start)
(func $~lib/allocator/arena/__memory_allocate (; 0 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
local.get $0
i32.const 1073741824
i32.gt_u
if
unreachable
end
global.get $~lib/allocator/arena/offset
local.tee $1
local.get $0
i32.const 1
local.get $0
i32.const 1
i32.gt_u
select
i32.add
i32.const 7
i32.add
i32.const -8
i32.and
local.tee $2
current_memory
local.tee $3
i32.const 16
i32.shl
i32.gt_u
if
local.get $3
local.get $2
local.get $1
i32.sub
i32.const 65535
i32.add
i32.const -65536
i32.and
i32.const 16
i32.shr_u
local.tee $0
local.get $3
local.get $0
i32.gt_s
select
grow_memory
i32.const 0
i32.lt_s
if
local.get $0
grow_memory
i32.const 0
i32.lt_s
if
unreachable
end
end
end
local.get $2
global.set $~lib/allocator/arena/offset
local.get $1
)
(func $std/constructor/EmptyCtorWithFieldInit#constructor (; 1 ;) (type $FUNCSIG$i) (result i32)
(local $0 i32)
i32.const 4
call $~lib/allocator/arena/__memory_allocate
local.tee $0
i32.const 1
i32.store
local.get $0
)
(func $std/constructor/EmptyCtorWithFieldNoInit#constructor (; 2 ;) (type $FUNCSIG$i) (result i32)
(local $0 i32)
i32.const 4
call $~lib/allocator/arena/__memory_allocate
local.tee $0
i32.const 0
i32.store
local.get $0
)
(func $start (; 3 ;) (type $_)
(local $0 i32)
i32.const 8
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
global.set $~lib/allocator/arena/offset
i32.const 0
call $~lib/allocator/arena/__memory_allocate
global.set $std/constructor/emptyCtor
call $std/constructor/EmptyCtorWithFieldInit#constructor
global.set $std/constructor/emptyCtorWithFieldInit
call $std/constructor/EmptyCtorWithFieldNoInit#constructor
global.set $std/constructor/emptyCtorWithFieldNoInit
i32.const 0
call $~lib/allocator/arena/__memory_allocate
global.set $std/constructor/none
call $std/constructor/EmptyCtorWithFieldInit#constructor
global.set $std/constructor/justFieldInit
call $std/constructor/EmptyCtorWithFieldNoInit#constructor
global.set $std/constructor/justFieldNoInit
i32.const 0
call $~lib/allocator/arena/__memory_allocate
global.set $std/constructor/ctorReturns
block $__inlined_func$std/constructor/CtorConditionallyReturns#constructor (result i32)
global.get $std/constructor/b
if
i32.const 0
call $~lib/allocator/arena/__memory_allocate
br $__inlined_func$std/constructor/CtorConditionallyReturns#constructor
end
i32.const 0
call $~lib/allocator/arena/__memory_allocate
end
global.set $std/constructor/ctorConditionallyReturns
i32.const 0
call $~lib/allocator/arena/__memory_allocate
global.set $std/constructor/ctorAllocates
block (result i32)
global.get $std/constructor/b
if
i32.const 0
call $~lib/allocator/arena/__memory_allocate
local.set $0
end
local.get $0
i32.eqz
end
if
i32.const 0
call $~lib/allocator/arena/__memory_allocate
local.set $0
end
local.get $0
global.set $std/constructor/ctorConditionallyAllocates
)
(func $null (; 4 ;) (type $_)
nop
)
)

View File

@ -1,86 +0,0 @@
import "allocator/arena";
// trailing conditional allocate
class EmptyCtor {
constructor() {}
}
var emptyCtor = new EmptyCtor();
// trailing conditional allocate with field initializer
class EmptyCtorWithFieldInit {
a: i32 = 1;
constructor() {}
}
var emptyCtorWithFieldInit = new EmptyCtorWithFieldInit();
// trailing conditional allocate with field initialized to zero
class EmptyCtorWithFieldNoInit {
a: i32;
constructor() {}
}
var emptyCtorWithFieldNoInit = new EmptyCtorWithFieldNoInit();
// direct allocate
class None {
}
var none = new None();
// direct allocate with field initializer
class JustFieldInit {
a: i32 = 1;
}
var justFieldInit = new JustFieldInit();
// direct allocate with field initialized to zero
class JustFieldNoInit {
a: i32;
}
var justFieldNoInit = new JustFieldNoInit();
// explicit allocation with no extra checks
class CtorReturns {
constructor() {
return changetype<CtorReturns>(memory.allocate(0));
}
}
var ctorReturns = new CtorReturns();
var b: bool = true;
// explicit allocation with a trailing conditional fallback
class CtorConditionallyReturns {
constructor() {
if (b) {
return changetype<CtorConditionallyReturns>(memory.allocate(0));
}
}
}
var ctorConditionallyReturns = new CtorConditionallyReturns();
// implicit allocation with no extra checks
class CtorAllocates {
constructor() {
this;
}
}
var ctorAllocates = new CtorAllocates();
// implicit allocation with a trailing conditional fallback
class CtorConditionallyAllocates {
constructor() {
if (b) {
this;
}
}
}
var ctorConditionallyAllocates = new CtorConditionallyAllocates();

View File

@ -1,298 +0,0 @@
(module
(type $ii (func (param i32) (result i32)))
(type $_ (func))
(memory $0 0)
(table $0 1 funcref)
(elem (i32.const 0) $null)
(global $~lib/internal/allocator/AL_BITS i32 (i32.const 3))
(global $~lib/internal/allocator/AL_SIZE i32 (i32.const 8))
(global $~lib/internal/allocator/AL_MASK i32 (i32.const 7))
(global $~lib/internal/allocator/MAX_SIZE_32 i32 (i32.const 1073741824))
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
(global $std/constructor/emptyCtor (mut i32) (i32.const 0))
(global $std/constructor/emptyCtorWithFieldInit (mut i32) (i32.const 0))
(global $std/constructor/emptyCtorWithFieldNoInit (mut i32) (i32.const 0))
(global $std/constructor/none (mut i32) (i32.const 0))
(global $std/constructor/justFieldInit (mut i32) (i32.const 0))
(global $std/constructor/justFieldNoInit (mut i32) (i32.const 0))
(global $std/constructor/ctorReturns (mut i32) (i32.const 0))
(global $std/constructor/b (mut i32) (i32.const 1))
(global $std/constructor/ctorConditionallyReturns (mut i32) (i32.const 0))
(global $std/constructor/ctorAllocates (mut i32) (i32.const 0))
(global $std/constructor/ctorConditionallyAllocates (mut i32) (i32.const 0))
(global $HEAP_BASE i32 (i32.const 8))
(export "memory" (memory $0))
(export "table" (table $0))
(start $start)
(func $~lib/allocator/arena/__memory_allocate (; 0 ;) (type $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.get $0
global.get $~lib/internal/allocator/MAX_SIZE_32
i32.gt_u
if
unreachable
end
global.get $~lib/allocator/arena/offset
local.set $1
local.get $1
local.get $0
local.tee $2
i32.const 1
local.tee $3
local.get $2
local.get $3
i32.gt_u
select
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const -1
i32.xor
i32.and
local.set $4
current_memory
local.set $5
local.get $4
local.get $5
i32.const 16
i32.shl
i32.gt_u
if
local.get $4
local.get $1
i32.sub
i32.const 65535
i32.add
i32.const 65535
i32.const -1
i32.xor
i32.and
i32.const 16
i32.shr_u
local.set $2
local.get $5
local.tee $3
local.get $2
local.tee $6
local.get $3
local.get $6
i32.gt_s
select
local.set $3
local.get $3
grow_memory
i32.const 0
i32.lt_s
if
local.get $2
grow_memory
i32.const 0
i32.lt_s
if
unreachable
end
end
end
local.get $4
global.set $~lib/allocator/arena/offset
local.get $1
)
(func $~lib/memory/memory.allocate (; 1 ;) (type $ii) (param $0 i32) (result i32)
local.get $0
call $~lib/allocator/arena/__memory_allocate
return
)
(func $std/constructor/EmptyCtor#constructor (; 2 ;) (type $ii) (param $0 i32) (result i32)
local.get $0
i32.eqz
if
i32.const 0
call $~lib/memory/memory.allocate
local.set $0
end
local.get $0
)
(func $std/constructor/EmptyCtorWithFieldInit#constructor (; 3 ;) (type $ii) (param $0 i32) (result i32)
local.get $0
i32.eqz
if
i32.const 4
call $~lib/memory/memory.allocate
local.set $0
end
local.get $0
i32.const 1
i32.store
local.get $0
)
(func $std/constructor/EmptyCtorWithFieldNoInit#constructor (; 4 ;) (type $ii) (param $0 i32) (result i32)
local.get $0
i32.eqz
if
i32.const 4
call $~lib/memory/memory.allocate
local.set $0
end
local.get $0
i32.const 0
i32.store
local.get $0
)
(func $std/constructor/None#constructor (; 5 ;) (type $ii) (param $0 i32) (result i32)
local.get $0
i32.eqz
if
i32.const 0
call $~lib/memory/memory.allocate
local.set $0
end
local.get $0
)
(func $std/constructor/JustFieldInit#constructor (; 6 ;) (type $ii) (param $0 i32) (result i32)
local.get $0
i32.eqz
if
i32.const 4
call $~lib/memory/memory.allocate
local.set $0
end
local.get $0
i32.const 1
i32.store
local.get $0
)
(func $std/constructor/JustFieldNoInit#constructor (; 7 ;) (type $ii) (param $0 i32) (result i32)
local.get $0
i32.eqz
if
i32.const 4
call $~lib/memory/memory.allocate
local.set $0
end
local.get $0
i32.const 0
i32.store
local.get $0
)
(func $std/constructor/CtorReturns#constructor (; 8 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
block $~lib/memory/memory.allocate|inlined.0 (result i32)
i32.const 0
local.set $1
local.get $1
call $~lib/allocator/arena/__memory_allocate
br $~lib/memory/memory.allocate|inlined.0
end
)
(func $std/constructor/CtorConditionallyReturns#constructor (; 9 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
global.get $std/constructor/b
if
block $~lib/memory/memory.allocate|inlined.1 (result i32)
i32.const 0
local.set $1
local.get $1
call $~lib/allocator/arena/__memory_allocate
br $~lib/memory/memory.allocate|inlined.1
end
return
end
local.get $0
i32.eqz
if
i32.const 0
call $~lib/memory/memory.allocate
local.set $0
end
local.get $0
)
(func $std/constructor/CtorAllocates#constructor (; 10 ;) (type $ii) (param $0 i32) (result i32)
block (result i32)
local.get $0
i32.eqz
if
i32.const 0
call $~lib/memory/memory.allocate
local.set $0
end
local.get $0
end
drop
local.get $0
)
(func $std/constructor/CtorConditionallyAllocates#constructor (; 11 ;) (type $ii) (param $0 i32) (result i32)
global.get $std/constructor/b
if
block (result i32)
local.get $0
i32.eqz
if
i32.const 0
call $~lib/memory/memory.allocate
local.set $0
end
local.get $0
end
drop
end
local.get $0
i32.eqz
if
i32.const 0
call $~lib/memory/memory.allocate
local.set $0
end
local.get $0
)
(func $start (; 12 ;) (type $_)
global.get $HEAP_BASE
global.get $~lib/internal/allocator/AL_MASK
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const -1
i32.xor
i32.and
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
global.set $~lib/allocator/arena/offset
i32.const 0
call $std/constructor/EmptyCtor#constructor
global.set $std/constructor/emptyCtor
i32.const 0
call $std/constructor/EmptyCtorWithFieldInit#constructor
global.set $std/constructor/emptyCtorWithFieldInit
i32.const 0
call $std/constructor/EmptyCtorWithFieldNoInit#constructor
global.set $std/constructor/emptyCtorWithFieldNoInit
i32.const 0
call $std/constructor/None#constructor
global.set $std/constructor/none
i32.const 0
call $std/constructor/JustFieldInit#constructor
global.set $std/constructor/justFieldInit
i32.const 0
call $std/constructor/JustFieldNoInit#constructor
global.set $std/constructor/justFieldNoInit
i32.const 0
call $std/constructor/CtorReturns#constructor
global.set $std/constructor/ctorReturns
i32.const 0
call $std/constructor/CtorConditionallyReturns#constructor
global.set $std/constructor/ctorConditionallyReturns
i32.const 0
call $std/constructor/CtorAllocates#constructor
global.set $std/constructor/ctorAllocates
i32.const 0
call $std/constructor/CtorConditionallyAllocates#constructor
global.set $std/constructor/ctorConditionallyAllocates
)
(func $null (; 13 ;) (type $_)
)
)

View File

@ -1,4 +1,5 @@
(module
(type $_ (func))
(type $iii (func (param i32 i32) (result i32)))
(type $iiii_ (func (param i32 i32 i32 i32)))
(type $ii (func (param i32) (result i32)))
@ -6,7 +7,6 @@
(type $iiif (func (param i32 i32 i32) (result f32)))
(type $II (func (param i64) (result i64)))
(type $iiii (func (param i32 i32 i32) (result i32)))
(type $_ (func))
(type $FUNCSIG$vii (func (param i32 i32)))
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
(type $FUNCSIG$dii (func (param i32 i32) (result f64)))
@ -1096,7 +1096,7 @@
local.get $1
i32.store16 offset=8
)
(func $start (; 23 ;) (type $_)
(func $start:std/dataview (; 23 ;) (type $_)
(local $0 i32)
i32.const 216
global.set $~lib/allocator/arena/startOffset
@ -2625,7 +2625,10 @@
unreachable
end
)
(func $null (; 24 ;) (type $_)
(func $start (; 24 ;) (type $_)
call $start:std/dataview
)
(func $null (; 25 ;) (type $_)
nop
)
)

View File

@ -1,4 +1,5 @@
(module
(type $_ (func))
(type $iii (func (param i32 i32) (result i32)))
(type $iiii_ (func (param i32 i32 i32 i32)))
(type $ii (func (param i32) (result i32)))
@ -12,7 +13,6 @@
(type $iifi_ (func (param i32 i32 f32 i32)))
(type $iiFi_ (func (param i32 i32 f64 i32)))
(type $iiIi_ (func (param i32 i32 i64 i32)))
(type $_ (func))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
(memory $0 1)
(data (i32.const 8) "\1b\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00")
@ -21,26 +21,32 @@
(data (i32.const 176) "\0f\00\00\00s\00t\00d\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s\00")
(table $0 1 funcref)
(elem (i32.const 0) $null)
(global $~lib/internal/allocator/AL_BITS i32 (i32.const 3))
(global $~lib/internal/allocator/AL_SIZE i32 (i32.const 8))
(global $~lib/internal/allocator/AL_MASK i32 (i32.const 7))
(global $~lib/internal/allocator/MAX_SIZE_32 i32 (i32.const 1073741824))
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
(global $~lib/internal/arraybuffer/HEADER_SIZE i32 (i32.const 8))
(global $~lib/internal/arraybuffer/MAX_BLENGTH i32 (i32.const 1073741816))
(global $std/dataview/array (mut i32) (i32.const 0))
(global $~lib/builtins/i32.MIN_VALUE i32 (i32.const -2147483648))
(global $std/dataview/view (mut i32) (i32.const 0))
(global $HEAP_BASE i32 (i32.const 212))
(global $~lib/memory/HEAP_BASE i32 (i32.const 212))
(export "memory" (memory $0))
(export "table" (table $0))
(start $start)
(func $~lib/internal/arraybuffer/computeSize (; 1 ;) (type $ii) (param $0 i32) (result i32)
(func $start:~lib/allocator/arena (; 1 ;) (type $_)
global.get $~lib/memory/HEAP_BASE
i32.const 7
i32.add
i32.const 7
i32.const -1
i32.xor
i32.and
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
global.set $~lib/allocator/arena/offset
)
(func $~lib/internal/arraybuffer/computeSize (; 2 ;) (type $ii) (param $0 i32) (result i32)
i32.const 1
i32.const 32
local.get $0
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.const 8
i32.add
i32.const 1
i32.sub
@ -48,7 +54,7 @@
i32.sub
i32.shl
)
(func $~lib/allocator/arena/__memory_allocate (; 2 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 3 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -56,7 +62,7 @@
(local $5 i32)
(local $6 i32)
local.get $0
global.get $~lib/internal/allocator/MAX_SIZE_32
i32.const 1073741824
i32.gt_u
if
unreachable
@ -73,9 +79,9 @@
i32.gt_u
select
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const 7
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const 7
i32.const -1
i32.xor
i32.and
@ -127,11 +133,11 @@
global.set $~lib/allocator/arena/offset
local.get $1
)
(func $~lib/internal/arraybuffer/allocateUnsafe (; 3 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/arraybuffer/allocateUnsafe (; 4 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
local.get $0
global.get $~lib/internal/arraybuffer/MAX_BLENGTH
i32.const 1073741816
i32.le_u
i32.eqz
if
@ -156,7 +162,7 @@
i32.store
local.get $1
)
(func $~lib/internal/memory/memset (; 4 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/internal/memory/memset (; 5 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i64)
@ -410,12 +416,12 @@
end
end
)
(func $~lib/memory/memory.allocate (; 5 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 6 ;) (type $ii) (param $0 i32) (result i32)
local.get $0
call $~lib/allocator/arena/__memory_allocate
return
)
(func $~lib/internal/typedarray/TypedArray<u8>#constructor (; 6 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/internal/typedarray/TypedArray<u8>#constructor (; 7 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -439,9 +445,9 @@
local.get $2
call $~lib/internal/arraybuffer/allocateUnsafe
local.set $3
block $memory.fill|inlined.0
block $~lib/memory/memory.fill|inlined.0
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.const 8
i32.add
local.set $4
i32.const 0
@ -482,7 +488,7 @@
i32.store offset=8
local.get $0
)
(func $~lib/typedarray/Uint8Array#constructor (; 7 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/typedarray/Uint8Array#constructor (; 8 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0
i32.eqz
if
@ -496,7 +502,7 @@
local.set $0
local.get $0
)
(func $~lib/internal/typedarray/TypedArray<u8>#__set (; 8 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/internal/typedarray/TypedArray<u8>#__set (; 9 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -537,7 +543,7 @@
i32.store8 offset=8
end
)
(func $~lib/dataview/DataView#constructor (; 9 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(func $~lib/dataview/DataView#constructor (; 10 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
local.get $3
global.get $~lib/builtins/i32.MIN_VALUE
i32.eq
@ -549,7 +555,7 @@
local.set $3
end
local.get $2
global.get $~lib/internal/arraybuffer/MAX_BLENGTH
i32.const 1073741816
i32.gt_u
if
i32.const 0
@ -560,7 +566,7 @@
unreachable
end
local.get $3
global.get $~lib/internal/arraybuffer/MAX_BLENGTH
i32.const 1073741816
i32.gt_u
if
i32.const 0
@ -602,7 +608,7 @@
i32.store offset=8
local.get $0
)
(func $~lib/polyfills/bswap<u32> (; 10 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/polyfills/bswap<u32> (; 11 ;) (type $ii) (param $0 i32) (result i32)
local.get $0
i32.const -16711936
i32.and
@ -616,7 +622,7 @@
i32.or
return
)
(func $~lib/dataview/DataView#getFloat32 (; 11 ;) (type $iiif) (param $0 i32) (param $1 i32) (param $2 i32) (result f32)
(func $~lib/dataview/DataView#getFloat32 (; 12 ;) (type $iiif) (param $0 i32) (param $1 i32) (param $2 i32) (result f32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -630,7 +636,7 @@
i32.load offset=8
local.set $5
local.get $3
global.get $~lib/internal/arraybuffer/MAX_BLENGTH
i32.const 1073741816
i32.gt_u
local.tee $6
if (result i32)
@ -676,7 +682,7 @@
f32.reinterpret_i32
end
)
(func $~lib/polyfills/bswap<u64> (; 12 ;) (type $II) (param $0 i64) (result i64)
(func $~lib/polyfills/bswap<u64> (; 13 ;) (type $II) (param $0 i64) (result i64)
(local $1 i64)
(local $2 i64)
(local $3 i64)
@ -715,7 +721,7 @@
i64.rotr
return
)
(func $~lib/dataview/DataView#getFloat64 (; 13 ;) (type $iiiF) (param $0 i32) (param $1 i32) (param $2 i32) (result f64)
(func $~lib/dataview/DataView#getFloat64 (; 14 ;) (type $iiiF) (param $0 i32) (param $1 i32) (param $2 i32) (result f64)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -729,7 +735,7 @@
i32.load offset=8
local.set $5
local.get $3
global.get $~lib/internal/arraybuffer/MAX_BLENGTH
i32.const 1073741816
i32.gt_u
local.tee $6
if (result i32)
@ -775,7 +781,7 @@
f64.reinterpret_i64
end
)
(func $~lib/dataview/DataView#getInt8 (; 14 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/dataview/DataView#getInt8 (; 15 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -789,7 +795,7 @@
i32.load offset=8
local.set $4
local.get $2
global.get $~lib/internal/arraybuffer/MAX_BLENGTH
i32.const 1073741816
i32.gt_u
local.tee $5
if (result i32)
@ -819,7 +825,7 @@
i32.add
i32.load8_s offset=8
)
(func $~lib/polyfills/bswap<i16> (; 15 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/polyfills/bswap<i16> (; 16 ;) (type $ii) (param $0 i32) (result i32)
local.get $0
i32.const 8
i32.shl
@ -835,7 +841,7 @@
i32.or
return
)
(func $~lib/dataview/DataView#getInt16 (; 16 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/dataview/DataView#getInt16 (; 17 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -850,7 +856,7 @@
i32.load offset=8
local.set $5
local.get $3
global.get $~lib/internal/arraybuffer/MAX_BLENGTH
i32.const 1073741816
i32.gt_u
local.tee $6
if (result i32)
@ -890,7 +896,7 @@
call $~lib/polyfills/bswap<i16>
end
)
(func $~lib/polyfills/bswap<i32> (; 17 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/polyfills/bswap<i32> (; 18 ;) (type $ii) (param $0 i32) (result i32)
local.get $0
i32.const -16711936
i32.and
@ -904,7 +910,7 @@
i32.or
return
)
(func $~lib/dataview/DataView#getInt32 (; 18 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/dataview/DataView#getInt32 (; 19 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -919,7 +925,7 @@
i32.load offset=8
local.set $5
local.get $3
global.get $~lib/internal/arraybuffer/MAX_BLENGTH
i32.const 1073741816
i32.gt_u
local.tee $6
if (result i32)
@ -959,7 +965,7 @@
call $~lib/polyfills/bswap<i32>
end
)
(func $~lib/polyfills/bswap<i64> (; 19 ;) (type $II) (param $0 i64) (result i64)
(func $~lib/polyfills/bswap<i64> (; 20 ;) (type $II) (param $0 i64) (result i64)
(local $1 i64)
(local $2 i64)
(local $3 i64)
@ -998,7 +1004,7 @@
i64.rotr
return
)
(func $~lib/dataview/DataView#getInt64 (; 20 ;) (type $iiiI) (param $0 i32) (param $1 i32) (param $2 i32) (result i64)
(func $~lib/dataview/DataView#getInt64 (; 21 ;) (type $iiiI) (param $0 i32) (param $1 i32) (param $2 i32) (result i64)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -1013,7 +1019,7 @@
i32.load offset=8
local.set $5
local.get $3
global.get $~lib/internal/arraybuffer/MAX_BLENGTH
i32.const 1073741816
i32.gt_u
local.tee $6
if (result i32)
@ -1053,7 +1059,7 @@
call $~lib/polyfills/bswap<i64>
end
)
(func $~lib/dataview/DataView#getUint8 (; 21 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/dataview/DataView#getUint8 (; 22 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -1067,7 +1073,7 @@
i32.load offset=8
local.set $4
local.get $2
global.get $~lib/internal/arraybuffer/MAX_BLENGTH
i32.const 1073741816
i32.gt_u
local.tee $5
if (result i32)
@ -1097,7 +1103,7 @@
i32.add
i32.load8_u offset=8
)
(func $~lib/polyfills/bswap<u16> (; 22 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/polyfills/bswap<u16> (; 23 ;) (type $ii) (param $0 i32) (result i32)
local.get $0
i32.const 8
i32.shl
@ -1111,7 +1117,7 @@
i32.or
return
)
(func $~lib/dataview/DataView#getUint16 (; 23 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/dataview/DataView#getUint16 (; 24 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -1126,7 +1132,7 @@
i32.load offset=8
local.set $5
local.get $3
global.get $~lib/internal/arraybuffer/MAX_BLENGTH
i32.const 1073741816
i32.gt_u
local.tee $6
if (result i32)
@ -1166,7 +1172,7 @@
call $~lib/polyfills/bswap<u16>
end
)
(func $~lib/dataview/DataView#getUint32 (; 24 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/dataview/DataView#getUint32 (; 25 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -1181,7 +1187,7 @@
i32.load offset=8
local.set $5
local.get $3
global.get $~lib/internal/arraybuffer/MAX_BLENGTH
i32.const 1073741816
i32.gt_u
local.tee $6
if (result i32)
@ -1221,7 +1227,7 @@
call $~lib/polyfills/bswap<u32>
end
)
(func $~lib/dataview/DataView#getUint64 (; 25 ;) (type $iiiI) (param $0 i32) (param $1 i32) (param $2 i32) (result i64)
(func $~lib/dataview/DataView#getUint64 (; 26 ;) (type $iiiI) (param $0 i32) (param $1 i32) (param $2 i32) (result i64)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -1236,7 +1242,7 @@
i32.load offset=8
local.set $5
local.get $3
global.get $~lib/internal/arraybuffer/MAX_BLENGTH
i32.const 1073741816
i32.gt_u
local.tee $6
if (result i32)
@ -1276,7 +1282,7 @@
call $~lib/polyfills/bswap<u64>
end
)
(func $~lib/dataview/DataView#setFloat32 (; 26 ;) (type $iifi_) (param $0 i32) (param $1 i32) (param $2 f32) (param $3 i32)
(func $~lib/dataview/DataView#setFloat32 (; 27 ;) (type $iifi_) (param $0 i32) (param $1 i32) (param $2 f32) (param $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
@ -1290,7 +1296,7 @@
i32.load offset=8
local.set $6
local.get $4
global.get $~lib/internal/arraybuffer/MAX_BLENGTH
i32.const 1073741816
i32.gt_u
local.tee $7
if (result i32)
@ -1338,7 +1344,7 @@
i32.store offset=8
end
)
(func $~lib/dataview/DataView#setFloat64 (; 27 ;) (type $iiFi_) (param $0 i32) (param $1 i32) (param $2 f64) (param $3 i32)
(func $~lib/dataview/DataView#setFloat64 (; 28 ;) (type $iiFi_) (param $0 i32) (param $1 i32) (param $2 f64) (param $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
@ -1352,7 +1358,7 @@
i32.load offset=8
local.set $6
local.get $4
global.get $~lib/internal/arraybuffer/MAX_BLENGTH
i32.const 1073741816
i32.gt_u
local.tee $7
if (result i32)
@ -1400,7 +1406,7 @@
i64.store offset=8
end
)
(func $~lib/dataview/DataView#setInt8 (; 28 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/dataview/DataView#setInt8 (; 29 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -1414,7 +1420,7 @@
i32.load offset=8
local.set $5
local.get $3
global.get $~lib/internal/arraybuffer/MAX_BLENGTH
i32.const 1073741816
i32.gt_u
local.tee $6
if (result i32)
@ -1445,7 +1451,7 @@
local.get $2
i32.store8 offset=8
)
(func $~lib/dataview/DataView#setInt16 (; 29 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(func $~lib/dataview/DataView#setInt16 (; 30 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
@ -1459,7 +1465,7 @@
i32.load offset=8
local.set $6
local.get $4
global.get $~lib/internal/arraybuffer/MAX_BLENGTH
i32.const 1073741816
i32.gt_u
local.tee $7
if (result i32)
@ -1498,7 +1504,7 @@
end
i32.store16 offset=8
)
(func $~lib/dataview/DataView#setInt32 (; 30 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(func $~lib/dataview/DataView#setInt32 (; 31 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
@ -1512,7 +1518,7 @@
i32.load offset=8
local.set $6
local.get $4
global.get $~lib/internal/arraybuffer/MAX_BLENGTH
i32.const 1073741816
i32.gt_u
local.tee $7
if (result i32)
@ -1551,7 +1557,7 @@
end
i32.store offset=8
)
(func $~lib/dataview/DataView#setInt64 (; 31 ;) (type $iiIi_) (param $0 i32) (param $1 i32) (param $2 i64) (param $3 i32)
(func $~lib/dataview/DataView#setInt64 (; 32 ;) (type $iiIi_) (param $0 i32) (param $1 i32) (param $2 i64) (param $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
@ -1565,7 +1571,7 @@
i32.load offset=8
local.set $6
local.get $4
global.get $~lib/internal/arraybuffer/MAX_BLENGTH
i32.const 1073741816
i32.gt_u
local.tee $7
if (result i32)
@ -1604,7 +1610,7 @@
end
i64.store offset=8
)
(func $~lib/dataview/DataView#setUint8 (; 32 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/dataview/DataView#setUint8 (; 33 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -1618,7 +1624,7 @@
i32.load offset=8
local.set $5
local.get $3
global.get $~lib/internal/arraybuffer/MAX_BLENGTH
i32.const 1073741816
i32.gt_u
local.tee $6
if (result i32)
@ -1649,7 +1655,7 @@
local.get $2
i32.store8 offset=8
)
(func $~lib/dataview/DataView#setUint16 (; 33 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(func $~lib/dataview/DataView#setUint16 (; 34 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
@ -1663,7 +1669,7 @@
i32.load offset=8
local.set $6
local.get $4
global.get $~lib/internal/arraybuffer/MAX_BLENGTH
i32.const 1073741816
i32.gt_u
local.tee $7
if (result i32)
@ -1702,7 +1708,7 @@
end
i32.store16 offset=8
)
(func $~lib/dataview/DataView#setUint32 (; 34 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(func $~lib/dataview/DataView#setUint32 (; 35 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
@ -1716,7 +1722,7 @@
i32.load offset=8
local.set $6
local.get $4
global.get $~lib/internal/arraybuffer/MAX_BLENGTH
i32.const 1073741816
i32.gt_u
local.tee $7
if (result i32)
@ -1755,7 +1761,7 @@
end
i32.store offset=8
)
(func $~lib/dataview/DataView#setUint64 (; 35 ;) (type $iiIi_) (param $0 i32) (param $1 i32) (param $2 i64) (param $3 i32)
(func $~lib/dataview/DataView#setUint64 (; 36 ;) (type $iiIi_) (param $0 i32) (param $1 i32) (param $2 i64) (param $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
@ -1769,7 +1775,7 @@
i32.load offset=8
local.set $6
local.get $4
global.get $~lib/internal/arraybuffer/MAX_BLENGTH
i32.const 1073741816
i32.gt_u
local.tee $7
if (result i32)
@ -1808,17 +1814,8 @@
end
i64.store offset=8
)
(func $start (; 36 ;) (type $_)
global.get $HEAP_BASE
global.get $~lib/internal/allocator/AL_MASK
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const -1
i32.xor
i32.and
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
global.set $~lib/allocator/arena/offset
(func $start:std/dataview (; 37 ;) (type $_)
call $start:~lib/allocator/arena
i32.const 0
i32.const 8
call $~lib/typedarray/Uint8Array#constructor
@ -3501,6 +3498,9 @@
unreachable
end
)
(func $null (; 37 ;) (type $_)
(func $start (; 38 ;) (type $_)
call $start:std/dataview
)
(func $null (; 39 ;) (type $_)
)
)

View File

@ -1,9 +1,9 @@
(module
(type $_ (func))
(type $iiiiiiFF (func (param i32 i32 i32 i32 i32 i32 f64) (result f64)))
(type $iiii_ (func (param i32 i32 i32 i32)))
(type $F (func (result f64)))
(type $ii (func (param i32) (result i32)))
(type $_ (func))
(import "Date" "UTC" (func $~lib/bindings/Date/UTC (param i32 i32 i32 i32 i32 i32 f64) (result f64)))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
(import "Date" "now" (func $~lib/bindings/Date/now (result f64)))
@ -80,7 +80,7 @@
global.set $~lib/allocator/arena/offset
local.get $1
)
(func $start (; 4 ;) (type $_)
(func $start:std/date (; 4 ;) (type $_)
(local $0 i32)
(local $1 i64)
i32.const 40
@ -202,7 +202,10 @@
unreachable
end
)
(func $null (; 5 ;) (type $_)
(func $start (; 5 ;) (type $_)
call $start:std/date
)
(func $null (; 6 ;) (type $_)
nop
)
)

View File

@ -1,4 +1,5 @@
(module
(type $_ (func))
(type $iiiiiiFF (func (param i32 i32 i32 i32 i32 i32 f64) (result f64)))
(type $iiii_ (func (param i32 i32 i32 i32)))
(type $F (func (result f64)))
@ -6,7 +7,6 @@
(type $ii (func (param i32) (result i32)))
(type $iI (func (param i32) (result i64)))
(type $iII (func (param i32 i64) (result i64)))
(type $_ (func))
(import "Date" "UTC" (func $~lib/bindings/Date/UTC (param i32 i32 i32 i32 i32 i32 f64) (result f64)))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
(import "Date" "now" (func $~lib/bindings/Date/now (result f64)))
@ -14,19 +14,27 @@
(data (i32.const 8) "\0b\00\00\00s\00t\00d\00/\00d\00a\00t\00e\00.\00t\00s\00")
(table $0 1 funcref)
(elem (i32.const 0) $null)
(global $~lib/internal/allocator/AL_BITS i32 (i32.const 3))
(global $~lib/internal/allocator/AL_SIZE i32 (i32.const 8))
(global $~lib/internal/allocator/AL_MASK i32 (i32.const 7))
(global $~lib/internal/allocator/MAX_SIZE_32 i32 (i32.const 1073741824))
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
(global $std/date/creationTime (mut i64) (i64.const 0))
(global $std/date/date (mut i32) (i32.const 0))
(global $HEAP_BASE i32 (i32.const 36))
(global $~lib/memory/HEAP_BASE i32 (i32.const 36))
(export "memory" (memory $0))
(export "table" (table $0))
(start $start)
(func $~lib/allocator/arena/__memory_allocate (; 3 ;) (type $ii) (param $0 i32) (result i32)
(func $start:~lib/allocator/arena (; 3 ;) (type $_)
global.get $~lib/memory/HEAP_BASE
i32.const 7
i32.add
i32.const 7
i32.const -1
i32.xor
i32.and
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
global.set $~lib/allocator/arena/offset
)
(func $~lib/allocator/arena/__memory_allocate (; 4 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -34,7 +42,7 @@
(local $5 i32)
(local $6 i32)
local.get $0
global.get $~lib/internal/allocator/MAX_SIZE_32
i32.const 1073741824
i32.gt_u
if
unreachable
@ -51,9 +59,9 @@
i32.gt_u
select
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const 7
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const 7
i32.const -1
i32.xor
i32.and
@ -105,12 +113,12 @@
global.set $~lib/allocator/arena/offset
local.get $1
)
(func $~lib/memory/memory.allocate (; 4 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 5 ;) (type $ii) (param $0 i32) (result i32)
local.get $0
call $~lib/allocator/arena/__memory_allocate
return
)
(func $~lib/date/Date#constructor (; 5 ;) (type $iIi) (param $0 i32) (param $1 i64) (result i32)
(func $~lib/date/Date#constructor (; 6 ;) (type $iIi) (param $0 i32) (param $1 i64) (result i32)
block (result i32)
local.get $0
i32.eqz
@ -128,17 +136,17 @@
i64.store
local.get $0
)
(func $~lib/date/Date#getTime (; 6 ;) (type $iI) (param $0 i32) (result i64)
(func $~lib/date/Date#getTime (; 7 ;) (type $iI) (param $0 i32) (result i64)
local.get $0
i64.load
)
(func $~lib/date/Date#setTime (; 7 ;) (type $iII) (param $0 i32) (param $1 i64) (result i64)
(func $~lib/date/Date#setTime (; 8 ;) (type $iII) (param $0 i32) (param $1 i64) (result i64)
local.get $0
local.get $1
i64.store
local.get $1
)
(func $start (; 8 ;) (type $_)
(func $start:std/date (; 9 ;) (type $_)
(local $0 i32)
(local $1 i32)
(local $2 i32)
@ -146,16 +154,7 @@
(local $4 i32)
(local $5 i32)
(local $6 i64)
global.get $HEAP_BASE
global.get $~lib/internal/allocator/AL_MASK
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const -1
i32.xor
i32.and
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
global.set $~lib/allocator/arena/offset
call $start:~lib/allocator/arena
block $~lib/date/Date.UTC|inlined.0 (result i64)
i32.const 1970
local.set $0
@ -323,6 +322,9 @@
unreachable
end
)
(func $null (; 9 ;) (type $_)
(func $start (; 10 ;) (type $_)
call $start:std/date
)
(func $null (; 11 ;) (type $_)
)
)

View File

@ -1,8 +1,8 @@
(module
(type $_ (func))
(type $i_ (func (param i32)))
(type $ii (func (param i32) (result i32)))
(type $ii_ (func (param i32 i32)))
(type $_ (func))
(type $iii (func (param i32 i32) (result i32)))
(type $iii_ (func (param i32 i32 i32)))
(type $iiii_ (func (param i32 i32 i32 i32)))
@ -24,8 +24,8 @@
(global $~lib/collector/itcm/toSpace (mut i32) (i32.const 0))
(global $~lib/collector/itcm/iter (mut i32) (i32.const 0))
(global $std/gc-array/arr (mut i32) (i32.const 48))
(global $~argc (mut i32) (i32.const 0))
(global $~started (mut i32) (i32.const 0))
(global $~lib/argc (mut i32) (i32.const 0))
(global $~lib/started (mut i32) (i32.const 0))
(export "memory" (memory $0))
(export "table" (table $0))
(export "main" (func $std/gc-array/main))
@ -292,7 +292,7 @@
i32.or
i32.store
i32.const 1
global.set $~argc
global.set $~lib/argc
local.get $0
i32.const 16
i32.add
@ -1913,23 +1913,11 @@
local.get $2
call $~lib/collector/itcm/__gc_link
)
(func $std/gc-array/main (; 18 ;) (type $i) (result i32)
global.get $~started
i32.eqz
if
call $start
i32.const 1
global.set $~started
end
i32.const 0
)
(func $start (; 19 ;) (type $_)
(func $start:std/gc-array (; 18 ;) (type $_)
i32.const 184
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
global.set $~lib/allocator/arena/offset
i32.const 0
global.set $~lib/collector/itcm/state
call $~lib/collector/itcm/__gc_collect
global.get $std/gc-array/arr
i32.const 0
@ -1953,6 +1941,16 @@
call $~lib/array/Array<Foo>#__set
call $~lib/collector/itcm/__gc_collect
)
(func $std/gc-array/main (; 19 ;) (type $i) (result i32)
global.get $~lib/started
i32.eqz
if
call $start:std/gc-array
i32.const 1
global.set $~lib/started
end
i32.const 0
)
(func $null (; 20 ;) (type $_)
nop
)

View File

@ -20,4 +20,5 @@ arr[0] = {};
gc.collect(); // should collect the old one
@start
export function main(): i32 { return 0; }

View File

@ -1,8 +1,8 @@
(module
(type $_ (func))
(type $i_ (func (param i32)))
(type $ii (func (param i32) (result i32)))
(type $ii_ (func (param i32 i32)))
(type $_ (func))
(type $iii (func (param i32 i32) (result i32)))
(type $iii_ (func (param i32 i32 i32)))
(type $iiii_ (func (param i32 i32 i32 i32)))
@ -15,33 +15,33 @@
(data (i32.const 104) "\00\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00")
(table $0 7 funcref)
(elem (i32.const 0) $null $~lib/arraybuffer/ArrayBuffer~gc $~lib/array/Array<Foo>~gc $~lib/collector/itcm/__gc_mark $std/gc-array/Foo~gc $~lib/string/String~gc $~lib/internal/arraybuffer/__gc)
(global $~lib/internal/allocator/AL_BITS i32 (i32.const 3))
(global $~lib/internal/allocator/AL_SIZE i32 (i32.const 8))
(global $~lib/internal/allocator/AL_MASK i32 (i32.const 7))
(global $~lib/internal/allocator/MAX_SIZE_32 i32 (i32.const 1073741824))
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
(global $~lib/collector/itcm/TRACE i32 (i32.const 0))
(global $~lib/collector/itcm/HEADER_SIZE i32 (i32.const 16))
(global $~lib/collector/itcm/State.INIT i32 (i32.const 0))
(global $~lib/collector/itcm/State.IDLE i32 (i32.const 1))
(global $~lib/collector/itcm/State.MARK i32 (i32.const 2))
(global $~lib/collector/itcm/State.SWEEP i32 (i32.const 3))
(global $~lib/collector/itcm/state (mut i32) (i32.const 0))
(global $~lib/collector/itcm/white (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/internal/arraybuffer/HEADER_SIZE i32 (i32.const 8))
(global $std/gc-array/arr (mut i32) (i32.const 48))
(global $~argc (mut i32) (i32.const 0))
(global $~lib/internal/arraybuffer/MAX_BLENGTH i32 (i32.const 1073741816))
(global $~started (mut i32) (i32.const 0))
(global $HEAP_BASE i32 (i32.const 180))
(global $~lib/argc (mut i32) (i32.const 0))
(global $~lib/started (mut i32) (i32.const 0))
(global $~lib/memory/HEAP_BASE i32 (i32.const 180))
(export "memory" (memory $0))
(export "table" (table $0))
(export "main" (func $std/gc-array/main))
(func $~lib/arraybuffer/ArrayBuffer~gc (; 1 ;) (type $i_) (param $0 i32)
(func $start:~lib/allocator/arena (; 1 ;) (type $_)
global.get $~lib/memory/HEAP_BASE
i32.const 7
i32.add
i32.const 7
i32.const -1
i32.xor
i32.and
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
global.set $~lib/allocator/arena/offset
)
(func $~lib/arraybuffer/ArrayBuffer~gc (; 2 ;) (type $i_) (param $0 i32)
local.get $0
i32.eqz
if
@ -50,13 +50,13 @@
local.get $0
call $~lib/collector/itcm/__gc_mark
)
(func $~lib/collector/itcm/ManagedObject#get:color (; 2 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/collector/itcm/ManagedObject#get:color (; 3 ;) (type $ii) (param $0 i32) (result i32)
local.get $0
i32.load
i32.const 3
i32.and
)
(func $~lib/collector/itcm/ManagedObject#get:next (; 3 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/collector/itcm/ManagedObject#get:next (; 4 ;) (type $ii) (param $0 i32) (result i32)
local.get $0
i32.load
i32.const 3
@ -64,7 +64,7 @@
i32.xor
i32.and
)
(func $~lib/collector/itcm/ManagedObject#set:next (; 4 ;) (type $ii_) (param $0 i32) (param $1 i32)
(func $~lib/collector/itcm/ManagedObject#set:next (; 5 ;) (type $ii_) (param $0 i32) (param $1 i32)
local.get $0
local.get $1
local.get $0
@ -74,7 +74,7 @@
i32.or
i32.store
)
(func $~lib/collector/itcm/ManagedObject#unlink (; 5 ;) (type $i_) (param $0 i32)
(func $~lib/collector/itcm/ManagedObject#unlink (; 6 ;) (type $i_) (param $0 i32)
(local $1 i32)
(local $2 i32)
local.get $0
@ -90,7 +90,7 @@
local.get $1
call $~lib/collector/itcm/ManagedObject#set:next
)
(func $~lib/collector/itcm/ManagedObjectList#push (; 6 ;) (type $ii_) (param $0 i32) (param $1 i32)
(func $~lib/collector/itcm/ManagedObjectList#push (; 7 ;) (type $ii_) (param $0 i32) (param $1 i32)
(local $2 i32)
local.get $0
i32.load offset=4
@ -108,7 +108,7 @@
local.get $1
i32.store offset=4
)
(func $~lib/collector/itcm/ManagedObject#makeGray (; 7 ;) (type $i_) (param $0 i32)
(func $~lib/collector/itcm/ManagedObject#makeGray (; 8 ;) (type $i_) (param $0 i32)
local.get $0
global.get $~lib/collector/itcm/iter
i32.eq
@ -133,7 +133,7 @@
i32.or
i32.store
)
(func $~lib/collector/itcm/__gc_mark (; 8 ;) (type $i_) (param $0 i32)
(func $~lib/collector/itcm/__gc_mark (; 9 ;) (type $i_) (param $0 i32)
(local $1 i32)
local.get $0
if
@ -141,7 +141,7 @@
local.get $0
local.set $1
local.get $1
global.get $~lib/collector/itcm/HEADER_SIZE
i32.const 16
i32.sub
end
local.set $1
@ -155,7 +155,7 @@
end
end
)
(func $~lib/array/Array<Foo>~gc (; 9 ;) (type $i_) (param $0 i32)
(func $~lib/array/Array<Foo>~gc (; 10 ;) (type $i_) (param $0 i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -193,7 +193,7 @@
end
end
)
(func $~lib/allocator/arena/__memory_allocate (; 10 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 11 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -201,7 +201,7 @@
(local $5 i32)
(local $6 i32)
local.get $0
global.get $~lib/internal/allocator/MAX_SIZE_32
i32.const 1073741824
i32.gt_u
if
unreachable
@ -218,9 +218,9 @@
i32.gt_u
select
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const 7
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const 7
i32.const -1
i32.xor
i32.and
@ -272,7 +272,7 @@
global.set $~lib/allocator/arena/offset
local.get $1
)
(func $~lib/collector/itcm/ManagedObjectList#clear (; 11 ;) (type $i_) (param $0 i32)
(func $~lib/collector/itcm/ManagedObjectList#clear (; 12 ;) (type $i_) (param $0 i32)
local.get $0
local.get $0
i32.store
@ -280,7 +280,7 @@
local.get $0
i32.store offset=4
)
(func $~lib/collector/itcm/ManagedObject#set:color (; 12 ;) (type $ii_) (param $0 i32) (param $1 i32)
(func $~lib/collector/itcm/ManagedObject#set:color (; 13 ;) (type $ii_) (param $0 i32) (param $1 i32)
local.get $0
local.get $0
i32.load
@ -292,10 +292,10 @@
i32.or
i32.store
)
(func $~lib/allocator/arena/__memory_free (; 13 ;) (type $i_) (param $0 i32)
(func $~lib/allocator/arena/__memory_free (; 14 ;) (type $i_) (param $0 i32)
nop
)
(func $~lib/collector/itcm/step (; 14 ;) (type $_)
(func $~lib/collector/itcm/step (; 15 ;) (type $_)
(local $0 i32)
(local $1 i32)
block $break|0
@ -306,26 +306,26 @@
global.get $~lib/collector/itcm/state
local.set $1
local.get $1
global.get $~lib/collector/itcm/State.INIT
i32.const 0
i32.eq
br_if $case0|0
local.get $1
global.get $~lib/collector/itcm/State.IDLE
i32.const 1
i32.eq
br_if $case1|0
local.get $1
global.get $~lib/collector/itcm/State.MARK
i32.const 2
i32.eq
br_if $case2|0
local.get $1
global.get $~lib/collector/itcm/State.SWEEP
i32.const 3
i32.eq
br_if $case3|0
br $break|0
end
block
block $~lib/memory/memory.allocate|inlined.0 (result i32)
global.get $~lib/collector/itcm/HEADER_SIZE
i32.const 16
local.set $1
local.get $1
call $~lib/allocator/arena/__memory_allocate
@ -338,7 +338,7 @@
global.get $~lib/collector/itcm/fromSpace
call $~lib/collector/itcm/ManagedObjectList#clear
block $~lib/memory/memory.allocate|inlined.1 (result i32)
global.get $~lib/collector/itcm/HEADER_SIZE
i32.const 16
local.set $1
local.get $1
call $~lib/allocator/arena/__memory_allocate
@ -352,14 +352,14 @@
call $~lib/collector/itcm/ManagedObjectList#clear
global.get $~lib/collector/itcm/toSpace
global.set $~lib/collector/itcm/iter
global.get $~lib/collector/itcm/State.IDLE
i32.const 1
global.set $~lib/collector/itcm/state
end
end
block
i32.const 3
call $~iterateRoots
global.get $~lib/collector/itcm/State.MARK
i32.const 2
global.set $~lib/collector/itcm/state
br $break|0
unreachable
@ -381,12 +381,12 @@
i32.eqz
call $~lib/collector/itcm/ManagedObject#set:color
i32.const 1
global.set $~argc
global.set $~lib/argc
block $~lib/collector/itcm/objToRef|inlined.0 (result i32)
local.get $0
local.set $1
local.get $1
global.get $~lib/collector/itcm/HEADER_SIZE
i32.const 16
i32.add
end
local.get $0
@ -414,7 +414,7 @@
local.get $1
call $~lib/collector/itcm/ManagedObject#get:next
global.set $~lib/collector/itcm/iter
global.get $~lib/collector/itcm/State.SWEEP
i32.const 3
global.set $~lib/collector/itcm/state
end
end
@ -434,7 +434,7 @@
call $~lib/collector/itcm/ManagedObject#get:next
global.set $~lib/collector/itcm/iter
local.get $0
global.get $HEAP_BASE
global.get $~lib/memory/HEAP_BASE
i32.ge_u
if
block $~lib/memory/memory.free|inlined.0
@ -448,7 +448,7 @@
else
global.get $~lib/collector/itcm/toSpace
call $~lib/collector/itcm/ManagedObjectList#clear
global.get $~lib/collector/itcm/State.IDLE
i32.const 1
global.set $~lib/collector/itcm/state
end
br $break|0
@ -457,7 +457,7 @@
unreachable
end
)
(func $~lib/collector/itcm/__gc_collect (; 15 ;) (type $_)
(func $~lib/collector/itcm/__gc_collect (; 16 ;) (type $_)
(local $0 i32)
block $break|0
block $case1|0
@ -465,11 +465,11 @@
global.get $~lib/collector/itcm/state
local.set $0
local.get $0
global.get $~lib/collector/itcm/State.INIT
i32.const 0
i32.eq
br_if $case0|0
local.get $0
global.get $~lib/collector/itcm/State.IDLE
i32.const 1
i32.eq
br_if $case1|0
br $break|0
@ -480,7 +480,7 @@
block $break|1
loop $continue|1
global.get $~lib/collector/itcm/state
global.get $~lib/collector/itcm/State.IDLE
i32.const 1
i32.ne
if
call $~lib/collector/itcm/step
@ -489,16 +489,16 @@
end
end
)
(func $~lib/gc/gc.collect (; 16 ;) (type $_)
(func $~lib/gc/gc.collect (; 17 ;) (type $_)
call $~lib/collector/itcm/__gc_collect
return
)
(func $~lib/collector/itcm/__gc_allocate (; 17 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/collector/itcm/__gc_allocate (; 18 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
local.get $0
global.get $~lib/internal/allocator/MAX_SIZE_32
global.get $~lib/collector/itcm/HEADER_SIZE
i32.const 1073741824
i32.const 16
i32.sub
i32.gt_u
if
@ -506,7 +506,7 @@
end
call $~lib/collector/itcm/step
block $~lib/memory/memory.allocate|inlined.2 (result i32)
global.get $~lib/collector/itcm/HEADER_SIZE
i32.const 16
local.get $0
i32.add
local.set $2
@ -528,11 +528,11 @@
local.get $3
local.set $2
local.get $2
global.get $~lib/collector/itcm/HEADER_SIZE
i32.const 16
i32.add
end
)
(func $std/gc-array/Foo~gc (; 18 ;) (type $i_) (param $0 i32)
(func $std/gc-array/Foo~gc (; 19 ;) (type $i_) (param $0 i32)
local.get $0
i32.eqz
if
@ -541,7 +541,7 @@
local.get $0
call $~lib/collector/itcm/__gc_mark
)
(func $~lib/string/String~gc (; 19 ;) (type $i_) (param $0 i32)
(func $~lib/string/String~gc (; 20 ;) (type $i_) (param $0 i32)
local.get $0
i32.eqz
if
@ -550,11 +550,11 @@
local.get $0
call $~lib/collector/itcm/__gc_mark
)
(func $~lib/internal/arraybuffer/computeSize (; 20 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/arraybuffer/computeSize (; 21 ;) (type $ii) (param $0 i32) (result i32)
i32.const 1
i32.const 32
local.get $0
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.const 8
i32.add
i32.const 1
i32.sub
@ -562,13 +562,13 @@
i32.sub
i32.shl
)
(func $~lib/internal/arraybuffer/__gc (; 21 ;) (type $i_) (param $0 i32)
(func $~lib/internal/arraybuffer/__gc (; 22 ;) (type $i_) (param $0 i32)
nop
)
(func $~lib/internal/arraybuffer/allocateUnsafe (; 22 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/arraybuffer/allocateUnsafe (; 23 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
local.get $0
global.get $~lib/internal/arraybuffer/MAX_BLENGTH
i32.const 1073741816
i32.le_u
i32.eqz
if
@ -589,7 +589,7 @@
i32.store
local.get $1
)
(func $~lib/internal/memory/memcpy (; 23 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/internal/memory/memcpy (; 24 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -1790,7 +1790,7 @@
i32.store8
end
)
(func $~lib/internal/memory/memmove (; 24 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/internal/memory/memmove (; 25 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
local.get $0
local.get $1
@ -2017,7 +2017,7 @@
end
end
)
(func $~lib/internal/memory/memset (; 25 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/internal/memory/memset (; 26 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i64)
@ -2271,7 +2271,7 @@
end
end
)
(func $~lib/internal/arraybuffer/reallocateUnsafe (; 26 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/internal/arraybuffer/reallocateUnsafe (; 27 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -2285,7 +2285,7 @@
i32.gt_s
if
local.get $1
global.get $~lib/internal/arraybuffer/MAX_BLENGTH
i32.const 1073741816
i32.le_s
i32.eqz
if
@ -2299,7 +2299,7 @@
local.get $1
local.get $2
call $~lib/internal/arraybuffer/computeSize
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.const 8
i32.sub
i32.le_s
if
@ -2310,13 +2310,13 @@
local.get $1
call $~lib/internal/arraybuffer/allocateUnsafe
local.set $3
block $memory.copy|inlined.0
block $~lib/memory/memory.copy|inlined.0
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.const 8
i32.add
local.set $4
local.get $0
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.const 8
i32.add
local.set $5
local.get $2
@ -2329,9 +2329,9 @@
local.get $3
local.set $0
end
block $memory.fill|inlined.0
block $~lib/memory/memory.fill|inlined.0
local.get $0
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.const 8
i32.add
local.get $2
i32.add
@ -2371,14 +2371,14 @@
end
local.get $0
)
(func $~lib/collector/itcm/__gc_link (; 27 ;) (type $ii_) (param $0 i32) (param $1 i32)
(func $~lib/collector/itcm/__gc_link (; 28 ;) (type $ii_) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
block $~lib/collector/itcm/refToObj|inlined.1 (result i32)
local.get $0
local.set $2
local.get $2
global.get $~lib/collector/itcm/HEADER_SIZE
i32.const 16
i32.sub
end
local.set $3
@ -2393,7 +2393,7 @@
local.get $1
local.set $2
local.get $2
global.get $~lib/collector/itcm/HEADER_SIZE
i32.const 16
i32.sub
end
call $~lib/collector/itcm/ManagedObject#get:color
@ -2407,7 +2407,7 @@
call $~lib/collector/itcm/ManagedObject#makeGray
end
)
(func $~lib/array/Array<Foo>#__set (; 28 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/array/Array<Foo>#__set (; 29 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -2477,32 +2477,11 @@
local.get $2
call $~lib/collector/itcm/__gc_link
)
(func $std/gc-array/main (; 29 ;) (type $i) (result i32)
global.get $~started
i32.eqz
if
call $start
i32.const 1
global.set $~started
end
i32.const 0
)
(func $start (; 30 ;) (type $_)
(func $start:std/gc-array (; 30 ;) (type $_)
(local $0 i32)
(local $1 i32)
(local $2 i32)
global.get $HEAP_BASE
global.get $~lib/internal/allocator/AL_MASK
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const -1
i32.xor
i32.and
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
global.set $~lib/allocator/arena/offset
global.get $~lib/collector/itcm/State.INIT
global.set $~lib/collector/itcm/state
call $start:~lib/allocator/arena
call $~lib/gc/gc.collect
global.get $std/gc-array/arr
i32.const 0
@ -2538,9 +2517,22 @@
call $~lib/array/Array<Foo>#__set
call $~lib/gc/gc.collect
)
(func $null (; 31 ;) (type $_)
(func $std/gc-array/main (; 31 ;) (type $i) (result i32)
global.get $~lib/started
i32.eqz
if
call $start
i32.const 1
global.set $~lib/started
end
i32.const 0
)
(func $~iterateRoots (; 32 ;) (type $i_) (param $0 i32)
(func $start (; 32 ;) (type $_)
call $start:std/gc-array
)
(func $null (; 33 ;) (type $_)
)
(func $~iterateRoots (; 34 ;) (type $i_) (param $0 i32)
global.get $std/gc-array/arr
local.get $0
call_indirect (type $i_)

View File

@ -1,6 +1,6 @@
(module
(type $i_ (func (param i32)))
(type $_ (func))
(type $i_ (func (param i32)))
(type $ii (func (param i32) (result i32)))
(type $ii_ (func (param i32 i32)))
(type $iiii_ (func (param i32 i32 i32 i32)))
@ -18,10 +18,10 @@
(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 $~argc (mut i32) (i32.const 0))
(global $~lib/argc (mut i32) (i32.const 0))
(global $std/gc-basics/obj (mut i32) (i32.const 0))
(global $std/gc-basics/obj2 (mut i32) (i32.const 0))
(global $~started (mut i32) (i32.const 0))
(global $~lib/started (mut i32) (i32.const 0))
(export "memory" (memory $0))
(export "table" (table $0))
(export "main" (func $std/gc-basics/main))
@ -252,7 +252,7 @@
i32.or
i32.store
i32.const 1
global.set $~argc
global.set $~lib/argc
local.get $0
i32.const 16
i32.add
@ -374,17 +374,7 @@
end
end
)
(func $std/gc-basics/main (; 10 ;) (type $i) (result i32)
global.get $~started
i32.eqz
if
call $start
i32.const 1
global.set $~started
end
i32.const 0
)
(func $start (; 11 ;) (type $_)
(func $start:std/gc-basics (; 10 ;) (type $_)
(local $0 i32)
(local $1 i32)
(local $2 i32)
@ -393,8 +383,6 @@
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
global.set $~lib/allocator/arena/offset
i32.const 0
global.set $~lib/collector/itcm/state
call $~lib/collector/itcm/__gc_allocate
global.set $std/gc-basics/obj
global.get $std/gc-basics/obj
@ -479,6 +467,16 @@
global.set $std/gc-basics/obj
call $~lib/collector/itcm/__gc_collect
)
(func $std/gc-basics/main (; 11 ;) (type $i) (result i32)
global.get $~lib/started
i32.eqz
if
call $start:std/gc-basics
i32.const 1
global.set $~lib/started
end
i32.const 0
)
(func $null (; 12 ;) (type $_)
nop
)

View File

@ -31,4 +31,5 @@ gc.collect(); // should free 'obj' because it isn't referenced anymore (see trac
var obj2: MyObject; // should also iterate globals defined late
@start
export function main(): i32 { return 0; }

View File

@ -1,7 +1,7 @@
(module
(type $_ (func))
(type $i_ (func (param i32)))
(type $iii (func (param i32 i32) (result i32)))
(type $_ (func))
(type $ii (func (param i32) (result i32)))
(type $ii_ (func (param i32 i32)))
(type $iiii_ (func (param i32 i32 i32 i32)))
@ -11,35 +11,37 @@
(data (i32.const 8) "\00\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\10\00\00\00s\00t\00d\00/\00g\00c\00-\00b\00a\00s\00i\00c\00s\00.\00t\00s\00")
(table $0 4 funcref)
(elem (i32.const 0) $null $std/gc-basics/MyObject_visit $~lib/collector/itcm/__gc_mark $~lib/string/String~gc)
(global $~lib/internal/allocator/AL_BITS i32 (i32.const 3))
(global $~lib/internal/allocator/AL_SIZE i32 (i32.const 8))
(global $~lib/internal/allocator/AL_MASK i32 (i32.const 7))
(global $~lib/internal/allocator/MAX_SIZE_32 i32 (i32.const 1073741824))
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
(global $~lib/collector/itcm/TRACE i32 (i32.const 0))
(global $~lib/collector/itcm/HEADER_SIZE i32 (i32.const 16))
(global $~lib/collector/itcm/State.INIT i32 (i32.const 0))
(global $~lib/collector/itcm/State.IDLE i32 (i32.const 1))
(global $~lib/collector/itcm/State.MARK i32 (i32.const 2))
(global $~lib/collector/itcm/State.SWEEP i32 (i32.const 3))
(global $~lib/collector/itcm/state (mut i32) (i32.const 0))
(global $~lib/collector/itcm/white (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 $~argc (mut i32) (i32.const 0))
(global $~lib/argc (mut i32) (i32.const 0))
(global $std/gc-basics/obj (mut i32) (i32.const 0))
(global $std/gc-basics/obj2 (mut i32) (i32.const 0))
(global $~started (mut i32) (i32.const 0))
(global $HEAP_BASE i32 (i32.const 60))
(global $~lib/started (mut i32) (i32.const 0))
(global $~lib/memory/HEAP_BASE i32 (i32.const 60))
(export "memory" (memory $0))
(export "table" (table $0))
(export "main" (func $std/gc-basics/main))
(func $std/gc-basics/MyObject_visit (; 1 ;) (type $i_) (param $0 i32)
(func $start:~lib/allocator/arena (; 1 ;) (type $_)
global.get $~lib/memory/HEAP_BASE
i32.const 7
i32.add
i32.const 7
i32.const -1
i32.xor
i32.and
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
global.set $~lib/allocator/arena/offset
)
(func $std/gc-basics/MyObject_visit (; 2 ;) (type $i_) (param $0 i32)
nop
)
(func $~lib/allocator/arena/__memory_allocate (; 2 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 3 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -47,7 +49,7 @@
(local $5 i32)
(local $6 i32)
local.get $0
global.get $~lib/internal/allocator/MAX_SIZE_32
i32.const 1073741824
i32.gt_u
if
unreachable
@ -64,9 +66,9 @@
i32.gt_u
select
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const 7
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const 7
i32.const -1
i32.xor
i32.and
@ -118,7 +120,7 @@
global.set $~lib/allocator/arena/offset
local.get $1
)
(func $~lib/collector/itcm/ManagedObjectList#clear (; 3 ;) (type $i_) (param $0 i32)
(func $~lib/collector/itcm/ManagedObjectList#clear (; 4 ;) (type $i_) (param $0 i32)
local.get $0
local.get $0
i32.store
@ -126,13 +128,13 @@
local.get $0
i32.store offset=4
)
(func $~lib/collector/itcm/ManagedObject#get:color (; 4 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/collector/itcm/ManagedObject#get:color (; 5 ;) (type $ii) (param $0 i32) (result i32)
local.get $0
i32.load
i32.const 3
i32.and
)
(func $~lib/collector/itcm/ManagedObject#get:next (; 5 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/collector/itcm/ManagedObject#get:next (; 6 ;) (type $ii) (param $0 i32) (result i32)
local.get $0
i32.load
i32.const 3
@ -140,7 +142,7 @@
i32.xor
i32.and
)
(func $~lib/collector/itcm/ManagedObject#set:next (; 6 ;) (type $ii_) (param $0 i32) (param $1 i32)
(func $~lib/collector/itcm/ManagedObject#set:next (; 7 ;) (type $ii_) (param $0 i32) (param $1 i32)
local.get $0
local.get $1
local.get $0
@ -150,7 +152,7 @@
i32.or
i32.store
)
(func $~lib/collector/itcm/ManagedObject#unlink (; 7 ;) (type $i_) (param $0 i32)
(func $~lib/collector/itcm/ManagedObject#unlink (; 8 ;) (type $i_) (param $0 i32)
(local $1 i32)
(local $2 i32)
local.get $0
@ -166,7 +168,7 @@
local.get $1
call $~lib/collector/itcm/ManagedObject#set:next
)
(func $~lib/collector/itcm/ManagedObjectList#push (; 8 ;) (type $ii_) (param $0 i32) (param $1 i32)
(func $~lib/collector/itcm/ManagedObjectList#push (; 9 ;) (type $ii_) (param $0 i32) (param $1 i32)
(local $2 i32)
local.get $0
i32.load offset=4
@ -184,7 +186,7 @@
local.get $1
i32.store offset=4
)
(func $~lib/collector/itcm/ManagedObject#makeGray (; 9 ;) (type $i_) (param $0 i32)
(func $~lib/collector/itcm/ManagedObject#makeGray (; 10 ;) (type $i_) (param $0 i32)
local.get $0
global.get $~lib/collector/itcm/iter
i32.eq
@ -209,7 +211,7 @@
i32.or
i32.store
)
(func $~lib/collector/itcm/__gc_mark (; 10 ;) (type $i_) (param $0 i32)
(func $~lib/collector/itcm/__gc_mark (; 11 ;) (type $i_) (param $0 i32)
(local $1 i32)
local.get $0
if
@ -217,7 +219,7 @@
local.get $0
local.set $1
local.get $1
global.get $~lib/collector/itcm/HEADER_SIZE
i32.const 16
i32.sub
end
local.set $1
@ -231,7 +233,7 @@
end
end
)
(func $~lib/collector/itcm/ManagedObject#set:color (; 11 ;) (type $ii_) (param $0 i32) (param $1 i32)
(func $~lib/collector/itcm/ManagedObject#set:color (; 12 ;) (type $ii_) (param $0 i32) (param $1 i32)
local.get $0
local.get $0
i32.load
@ -243,10 +245,10 @@
i32.or
i32.store
)
(func $~lib/allocator/arena/__memory_free (; 12 ;) (type $i_) (param $0 i32)
(func $~lib/allocator/arena/__memory_free (; 13 ;) (type $i_) (param $0 i32)
nop
)
(func $~lib/collector/itcm/step (; 13 ;) (type $_)
(func $~lib/collector/itcm/step (; 14 ;) (type $_)
(local $0 i32)
(local $1 i32)
block $break|0
@ -257,26 +259,26 @@
global.get $~lib/collector/itcm/state
local.set $1
local.get $1
global.get $~lib/collector/itcm/State.INIT
i32.const 0
i32.eq
br_if $case0|0
local.get $1
global.get $~lib/collector/itcm/State.IDLE
i32.const 1
i32.eq
br_if $case1|0
local.get $1
global.get $~lib/collector/itcm/State.MARK
i32.const 2
i32.eq
br_if $case2|0
local.get $1
global.get $~lib/collector/itcm/State.SWEEP
i32.const 3
i32.eq
br_if $case3|0
br $break|0
end
block
block $~lib/memory/memory.allocate|inlined.0 (result i32)
global.get $~lib/collector/itcm/HEADER_SIZE
i32.const 16
local.set $1
local.get $1
call $~lib/allocator/arena/__memory_allocate
@ -289,7 +291,7 @@
global.get $~lib/collector/itcm/fromSpace
call $~lib/collector/itcm/ManagedObjectList#clear
block $~lib/memory/memory.allocate|inlined.1 (result i32)
global.get $~lib/collector/itcm/HEADER_SIZE
i32.const 16
local.set $1
local.get $1
call $~lib/allocator/arena/__memory_allocate
@ -303,14 +305,14 @@
call $~lib/collector/itcm/ManagedObjectList#clear
global.get $~lib/collector/itcm/toSpace
global.set $~lib/collector/itcm/iter
global.get $~lib/collector/itcm/State.IDLE
i32.const 1
global.set $~lib/collector/itcm/state
end
end
block
i32.const 2
call $~iterateRoots
global.get $~lib/collector/itcm/State.MARK
i32.const 2
global.set $~lib/collector/itcm/state
br $break|0
unreachable
@ -332,12 +334,12 @@
i32.eqz
call $~lib/collector/itcm/ManagedObject#set:color
i32.const 1
global.set $~argc
global.set $~lib/argc
block $~lib/collector/itcm/objToRef|inlined.0 (result i32)
local.get $0
local.set $1
local.get $1
global.get $~lib/collector/itcm/HEADER_SIZE
i32.const 16
i32.add
end
local.get $0
@ -365,7 +367,7 @@
local.get $1
call $~lib/collector/itcm/ManagedObject#get:next
global.set $~lib/collector/itcm/iter
global.get $~lib/collector/itcm/State.SWEEP
i32.const 3
global.set $~lib/collector/itcm/state
end
end
@ -385,7 +387,7 @@
call $~lib/collector/itcm/ManagedObject#get:next
global.set $~lib/collector/itcm/iter
local.get $0
global.get $HEAP_BASE
global.get $~lib/memory/HEAP_BASE
i32.ge_u
if
block $~lib/memory/memory.free|inlined.0
@ -399,7 +401,7 @@
else
global.get $~lib/collector/itcm/toSpace
call $~lib/collector/itcm/ManagedObjectList#clear
global.get $~lib/collector/itcm/State.IDLE
i32.const 1
global.set $~lib/collector/itcm/state
end
br $break|0
@ -408,12 +410,12 @@
unreachable
end
)
(func $~lib/collector/itcm/__gc_allocate (; 14 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/collector/itcm/__gc_allocate (; 15 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
local.get $0
global.get $~lib/internal/allocator/MAX_SIZE_32
global.get $~lib/collector/itcm/HEADER_SIZE
i32.const 1073741824
i32.const 16
i32.sub
i32.gt_u
if
@ -421,7 +423,7 @@
end
call $~lib/collector/itcm/step
block $~lib/memory/memory.allocate|inlined.2 (result i32)
global.get $~lib/collector/itcm/HEADER_SIZE
i32.const 16
local.get $0
i32.add
local.set $2
@ -443,11 +445,11 @@
local.get $3
local.set $2
local.get $2
global.get $~lib/collector/itcm/HEADER_SIZE
i32.const 16
i32.add
end
)
(func $~lib/string/String~gc (; 15 ;) (type $i_) (param $0 i32)
(func $~lib/string/String~gc (; 16 ;) (type $i_) (param $0 i32)
local.get $0
i32.eqz
if
@ -456,7 +458,7 @@
local.get $0
call $~lib/collector/itcm/__gc_mark
)
(func $~lib/collector/itcm/__gc_collect (; 16 ;) (type $_)
(func $~lib/collector/itcm/__gc_collect (; 17 ;) (type $_)
(local $0 i32)
block $break|0
block $case1|0
@ -464,11 +466,11 @@
global.get $~lib/collector/itcm/state
local.set $0
local.get $0
global.get $~lib/collector/itcm/State.INIT
i32.const 0
i32.eq
br_if $case0|0
local.get $0
global.get $~lib/collector/itcm/State.IDLE
i32.const 1
i32.eq
br_if $case1|0
br $break|0
@ -479,7 +481,7 @@
block $break|1
loop $continue|1
global.get $~lib/collector/itcm/state
global.get $~lib/collector/itcm/State.IDLE
i32.const 1
i32.ne
if
call $~lib/collector/itcm/step
@ -488,39 +490,18 @@
end
end
)
(func $~lib/gc/gc.collect (; 17 ;) (type $_)
(func $~lib/gc/gc.collect (; 18 ;) (type $_)
call $~lib/collector/itcm/__gc_collect
return
)
(func $std/gc-basics/main (; 18 ;) (type $i) (result i32)
global.get $~started
i32.eqz
if
call $start
i32.const 1
global.set $~started
end
i32.const 0
)
(func $start (; 19 ;) (type $_)
(func $start:std/gc-basics (; 19 ;) (type $_)
(local $0 i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
global.get $HEAP_BASE
global.get $~lib/internal/allocator/AL_MASK
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const -1
i32.xor
i32.and
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
global.set $~lib/allocator/arena/offset
global.get $~lib/collector/itcm/State.INIT
global.set $~lib/collector/itcm/state
call $start:~lib/allocator/arena
i32.const 4
i32.const 1
call $~lib/collector/itcm/__gc_allocate
@ -622,9 +603,22 @@
global.set $std/gc-basics/obj
call $~lib/gc/gc.collect
)
(func $null (; 20 ;) (type $_)
(func $std/gc-basics/main (; 20 ;) (type $i) (result i32)
global.get $~lib/started
i32.eqz
if
call $start
i32.const 1
global.set $~lib/started
end
i32.const 0
)
(func $~iterateRoots (; 21 ;) (type $i_) (param $0 i32)
(func $start (; 21 ;) (type $_)
call $start:std/gc-basics
)
(func $null (; 22 ;) (type $_)
)
(func $~iterateRoots (; 23 ;) (type $i_) (param $0 i32)
global.get $std/gc-basics/obj
local.get $0
call_indirect (type $i_)

View File

@ -6,7 +6,7 @@
(memory $0 1)
(data (i32.const 8) "\15\00\00\00s\00t\00d\00/\00g\00c\00-\00i\00n\00t\00e\00g\00r\00a\00t\00i\00o\00n\00.\00t\00s")
(table $0 2 funcref)
(elem (i32.const 0) $null $start~anonymous|1)
(elem (i32.const 0) $null $start:std/gc-integration~anonymous|1)
(global $std/gc-integration/B.d (mut i32) (i32.const 16))
(global $std/gc-integration/a_ref (mut i32) (i32.const 24))
(global $std/gc-integration/b_ref (mut i32) (i32.const 32))
@ -14,7 +14,7 @@
(export "memory" (memory $0))
(export "table" (table $0))
(start $start)
(func $start~anonymous|1 (; 1 ;) (type $i_) (param $0 i32)
(func $start:std/gc-integration~anonymous|1 (; 1 ;) (type $i_) (param $0 i32)
global.get $std/gc-integration/i
i32.const 1
i32.add
@ -33,7 +33,7 @@
unreachable
end
)
(func $start (; 2 ;) (type $_)
(func $start:std/gc-integration (; 2 ;) (type $_)
i32.const 8
i32.const 1
call_indirect (type $i_)
@ -58,7 +58,10 @@
unreachable
end
)
(func $null (; 3 ;) (type $_)
(func $start (; 3 ;) (type $_)
call $start:std/gc-integration
)
(func $null (; 4 ;) (type $_)
nop
)
)

View File

@ -6,18 +6,18 @@
(memory $0 1)
(data (i32.const 8) "\15\00\00\00s\00t\00d\00/\00g\00c\00-\00i\00n\00t\00e\00g\00r\00a\00t\00i\00o\00n\00.\00t\00s\00")
(table $0 2 funcref)
(elem (i32.const 0) $null $start~anonymous|1)
(elem (i32.const 0) $null $start:std/gc-integration~anonymous|1)
(global $std/gc-integration/B.c i32 (i32.const 8))
(global $std/gc-integration/B.d (mut i32) (i32.const 16))
(global $std/gc-integration/no_ref (mut i32) (i32.const 64))
(global $std/gc-integration/a_ref (mut i32) (i32.const 24))
(global $std/gc-integration/b_ref (mut i32) (i32.const 32))
(global $std/gc-integration/i (mut i32) (i32.const 0))
(global $HEAP_BASE i32 (i32.const 56))
(global $~lib/memory/HEAP_BASE i32 (i32.const 56))
(export "memory" (memory $0))
(export "table" (table $0))
(start $start)
(func $start~anonymous|1 (; 1 ;) (type $i_) (param $0 i32)
(func $start:std/gc-integration~anonymous|1 (; 1 ;) (type $i_) (param $0 i32)
local.get $0
block (result i32)
global.get $std/gc-integration/i
@ -39,7 +39,7 @@
unreachable
end
)
(func $start (; 2 ;) (type $_)
(func $start:std/gc-integration (; 2 ;) (type $_)
global.get $std/gc-integration/B.c
drop
global.get $std/gc-integration/B.d
@ -59,9 +59,12 @@
unreachable
end
)
(func $null (; 3 ;) (type $_)
(func $start (; 3 ;) (type $_)
call $start:std/gc-integration
)
(func $~iterateRoots (; 4 ;) (type $i_) (param $0 i32)
(func $null (; 4 ;) (type $_)
)
(func $~iterateRoots (; 5 ;) (type $i_) (param $0 i32)
global.get $std/gc-integration/B.c
local.get $0
call_indirect (type $i_)

View File

@ -1,6 +1,6 @@
(module
(type $iii (func (param i32 i32) (result i32)))
(type $_ (func))
(type $iii (func (param i32 i32) (result i32)))
(type $ii (func (param i32) (result i32)))
(type $i_ (func (param i32)))
(type $ii_ (func (param i32 i32)))
@ -15,9 +15,9 @@
(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 $~argc (mut i32) (i32.const 0))
(global $~lib/argc (mut i32) (i32.const 0))
(global $std/gc-object/obj (mut i32) (i32.const 0))
(global $~started (mut i32) (i32.const 0))
(global $~lib/started (mut i32) (i32.const 0))
(export "memory" (memory $0))
(export "table" (table $0))
(export "main" (func $std/gc-object/main))
@ -242,7 +242,7 @@
i32.or
i32.store
i32.const 1
global.set $~argc
global.set $~lib/argc
local.get $0
i32.const 16
i32.add
@ -406,23 +406,12 @@
end
end
)
(func $std/gc-object/main (; 10 ;) (type $_)
global.get $~started
i32.eqz
if
call $start
i32.const 1
global.set $~started
end
)
(func $start (; 11 ;) (type $_)
(func $start:std/gc-object (; 10 ;) (type $_)
(local $0 i32)
i32.const 8
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
global.set $~lib/allocator/arena/offset
i32.const 0
global.set $~lib/collector/itcm/state
call $std/gc-object/Custom#constructor
global.set $std/gc-object/obj
call $~lib/collector/itcm/__gc_collect
@ -435,6 +424,15 @@
global.set $std/gc-object/obj
call $~lib/collector/itcm/__gc_collect
)
(func $std/gc-object/main (; 11 ;) (type $_)
global.get $~lib/started
i32.eqz
if
call $start:std/gc-object
i32.const 1
global.set $~lib/started
end
)
(func $null (; 12 ;) (type $_)
nop
)

View File

@ -21,4 +21,5 @@ obj = null;
gc.collect();
@start
export function main(): void {}

View File

@ -1,37 +1,39 @@
(module
(type $iii (func (param i32 i32) (result i32)))
(type $_ (func))
(type $iii (func (param i32 i32) (result i32)))
(type $ii (func (param i32) (result i32)))
(type $i_ (func (param i32)))
(type $ii_ (func (param i32 i32)))
(memory $0 0)
(table $0 4 funcref)
(elem (i32.const 0) $null $~lib/collector/itcm/__gc_mark $std/gc-object/Base~gc $std/gc-object/Custom~gc)
(global $~lib/internal/allocator/AL_BITS i32 (i32.const 3))
(global $~lib/internal/allocator/AL_SIZE i32 (i32.const 8))
(global $~lib/internal/allocator/AL_MASK i32 (i32.const 7))
(global $~lib/internal/allocator/MAX_SIZE_32 i32 (i32.const 1073741824))
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
(global $~lib/collector/itcm/TRACE i32 (i32.const 0))
(global $~lib/collector/itcm/HEADER_SIZE i32 (i32.const 16))
(global $~lib/collector/itcm/State.INIT i32 (i32.const 0))
(global $~lib/collector/itcm/State.IDLE i32 (i32.const 1))
(global $~lib/collector/itcm/State.MARK i32 (i32.const 2))
(global $~lib/collector/itcm/State.SWEEP i32 (i32.const 3))
(global $~lib/collector/itcm/state (mut i32) (i32.const 0))
(global $~lib/collector/itcm/white (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 $~argc (mut i32) (i32.const 0))
(global $~lib/argc (mut i32) (i32.const 0))
(global $std/gc-object/obj (mut i32) (i32.const 0))
(global $~started (mut i32) (i32.const 0))
(global $HEAP_BASE i32 (i32.const 8))
(global $~lib/started (mut i32) (i32.const 0))
(global $~lib/memory/HEAP_BASE i32 (i32.const 8))
(export "memory" (memory $0))
(export "table" (table $0))
(export "main" (func $std/gc-object/main))
(func $~lib/allocator/arena/__memory_allocate (; 0 ;) (type $ii) (param $0 i32) (result i32)
(func $start:~lib/allocator/arena (; 0 ;) (type $_)
global.get $~lib/memory/HEAP_BASE
i32.const 7
i32.add
i32.const 7
i32.const -1
i32.xor
i32.and
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
global.set $~lib/allocator/arena/offset
)
(func $~lib/allocator/arena/__memory_allocate (; 1 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -39,7 +41,7 @@
(local $5 i32)
(local $6 i32)
local.get $0
global.get $~lib/internal/allocator/MAX_SIZE_32
i32.const 1073741824
i32.gt_u
if
unreachable
@ -56,9 +58,9 @@
i32.gt_u
select
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const 7
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const 7
i32.const -1
i32.xor
i32.and
@ -110,7 +112,7 @@
global.set $~lib/allocator/arena/offset
local.get $1
)
(func $~lib/collector/itcm/ManagedObjectList#clear (; 1 ;) (type $i_) (param $0 i32)
(func $~lib/collector/itcm/ManagedObjectList#clear (; 2 ;) (type $i_) (param $0 i32)
local.get $0
local.get $0
i32.store
@ -118,13 +120,13 @@
local.get $0
i32.store offset=4
)
(func $~lib/collector/itcm/ManagedObject#get:color (; 2 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/collector/itcm/ManagedObject#get:color (; 3 ;) (type $ii) (param $0 i32) (result i32)
local.get $0
i32.load
i32.const 3
i32.and
)
(func $~lib/collector/itcm/ManagedObject#get:next (; 3 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/collector/itcm/ManagedObject#get:next (; 4 ;) (type $ii) (param $0 i32) (result i32)
local.get $0
i32.load
i32.const 3
@ -132,7 +134,7 @@
i32.xor
i32.and
)
(func $~lib/collector/itcm/ManagedObject#set:next (; 4 ;) (type $ii_) (param $0 i32) (param $1 i32)
(func $~lib/collector/itcm/ManagedObject#set:next (; 5 ;) (type $ii_) (param $0 i32) (param $1 i32)
local.get $0
local.get $1
local.get $0
@ -142,7 +144,7 @@
i32.or
i32.store
)
(func $~lib/collector/itcm/ManagedObject#unlink (; 5 ;) (type $i_) (param $0 i32)
(func $~lib/collector/itcm/ManagedObject#unlink (; 6 ;) (type $i_) (param $0 i32)
(local $1 i32)
(local $2 i32)
local.get $0
@ -158,7 +160,7 @@
local.get $1
call $~lib/collector/itcm/ManagedObject#set:next
)
(func $~lib/collector/itcm/ManagedObjectList#push (; 6 ;) (type $ii_) (param $0 i32) (param $1 i32)
(func $~lib/collector/itcm/ManagedObjectList#push (; 7 ;) (type $ii_) (param $0 i32) (param $1 i32)
(local $2 i32)
local.get $0
i32.load offset=4
@ -176,7 +178,7 @@
local.get $1
i32.store offset=4
)
(func $~lib/collector/itcm/ManagedObject#makeGray (; 7 ;) (type $i_) (param $0 i32)
(func $~lib/collector/itcm/ManagedObject#makeGray (; 8 ;) (type $i_) (param $0 i32)
local.get $0
global.get $~lib/collector/itcm/iter
i32.eq
@ -201,7 +203,7 @@
i32.or
i32.store
)
(func $~lib/collector/itcm/__gc_mark (; 8 ;) (type $i_) (param $0 i32)
(func $~lib/collector/itcm/__gc_mark (; 9 ;) (type $i_) (param $0 i32)
(local $1 i32)
local.get $0
if
@ -209,7 +211,7 @@
local.get $0
local.set $1
local.get $1
global.get $~lib/collector/itcm/HEADER_SIZE
i32.const 16
i32.sub
end
local.set $1
@ -223,7 +225,7 @@
end
end
)
(func $~lib/collector/itcm/ManagedObject#set:color (; 9 ;) (type $ii_) (param $0 i32) (param $1 i32)
(func $~lib/collector/itcm/ManagedObject#set:color (; 10 ;) (type $ii_) (param $0 i32) (param $1 i32)
local.get $0
local.get $0
i32.load
@ -235,10 +237,10 @@
i32.or
i32.store
)
(func $~lib/allocator/arena/__memory_free (; 10 ;) (type $i_) (param $0 i32)
(func $~lib/allocator/arena/__memory_free (; 11 ;) (type $i_) (param $0 i32)
nop
)
(func $~lib/collector/itcm/step (; 11 ;) (type $_)
(func $~lib/collector/itcm/step (; 12 ;) (type $_)
(local $0 i32)
(local $1 i32)
block $break|0
@ -249,26 +251,26 @@
global.get $~lib/collector/itcm/state
local.set $1
local.get $1
global.get $~lib/collector/itcm/State.INIT
i32.const 0
i32.eq
br_if $case0|0
local.get $1
global.get $~lib/collector/itcm/State.IDLE
i32.const 1
i32.eq
br_if $case1|0
local.get $1
global.get $~lib/collector/itcm/State.MARK
i32.const 2
i32.eq
br_if $case2|0
local.get $1
global.get $~lib/collector/itcm/State.SWEEP
i32.const 3
i32.eq
br_if $case3|0
br $break|0
end
block
block $~lib/memory/memory.allocate|inlined.0 (result i32)
global.get $~lib/collector/itcm/HEADER_SIZE
i32.const 16
local.set $1
local.get $1
call $~lib/allocator/arena/__memory_allocate
@ -281,7 +283,7 @@
global.get $~lib/collector/itcm/fromSpace
call $~lib/collector/itcm/ManagedObjectList#clear
block $~lib/memory/memory.allocate|inlined.1 (result i32)
global.get $~lib/collector/itcm/HEADER_SIZE
i32.const 16
local.set $1
local.get $1
call $~lib/allocator/arena/__memory_allocate
@ -295,14 +297,14 @@
call $~lib/collector/itcm/ManagedObjectList#clear
global.get $~lib/collector/itcm/toSpace
global.set $~lib/collector/itcm/iter
global.get $~lib/collector/itcm/State.IDLE
i32.const 1
global.set $~lib/collector/itcm/state
end
end
block
i32.const 1
call $~iterateRoots
global.get $~lib/collector/itcm/State.MARK
i32.const 2
global.set $~lib/collector/itcm/state
br $break|0
unreachable
@ -324,12 +326,12 @@
i32.eqz
call $~lib/collector/itcm/ManagedObject#set:color
i32.const 1
global.set $~argc
global.set $~lib/argc
block $~lib/collector/itcm/objToRef|inlined.0 (result i32)
local.get $0
local.set $1
local.get $1
global.get $~lib/collector/itcm/HEADER_SIZE
i32.const 16
i32.add
end
local.get $0
@ -357,7 +359,7 @@
local.get $1
call $~lib/collector/itcm/ManagedObject#get:next
global.set $~lib/collector/itcm/iter
global.get $~lib/collector/itcm/State.SWEEP
i32.const 3
global.set $~lib/collector/itcm/state
end
end
@ -377,7 +379,7 @@
call $~lib/collector/itcm/ManagedObject#get:next
global.set $~lib/collector/itcm/iter
local.get $0
global.get $HEAP_BASE
global.get $~lib/memory/HEAP_BASE
i32.ge_u
if
block $~lib/memory/memory.free|inlined.0
@ -391,7 +393,7 @@
else
global.get $~lib/collector/itcm/toSpace
call $~lib/collector/itcm/ManagedObjectList#clear
global.get $~lib/collector/itcm/State.IDLE
i32.const 1
global.set $~lib/collector/itcm/state
end
br $break|0
@ -400,12 +402,12 @@
unreachable
end
)
(func $~lib/collector/itcm/__gc_allocate (; 12 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/collector/itcm/__gc_allocate (; 13 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
local.get $0
global.get $~lib/internal/allocator/MAX_SIZE_32
global.get $~lib/collector/itcm/HEADER_SIZE
i32.const 1073741824
i32.const 16
i32.sub
i32.gt_u
if
@ -413,7 +415,7 @@
end
call $~lib/collector/itcm/step
block $~lib/memory/memory.allocate|inlined.2 (result i32)
global.get $~lib/collector/itcm/HEADER_SIZE
i32.const 16
local.get $0
i32.add
local.set $2
@ -435,11 +437,11 @@
local.get $3
local.set $2
local.get $2
global.get $~lib/collector/itcm/HEADER_SIZE
i32.const 16
i32.add
end
)
(func $std/gc-object/Base~gc (; 13 ;) (type $i_) (param $0 i32)
(func $std/gc-object/Base~gc (; 14 ;) (type $i_) (param $0 i32)
local.get $0
i32.eqz
if
@ -448,7 +450,7 @@
local.get $0
call $~lib/collector/itcm/__gc_mark
)
(func $std/gc-object/Base#constructor (; 14 ;) (type $ii) (param $0 i32) (result i32)
(func $std/gc-object/Base#constructor (; 15 ;) (type $ii) (param $0 i32) (result i32)
local.get $0
i32.eqz
if
@ -459,7 +461,7 @@
end
local.get $0
)
(func $std/gc-object/Custom~gc (; 15 ;) (type $i_) (param $0 i32)
(func $std/gc-object/Custom~gc (; 16 ;) (type $i_) (param $0 i32)
local.get $0
i32.eqz
if
@ -475,7 +477,7 @@
i32.load offset=4
call $~lib/collector/itcm/__gc_mark
)
(func $std/gc-object/Custom#constructor (; 16 ;) (type $ii) (param $0 i32) (result i32)
(func $std/gc-object/Custom#constructor (; 17 ;) (type $ii) (param $0 i32) (result i32)
local.get $0
i32.eqz
if
@ -495,7 +497,7 @@
i32.store offset=4
local.get $0
)
(func $~lib/collector/itcm/__gc_collect (; 17 ;) (type $_)
(func $~lib/collector/itcm/__gc_collect (; 18 ;) (type $_)
(local $0 i32)
block $break|0
block $case1|0
@ -503,11 +505,11 @@
global.get $~lib/collector/itcm/state
local.set $0
local.get $0
global.get $~lib/collector/itcm/State.INIT
i32.const 0
i32.eq
br_if $case0|0
local.get $0
global.get $~lib/collector/itcm/State.IDLE
i32.const 1
i32.eq
br_if $case1|0
br $break|0
@ -518,7 +520,7 @@
block $break|1
loop $continue|1
global.get $~lib/collector/itcm/state
global.get $~lib/collector/itcm/State.IDLE
i32.const 1
i32.ne
if
call $~lib/collector/itcm/step
@ -527,32 +529,12 @@
end
end
)
(func $~lib/gc/gc.collect (; 18 ;) (type $_)
(func $~lib/gc/gc.collect (; 19 ;) (type $_)
call $~lib/collector/itcm/__gc_collect
return
)
(func $std/gc-object/main (; 19 ;) (type $_)
global.get $~started
i32.eqz
if
call $start
i32.const 1
global.set $~started
end
)
(func $start (; 20 ;) (type $_)
global.get $HEAP_BASE
global.get $~lib/internal/allocator/AL_MASK
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const -1
i32.xor
i32.and
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
global.set $~lib/allocator/arena/offset
global.get $~lib/collector/itcm/State.INIT
global.set $~lib/collector/itcm/state
(func $start:std/gc-object (; 20 ;) (type $_)
call $start:~lib/allocator/arena
i32.const 0
call $std/gc-object/Custom#constructor
global.set $std/gc-object/obj
@ -565,9 +547,21 @@
global.set $std/gc-object/obj
call $~lib/gc/gc.collect
)
(func $null (; 21 ;) (type $_)
(func $std/gc-object/main (; 21 ;) (type $_)
global.get $~lib/started
i32.eqz
if
call $start
i32.const 1
global.set $~lib/started
end
)
(func $~iterateRoots (; 22 ;) (type $i_) (param $0 i32)
(func $start (; 22 ;) (type $_)
call $start:std/gc-object
)
(func $null (; 23 ;) (type $_)
)
(func $~iterateRoots (; 24 ;) (type $i_) (param $0 i32)
global.get $std/gc-object/obj
local.get $0
call_indirect (type $i_)

View File

@ -143,7 +143,7 @@
i32.const 16777619
i32.mul
)
(func $start (; 3 ;) (type $_)
(func $start:std/hash (; 3 ;) (type $_)
i32.const 0
call $~lib/internal/hash/hashStr
drop
@ -196,7 +196,10 @@
call $~lib/internal/hash/hash64
drop
)
(func $null (; 4 ;) (type $_)
(func $start (; 4 ;) (type $_)
call $start:std/hash
)
(func $null (; 5 ;) (type $_)
nop
)
)

View File

@ -9,19 +9,7 @@
(data (i32.const 32) "\03\00\00\00a\00b\00c\00")
(table $0 1 funcref)
(elem (i32.const 0) $null)
(global $~lib/internal/allocator/AL_BITS i32 (i32.const 3))
(global $~lib/internal/allocator/AL_SIZE i32 (i32.const 8))
(global $~lib/internal/allocator/AL_MASK i32 (i32.const 7))
(global $~lib/internal/allocator/MAX_SIZE_32 i32 (i32.const 1073741824))
(global $~lib/internal/arraybuffer/HEADER_SIZE i32 (i32.const 8))
(global $~lib/internal/arraybuffer/MAX_BLENGTH i32 (i32.const 1073741816))
(global $~lib/internal/string/HEADER_SIZE i32 (i32.const 4))
(global $~lib/internal/string/MAX_LENGTH i32 (i32.const 536870910))
(global $~lib/internal/hash/FNV_OFFSET i32 (i32.const -2128831035))
(global $~lib/internal/hash/FNV_PRIME i32 (i32.const 16777619))
(global $Infinity f64 (f64.const inf))
(global $NaN f64 (f64.const nan:0x8000000000000))
(global $HEAP_BASE i32 (i32.const 44))
(global $~lib/memory/HEAP_BASE i32 (i32.const 44))
(export "memory" (memory $0))
(export "table" (table $0))
(start $start)
@ -29,7 +17,7 @@
(local $1 i32)
(local $2 i32)
(local $3 i32)
global.get $~lib/internal/hash/FNV_OFFSET
i32.const -2128831035
local.set $1
block $break|0
block
@ -53,7 +41,7 @@
i32.add
i32.load8_u offset=4
i32.xor
global.get $~lib/internal/hash/FNV_PRIME
i32.const 16777619
i32.mul
local.set $1
local.get $2
@ -72,14 +60,14 @@
)
(func $~lib/internal/hash/hash32 (; 2 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
global.get $~lib/internal/hash/FNV_OFFSET
i32.const -2128831035
local.set $1
local.get $1
local.get $0
i32.const 255
i32.and
i32.xor
global.get $~lib/internal/hash/FNV_PRIME
i32.const 16777619
i32.mul
local.set $1
local.get $1
@ -89,7 +77,7 @@
i32.const 255
i32.and
i32.xor
global.get $~lib/internal/hash/FNV_PRIME
i32.const 16777619
i32.mul
local.set $1
local.get $1
@ -99,7 +87,7 @@
i32.const 255
i32.and
i32.xor
global.get $~lib/internal/hash/FNV_PRIME
i32.const 16777619
i32.mul
local.set $1
local.get $1
@ -107,7 +95,7 @@
i32.const 24
i32.shr_u
i32.xor
global.get $~lib/internal/hash/FNV_PRIME
i32.const 16777619
i32.mul
local.set $1
local.get $1
@ -124,14 +112,14 @@
i64.shr_u
i32.wrap_i64
local.set $2
global.get $~lib/internal/hash/FNV_OFFSET
i32.const -2128831035
local.set $3
local.get $3
local.get $1
i32.const 255
i32.and
i32.xor
global.get $~lib/internal/hash/FNV_PRIME
i32.const 16777619
i32.mul
local.set $3
local.get $3
@ -141,7 +129,7 @@
i32.const 255
i32.and
i32.xor
global.get $~lib/internal/hash/FNV_PRIME
i32.const 16777619
i32.mul
local.set $3
local.get $3
@ -151,7 +139,7 @@
i32.const 255
i32.and
i32.xor
global.get $~lib/internal/hash/FNV_PRIME
i32.const 16777619
i32.mul
local.set $3
local.get $3
@ -159,7 +147,7 @@
i32.const 24
i32.shr_u
i32.xor
global.get $~lib/internal/hash/FNV_PRIME
i32.const 16777619
i32.mul
local.set $3
local.get $3
@ -167,7 +155,7 @@
i32.const 255
i32.and
i32.xor
global.get $~lib/internal/hash/FNV_PRIME
i32.const 16777619
i32.mul
local.set $3
local.get $3
@ -177,7 +165,7 @@
i32.const 255
i32.and
i32.xor
global.get $~lib/internal/hash/FNV_PRIME
i32.const 16777619
i32.mul
local.set $3
local.get $3
@ -187,7 +175,7 @@
i32.const 255
i32.and
i32.xor
global.get $~lib/internal/hash/FNV_PRIME
i32.const 16777619
i32.mul
local.set $3
local.get $3
@ -195,12 +183,12 @@
i32.const 24
i32.shr_u
i32.xor
global.get $~lib/internal/hash/FNV_PRIME
i32.const 16777619
i32.mul
local.set $3
local.get $3
)
(func $start (; 4 ;) (type $_)
(func $start:std/hash (; 4 ;) (type $_)
(local $0 i32)
(local $1 f32)
(local $2 f64)
@ -370,6 +358,9 @@
call $std/hash/check
drop
)
(func $null (; 5 ;) (type $_)
(func $start (; 5 ;) (type $_)
call $start:std/hash
)
(func $null (; 6 ;) (type $_)
)
)

View File

@ -24,9 +24,8 @@
(global $std/libm/SQRT1_2 f64 (f64.const 0.7071067811865476))
(global $~lib/math/NativeMath.SQRT2 f64 (f64.const 1.4142135623730951))
(global $std/libm/SQRT2 f64 (f64.const 1.4142135623730951))
(global $NaN f64 (f64.const nan:0x8000000000000))
(global $ASC_SHRINK_LEVEL i32 (i32.const 0))
(global $HEAP_BASE i32 (i32.const 8))
(global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0))
(global $~lib/memory/HEAP_BASE i32 (i32.const 8))
(export "memory" (memory $0))
(export "table" (table $0))
(export "E" (global $std/libm/E))

File diff suppressed because it is too large Load Diff

View File

@ -8001,7 +8001,7 @@
if
i32.const 0
i32.const 40
i32.const 972
i32.const 968
i32.const 4
call $~lib/env/abort
unreachable
@ -8067,7 +8067,7 @@
if
i32.const 0
i32.const 40
i32.const 981
i32.const 977
i32.const 24
call $~lib/env/abort
unreachable
@ -8114,7 +8114,7 @@
if
i32.const 0
i32.const 40
i32.const 2051
i32.const 2044
i32.const 24
call $~lib/env/abort
unreachable
@ -9510,7 +9510,7 @@
end
local.get $2
)
(func $start (; 149 ;) (type $_)
(func $start:std/math (; 149 ;) (type $_)
(local $0 f64)
(local $1 f32)
(local $2 i32)
@ -38637,7 +38637,10 @@
unreachable
end
)
(func $null (; 150 ;) (type $_)
(func $start (; 150 ;) (type $_)
call $start:std/math
)
(func $null (; 151 ;) (type $_)
nop
)
)

View File

@ -73,7 +73,6 @@
(global $std/math/OVERFLOW i32 (i32.const 16))
(global $~lib/math/NativeMath.E f64 (f64.const 2.718281828459045))
(global $~lib/math/NativeMathf.E f32 (f32.const 2.7182817459106445))
(global $Infinity f64 (f64.const inf))
(global $~lib/math/NativeMath.LN2 f64 (f64.const 0.6931471805599453))
(global $~lib/math/NativeMath.LN10 f64 (f64.const 2.302585092994046))
(global $~lib/math/NativeMath.LOG2E f64 (f64.const 1.4426950408889634))
@ -86,18 +85,17 @@
(global $~lib/math/NativeMathf.PI f32 (f32.const 3.1415927410125732))
(global $~lib/math/NativeMathf.SQRT1_2 f32 (f32.const 0.7071067690849304))
(global $~lib/math/NativeMathf.SQRT2 f32 (f32.const 1.4142135381698608))
(global $NaN f64 (f64.const nan:0x8000000000000))
(global $~lib/builtins/f64.MIN_VALUE f64 (f64.const 5e-324))
(global $~lib/math/random_seeded (mut i32) (i32.const 0))
(global $~lib/math/random_state0_64 (mut i64) (i64.const 0))
(global $~lib/math/random_state1_64 (mut i64) (i64.const 0))
(global $~lib/math/random_state0_32 (mut i32) (i32.const 0))
(global $~lib/math/random_state1_32 (mut i32) (i32.const 0))
(global $ASC_SHRINK_LEVEL i32 (i32.const 0))
(global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0))
(global $~lib/builtins/f64.MAX_VALUE f64 (f64.const 1797693134862315708145274e284))
(global $~lib/builtins/f32.MAX_VALUE f32 (f32.const 3402823466385288598117041e14))
(global $~lib/builtins/f32.MIN_VALUE f32 (f32.const 1.401298464324817e-45))
(global $HEAP_BASE i32 (i32.const 68))
(global $~lib/memory/HEAP_BASE i32 (i32.const 68))
(export "memory" (memory $0))
(export "table" (table $0))
(start $start)
@ -9774,7 +9772,7 @@
if
i32.const 0
i32.const 40
i32.const 972
i32.const 968
i32.const 4
call $~lib/env/abort
unreachable
@ -9806,7 +9804,7 @@
if
i32.const 0
i32.const 40
i32.const 981
i32.const 977
i32.const 24
call $~lib/env/abort
unreachable
@ -9863,7 +9861,7 @@
if
i32.const 0
i32.const 40
i32.const 2051
i32.const 2044
i32.const 24
call $~lib/env/abort
unreachable
@ -11581,7 +11579,7 @@
local.get $3
end
)
(func $start (; 157 ;) (type $_)
(func $start:std/math (; 157 ;) (type $_)
(local $0 i32)
(local $1 f64)
(local $2 i32)
@ -42988,6 +42986,9 @@
unreachable
end
)
(func $null (; 158 ;) (type $_)
(func $start (; 158 ;) (type $_)
call $start:std/math
)
(func $null (; 159 ;) (type $_)
)
)

View File

@ -1,6 +1,6 @@
(module
(type $FFF (func (param f64 f64) (result f64)))
(type $FFFi (func (param f64 f64 f64) (result i32)))
(type $FFF (func (param f64 f64) (result f64)))
(type $FFi (func (param f64 f64) (result i32)))
(type $iiii_ (func (param i32 i32 i32 i32)))
(type $fffi (func (param f32 f32 f32) (result i32)))
@ -500,7 +500,7 @@
local.get $2
call $std/mod/check<f32>
)
(func $start (; 8 ;) (type $_)
(func $start:std/mod (; 8 ;) (type $_)
f64.const 3
f64.const 2
f64.const 1
@ -2257,7 +2257,10 @@
unreachable
end
)
(func $null (; 9 ;) (type $_)
(func $start (; 9 ;) (type $_)
call $start:std/mod
)
(func $null (; 10 ;) (type $_)
nop
)
)

View File

@ -1,6 +1,6 @@
(module
(type $FFF (func (param f64 f64) (result f64)))
(type $FFFi (func (param f64 f64 f64) (result i32)))
(type $FFF (func (param f64 f64) (result f64)))
(type $FFi (func (param f64 f64) (result i32)))
(type $Fi (func (param f64) (result i32)))
(type $iiii_ (func (param i32 i32 i32 i32)))
@ -16,9 +16,7 @@
(table $0 1 funcref)
(elem (i32.const 0) $null)
(global $std/mod/js i32 (i32.const 1))
(global $NaN f64 (f64.const nan:0x8000000000000))
(global $Infinity f64 (f64.const inf))
(global $HEAP_BASE i32 (i32.const 32))
(global $~lib/memory/HEAP_BASE i32 (i32.const 32))
(export "memory" (memory $0))
(export "table" (table $0))
(export "mod" (func $std/mod/mod))
@ -631,7 +629,7 @@
local.get $2
call $std/mod/check<f32>
)
(func $start (; 10 ;) (type $_)
(func $start:std/mod (; 10 ;) (type $_)
f64.const 3
f64.const 2
f64.const 1
@ -2416,6 +2414,9 @@
unreachable
end
)
(func $null (; 11 ;) (type $_)
(func $start (; 11 ;) (type $_)
call $start:std/mod
)
(func $null (; 12 ;) (type $_)
)
)

View File

@ -1,6 +1,6 @@
(module
(type $ii (func (param i32) (result i32)))
(type $_ (func))
(type $ii (func (param i32) (result i32)))
(type $FUNCSIG$i (func (result i32)))
(memory $0 0)
(table $0 1 funcref)

View File

@ -1,22 +1,31 @@
(module
(type $_ (func))
(type $ifi (func (param i32 f32) (result i32)))
(type $ii (func (param i32) (result i32)))
(type $_ (func))
(memory $0 0)
(table $0 1 funcref)
(elem (i32.const 0) $null)
(global $~lib/internal/allocator/AL_BITS i32 (i32.const 3))
(global $~lib/internal/allocator/AL_SIZE i32 (i32.const 8))
(global $~lib/internal/allocator/AL_MASK i32 (i32.const 7))
(global $~lib/internal/allocator/MAX_SIZE_32 i32 (i32.const 1073741824))
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
(global $std/new/AClass.aStaticField (mut i32) (i32.const 0))
(global $std/new/aClass (mut i32) (i32.const 0))
(global $HEAP_BASE i32 (i32.const 8))
(global $~lib/memory/HEAP_BASE i32 (i32.const 8))
(export "memory" (memory $0))
(export "table" (table $0))
(start $start)
(func $~lib/allocator/arena/__memory_allocate (; 0 ;) (type $ii) (param $0 i32) (result i32)
(func $start:~lib/allocator/arena (; 0 ;) (type $_)
global.get $~lib/memory/HEAP_BASE
i32.const 7
i32.add
i32.const 7
i32.const -1
i32.xor
i32.and
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
global.set $~lib/allocator/arena/offset
)
(func $~lib/allocator/arena/__memory_allocate (; 1 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -24,7 +33,7 @@
(local $5 i32)
(local $6 i32)
local.get $0
global.get $~lib/internal/allocator/MAX_SIZE_32
i32.const 1073741824
i32.gt_u
if
unreachable
@ -41,9 +50,9 @@
i32.gt_u
select
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const 7
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const 7
i32.const -1
i32.xor
i32.and
@ -95,12 +104,12 @@
global.set $~lib/allocator/arena/offset
local.get $1
)
(func $~lib/memory/memory.allocate (; 1 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 2 ;) (type $ii) (param $0 i32) (result i32)
local.get $0
call $~lib/allocator/arena/__memory_allocate
return
)
(func $std/new/AClass#constructor (; 2 ;) (type $ifi) (param $0 i32) (param $1 f32) (result i32)
(func $std/new/AClass#constructor (; 3 ;) (type $ifi) (param $0 i32) (param $1 f32) (result i32)
local.get $0
block (result i32)
local.get $0
@ -127,22 +136,16 @@
f32.store offset=4
local.get $0
)
(func $start (; 3 ;) (type $_)
global.get $HEAP_BASE
global.get $~lib/internal/allocator/AL_MASK
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const -1
i32.xor
i32.and
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
global.set $~lib/allocator/arena/offset
(func $start:std/new (; 4 ;) (type $_)
call $start:~lib/allocator/arena
i32.const 0
f32.const 3
call $std/new/AClass#constructor
global.set $std/new/aClass
)
(func $null (; 4 ;) (type $_)
(func $start (; 5 ;) (type $_)
call $start:std/new
)
(func $null (; 6 ;) (type $_)
)
)

View File

@ -1,10 +1,10 @@
(module
(type $_ (func))
(type $ii (func (param i32) (result i32)))
(type $iii (func (param i32 i32) (result i32)))
(type $iiii_ (func (param i32 i32 i32 i32)))
(type $FFF (func (param f64 f64) (result f64)))
(type $FiF (func (param f64 i32) (result f64)))
(type $_ (func))
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
(memory $0 1)
@ -1202,7 +1202,7 @@
i32.trunc_f64_s
call $std/operator-overloading/Tester#constructor
)
(func $start (; 6 ;) (type $_)
(func $start:std/operator-overloading (; 6 ;) (type $_)
(local $0 i32)
(local $1 i32)
(local $2 i32)
@ -2457,7 +2457,10 @@
unreachable
end
)
(func $null (; 7 ;) (type $_)
(func $start (; 7 ;) (type $_)
call $start:std/operator-overloading
)
(func $null (; 8 ;) (type $_)
nop
)
)

View File

@ -1,20 +1,16 @@
(module
(type $_ (func))
(type $iiii (func (param i32 i32 i32) (result i32)))
(type $ii (func (param i32) (result i32)))
(type $iii (func (param i32 i32) (result i32)))
(type $iiii_ (func (param i32 i32 i32 i32)))
(type $FFF (func (param f64 f64) (result f64)))
(type $FiF (func (param f64 i32) (result f64)))
(type $_ (func))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
(memory $0 1)
(data (i32.const 8) "\1b\00\00\00s\00t\00d\00/\00o\00p\00e\00r\00a\00t\00o\00r\00-\00o\00v\00e\00r\00l\00o\00a\00d\00i\00n\00g\00.\00t\00s\00")
(table $0 1 funcref)
(elem (i32.const 0) $null)
(global $~lib/internal/allocator/AL_BITS i32 (i32.const 3))
(global $~lib/internal/allocator/AL_SIZE i32 (i32.const 8))
(global $~lib/internal/allocator/AL_MASK i32 (i32.const 7))
(global $~lib/internal/allocator/MAX_SIZE_32 i32 (i32.const 1073741824))
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
(global $std/operator-overloading/a1 (mut i32) (i32.const 0))
@ -34,7 +30,6 @@
(global $std/operator-overloading/f (mut i32) (i32.const 0))
(global $std/operator-overloading/p1 (mut i32) (i32.const 0))
(global $std/operator-overloading/p2 (mut i32) (i32.const 0))
(global $NaN f64 (f64.const nan:0x8000000000000))
(global $std/operator-overloading/p (mut i32) (i32.const 0))
(global $std/operator-overloading/n1 (mut i32) (i32.const 0))
(global $std/operator-overloading/n2 (mut i32) (i32.const 0))
@ -85,11 +80,23 @@
(global $std/operator-overloading/aii1 (mut i32) (i32.const 0))
(global $std/operator-overloading/aii2 (mut i32) (i32.const 0))
(global $std/operator-overloading/aii (mut i32) (i32.const 0))
(global $HEAP_BASE i32 (i32.const 68))
(global $~lib/memory/HEAP_BASE i32 (i32.const 68))
(export "memory" (memory $0))
(export "table" (table $0))
(start $start)
(func $~lib/allocator/arena/__memory_allocate (; 1 ;) (type $ii) (param $0 i32) (result i32)
(func $start:~lib/allocator/arena (; 1 ;) (type $_)
global.get $~lib/memory/HEAP_BASE
i32.const 7
i32.add
i32.const 7
i32.const -1
i32.xor
i32.and
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
global.set $~lib/allocator/arena/offset
)
(func $~lib/allocator/arena/__memory_allocate (; 2 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -97,7 +104,7 @@
(local $5 i32)
(local $6 i32)
local.get $0
global.get $~lib/internal/allocator/MAX_SIZE_32
i32.const 1073741824
i32.gt_u
if
unreachable
@ -114,9 +121,9 @@
i32.gt_u
select
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const 7
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const 7
i32.const -1
i32.xor
i32.and
@ -168,12 +175,12 @@
global.set $~lib/allocator/arena/offset
local.get $1
)
(func $~lib/memory/memory.allocate (; 2 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 3 ;) (type $ii) (param $0 i32) (result i32)
local.get $0
call $~lib/allocator/arena/__memory_allocate
return
)
(func $std/operator-overloading/Tester#constructor (; 3 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $std/operator-overloading/Tester#constructor (; 4 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $0
i32.eqz
if
@ -189,7 +196,7 @@
i32.store offset=4
local.get $0
)
(func $std/operator-overloading/Tester.add (; 4 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.add (; 5 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
i32.const 0
local.get $0
i32.load
@ -203,7 +210,7 @@
i32.add
call $std/operator-overloading/Tester#constructor
)
(func $std/operator-overloading/Tester.sub (; 5 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.sub (; 6 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
i32.const 0
local.get $0
i32.load
@ -217,7 +224,7 @@
i32.sub
call $std/operator-overloading/Tester#constructor
)
(func $std/operator-overloading/Tester.mul (; 6 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.mul (; 7 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
i32.const 0
local.get $0
i32.load
@ -231,7 +238,7 @@
i32.mul
call $std/operator-overloading/Tester#constructor
)
(func $std/operator-overloading/Tester.div (; 7 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.div (; 8 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
i32.const 0
local.get $0
i32.load
@ -245,7 +252,7 @@
i32.div_s
call $std/operator-overloading/Tester#constructor
)
(func $std/operator-overloading/Tester.mod (; 8 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.mod (; 9 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
i32.const 0
local.get $0
i32.load
@ -259,7 +266,7 @@
i32.rem_s
call $std/operator-overloading/Tester#constructor
)
(func $~lib/math/NativeMath.scalbn (; 9 ;) (type $FiF) (param $0 f64) (param $1 i32) (result f64)
(func $~lib/math/NativeMath.scalbn (; 10 ;) (type $FiF) (param $0 f64) (param $1 i32) (result f64)
(local $2 f64)
(local $3 i32)
(local $4 i32)
@ -350,7 +357,7 @@
f64.reinterpret_i64
f64.mul
)
(func $~lib/math/NativeMath.pow (; 10 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
(func $~lib/math/NativeMath.pow (; 11 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
(local $2 i64)
(local $3 i32)
(local $4 i32)
@ -1438,7 +1445,7 @@
local.get $16
f64.mul
)
(func $std/operator-overloading/Tester.pow (; 11 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.pow (; 12 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
i32.const 0
local.get $0
i32.load
@ -1458,7 +1465,7 @@
i32.trunc_f64_s
call $std/operator-overloading/Tester#constructor
)
(func $std/operator-overloading/Tester.and (; 12 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.and (; 13 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
i32.const 0
local.get $0
i32.load
@ -1472,7 +1479,7 @@
i32.and
call $std/operator-overloading/Tester#constructor
)
(func $std/operator-overloading/Tester.or (; 13 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.or (; 14 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
i32.const 0
local.get $0
i32.load
@ -1486,7 +1493,7 @@
i32.or
call $std/operator-overloading/Tester#constructor
)
(func $std/operator-overloading/Tester.xor (; 14 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.xor (; 15 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
i32.const 0
local.get $0
i32.load
@ -1500,7 +1507,7 @@
i32.xor
call $std/operator-overloading/Tester#constructor
)
(func $std/operator-overloading/Tester.equals (; 15 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.equals (; 16 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $0
i32.load
@ -1518,7 +1525,7 @@
local.get $2
end
)
(func $std/operator-overloading/Tester.notEquals (; 16 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.notEquals (; 17 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $0
i32.load
@ -1536,7 +1543,7 @@
local.get $2
end
)
(func $std/operator-overloading/Tester.greater (; 17 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.greater (; 18 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $0
i32.load
@ -1554,7 +1561,7 @@
local.get $2
end
)
(func $std/operator-overloading/Tester.greaterEquals (; 18 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.greaterEquals (; 19 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $0
i32.load
@ -1572,7 +1579,7 @@
local.get $2
end
)
(func $std/operator-overloading/Tester.less (; 19 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.less (; 20 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $0
i32.load
@ -1590,7 +1597,7 @@
local.get $2
end
)
(func $std/operator-overloading/Tester.lessEquals (; 20 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.lessEquals (; 21 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $0
i32.load
@ -1608,7 +1615,7 @@
local.get $2
end
)
(func $std/operator-overloading/Tester.shr (; 21 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.shr (; 22 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
i32.const 0
local.get $0
i32.load
@ -1620,7 +1627,7 @@
i32.shr_s
call $std/operator-overloading/Tester#constructor
)
(func $std/operator-overloading/Tester.shu (; 22 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.shu (; 23 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
i32.const 0
local.get $0
i32.load
@ -1632,7 +1639,7 @@
i32.shr_u
call $std/operator-overloading/Tester#constructor
)
(func $std/operator-overloading/Tester.shl (; 23 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.shl (; 24 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
i32.const 0
local.get $0
i32.load
@ -1644,7 +1651,7 @@
i32.shl
call $std/operator-overloading/Tester#constructor
)
(func $std/operator-overloading/Tester.pos (; 24 ;) (type $ii) (param $0 i32) (result i32)
(func $std/operator-overloading/Tester.pos (; 25 ;) (type $ii) (param $0 i32) (result i32)
i32.const 0
local.get $0
i32.load
@ -1652,7 +1659,7 @@
i32.load offset=4
call $std/operator-overloading/Tester#constructor
)
(func $std/operator-overloading/Tester.neg (; 25 ;) (type $ii) (param $0 i32) (result i32)
(func $std/operator-overloading/Tester.neg (; 26 ;) (type $ii) (param $0 i32) (result i32)
i32.const 0
i32.const 0
local.get $0
@ -1664,7 +1671,7 @@
i32.sub
call $std/operator-overloading/Tester#constructor
)
(func $std/operator-overloading/Tester.not (; 26 ;) (type $ii) (param $0 i32) (result i32)
(func $std/operator-overloading/Tester.not (; 27 ;) (type $ii) (param $0 i32) (result i32)
i32.const 0
local.get $0
i32.load
@ -1676,7 +1683,7 @@
i32.xor
call $std/operator-overloading/Tester#constructor
)
(func $std/operator-overloading/Tester.excl (; 27 ;) (type $ii) (param $0 i32) (result i32)
(func $std/operator-overloading/Tester.excl (; 28 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
local.get $0
i32.load
@ -1690,7 +1697,7 @@
local.get $1
end
)
(func $std/operator-overloading/Tester#inc (; 28 ;) (type $ii) (param $0 i32) (result i32)
(func $std/operator-overloading/Tester#inc (; 29 ;) (type $ii) (param $0 i32) (result i32)
local.get $0
local.get $0
i32.load
@ -1705,7 +1712,7 @@
i32.store offset=4
local.get $0
)
(func $std/operator-overloading/Tester#dec (; 29 ;) (type $ii) (param $0 i32) (result i32)
(func $std/operator-overloading/Tester#dec (; 30 ;) (type $ii) (param $0 i32) (result i32)
local.get $0
local.get $0
i32.load
@ -1720,7 +1727,7 @@
i32.store offset=4
local.get $0
)
(func $std/operator-overloading/Tester#postInc (; 30 ;) (type $ii) (param $0 i32) (result i32)
(func $std/operator-overloading/Tester#postInc (; 31 ;) (type $ii) (param $0 i32) (result i32)
i32.const 0
local.get $0
i32.load
@ -1732,7 +1739,7 @@
i32.add
call $std/operator-overloading/Tester#constructor
)
(func $std/operator-overloading/Tester#postDec (; 31 ;) (type $ii) (param $0 i32) (result i32)
(func $std/operator-overloading/Tester#postDec (; 32 ;) (type $ii) (param $0 i32) (result i32)
i32.const 0
local.get $0
i32.load
@ -1744,7 +1751,7 @@
i32.sub
call $std/operator-overloading/Tester#constructor
)
(func $std/operator-overloading/TesterInlineStatic#constructor (; 32 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $std/operator-overloading/TesterInlineStatic#constructor (; 33 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $0
i32.eqz
if
@ -1760,7 +1767,7 @@
i32.store offset=4
local.get $0
)
(func $std/operator-overloading/TesterInlineInstance#constructor (; 33 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $std/operator-overloading/TesterInlineInstance#constructor (; 34 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $0
i32.eqz
if
@ -1776,19 +1783,10 @@
i32.store offset=4
local.get $0
)
(func $start (; 34 ;) (type $_)
(func $start:std/operator-overloading (; 35 ;) (type $_)
(local $0 i32)
(local $1 i32)
global.get $HEAP_BASE
global.get $~lib/internal/allocator/AL_MASK
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const -1
i32.xor
i32.and
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
global.set $~lib/allocator/arena/offset
call $start:~lib/allocator/arena
i32.const 0
i32.const 1
i32.const 2
@ -2837,6 +2835,9 @@
unreachable
end
)
(func $null (; 35 ;) (type $_)
(func $start (; 36 ;) (type $_)
call $start:std/operator-overloading
)
(func $null (; 37 ;) (type $_)
)
)

View File

@ -1159,7 +1159,7 @@
end
end
)
(func $start (; 4 ;) (type $_)
(func $start:std/pointer (; 4 ;) (type $_)
(local $0 i32)
(local $1 i32)
i32.const 8
@ -1548,7 +1548,10 @@
unreachable
end
)
(func $null (; 5 ;) (type $_)
(func $start (; 5 ;) (type $_)
call $start:std/pointer
)
(func $null (; 6 ;) (type $_)
nop
)
)

View File

@ -16,7 +16,7 @@
(global $std/pointer/sub (mut i32) (i32.const 0))
(global $std/pointer/nextOne (mut i32) (i32.const 0))
(global $std/pointer/buf (mut i32) (i32.const 0))
(global $HEAP_BASE i32 (i32.const 40))
(global $~lib/memory/HEAP_BASE i32 (i32.const 40))
(export "memory" (memory $0))
(export "table" (table $0))
(start $start)
@ -1747,7 +1747,7 @@
local.get $1
f32.store
)
(func $start (; 7 ;) (type $_)
(func $start:std/pointer (; 7 ;) (type $_)
(local $0 i32)
(local $1 i32)
(local $2 f32)
@ -2350,6 +2350,9 @@
unreachable
end
)
(func $null (; 8 ;) (type $_)
(func $start (; 8 ;) (type $_)
call $start:std/pointer
)
(func $null (; 9 ;) (type $_)
)
)

View File

@ -8,7 +8,7 @@
(data (i32.const 8) "\10\00\00\00s\00t\00d\00/\00p\00o\00l\00y\00f\00i\00l\00l\00s\00.\00t\00s\00")
(table $0 1 funcref)
(elem (i32.const 0) $null)
(global $HEAP_BASE i32 (i32.const 44))
(global $~lib/memory/HEAP_BASE i32 (i32.const 44))
(export "memory" (memory $0))
(export "table" (table $0))
(start $start)
@ -184,7 +184,7 @@
i32.or
return
)
(func $start (; 11 ;) (type $_)
(func $start:std/polyfills (; 11 ;) (type $_)
(local $0 i32)
i32.const 170
call $~lib/polyfills/bswap<u8>
@ -507,6 +507,9 @@
unreachable
end
)
(func $null (; 12 ;) (type $_)
(func $start (; 12 ;) (type $_)
call $start:std/polyfills
)
(func $null (; 13 ;) (type $_)
)
)

File diff suppressed because it is too large Load Diff

View File

@ -1,9 +1,9 @@
(module
(type $_ (func))
(type $iiii_ (func (param i32 i32 i32 i32)))
(type $iii (func (param i32 i32) (result i32)))
(type $iii_ (func (param i32 i32 i32)))
(type $ii (func (param i32) (result i32)))
(type $_ (func))
(type $FUNCSIG$vii (func (param i32 i32)))
(type $FUNCSIG$v (func))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
@ -1613,7 +1613,7 @@
f64.const 2.25
f64.store offset=8
)
(func $start (; 11 ;) (type $_)
(func $start:std/static-array (; 11 ;) (type $_)
(local $0 i32)
i32.const 280
global.set $~lib/allocator/arena/startOffset
@ -1968,7 +1968,10 @@
unreachable
end
)
(func $null (; 12 ;) (type $_)
(func $start (; 12 ;) (type $_)
call $start:std/static-array
)
(func $null (; 13 ;) (type $_)
nop
)
)

View File

@ -1,4 +1,5 @@
(module
(type $_ (func))
(type $iiii_ (func (param i32 i32 i32 i32)))
(type $iii (func (param i32 i32) (result i32)))
(type $iii_ (func (param i32 i32 i32)))
@ -10,7 +11,6 @@
(type $iif_ (func (param i32 i32 f32)))
(type $iiF (func (param i32 i32) (result f64)))
(type $iiF_ (func (param i32 i32 f64)))
(type $_ (func))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
(memory $0 1)
(data (i32.const 8) "\08\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00")
@ -26,23 +26,29 @@
(data (i32.const 216) "\1c\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00")
(table $0 1 funcref)
(elem (i32.const 0) $null)
(global $~lib/internal/allocator/AL_BITS i32 (i32.const 3))
(global $~lib/internal/allocator/AL_SIZE i32 (i32.const 8))
(global $~lib/internal/allocator/AL_MASK i32 (i32.const 7))
(global $~lib/internal/allocator/MAX_SIZE_32 i32 (i32.const 1073741824))
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
(global $std/static-array/i i32 (i32.const 24))
(global $std/static-array/I i32 (i32.const 64))
(global $std/static-array/f i32 (i32.const 88))
(global $std/static-array/F i32 (i32.const 128))
(global $~lib/internal/arraybuffer/HEADER_SIZE i32 (i32.const 8))
(global $~lib/internal/arraybuffer/MAX_BLENGTH i32 (i32.const 1073741816))
(global $HEAP_BASE i32 (i32.const 276))
(global $~lib/memory/HEAP_BASE i32 (i32.const 276))
(export "memory" (memory $0))
(export "table" (table $0))
(start $start)
(func $~lib/array/Array<i32>#__get (; 1 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $start:~lib/allocator/arena (; 1 ;) (type $_)
global.get $~lib/memory/HEAP_BASE
i32.const 7
i32.add
i32.const 7
i32.const -1
i32.xor
i32.and
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
global.set $~lib/allocator/arena/offset
)
(func $~lib/array/Array<i32>#__get (; 2 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -75,11 +81,11 @@
unreachable
end
)
(func $~lib/internal/arraybuffer/computeSize (; 2 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/arraybuffer/computeSize (; 3 ;) (type $ii) (param $0 i32) (result i32)
i32.const 1
i32.const 32
local.get $0
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.const 8
i32.add
i32.const 1
i32.sub
@ -87,7 +93,7 @@
i32.sub
i32.shl
)
(func $~lib/allocator/arena/__memory_allocate (; 3 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 4 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -95,7 +101,7 @@
(local $5 i32)
(local $6 i32)
local.get $0
global.get $~lib/internal/allocator/MAX_SIZE_32
i32.const 1073741824
i32.gt_u
if
unreachable
@ -112,9 +118,9 @@
i32.gt_u
select
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const 7
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const 7
i32.const -1
i32.xor
i32.and
@ -166,11 +172,11 @@
global.set $~lib/allocator/arena/offset
local.get $1
)
(func $~lib/internal/arraybuffer/allocateUnsafe (; 4 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/arraybuffer/allocateUnsafe (; 5 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
local.get $0
global.get $~lib/internal/arraybuffer/MAX_BLENGTH
i32.const 1073741816
i32.le_u
i32.eqz
if
@ -195,7 +201,7 @@
i32.store
local.get $1
)
(func $~lib/internal/memory/memcpy (; 5 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/internal/memory/memcpy (; 6 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -1396,7 +1402,7 @@
i32.store8
end
)
(func $~lib/internal/memory/memmove (; 6 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/internal/memory/memmove (; 7 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
local.get $0
local.get $1
@ -1623,10 +1629,10 @@
end
end
)
(func $~lib/allocator/arena/__memory_free (; 7 ;) (type $i_) (param $0 i32)
(func $~lib/allocator/arena/__memory_free (; 8 ;) (type $i_) (param $0 i32)
nop
)
(func $~lib/internal/memory/memset (; 8 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/internal/memory/memset (; 9 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i64)
@ -1880,7 +1886,7 @@
end
end
)
(func $~lib/internal/arraybuffer/reallocateUnsafe (; 9 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/internal/arraybuffer/reallocateUnsafe (; 10 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -1894,7 +1900,7 @@
i32.gt_s
if
local.get $1
global.get $~lib/internal/arraybuffer/MAX_BLENGTH
i32.const 1073741816
i32.le_s
i32.eqz
if
@ -1908,7 +1914,7 @@
local.get $1
local.get $2
call $~lib/internal/arraybuffer/computeSize
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.const 8
i32.sub
i32.le_s
if
@ -1919,13 +1925,13 @@
local.get $1
call $~lib/internal/arraybuffer/allocateUnsafe
local.set $3
block $memory.copy|inlined.0
block $~lib/memory/memory.copy|inlined.0
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.const 8
i32.add
local.set $4
local.get $0
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.const 8
i32.add
local.set $5
local.get $2
@ -1945,9 +1951,9 @@
local.get $3
local.set $0
end
block $memory.fill|inlined.0
block $~lib/memory/memory.fill|inlined.0
local.get $0
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.const 8
i32.add
local.get $2
i32.add
@ -1987,7 +1993,7 @@
end
local.get $0
)
(func $~lib/array/Array<i32>#__set (; 10 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/array/Array<i32>#__set (; 11 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -2054,7 +2060,7 @@
i32.store offset=8
end
)
(func $~lib/array/Array<i64>#__get (; 11 ;) (type $iiI) (param $0 i32) (param $1 i32) (result i64)
(func $~lib/array/Array<i64>#__get (; 12 ;) (type $iiI) (param $0 i32) (param $1 i32) (result i64)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -2087,7 +2093,7 @@
unreachable
end
)
(func $~lib/array/Array<i64>#__set (; 12 ;) (type $iiI_) (param $0 i32) (param $1 i32) (param $2 i64)
(func $~lib/array/Array<i64>#__set (; 13 ;) (type $iiI_) (param $0 i32) (param $1 i32) (param $2 i64)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -2154,7 +2160,7 @@
i64.store offset=8
end
)
(func $~lib/array/Array<f32>#__get (; 13 ;) (type $iif) (param $0 i32) (param $1 i32) (result f32)
(func $~lib/array/Array<f32>#__get (; 14 ;) (type $iif) (param $0 i32) (param $1 i32) (result f32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -2187,7 +2193,7 @@
unreachable
end
)
(func $~lib/array/Array<f32>#__set (; 14 ;) (type $iif_) (param $0 i32) (param $1 i32) (param $2 f32)
(func $~lib/array/Array<f32>#__set (; 15 ;) (type $iif_) (param $0 i32) (param $1 i32) (param $2 f32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -2254,7 +2260,7 @@
f32.store offset=8
end
)
(func $~lib/array/Array<f64>#__get (; 15 ;) (type $iiF) (param $0 i32) (param $1 i32) (result f64)
(func $~lib/array/Array<f64>#__get (; 16 ;) (type $iiF) (param $0 i32) (param $1 i32) (result f64)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -2287,7 +2293,7 @@
unreachable
end
)
(func $~lib/array/Array<f64>#__set (; 16 ;) (type $iiF_) (param $0 i32) (param $1 i32) (param $2 f64)
(func $~lib/array/Array<f64>#__set (; 17 ;) (type $iiF_) (param $0 i32) (param $1 i32) (param $2 f64)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -2354,18 +2360,9 @@
f64.store offset=8
end
)
(func $start (; 17 ;) (type $_)
(func $start:std/static-array (; 18 ;) (type $_)
(local $0 i32)
global.get $HEAP_BASE
global.get $~lib/internal/allocator/AL_MASK
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const -1
i32.xor
i32.and
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
global.set $~lib/allocator/arena/offset
call $start:~lib/allocator/arena
block $~lib/array/Array<i32>#get:length|inlined.0 (result i32)
global.get $std/static-array/i
local.set $0
@ -2619,6 +2616,9 @@
unreachable
end
)
(func $null (; 18 ;) (type $_)
(func $start (; 19 ;) (type $_)
call $start:std/static-array
)
(func $null (; 20 ;) (type $_)
)
)

View File

@ -1,9 +1,9 @@
(module
(type $_ (func))
(type $ii (func (param i32) (result i32)))
(type $iiii_ (func (param i32 i32 i32 i32)))
(type $iii (func (param i32 i32) (result i32)))
(type $iii_ (func (param i32 i32 i32)))
(type $_ (func))
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
(memory $0 1)
@ -1837,7 +1837,7 @@
call $~lib/internal/string/compareUnsafe
i32.eqz
)
(func $start (; 10 ;) (type $_)
(func $start:std/string-utf8 (; 10 ;) (type $_)
i32.const 192
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
@ -2082,7 +2082,10 @@
unreachable
end
)
(func $null (; 11 ;) (type $_)
(func $start (; 11 ;) (type $_)
call $start:std/string-utf8
)
(func $null (; 12 ;) (type $_)
nop
)
)

View File

@ -1,11 +1,11 @@
(module
(type $_ (func))
(type $ii (func (param i32) (result i32)))
(type $iiii_ (func (param i32 i32 i32 i32)))
(type $iii (func (param i32 i32) (result i32)))
(type $iii_ (func (param i32 i32 i32)))
(type $i_ (func (param i32)))
(type $iiiiii (func (param i32 i32 i32 i32 i32) (result i32)))
(type $_ (func))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
(memory $0 1)
(data (i32.const 8) "\06\00\00\00\01\d87\dch\00i\00R\d8b\df")
@ -19,22 +19,28 @@
(data (i32.const 184) "\01\00\00\00\00\00")
(table $0 1 funcref)
(elem (i32.const 0) $null)
(global $~lib/internal/allocator/AL_BITS i32 (i32.const 3))
(global $~lib/internal/allocator/AL_SIZE i32 (i32.const 8))
(global $~lib/internal/allocator/AL_MASK i32 (i32.const 7))
(global $~lib/internal/allocator/MAX_SIZE_32 i32 (i32.const 1073741824))
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
(global $std/string-utf8/str (mut i32) (i32.const 8))
(global $~lib/internal/string/HEADER_SIZE i32 (i32.const 4))
(global $std/string-utf8/len (mut i32) (i32.const 0))
(global $std/string-utf8/ptr (mut i32) (i32.const 0))
(global $~lib/internal/string/MAX_LENGTH i32 (i32.const 536870910))
(global $HEAP_BASE i32 (i32.const 192))
(global $~lib/memory/HEAP_BASE i32 (i32.const 192))
(export "memory" (memory $0))
(export "table" (table $0))
(start $start)
(func $~lib/string/String#get:lengthUTF8 (; 1 ;) (type $ii) (param $0 i32) (result i32)
(func $start:~lib/allocator/arena (; 1 ;) (type $_)
global.get $~lib/memory/HEAP_BASE
i32.const 7
i32.add
i32.const 7
i32.const -1
i32.xor
i32.and
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
global.set $~lib/allocator/arena/offset
)
(func $~lib/string/String#get:lengthUTF8 (; 2 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -147,7 +153,7 @@
end
local.get $1
)
(func $~lib/allocator/arena/__memory_allocate (; 2 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 3 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -155,7 +161,7 @@
(local $5 i32)
(local $6 i32)
local.get $0
global.get $~lib/internal/allocator/MAX_SIZE_32
i32.const 1073741824
i32.gt_u
if
unreachable
@ -172,9 +178,9 @@
i32.gt_u
select
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const 7
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const 7
i32.const -1
i32.xor
i32.and
@ -226,7 +232,7 @@
global.set $~lib/allocator/arena/offset
local.get $1
)
(func $~lib/string/String#toUTF8 (; 3 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/string/String#toUTF8 (; 4 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -448,7 +454,7 @@
i32.store8
local.get $2
)
(func $~lib/internal/string/allocateUnsafe (; 4 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/string/allocateUnsafe (; 5 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
local.get $0
@ -457,7 +463,7 @@
local.tee $1
if (result i32)
local.get $0
global.get $~lib/internal/string/MAX_LENGTH
i32.const 536870910
i32.le_s
else
local.get $1
@ -472,7 +478,7 @@
unreachable
end
block $~lib/memory/memory.allocate|inlined.2 (result i32)
global.get $~lib/internal/string/HEADER_SIZE
i32.const 4
local.get $0
i32.const 1
i32.shl
@ -488,7 +494,7 @@
i32.store
local.get $2
)
(func $~lib/internal/memory/memcpy (; 5 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/internal/memory/memcpy (; 6 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -1689,7 +1695,7 @@
i32.store8
end
)
(func $~lib/internal/memory/memmove (; 6 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/internal/memory/memmove (; 7 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
local.get $0
local.get $1
@ -1916,10 +1922,10 @@
end
end
)
(func $~lib/allocator/arena/__memory_free (; 7 ;) (type $i_) (param $0 i32)
(func $~lib/allocator/arena/__memory_free (; 8 ;) (type $i_) (param $0 i32)
nop
)
(func $~lib/string/String.fromUTF8 (; 8 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.fromUTF8 (; 9 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -2224,9 +2230,9 @@
i32.shr_u
call $~lib/internal/string/allocateUnsafe
local.set $7
block $memory.copy|inlined.0
block $~lib/memory/memory.copy|inlined.0
local.get $7
global.get $~lib/internal/string/HEADER_SIZE
i32.const 4
i32.add
local.set $3
local.get $4
@ -2247,7 +2253,7 @@
end
local.get $7
)
(func $~lib/internal/string/compareUnsafe (; 9 ;) (type $iiiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32)
(func $~lib/internal/string/compareUnsafe (; 10 ;) (type $iiiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
@ -2300,7 +2306,7 @@
end
local.get $5
)
(func $~lib/string/String.__eq (; 10 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__eq (; 11 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
local.get $0
@ -2344,18 +2350,9 @@
call $~lib/internal/string/compareUnsafe
i32.eqz
)
(func $start (; 11 ;) (type $_)
(func $start:std/string-utf8 (; 12 ;) (type $_)
(local $0 i32)
global.get $HEAP_BASE
global.get $~lib/internal/allocator/AL_MASK
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const -1
i32.xor
i32.and
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
global.set $~lib/allocator/arena/offset
call $start:~lib/allocator/arena
global.get $std/string-utf8/str
call $~lib/string/String#get:lengthUTF8
global.set $std/string-utf8/len
@ -2617,6 +2614,9 @@
br $~lib/memory/memory.free|inlined.1
end
)
(func $null (; 12 ;) (type $_)
(func $start (; 13 ;) (type $_)
call $start:std/string-utf8
)
(func $null (; 14 ;) (type $_)
)
)

View File

@ -1,11 +1,11 @@
(module
(type $_ (func))
(type $iiii_ (func (param i32 i32 i32 i32)))
(type $iii (func (param i32 i32) (result i32)))
(type $ii (func (param i32) (result i32)))
(type $iiii (func (param i32 i32 i32) (result i32)))
(type $iii_ (func (param i32 i32 i32)))
(type $iiiii_ (func (param i32 i32 i32 i32 i32)))
(type $i (func (result i32)))
(type $iiF (func (param i32 i32) (result f64)))
(type $iF (func (param i32) (result f64)))
(type $Ii (func (param i64) (result i32)))
@ -13,7 +13,7 @@
(type $Fi (func (param f64) (result i32)))
(type $iFi (func (param i32 f64) (result i32)))
(type $iIiIiIii (func (param i32 i64 i32 i64 i32 i64 i32) (result i32)))
(type $_ (func))
(type $i (func (result i32)))
(type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
@ -182,19 +182,19 @@
(elem (i32.const 0) $null)
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
(global $~lib/internal/number/_K (mut i32) (i32.const 0))
(global $~lib/internal/number/_exp (mut i32) (i32.const 0))
(global $~lib/internal/number/_frc_minus (mut i64) (i64.const 0))
(global $~lib/internal/number/_frc_plus (mut i64) (i64.const 0))
(global $~lib/internal/number/_frc_pow (mut i64) (i64.const 0))
(global $~lib/internal/number/_exp_pow (mut i32) (i32.const 0))
(global $std/string/str (mut i32) (i32.const 8))
(global $std/string/nullStr (mut i32) (i32.const 0))
(global $~argc (mut i32) (i32.const 0))
(global $~lib/argc (mut i32) (i32.const 0))
(global $std/string/c (mut i32) (i32.const 0))
(global $std/string/a (mut i32) (i32.const 0))
(global $std/string/b (mut i32) (i32.const 0))
(global $std/string/sa (mut i32) (i32.const 0))
(global $~lib/internal/number/_frc_plus (mut i64) (i64.const 0))
(global $~lib/internal/number/_frc_minus (mut i64) (i64.const 0))
(global $~lib/internal/number/_exp (mut i32) (i32.const 0))
(global $~lib/internal/number/_K (mut i32) (i32.const 0))
(global $~lib/internal/number/_frc_pow (mut i64) (i64.const 0))
(global $~lib/internal/number/_exp_pow (mut i32) (i32.const 0))
(export "memory" (memory $0))
(export "table" (table $0))
(export "getString" (func $std/string/getString))
@ -2036,7 +2036,7 @@
block $1of1
block $0of1
block $outOfRange
global.get $~argc
global.get $~lib/argc
i32.const 1
i32.sub
br_table $0of1 $1of1 $outOfRange
@ -2149,7 +2149,7 @@
block $1of1
block $0of1
block $outOfRange
global.get $~argc
global.get $~lib/argc
i32.const 1
i32.sub
br_table $0of1 $1of1 $outOfRange
@ -2245,7 +2245,7 @@
block $1of1
block $0of1
block $outOfRange
global.get $~argc
global.get $~lib/argc
i32.const 1
i32.sub
br_table $0of1 $1of1 $outOfRange
@ -2260,10 +2260,7 @@
local.get $2
call $~lib/string/String#lastIndexOf
)
(func $std/string/getString (; 21 ;) (type $i) (result i32)
global.get $std/string/str
)
(func $~lib/internal/string/parse<f64> (; 22 ;) (type $iiF) (param $0 i32) (param $1 i32) (result f64)
(func $~lib/internal/string/parse<f64> (; 21 ;) (type $iiF) (param $0 i32) (param $1 i32) (result f64)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -2515,12 +2512,12 @@
local.get $5
f64.mul
)
(func $~lib/string/parseInt (; 23 ;) (type $FUNCSIG$di) (param $0 i32) (result f64)
(func $~lib/string/parseInt (; 22 ;) (type $FUNCSIG$di) (param $0 i32) (result f64)
local.get $0
i32.const 0
call $~lib/internal/string/parse<f64>
)
(func $~lib/string/parseFloat (; 24 ;) (type $iF) (param $0 i32) (result f64)
(func $~lib/string/parseFloat (; 23 ;) (type $iF) (param $0 i32) (result f64)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -2629,7 +2626,7 @@
if
i32.const 0
i32.const 80
i32.const 643
i32.const 645
i32.const 10
call $~lib/env/abort
unreachable
@ -2688,7 +2685,7 @@
local.get $4
f64.mul
)
(func $~lib/string/String#concat (; 25 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String#concat (; 24 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -2735,7 +2732,7 @@
call $~lib/internal/string/copyUnsafe
local.get $2
)
(func $~lib/string/String.__concat (; 26 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__concat (; 25 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0
i32.const 200
local.get $0
@ -2743,13 +2740,13 @@
local.get $1
call $~lib/string/String#concat
)
(func $~lib/string/String.__ne (; 27 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__ne (; 26 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0
local.get $1
call $~lib/string/String.__eq
i32.eqz
)
(func $~lib/string/String.__gt (; 28 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__gt (; 27 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
local.get $0
@ -2804,7 +2801,7 @@
i32.const 0
i32.gt_s
)
(func $~lib/string/String.__gte (; 29 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__gte (; 28 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
local.get $0
@ -2859,7 +2856,7 @@
i32.const 0
i32.ge_s
)
(func $~lib/string/String.__lt (; 30 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__lt (; 29 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
local.get $0
@ -2914,7 +2911,7 @@
i32.const 0
i32.lt_s
)
(func $~lib/string/String.__lte (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/string/String.__lte (; 30 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
local.get $0
@ -2961,7 +2958,7 @@
i32.const 0
i32.le_s
)
(func $~lib/string/String#repeat (; 32 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String#repeat (; 31 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
local.get $0
@ -3031,7 +3028,7 @@
call $~lib/internal/string/repeatUnsafe
local.get $2
)
(func $~lib/string/String#slice (; 33 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/string/String#slice (; 32 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
local.get $0
@ -3100,12 +3097,12 @@
call $~lib/internal/string/copyUnsafe
local.get $1
)
(func $~lib/string/String#slice|trampoline (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String#slice|trampoline (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
block $1of1
block $0of1
block $outOfRange
global.get $~argc
global.get $~lib/argc
i32.const 1
i32.sub
br_table $0of1 $1of1 $outOfRange
@ -3120,7 +3117,7 @@
local.get $2
call $~lib/string/String#slice
)
(func $~lib/internal/arraybuffer/allocateUnsafe (; 35 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/arraybuffer/allocateUnsafe (; 34 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
local.get $0
i32.const 1073741816
@ -3147,7 +3144,7 @@
i32.store
local.get $1
)
(func $~lib/internal/memory/memset (; 36 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/internal/memory/memset (; 35 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
local.get $1
i32.eqz
@ -3366,7 +3363,7 @@
end
end
)
(func $~lib/array/Array<String>#constructor (; 37 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/array/Array<String>#constructor (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -3408,7 +3405,7 @@
call $~lib/internal/memory/memset
local.get $1
)
(func $~lib/internal/arraybuffer/reallocateUnsafe (; 38 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/internal/arraybuffer/reallocateUnsafe (; 37 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
local.get $1
@ -3490,7 +3487,7 @@
end
local.get $0
)
(func $~lib/array/Array<String>#push (; 39 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/array/Array<String>#push (; 38 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -3541,7 +3538,7 @@
i32.store offset=8
local.get $3
)
(func $~lib/string/String#split (; 40 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/string/String#split (; 39 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -3758,13 +3755,13 @@
drop
local.get $3
)
(func $~lib/string/String#split|trampoline (; 41 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String#split|trampoline (; 40 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
block $2of2
block $1of2
block $0of2
block $outOfRange
global.get $~argc
global.get $~lib/argc
br_table $0of2 $1of2 $2of2 $outOfRange
end
unreachable
@ -3780,7 +3777,7 @@
local.get $2
call $~lib/string/String#split
)
(func $~lib/internal/number/decimalCount32 (; 42 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/number/decimalCount32 (; 41 ;) (type $ii) (param $0 i32) (result i32)
local.get $0
i32.const 100000
i32.lt_u
@ -3834,7 +3831,7 @@
end
end
)
(func $~lib/internal/number/utoa32_lut (; 43 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/internal/number/utoa32_lut (; 42 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
i32.const 1816
@ -3944,7 +3941,7 @@
i32.store16 offset=4
end
)
(func $~lib/internal/number/itoa32 (; 44 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/number/itoa32 (; 43 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -3982,7 +3979,7 @@
end
local.get $2
)
(func $~lib/internal/number/utoa32 (; 45 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/number/utoa32 (; 44 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
local.get $0
@ -4001,7 +3998,7 @@
call $~lib/internal/number/utoa32_lut
local.get $2
)
(func $~lib/internal/number/decimalCount64 (; 46 ;) (type $Ii) (param $0 i64) (result i32)
(func $~lib/internal/number/decimalCount64 (; 45 ;) (type $Ii) (param $0 i64) (result i32)
local.get $0
i64.const 1000000000000000
i64.lt_u
@ -4055,7 +4052,7 @@
end
end
)
(func $~lib/internal/number/utoa64_lut (; 47 ;) (type $iIi_) (param $0 i32) (param $1 i64) (param $2 i32)
(func $~lib/internal/number/utoa64_lut (; 46 ;) (type $iIi_) (param $0 i32) (param $1 i64) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -4152,7 +4149,7 @@
local.get $2
call $~lib/internal/number/utoa32_lut
)
(func $~lib/internal/number/utoa64 (; 48 ;) (type $Ii) (param $0 i64) (result i32)
(func $~lib/internal/number/utoa64 (; 47 ;) (type $Ii) (param $0 i64) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -4188,7 +4185,7 @@
end
local.get $2
)
(func $~lib/internal/number/itoa64 (; 49 ;) (type $Ii) (param $0 i64) (result i32)
(func $~lib/internal/number/itoa64 (; 48 ;) (type $Ii) (param $0 i64) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -4247,7 +4244,7 @@
end
local.get $3
)
(func $~lib/internal/number/genDigits (; 50 ;) (type $iIiIiIii) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32)
(func $~lib/internal/number/genDigits (; 49 ;) (type $iIiIiIii) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32)
(local $7 i32)
(local $8 i64)
(local $9 i32)
@ -4661,7 +4658,7 @@
local.get $10
end
)
(func $~lib/internal/number/prettify (; 51 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/internal/number/prettify (; 50 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -4935,7 +4932,7 @@
end
end
)
(func $~lib/internal/number/dtoa_core (; 52 ;) (type $iFi) (param $0 i32) (param $1 f64) (result i32)
(func $~lib/internal/number/dtoa_core (; 51 ;) (type $iFi) (param $0 i32) (param $1 f64) (result i32)
(local $2 i64)
(local $3 i64)
(local $4 i32)
@ -5251,7 +5248,7 @@
local.get $12
i32.add
)
(func $~lib/string/String#substring (; 53 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String#substring (; 52 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -5333,7 +5330,7 @@
call $~lib/internal/string/copyUnsafe
local.get $2
)
(func $~lib/internal/number/dtoa (; 54 ;) (type $Fi) (param $0 f64) (result i32)
(func $~lib/internal/number/dtoa (; 53 ;) (type $Fi) (param $0 f64) (result i32)
(local $1 i32)
(local $2 i32)
local.get $0
@ -5386,7 +5383,7 @@
end
local.get $1
)
(func $start (; 55 ;) (type $_)
(func $start:std/string (; 54 ;) (type $_)
(local $0 i32)
(local $1 i32)
i32.const 5880
@ -5516,13 +5513,13 @@
unreachable
end
i32.const 1
global.set $~argc
global.set $~lib/argc
global.get $std/string/str
local.set $1
block $1of1
block $0of1
block $outOfRange
global.get $~argc
global.get $~lib/argc
i32.const 1
i32.sub
br_table $0of1 $1of1 $outOfRange
@ -5560,7 +5557,7 @@
unreachable
end
i32.const 1
global.set $~argc
global.set $~lib/argc
global.get $std/string/str
i32.const 0
call $~lib/string/String#padStart|trampoline
@ -5576,7 +5573,7 @@
unreachable
end
i32.const 1
global.set $~argc
global.set $~lib/argc
global.get $std/string/str
i32.const 15
call $~lib/string/String#padStart|trampoline
@ -5592,7 +5589,7 @@
unreachable
end
i32.const 1
global.set $~argc
global.set $~lib/argc
i32.const 256
i32.const 3
call $~lib/string/String#padStart|trampoline
@ -5638,7 +5635,7 @@
unreachable
end
i32.const 1
global.set $~argc
global.set $~lib/argc
i32.const 288
i32.const 5
call $~lib/string/String#padStart|trampoline
@ -5684,7 +5681,7 @@
unreachable
end
i32.const 1
global.set $~argc
global.set $~lib/argc
global.get $std/string/str
i32.const 0
call $~lib/string/String#padEnd|trampoline
@ -5700,7 +5697,7 @@
unreachable
end
i32.const 1
global.set $~argc
global.set $~lib/argc
global.get $std/string/str
i32.const 15
call $~lib/string/String#padEnd|trampoline
@ -5716,7 +5713,7 @@
unreachable
end
i32.const 1
global.set $~argc
global.set $~lib/argc
i32.const 256
i32.const 3
call $~lib/string/String#padEnd|trampoline
@ -5762,7 +5759,7 @@
unreachable
end
i32.const 1
global.set $~argc
global.set $~lib/argc
i32.const 288
i32.const 5
call $~lib/string/String#padEnd|trampoline
@ -5941,7 +5938,7 @@
unreachable
end
i32.const 1
global.set $~argc
global.set $~lib/argc
i32.const 256
i32.const 256
call $~lib/string/String#lastIndexOf|trampoline
@ -5954,7 +5951,7 @@
unreachable
end
i32.const 1
global.set $~argc
global.set $~lib/argc
i32.const 256
i32.const 192
call $~lib/string/String#lastIndexOf|trampoline
@ -5969,7 +5966,7 @@
unreachable
end
i32.const 1
global.set $~argc
global.set $~lib/argc
global.get $std/string/str
i32.const 256
call $~lib/string/String#lastIndexOf|trampoline
@ -5985,7 +5982,7 @@
unreachable
end
i32.const 1
global.set $~argc
global.set $~lib/argc
global.get $std/string/str
i32.const 432
call $~lib/string/String#lastIndexOf|trampoline
@ -6000,7 +5997,7 @@
unreachable
end
i32.const 1
global.set $~argc
global.set $~lib/argc
global.get $std/string/str
i32.const 440
call $~lib/string/String#lastIndexOf|trampoline
@ -6015,7 +6012,7 @@
unreachable
end
i32.const 1
global.set $~argc
global.set $~lib/argc
global.get $std/string/str
i32.const 464
call $~lib/string/String#lastIndexOf|trampoline
@ -6782,7 +6779,7 @@
i32.const 976
global.set $std/string/str
i32.const 1
global.set $~argc
global.set $~lib/argc
global.get $std/string/str
i32.const 0
call $~lib/string/String#slice|trampoline
@ -6798,7 +6795,7 @@
unreachable
end
i32.const 1
global.set $~argc
global.set $~lib/argc
global.get $std/string/str
i32.const -1
call $~lib/string/String#slice|trampoline
@ -6814,7 +6811,7 @@
unreachable
end
i32.const 1
global.set $~argc
global.set $~lib/argc
global.get $std/string/str
i32.const -5
call $~lib/string/String#slice|trampoline
@ -6890,7 +6887,7 @@
unreachable
end
i32.const 0
global.set $~argc
global.set $~lib/argc
i32.const 256
i32.const 0
call $~lib/string/String#split|trampoline
@ -6930,7 +6927,7 @@
unreachable
end
i32.const 1
global.set $~argc
global.set $~lib/argc
i32.const 256
i32.const 256
call $~lib/string/String#split|trampoline
@ -6946,7 +6943,7 @@
unreachable
end
i32.const 1
global.set $~argc
global.set $~lib/argc
i32.const 256
i32.const 432
call $~lib/string/String#split|trampoline
@ -6986,7 +6983,7 @@
unreachable
end
i32.const 1
global.set $~argc
global.set $~lib/argc
i32.const 1192
i32.const 1208
call $~lib/string/String#split|trampoline
@ -7026,7 +7023,7 @@
unreachable
end
i32.const 1
global.set $~argc
global.set $~lib/argc
i32.const 1192
i32.const 432
call $~lib/string/String#split|trampoline
@ -7114,7 +7111,7 @@
unreachable
end
i32.const 1
global.set $~argc
global.set $~lib/argc
i32.const 1224
i32.const 1248
call $~lib/string/String#split|trampoline
@ -7202,7 +7199,7 @@
unreachable
end
i32.const 1
global.set $~argc
global.set $~lib/argc
i32.const 1256
i32.const 432
call $~lib/string/String#split|trampoline
@ -7314,7 +7311,7 @@
unreachable
end
i32.const 1
global.set $~argc
global.set $~lib/argc
i32.const 1272
i32.const 432
call $~lib/string/String#split|trampoline
@ -7426,7 +7423,7 @@
unreachable
end
i32.const 1
global.set $~argc
global.set $~lib/argc
i32.const 1288
i32.const 432
call $~lib/string/String#split|trampoline
@ -7538,7 +7535,7 @@
unreachable
end
i32.const 1
global.set $~argc
global.set $~lib/argc
i32.const 288
i32.const 256
call $~lib/string/String#split|trampoline
@ -9163,7 +9160,13 @@
unreachable
end
)
(func $null (; 56 ;) (type $_)
(func $std/string/getString (; 55 ;) (type $i) (result i32)
global.get $std/string/str
)
(func $start (; 56 ;) (type $_)
call $start:std/string
)
(func $null (; 57 ;) (type $_)
nop
)
)

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,5 @@
(module
(type $_ (func))
(type $ii (func (param i32) (result i32)))
(type $iiii_ (func (param i32 i32 i32 i32)))
(type $i_ (func (param i32)))
@ -6,7 +7,6 @@
(type $iii_ (func (param i32 i32 i32)))
(type $iii (func (param i32 i32) (result i32)))
(type $ii_ (func (param i32 i32)))
(type $_ (func))
(type $FUNCSIG$vii (func (param i32 i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$i (func (result i32)))
@ -2440,7 +2440,7 @@
i32.const 592
call $~lib/string/String.__concat
)
(func $start (; 28 ;) (type $_)
(func $start:std/symbol (; 28 ;) (type $_)
(local $0 i32)
i32.const 760
global.set $~lib/allocator/arena/startOffset
@ -2617,7 +2617,10 @@
unreachable
end
)
(func $null (; 29 ;) (type $_)
(func $start (; 29 ;) (type $_)
call $start:std/symbol
)
(func $null (; 30 ;) (type $_)
nop
)
)

View File

@ -1,4 +1,5 @@
(module
(type $_ (func))
(type $ii (func (param i32) (result i32)))
(type $iiii_ (func (param i32 i32 i32 i32)))
(type $i_ (func (param i32)))
@ -8,7 +9,6 @@
(type $iiiiii (func (param i32 i32 i32 i32 i32) (result i32)))
(type $ii_ (func (param i32 i32)))
(type $iiiii_ (func (param i32 i32 i32 i32 i32)))
(type $_ (func))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
(memory $0 1)
(data (i32.const 8) "\03\00\00\001\002\003\00")
@ -38,43 +38,40 @@
(data (i32.const 704) "\1a\00\00\00S\00y\00m\00b\00o\00l\00(\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e\00)\00")
(table $0 1 funcref)
(elem (i32.const 0) $null)
(global $~lib/internal/allocator/AL_BITS i32 (i32.const 3))
(global $~lib/internal/allocator/AL_SIZE i32 (i32.const 8))
(global $~lib/internal/allocator/AL_MASK i32 (i32.const 7))
(global $~lib/internal/allocator/MAX_SIZE_32 i32 (i32.const 1073741824))
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
(global $~lib/symbol/nextId (mut i32) (i32.const 12))
(global $std/symbol/sym1 (mut i32) (i32.const 0))
(global $std/symbol/sym2 (mut i32) (i32.const 0))
(global $~lib/symbol/stringToId (mut i32) (i32.const 0))
(global $~lib/map/INITIAL_CAPACITY i32 (i32.const 4))
(global $~lib/map/BUCKET_SIZE i32 (i32.const 4))
(global $~lib/internal/arraybuffer/HEADER_SIZE i32 (i32.const 8))
(global $~lib/internal/arraybuffer/MAX_BLENGTH i32 (i32.const 1073741816))
(global $~lib/symbol/idToString (mut i32) (i32.const 0))
(global $~lib/internal/hash/FNV_OFFSET i32 (i32.const -2128831035))
(global $~lib/internal/string/HEADER_SIZE i32 (i32.const 4))
(global $~lib/internal/hash/FNV_PRIME i32 (i32.const 16777619))
(global $~lib/map/EMPTY i32 (i32.const 1))
(global $~lib/map/FREE_FACTOR f64 (f64.const 0.75))
(global $~lib/map/FILL_FACTOR f64 (f64.const 2.6666666666666665))
(global $std/symbol/sym3 (mut i32) (i32.const 0))
(global $std/symbol/sym4 (mut i32) (i32.const 0))
(global $std/symbol/key1 (mut i32) (i32.const 0))
(global $std/symbol/key2 (mut i32) (i32.const 0))
(global $std/symbol/key3 (mut i32) (i32.const 0))
(global $std/symbol/key4 (mut i32) (i32.const 0))
(global $~lib/internal/string/MAX_LENGTH i32 (i32.const 536870910))
(global $~lib/symbol/Symbol.hasInstance i32 (i32.const 1))
(global $std/symbol/hasInstance (mut i32) (i32.const 0))
(global $~lib/symbol/Symbol.isConcatSpreadable i32 (i32.const 2))
(global $std/symbol/isConcatSpreadable (mut i32) (i32.const 0))
(global $HEAP_BASE i32 (i32.const 760))
(global $~lib/memory/HEAP_BASE i32 (i32.const 760))
(export "memory" (memory $0))
(export "table" (table $0))
(start $start)
(func $~lib/symbol/Symbol (; 1 ;) (type $ii) (param $0 i32) (result i32)
(func $start:~lib/allocator/arena (; 1 ;) (type $_)
global.get $~lib/memory/HEAP_BASE
i32.const 7
i32.add
i32.const 7
i32.const -1
i32.xor
i32.and
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
global.set $~lib/allocator/arena/offset
)
(func $~lib/symbol/Symbol (; 2 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
block (result i32)
@ -93,7 +90,7 @@
end
local.get $2
)
(func $~lib/allocator/arena/__memory_allocate (; 2 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 3 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -101,7 +98,7 @@
(local $5 i32)
(local $6 i32)
local.get $0
global.get $~lib/internal/allocator/MAX_SIZE_32
i32.const 1073741824
i32.gt_u
if
unreachable
@ -118,9 +115,9 @@
i32.gt_u
select
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const 7
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const 7
i32.const -1
i32.xor
i32.and
@ -172,16 +169,16 @@
global.set $~lib/allocator/arena/offset
local.get $1
)
(func $~lib/memory/memory.allocate (; 3 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 4 ;) (type $ii) (param $0 i32) (result i32)
local.get $0
call $~lib/allocator/arena/__memory_allocate
return
)
(func $~lib/internal/arraybuffer/computeSize (; 4 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/arraybuffer/computeSize (; 5 ;) (type $ii) (param $0 i32) (result i32)
i32.const 1
i32.const 32
local.get $0
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.const 8
i32.add
i32.const 1
i32.sub
@ -189,11 +186,11 @@
i32.sub
i32.shl
)
(func $~lib/internal/arraybuffer/allocateUnsafe (; 5 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/arraybuffer/allocateUnsafe (; 6 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
local.get $0
global.get $~lib/internal/arraybuffer/MAX_BLENGTH
i32.const 1073741816
i32.le_u
i32.eqz
if
@ -218,7 +215,7 @@
i32.store
local.get $1
)
(func $~lib/internal/memory/memset (; 6 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/internal/memory/memset (; 7 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i64)
@ -472,13 +469,13 @@
end
end
)
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 7 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 8 ;) (type $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.get $1
global.get $~lib/internal/arraybuffer/MAX_BLENGTH
i32.const 1073741816
i32.gt_u
if
i32.const 0
@ -497,7 +494,7 @@
i32.eqz
if
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.const 8
i32.add
local.set $4
i32.const 0
@ -511,7 +508,7 @@
end
local.get $3
)
(func $~lib/map/Map<String,usize>#clear (; 8 ;) (type $i_) (param $0 i32)
(func $~lib/map/Map<String,usize>#clear (; 9 ;) (type $i_) (param $0 i32)
local.get $0
i32.const 0
i32.const 16
@ -519,7 +516,7 @@
call $~lib/arraybuffer/ArrayBuffer#constructor
i32.store
local.get $0
global.get $~lib/map/INITIAL_CAPACITY
i32.const 4
i32.const 1
i32.sub
i32.store offset=4
@ -530,7 +527,7 @@
call $~lib/arraybuffer/ArrayBuffer#constructor
i32.store offset=8
local.get $0
global.get $~lib/map/INITIAL_CAPACITY
i32.const 4
i32.store offset=12
local.get $0
i32.const 0
@ -539,7 +536,7 @@
i32.const 0
i32.store offset=20
)
(func $~lib/map/Map<String,usize>#constructor (; 9 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/map/Map<String,usize>#constructor (; 10 ;) (type $ii) (param $0 i32) (result i32)
block (result i32)
local.get $0
i32.eqz
@ -571,7 +568,7 @@
call $~lib/map/Map<String,usize>#clear
local.get $0
)
(func $~lib/map/Map<usize,String>#clear (; 10 ;) (type $i_) (param $0 i32)
(func $~lib/map/Map<usize,String>#clear (; 11 ;) (type $i_) (param $0 i32)
local.get $0
i32.const 0
i32.const 16
@ -579,7 +576,7 @@
call $~lib/arraybuffer/ArrayBuffer#constructor
i32.store
local.get $0
global.get $~lib/map/INITIAL_CAPACITY
i32.const 4
i32.const 1
i32.sub
i32.store offset=4
@ -590,7 +587,7 @@
call $~lib/arraybuffer/ArrayBuffer#constructor
i32.store offset=8
local.get $0
global.get $~lib/map/INITIAL_CAPACITY
i32.const 4
i32.store offset=12
local.get $0
i32.const 0
@ -599,7 +596,7 @@
i32.const 0
i32.store offset=20
)
(func $~lib/map/Map<usize,String>#constructor (; 11 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/map/Map<usize,String>#constructor (; 12 ;) (type $ii) (param $0 i32) (result i32)
block (result i32)
local.get $0
i32.eqz
@ -631,11 +628,11 @@
call $~lib/map/Map<usize,String>#clear
local.get $0
)
(func $~lib/internal/hash/hashStr (; 12 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/hash/hashStr (; 13 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
global.get $~lib/internal/hash/FNV_OFFSET
i32.const -2128831035
local.set $1
block $break|0
block
@ -659,7 +656,7 @@
i32.add
i32.load8_u offset=4
i32.xor
global.get $~lib/internal/hash/FNV_PRIME
i32.const 16777619
i32.mul
local.set $1
local.get $2
@ -673,7 +670,7 @@
end
local.get $1
)
(func $~lib/internal/string/compareUnsafe (; 13 ;) (type $iiiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32)
(func $~lib/internal/string/compareUnsafe (; 14 ;) (type $iiiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
@ -726,7 +723,7 @@
end
local.get $5
)
(func $~lib/string/String.__eq (; 14 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__eq (; 15 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
local.get $0
@ -770,7 +767,7 @@
call $~lib/internal/string/compareUnsafe
i32.eqz
)
(func $~lib/map/Map<String,usize>#find (; 15 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/map/Map<String,usize>#find (; 16 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
local.get $0
@ -779,7 +776,7 @@
local.get $0
i32.load offset=4
i32.and
global.get $~lib/map/BUCKET_SIZE
i32.const 4
i32.mul
i32.add
i32.load offset=8
@ -791,7 +788,7 @@
block
local.get $3
i32.load offset=8
global.get $~lib/map/EMPTY
i32.const 1
i32.and
i32.eqz
local.tee $4
@ -809,7 +806,7 @@
end
local.get $3
i32.load offset=8
global.get $~lib/map/EMPTY
i32.const 1
i32.const -1
i32.xor
i32.and
@ -821,7 +818,7 @@
end
i32.const 0
)
(func $~lib/map/Map<String,usize>#has (; 16 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<String,usize>#has (; 17 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $0
local.get $1
@ -836,7 +833,7 @@
i32.const 0
i32.ne
)
(func $~lib/map/Map<String,usize>#get (; 17 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<String,usize>#get (; 18 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
local.get $0
@ -858,7 +855,7 @@
unreachable
end
)
(func $~lib/map/Map<String,usize>#rehash (; 18 ;) (type $ii_) (param $0 i32) (param $1 i32)
(func $~lib/map/Map<String,usize>#rehash (; 19 ;) (type $ii_) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -876,14 +873,14 @@
local.set $2
i32.const 0
local.get $2
global.get $~lib/map/BUCKET_SIZE
i32.const 4
i32.mul
i32.const 0
call $~lib/arraybuffer/ArrayBuffer#constructor
local.set $3
local.get $2
f64.convert_i32_s
global.get $~lib/map/FILL_FACTOR
f64.const 2.6666666666666665
f64.mul
i32.trunc_f64_s
local.set $4
@ -898,7 +895,7 @@
local.set $5
local.get $0
i32.load offset=8
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.const 8
i32.add
local.set $6
local.get $6
@ -911,7 +908,7 @@
i32.add
local.set $7
local.get $5
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.const 8
i32.add
local.set $8
block $break|0
@ -925,7 +922,7 @@
local.set $9
local.get $9
i32.load offset=8
global.get $~lib/map/EMPTY
i32.const 1
i32.and
i32.eqz
if
@ -952,7 +949,7 @@
local.set $11
local.get $3
local.get $11
global.get $~lib/map/BUCKET_SIZE
i32.const 4
i32.mul
i32.add
local.set $12
@ -998,7 +995,7 @@
i32.load offset=20
i32.store offset=16
)
(func $~lib/map/Map<String,usize>#set (; 19 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/map/Map<String,usize>#set (; 20 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -1034,7 +1031,7 @@
local.get $0
i32.load offset=12
f64.convert_i32_s
global.get $~lib/map/FREE_FACTOR
f64.const 0.75
f64.mul
i32.trunc_f64_s
i32.lt_s
@ -1055,7 +1052,7 @@
i32.load offset=8
local.set $3
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.const 8
i32.add
block (result i32)
local.get $0
@ -1091,7 +1088,7 @@
local.get $0
i32.load offset=4
i32.and
global.get $~lib/map/BUCKET_SIZE
i32.const 4
i32.mul
i32.add
local.set $6
@ -1104,16 +1101,16 @@
i32.store offset=8
end
)
(func $~lib/internal/hash/hash32 (; 20 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/hash/hash32 (; 21 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
global.get $~lib/internal/hash/FNV_OFFSET
i32.const -2128831035
local.set $1
local.get $1
local.get $0
i32.const 255
i32.and
i32.xor
global.get $~lib/internal/hash/FNV_PRIME
i32.const 16777619
i32.mul
local.set $1
local.get $1
@ -1123,7 +1120,7 @@
i32.const 255
i32.and
i32.xor
global.get $~lib/internal/hash/FNV_PRIME
i32.const 16777619
i32.mul
local.set $1
local.get $1
@ -1133,7 +1130,7 @@
i32.const 255
i32.and
i32.xor
global.get $~lib/internal/hash/FNV_PRIME
i32.const 16777619
i32.mul
local.set $1
local.get $1
@ -1141,12 +1138,12 @@
i32.const 24
i32.shr_u
i32.xor
global.get $~lib/internal/hash/FNV_PRIME
i32.const 16777619
i32.mul
local.set $1
local.get $1
)
(func $~lib/map/Map<usize,String>#find (; 21 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/map/Map<usize,String>#find (; 22 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
local.get $0
@ -1155,7 +1152,7 @@
local.get $0
i32.load offset=4
i32.and
global.get $~lib/map/BUCKET_SIZE
i32.const 4
i32.mul
i32.add
i32.load offset=8
@ -1167,7 +1164,7 @@
block
local.get $3
i32.load offset=8
global.get $~lib/map/EMPTY
i32.const 1
i32.and
i32.eqz
local.tee $4
@ -1185,7 +1182,7 @@
end
local.get $3
i32.load offset=8
global.get $~lib/map/EMPTY
i32.const 1
i32.const -1
i32.xor
i32.and
@ -1197,7 +1194,7 @@
end
i32.const 0
)
(func $~lib/map/Map<usize,String>#rehash (; 22 ;) (type $ii_) (param $0 i32) (param $1 i32)
(func $~lib/map/Map<usize,String>#rehash (; 23 ;) (type $ii_) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -1215,14 +1212,14 @@
local.set $2
i32.const 0
local.get $2
global.get $~lib/map/BUCKET_SIZE
i32.const 4
i32.mul
i32.const 0
call $~lib/arraybuffer/ArrayBuffer#constructor
local.set $3
local.get $2
f64.convert_i32_s
global.get $~lib/map/FILL_FACTOR
f64.const 2.6666666666666665
f64.mul
i32.trunc_f64_s
local.set $4
@ -1237,7 +1234,7 @@
local.set $5
local.get $0
i32.load offset=8
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.const 8
i32.add
local.set $6
local.get $6
@ -1250,7 +1247,7 @@
i32.add
local.set $7
local.get $5
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.const 8
i32.add
local.set $8
block $break|0
@ -1264,7 +1261,7 @@
local.set $9
local.get $9
i32.load offset=8
global.get $~lib/map/EMPTY
i32.const 1
i32.and
i32.eqz
if
@ -1291,7 +1288,7 @@
local.set $11
local.get $3
local.get $11
global.get $~lib/map/BUCKET_SIZE
i32.const 4
i32.mul
i32.add
local.set $12
@ -1337,7 +1334,7 @@
i32.load offset=20
i32.store offset=16
)
(func $~lib/map/Map<usize,String>#set (; 23 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/map/Map<usize,String>#set (; 24 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -1373,7 +1370,7 @@
local.get $0
i32.load offset=12
f64.convert_i32_s
global.get $~lib/map/FREE_FACTOR
f64.const 0.75
f64.mul
i32.trunc_f64_s
i32.lt_s
@ -1394,7 +1391,7 @@
i32.load offset=8
local.set $3
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.const 8
i32.add
block (result i32)
local.get $0
@ -1430,7 +1427,7 @@
local.get $0
i32.load offset=4
i32.and
global.get $~lib/map/BUCKET_SIZE
i32.const 4
i32.mul
i32.add
local.set $6
@ -1443,7 +1440,7 @@
i32.store offset=8
end
)
(func $~lib/symbol/Symbol.for (; 24 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/symbol/Symbol.for (; 25 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
global.get $~lib/symbol/stringToId
@ -1490,7 +1487,7 @@
call $~lib/map/Map<usize,String>#set
local.get $2
)
(func $~lib/map/Map<usize,String>#has (; 25 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<usize,String>#has (; 26 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $0
local.get $1
@ -1505,7 +1502,7 @@
i32.const 0
i32.ne
)
(func $~lib/map/Map<usize,String>#get (; 26 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<usize,String>#get (; 27 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
local.get $0
@ -1527,7 +1524,7 @@
unreachable
end
)
(func $~lib/symbol/Symbol.keyFor (; 27 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/symbol/Symbol.keyFor (; 28 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
global.get $~lib/symbol/idToString
i32.const 0
@ -1548,7 +1545,7 @@
i32.const 0
end
)
(func $~lib/internal/string/allocateUnsafe (; 28 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/string/allocateUnsafe (; 29 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
local.get $0
@ -1557,7 +1554,7 @@
local.tee $1
if (result i32)
local.get $0
global.get $~lib/internal/string/MAX_LENGTH
i32.const 536870910
i32.le_s
else
local.get $1
@ -1572,7 +1569,7 @@
unreachable
end
block $~lib/memory/memory.allocate|inlined.1 (result i32)
global.get $~lib/internal/string/HEADER_SIZE
i32.const 4
local.get $0
i32.const 1
i32.shl
@ -1588,7 +1585,7 @@
i32.store
local.get $2
)
(func $~lib/internal/memory/memcpy (; 29 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/internal/memory/memcpy (; 30 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -2789,7 +2786,7 @@
i32.store8
end
)
(func $~lib/internal/memory/memmove (; 30 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/internal/memory/memmove (; 31 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
local.get $0
local.get $1
@ -3016,7 +3013,7 @@
end
end
)
(func $~lib/internal/string/copyUnsafe (; 31 ;) (type $iiiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32)
(func $~lib/internal/string/copyUnsafe (; 32 ;) (type $iiiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
@ -3025,7 +3022,7 @@
i32.const 1
i32.shl
i32.add
global.get $~lib/internal/string/HEADER_SIZE
i32.const 4
i32.add
local.set $5
local.get $2
@ -3033,7 +3030,7 @@
i32.const 1
i32.shl
i32.add
global.get $~lib/internal/string/HEADER_SIZE
i32.const 4
i32.add
local.set $6
local.get $4
@ -3045,7 +3042,7 @@
local.get $7
call $~lib/internal/memory/memmove
)
(func $~lib/string/String#concat (; 32 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String#concat (; 33 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -3103,7 +3100,7 @@
call $~lib/internal/string/copyUnsafe
local.get $5
)
(func $~lib/string/String.__concat (; 33 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__concat (; 34 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0
i32.eqz
if
@ -3114,7 +3111,7 @@
local.get $1
call $~lib/string/String#concat
)
(func $~lib/symbol/symbol#toString (; 34 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/symbol/symbol#toString (; 35 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -3300,17 +3297,8 @@
i32.const 592
call $~lib/string/String.__concat
)
(func $start (; 35 ;) (type $_)
global.get $HEAP_BASE
global.get $~lib/internal/allocator/AL_MASK
i32.add
global.get $~lib/internal/allocator/AL_MASK
i32.const -1
i32.xor
i32.and
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
global.set $~lib/allocator/arena/offset
(func $start:std/symbol (; 36 ;) (type $_)
call $start:~lib/allocator/arena
i32.const 8
call $~lib/symbol/Symbol
global.set $std/symbol/sym1
@ -3469,6 +3457,9 @@
global.get $~lib/symbol/Symbol.isConcatSpreadable
drop
)
(func $null (; 36 ;) (type $_)
(func $start (; 37 ;) (type $_)
call $start:std/symbol
)
(func $null (; 38 ;) (type $_)
)
)

View File

@ -13,20 +13,11 @@
(data (i32.const 192) "\08\00\00\00f\00i\00v\00e\00_\00d\00b\00l")
(table $0 1 funcref)
(elem (i32.const 0) $null)
(global $~started (mut i32) (i32.const 0))
(global $~lib/started (mut i32) (i32.const 0))
(export "memory" (memory $0))
(export "table" (table $0))
(export "main" (func $std/trace/main))
(func $std/trace/main (; 1 ;) (type $_)
global.get $~started
i32.eqz
if
call $start
i32.const 1
global.set $~started
end
)
(func $start (; 2 ;) (type $_)
(func $start:std/trace (; 1 ;) (type $_)
i32.const 8
i32.const 0
f64.const 0
@ -92,6 +83,15 @@
f64.const 5.5
call $~lib/env/trace
)
(func $std/trace/main (; 2 ;) (type $_)
global.get $~lib/started
i32.eqz
if
call $start:std/trace
i32.const 1
global.set $~lib/started
end
)
(func $null (; 3 ;) (type $_)
nop
)

View File

@ -7,4 +7,5 @@ trace("four_int", 4, 1, 2, 3, 4);
trace("five_int", 5, 1, 2, 3, 4, 5);
trace("five_dbl", 5, 1.1, 2.2, 3.3, 4.4, 5.5);
@start
export function main(): void {}

View File

@ -13,21 +13,12 @@
(data (i32.const 192) "\08\00\00\00f\00i\00v\00e\00_\00d\00b\00l\00")
(table $0 1 funcref)
(elem (i32.const 0) $null)
(global $~started (mut i32) (i32.const 0))
(global $HEAP_BASE i32 (i32.const 212))
(global $~lib/started (mut i32) (i32.const 0))
(global $~lib/memory/HEAP_BASE i32 (i32.const 212))
(export "memory" (memory $0))
(export "table" (table $0))
(export "main" (func $std/trace/main))
(func $std/trace/main (; 1 ;) (type $_)
global.get $~started
i32.eqz
if
call $start
i32.const 1
global.set $~started
end
)
(func $start (; 2 ;) (type $_)
(func $start:std/trace (; 1 ;) (type $_)
i32.const 8
i32.const 0
f64.const 0
@ -93,6 +84,18 @@
f64.const 5.5
call $~lib/env/trace
)
(func $null (; 3 ;) (type $_)
(func $std/trace/main (; 2 ;) (type $_)
global.get $~lib/started
i32.eqz
if
call $start
i32.const 1
global.set $~lib/started
end
)
(func $start (; 3 ;) (type $_)
call $start:std/trace
)
(func $null (; 4 ;) (type $_)
)
)

View File

@ -1,5 +1,6 @@
(module
(type $iiii_ (func (param i32 i32 i32 i32)))
(type $_ (func))
(type $i_ (func (param i32)))
(type $iii (func (param i32 i32) (result i32)))
(type $ii (func (param i32) (result i32)))
@ -9,7 +10,6 @@
(type $FFi (func (param f64 f64) (result i32)))
(type $iiF (func (param i32 i32) (result f64)))
(type $iiiii (func (param i32 i32 i32 i32) (result i32)))
(type $_ (func))
(type $iiI_ (func (param i32 i32 i64)))
(type $IIiiI (func (param i64 i64 i32 i32) (result i64)))
(type $iif_ (func (param i32 i32 f32)))
@ -71,7 +71,7 @@
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
(global $std/typedarray/arr (mut i32) (i32.const 0))
(global $std/typedarray/af64 (mut i32) (i32.const 0))
(global $~argc (mut i32) (i32.const 0))
(global $~lib/argc (mut i32) (i32.const 0))
(global $std/typedarray/clampedArr (mut i32) (i32.const 0))
(global $std/typedarray/arr8 (mut i32) (i32.const 0))
(global $std/typedarray/sub8 (mut i32) (i32.const 0))
@ -1314,7 +1314,7 @@
f64.load offset=8
local.set $7
i32.const 2
global.set $~argc
global.set $~lib/argc
local.get $6
local.get $7
local.get $3
@ -1445,7 +1445,7 @@
f64.load offset=8
local.set $6
i32.const 2
global.set $~argc
global.set $~lib/argc
local.get $7
local.get $6
local.get $3
@ -1575,7 +1575,7 @@
f64.load offset=8
local.set $7
i32.const 2
global.set $~argc
global.set $~lib/argc
local.get $6
local.get $7
local.get $3
@ -1690,7 +1690,7 @@
f64.load offset=8
local.set $7
i32.const 2
global.set $~argc
global.set $~lib/argc
local.get $6
local.get $7
local.get $4
@ -2017,7 +2017,7 @@
block $1of2
block $0of2
block $outOfRange
global.get $~argc
global.get $~lib/argc
i32.const 1
i32.sub
br_table $0of2 $1of2 $2of2 $outOfRange
@ -2252,7 +2252,7 @@
block $1of2
block $0of2
block $outOfRange
global.get $~argc
global.get $~lib/argc
i32.const 1
i32.sub
br_table $0of2 $1of2 $2of2 $outOfRange
@ -2297,7 +2297,7 @@
i32.lt_s
if
i32.const 4
global.set $~argc
global.set $~lib/argc
local.get $2
local.get $1
local.get $4
@ -2372,7 +2372,7 @@
i32.lt_s
if
i32.const 4
global.set $~argc
global.set $~lib/argc
local.get $3
local.get $2
local.get $5
@ -2509,7 +2509,7 @@
i32.lt_s
if
i32.const 4
global.set $~argc
global.set $~lib/argc
local.get $2
local.get $1
i32.const 1
@ -2587,7 +2587,7 @@
i32.lt_s
if
i32.const 4
global.set $~argc
global.set $~lib/argc
local.get $2
local.get $1
i32.const 1
@ -2665,7 +2665,7 @@
i32.lt_s
if
i32.const 4
global.set $~argc
global.set $~lib/argc
local.get $3
local.get $2
i32.const 2
@ -2804,7 +2804,7 @@
i32.lt_s
if
i32.const 4
global.set $~argc
global.set $~lib/argc
local.get $3
local.get $2
i32.const 3
@ -2943,7 +2943,7 @@
i32.lt_s
if
i32.const 4
global.set $~argc
global.set $~lib/argc
local.get $2
local.get $1
i32.const 2
@ -3024,7 +3024,7 @@
i32.lt_s
if
i32.const 4
global.set $~argc
global.set $~lib/argc
local.get $2
local.get $1
i32.const 3
@ -3099,7 +3099,7 @@
i32.ge_s
if
i32.const 4
global.set $~argc
global.set $~lib/argc
local.get $2
local.get $1
local.get $3
@ -3175,7 +3175,7 @@
i32.ge_s
if
i32.const 4
global.set $~argc
global.set $~lib/argc
local.get $3
local.get $2
local.get $4
@ -3286,7 +3286,7 @@
i32.ge_s
if
i32.const 4
global.set $~argc
global.set $~lib/argc
local.get $2
local.get $1
i32.const 1
@ -3365,7 +3365,7 @@
i32.ge_s
if
i32.const 4
global.set $~argc
global.set $~lib/argc
local.get $2
local.get $1
i32.const 1
@ -3444,7 +3444,7 @@
i32.ge_s
if
i32.const 4
global.set $~argc
global.set $~lib/argc
local.get $3
local.get $2
i32.const 2
@ -3552,7 +3552,7 @@
i32.ge_s
if
i32.const 4
global.set $~argc
global.set $~lib/argc
local.get $3
local.get $2
i32.const 3
@ -3660,7 +3660,7 @@
i32.ge_s
if
i32.const 4
global.set $~argc
global.set $~lib/argc
local.get $2
local.get $1
i32.const 2
@ -3737,7 +3737,7 @@
i32.ge_s
if
i32.const 4
global.set $~argc
global.set $~lib/argc
local.get $2
local.get $1
i32.const 3
@ -3822,7 +3822,7 @@
i32.lt_s
if
i32.const 3
global.set $~argc
global.set $~lib/argc
local.get $1
local.get $6
i32.add
@ -3938,7 +3938,7 @@
i32.lt_s
if
i32.const 3
global.set $~argc
global.set $~lib/argc
local.get $1
local.get $6
i32.add
@ -4053,7 +4053,7 @@
i32.lt_s
if
i32.const 3
global.set $~argc
global.set $~lib/argc
local.get $1
local.get $6
i32.add
@ -4170,7 +4170,7 @@
i32.lt_s
if
i32.const 3
global.set $~argc
global.set $~lib/argc
local.get $1
i32.const 1
i32.shl
@ -4316,7 +4316,7 @@
i32.lt_s
if
i32.const 3
global.set $~argc
global.set $~lib/argc
local.get $1
i32.const 1
i32.shl
@ -4462,7 +4462,7 @@
i32.ge_s
br_if $break|0
i32.const 3
global.set $~argc
global.set $~lib/argc
local.get $7
local.get $2
i32.const 2
@ -4642,7 +4642,7 @@
i32.ge_s
br_if $break|0
i32.const 3
global.set $~argc
global.set $~lib/argc
local.get $7
local.get $2
i32.const 3
@ -4848,7 +4848,7 @@
i32.lt_s
if
i32.const 3
global.set $~argc
global.set $~lib/argc
local.get $1
i32.const 2
i32.shl
@ -4993,7 +4993,7 @@
i32.lt_s
if
i32.const 3
global.set $~argc
global.set $~lib/argc
local.get $1
i32.const 3
i32.shl
@ -5107,7 +5107,7 @@
i32.ge_s
br_if $break|0
i32.const 3
global.set $~argc
global.set $~lib/argc
i32.const 1
local.get $2
local.get $4
@ -5200,7 +5200,7 @@
i32.ge_s
br_if $break|0
i32.const 3
global.set $~argc
global.set $~lib/argc
i32.const 1
local.get $2
local.get $4
@ -5336,7 +5336,7 @@
i32.ge_s
br_if $break|0
i32.const 3
global.set $~argc
global.set $~lib/argc
i32.const 1
local.get $2
i32.const 1
@ -5432,7 +5432,7 @@
i32.ge_s
br_if $break|0
i32.const 3
global.set $~argc
global.set $~lib/argc
i32.const 1
local.get $2
i32.const 1
@ -5527,7 +5527,7 @@
i32.ge_s
br_if $break|0
i32.const 3
global.set $~argc
global.set $~lib/argc
i32.const 1
local.get $2
i32.const 2
@ -5666,7 +5666,7 @@
i32.ge_s
br_if $break|0
i32.const 3
global.set $~argc
global.set $~lib/argc
i32.const 1
local.get $2
i32.const 3
@ -5806,7 +5806,7 @@
i32.ge_s
br_if $break|0
i32.const 3
global.set $~argc
global.set $~lib/argc
i32.const 1
local.get $2
i32.const 2
@ -5906,7 +5906,7 @@
i32.ge_s
br_if $break|0
i32.const 3
global.set $~argc
global.set $~lib/argc
i32.const 1
local.get $2
i32.const 3
@ -6002,7 +6002,7 @@
i32.ge_s
br_if $break|0
i32.const 3
global.set $~argc
global.set $~lib/argc
local.get $0
local.get $4
i32.add
@ -6102,7 +6102,7 @@
i32.ge_s
br_if $break|0
i32.const 3
global.set $~argc
global.set $~lib/argc
local.get $0
local.get $4
i32.add
@ -6240,7 +6240,7 @@
i32.ge_s
br_if $break|0
i32.const 3
global.set $~argc
global.set $~lib/argc
local.get $0
i32.const 1
i32.shl
@ -6343,7 +6343,7 @@
i32.ge_s
br_if $break|0
i32.const 3
global.set $~argc
global.set $~lib/argc
local.get $0
i32.const 1
i32.shl
@ -6439,7 +6439,7 @@
i32.ge_s
br_if $break|0
i32.const 3
global.set $~argc
global.set $~lib/argc
local.get $0
i32.const 2
i32.shl
@ -6583,7 +6583,7 @@
i32.ge_s
br_if $break|0
i32.const 3
global.set $~argc
global.set $~lib/argc
local.get $0
i32.const 3
i32.shl
@ -6727,7 +6727,7 @@
i32.ge_s
br_if $break|0
i32.const 3
global.set $~argc
global.set $~lib/argc
local.get $0
i32.const 2
i32.shl
@ -6828,7 +6828,7 @@
i32.ge_s
br_if $break|0
i32.const 3
global.set $~argc
global.set $~lib/argc
local.get $0
i32.const 3
i32.shl
@ -6934,7 +6934,7 @@
i32.ge_s
br_if $break|0
i32.const 3
global.set $~argc
global.set $~lib/argc
local.get $2
local.get $4
i32.add
@ -7029,7 +7029,7 @@
i32.ge_s
br_if $break|0
i32.const 3
global.set $~argc
global.set $~lib/argc
local.get $2
local.get $4
i32.add
@ -7170,7 +7170,7 @@
i32.ge_s
br_if $break|0
i32.const 3
global.set $~argc
global.set $~lib/argc
local.get $2
i32.const 1
i32.shl
@ -7262,7 +7262,7 @@
i32.ge_s
br_if $break|0
i32.const 3
global.set $~argc
global.set $~lib/argc
local.get $2
i32.const 1
i32.shl
@ -7360,7 +7360,7 @@
i32.ge_s
br_if $break|0
i32.const 3
global.set $~argc
global.set $~lib/argc
local.get $2
i32.const 2
i32.shl
@ -7499,7 +7499,7 @@
i32.ge_s
br_if $break|0
i32.const 3
global.set $~argc
global.set $~lib/argc
local.get $2
i32.const 3
i32.shl
@ -7795,7 +7795,7 @@
i32.ge_s
br_if $break|0
i32.const 3
global.set $~argc
global.set $~lib/argc
local.get $2
i32.const 2
i32.shl
@ -8052,7 +8052,7 @@
i32.ge_s
br_if $break|0
i32.const 3
global.set $~argc
global.set $~lib/argc
local.get $2
i32.const 3
i32.shl
@ -8120,7 +8120,7 @@
unreachable
end
)
(func $start (; 193 ;) (type $_)
(func $start:std/typedarray (; 193 ;) (type $_)
(local $0 i32)
(local $1 i32)
i32.const 624
@ -8353,13 +8353,13 @@
unreachable
end
i32.const 0
global.set $~argc
global.set $~lib/argc
global.get $std/typedarray/af64
local.set $1
block $1of1
block $0of1
block $outOfRange
global.get $~argc
global.get $~lib/argc
br_table $0of1 $1of1 $outOfRange
end
unreachable
@ -8518,7 +8518,7 @@
unreachable
end
i32.const 1
global.set $~argc
global.set $~lib/argc
global.get $std/typedarray/arr8
i32.const 0
i32.const 0
@ -8555,7 +8555,7 @@
unreachable
end
i32.const 2
global.set $~argc
global.set $~lib/argc
global.get $std/typedarray/arr8
i32.const 2
i32.const -2
@ -8596,7 +8596,7 @@
call $~lib/typedarray/Int8Array#subarray
global.set $std/typedarray/sub8
i32.const 1
global.set $~argc
global.set $~lib/argc
global.get $std/typedarray/sub8
i32.const 0
i32.const 0
@ -8704,7 +8704,7 @@
unreachable
end
i32.const 1
global.set $~argc
global.set $~lib/argc
global.get $std/typedarray/arr32
i32.const 0
i32.const 0
@ -8741,7 +8741,7 @@
unreachable
end
i32.const 2
global.set $~argc
global.set $~lib/argc
global.get $std/typedarray/arr32
i32.const 2
i32.const -2
@ -8782,7 +8782,7 @@
call $~lib/typedarray/Int32Array#subarray
global.set $std/typedarray/sub32
i32.const 1
global.set $~argc
global.set $~lib/argc
global.get $std/typedarray/sub32
i32.const 0
i32.const 0
@ -9113,7 +9113,10 @@
call $std/typedarray/testArrayEvery<Float32Array,f32>
call $std/typedarray/testArrayEvery<Float64Array,f64>
)
(func $null (; 194 ;) (type $_)
(func $start (; 194 ;) (type $_)
call $start:std/typedarray
)
(func $null (; 195 ;) (type $_)
nop
)
)

File diff suppressed because it is too large Load Diff