use gc interface directly, document

This commit is contained in:
dcode
2019-03-26 23:35:08 +01:00
parent 7c0dc66849
commit 3146f8f9e0
95 changed files with 17360 additions and 13504 deletions

View File

@ -115,7 +115,7 @@
global.set $~lib/allocator/arena/offset
local.get $1
)
(func $~lib/runtime/doAllocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/runtime/allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
i32.const 1
i32.const 32
@ -136,44 +136,40 @@
i32.const 8
i32.add
)
(func $~lib/runtime/assertUnregistered (; 3 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/runtime/register (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $0
i32.const 700
i32.le_u
if
i32.const 0
i32.const 72
i32.const 313
i32.const 2
i32.const 161
i32.const 4
call $~lib/env/abort
unreachable
end
local.get $0
i32.const 8
i32.sub
local.tee $2
i32.load
i32.const -1520547049
i32.ne
if
i32.const 0
i32.const 72
i32.const 314
i32.const 2
i32.const 163
i32.const 4
call $~lib/env/abort
unreachable
end
)
(func $~lib/runtime/doRegister (; 4 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0
call $~lib/runtime/assertUnregistered
local.get $0
i32.const 8
i32.sub
local.get $2
local.get $1
i32.store
local.get $0
)
(func $~lib/memory/memory.fill (; 5 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/memory/memory.fill (; 4 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
block $~lib/util/memory/memset|inlined.0
local.get $1
@ -384,7 +380,7 @@
end
end
)
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
local.get $0
i32.const 1073741816
@ -398,15 +394,15 @@
unreachable
end
local.get $0
call $~lib/runtime/doAllocate
call $~lib/runtime/allocate
local.tee $1
local.get $0
call $~lib/memory/memory.fill
local.get $1
i32.const 3
call $~lib/runtime/doRegister
call $~lib/runtime/register
)
(func $~lib/map/Map<String,usize>#clear (; 7 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/map/Map<String,usize>#clear (; 6 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0
i32.const 16
call $~lib/arraybuffer/ArrayBuffer#constructor
@ -428,12 +424,12 @@
i32.const 0
i32.store offset=20
)
(func $~lib/map/Map<String,usize>#constructor (; 8 ;) (type $FUNCSIG$i) (result i32)
(func $~lib/map/Map<String,usize>#constructor (; 7 ;) (type $FUNCSIG$i) (result i32)
(local $0 i32)
i32.const 24
call $~lib/runtime/doAllocate
call $~lib/runtime/allocate
i32.const 2
call $~lib/runtime/doRegister
call $~lib/runtime/register
local.tee $0
i32.const 0
i32.store
@ -456,12 +452,12 @@
call $~lib/map/Map<String,usize>#clear
local.get $0
)
(func $~lib/map/Map<usize,String>#constructor (; 9 ;) (type $FUNCSIG$i) (result i32)
(func $~lib/map/Map<usize,String>#constructor (; 8 ;) (type $FUNCSIG$i) (result i32)
(local $0 i32)
i32.const 24
call $~lib/runtime/doAllocate
call $~lib/runtime/allocate
i32.const 4
call $~lib/runtime/doRegister
call $~lib/runtime/register
local.tee $0
i32.const 0
i32.store
@ -484,7 +480,7 @@
call $~lib/map/Map<String,usize>#clear
local.get $0
)
(func $~lib/util/hash/hashStr (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/util/hash/hashStr (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -528,7 +524,7 @@
end
local.get $1
)
(func $~lib/util/string/compareImpl (; 11 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/util/string/compareImpl (; 10 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
loop $continue|0
local.get $2
@ -561,7 +557,7 @@
end
local.get $3
)
(func $~lib/string/String.__eq (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__eq (; 11 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $0
local.get $1
@ -607,7 +603,7 @@
call $~lib/util/string/compareImpl
i32.eqz
)
(func $~lib/map/Map<String,usize>#find (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<String,usize>#find (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0
i32.load
local.get $0
@ -650,7 +646,7 @@
end
i32.const 0
)
(func $~lib/map/Map<String,usize>#rehash (; 14 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/map/Map<String,usize>#rehash (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -751,7 +747,7 @@
i32.load offset=20
i32.store offset=16
)
(func $~lib/map/Map<String,usize>#set (; 15 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/map/Map<String,usize>#set (; 14 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -840,7 +836,7 @@
i32.store
end
)
(func $~lib/util/hash/hash32 (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/util/hash/hash32 (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.const 255
i32.and
@ -871,7 +867,7 @@
i32.const 16777619
i32.mul
)
(func $~lib/map/Map<usize,String>#find (; 17 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/map/Map<usize,String>#find (; 16 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $0
i32.load
local.get $0
@ -914,7 +910,7 @@
end
i32.const 0
)
(func $~lib/map/Map<usize,String>#rehash (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/map/Map<usize,String>#rehash (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -1015,7 +1011,7 @@
i32.load offset=20
i32.store offset=16
)
(func $~lib/map/Map<usize,String>#set (; 19 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/map/Map<usize,String>#set (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -1105,7 +1101,7 @@
i32.store
end
)
(func $~lib/symbol/_Symbol.for (; 20 ;) (type $FUNCSIG$i) (result i32)
(func $~lib/symbol/_Symbol.for (; 19 ;) (type $FUNCSIG$i) (result i32)
(local $0 i32)
global.get $~lib/symbol/stringToId
if
@ -1151,7 +1147,7 @@
call $~lib/map/Map<usize,String>#set
local.get $0
)
(func $~lib/map/Map<usize,String>#has (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<usize,String>#has (; 20 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0
local.get $1
local.get $1
@ -1160,7 +1156,7 @@
i32.const 0
i32.ne
)
(func $~lib/map/Map<usize,String>#get (; 22 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<usize,String>#get (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0
local.get $1
local.get $1
@ -1174,7 +1170,7 @@
unreachable
end
)
(func $~lib/symbol/_Symbol.keyFor (; 23 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/symbol/_Symbol.keyFor (; 22 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
global.get $~lib/symbol/idToString
i32.const 0
@ -1195,7 +1191,7 @@
i32.const 0
end
)
(func $~lib/util/memory/memcpy (; 24 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/util/memory/memcpy (; 23 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -2092,7 +2088,7 @@
i32.store8
end
)
(func $~lib/memory/memory.copy (; 25 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memory.copy (; 24 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
block $~lib/util/memory/memmove|inlined.0
@ -2286,7 +2282,7 @@
end
end
)
(func $~lib/string/String#concat (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String#concat (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -2320,7 +2316,7 @@
return
end
local.get $2
call $~lib/runtime/doAllocate
call $~lib/runtime/allocate
local.tee $2
local.get $0
local.get $3
@ -2333,9 +2329,9 @@
call $~lib/memory/memory.copy
local.get $2
i32.const 1
call $~lib/runtime/doRegister
call $~lib/runtime/register
)
(func $~lib/string/String.__concat (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__concat (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0
i32.const 512
local.get $0
@ -2343,7 +2339,7 @@
local.get $1
call $~lib/string/String#concat
)
(func $~lib/symbol/_Symbol#toString (; 28 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/symbol/_Symbol#toString (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
i32.const 160
@ -2427,7 +2423,7 @@
i32.const 528
call $~lib/string/String.__concat
)
(func $start:std/symbol (; 29 ;) (type $FUNCSIG$v)
(func $start:std/symbol (; 28 ;) (type $FUNCSIG$v)
(local $0 i32)
global.get $~lib/symbol/nextId
local.tee $0
@ -2509,9 +2505,21 @@
end
global.get $std/symbol/sym3
call $~lib/symbol/_Symbol.keyFor
local.tee $0
i32.eqz
if
unreachable
end
local.get $0
global.set $std/symbol/key3
global.get $std/symbol/sym4
call $~lib/symbol/_Symbol.keyFor
local.tee $0
i32.eqz
if
unreachable
end
local.get $0
global.set $std/symbol/key4
global.get $std/symbol/key3
i32.const 16
@ -2604,10 +2612,10 @@
unreachable
end
)
(func $start (; 30 ;) (type $FUNCSIG$v)
(func $start (; 29 ;) (type $FUNCSIG$v)
call $start:std/symbol
)
(func $null (; 31 ;) (type $FUNCSIG$v)
(func $null (; 30 ;) (type $FUNCSIG$v)
nop
)
)