This commit is contained in:
dcode
2019-05-23 03:08:25 +02:00
parent d94b4fca50
commit 51fdf9db4f
182 changed files with 81381 additions and 95410 deletions

View File

@ -3,45 +3,24 @@
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$viii (func (param i32 i32 i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$v (func))
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
(import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32)))
(memory $0 1)
(data (i32.const 8) "\10\00\00\00\0c")
(data (i32.const 24) "\01\d87\dch\00i\00R\d8b\df")
(data (i32.const 40) "\10\00\00\00$")
(data (i32.const 56) "s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00-\00u\00t\00f\008\00.\00t\00s")
(data (i32.const 96) "\10")
(data (i32.const 112) "\10\00\00\00\1c")
(data (i32.const 128) "~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s")
(data (i32.const 160) "\10\00\00\00(")
(data (i32.const 176) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s")
(data (i32.const 216) "\10\00\00\00\04")
(data (i32.const 232) "\01\d87\dc")
(data (i32.const 240) "\10\00\00\00\04")
(data (i32.const 256) "h\00i")
(data (i32.const 264) "\10\00\00\00\04")
(data (i32.const 280) "R\d8b\df")
(data (i32.const 288) "\10\00\00\00\02")
(data (i32.const 312) "\10\00\00\00\1e")
(data (i32.const 328) "~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s")
(data (i32.const 360) "\11\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00I\00\00\00\0e")
(global $std/string-utf8/str (mut i32) (i32.const 24))
(data (i32.const 8) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00\01\d87\dch\00i\00R\d8b\df")
(data (i32.const 40) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00-\00u\00t\00f\008\00.\00t\00s")
(data (i32.const 100) "\01\00\00\00\01")
(data (i32.const 112) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s")
(data (i32.const 160) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\01\d87\dc")
(data (i32.const 184) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00h\00i")
(data (i32.const 208) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00R\d8b\df")
(data (i32.const 232) "\02\00\00\00\01\00\00\00\01\00\00\00\02")
(global $std/string-utf8/str i32 (i32.const 24))
(global $std/string-utf8/len (mut i32) (i32.const 0))
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
(global $~lib/rt/stub/startOffset (mut i32) (i32.const 0))
(global $~lib/rt/stub/offset (mut i32) (i32.const 0))
(global $std/string-utf8/ptr (mut i32) (i32.const 0))
(export "memory" (memory $0))
(export "$.instanceof" (func $~lib/runtime/runtime.instanceof))
(export "$.flags" (func $~lib/runtime/runtime.flags))
(export "$.newObject" (func $~lib/runtime/runtime.newObject))
(export "$.newString" (func $~lib/runtime/runtime.newString))
(export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer))
(export "$.newArray" (func $~lib/runtime/runtime.newArray))
(export "$.retain" (func $~lib/allocator/arena/__mem_free))
(export "$.release" (func $~lib/allocator/arena/__mem_free))
(export "$.collect" (func $~lib/runtime/runtime.collect))
(start $start)
(func $~lib/string/String#get:lengthUTF8 (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
@ -53,7 +32,7 @@
local.get $0
i32.const 16
i32.sub
i32.load offset=4
i32.load offset=12
i32.const 1
i32.shr_u
local.set $3
@ -145,18 +124,21 @@
end
local.get $1
)
(func $~lib/allocator/arena/__mem_allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
(func $~lib/rt/stub/__alloc (; 2 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
local.get $0
i32.const 1073741824
i32.const 1073741808
i32.gt_u
if
unreachable
end
global.get $~lib/allocator/arena/offset
local.tee $1
global.get $~lib/rt/stub/offset
i32.const 16
i32.add
local.tee $3
local.get $0
i32.const 1
local.get $0
@ -164,20 +146,20 @@
i32.gt_u
select
i32.add
i32.const 7
i32.const 15
i32.add
i32.const -8
i32.const -16
i32.and
local.tee $0
current_memory
local.tee $2
current_memory
local.tee $4
i32.const 16
i32.shl
i32.gt_u
if
local.get $4
local.get $2
local.get $0
local.get $1
local.get $3
i32.sub
i32.const 65535
i32.add
@ -185,16 +167,16 @@
i32.and
i32.const 16
i32.shr_u
local.tee $3
local.get $2
local.get $3
local.tee $5
local.get $4
local.get $5
i32.gt_s
select
grow_memory
i32.const 0
i32.lt_s
if
local.get $3
local.get $5
grow_memory
i32.const 0
i32.lt_s
@ -203,9 +185,18 @@
end
end
end
local.get $0
global.set $~lib/allocator/arena/offset
local.get $2
global.set $~lib/rt/stub/offset
local.get $3
i32.const 16
i32.sub
local.tee $2
local.get $1
i32.store offset=8
local.get $2
local.get $0
i32.store offset=12
local.get $3
)
(func $~lib/string/String#toUTF8 (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
@ -217,12 +208,13 @@
(local $7 i32)
local.get $0
call $~lib/string/String#get:lengthUTF8
call $~lib/allocator/arena/__mem_allocate
i32.const 0
call $~lib/rt/stub/__alloc
local.set $5
local.get $0
i32.const 16
i32.sub
i32.load offset=4
i32.load offset=12
i32.const 1
i32.shr_u
local.set $6
@ -403,31 +395,12 @@
i32.store8
local.get $5
)
(func $~lib/util/runtime/allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
i32.const 1
i32.const 32
local.get $0
i32.const 15
i32.add
i32.clz
i32.sub
i32.shl
call $~lib/allocator/arena/__mem_allocate
local.tee $1
i32.const -1520547049
i32.store
local.get $1
local.get $0
i32.store offset=4
local.get $1
i32.const 16
i32.add
)
(func $~lib/memory/memory.copy (; 5 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memory.copy (; 4 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
block $~lib/util/memory/memmove|inlined.0
local.get $2
local.set $3
local.get $0
local.get $1
i32.eq
@ -449,15 +422,15 @@
i32.const 7
i32.and
if
local.get $2
local.get $3
i32.eqz
br_if $~lib/util/memory/memmove|inlined.0
local.get $2
local.get $3
i32.const 1
i32.sub
local.set $2
local.set $3
local.get $0
local.tee $3
local.tee $2
i32.const 1
i32.add
local.set $0
@ -466,7 +439,7 @@
i32.const 1
i32.add
local.set $1
local.get $3
local.get $2
local.get $4
i32.load8_u
i32.store8
@ -474,7 +447,7 @@
end
end
loop $continue|1
local.get $2
local.get $3
i32.const 8
i32.ge_u
if
@ -482,10 +455,10 @@
local.get $1
i64.load
i64.store
local.get $2
local.get $3
i32.const 8
i32.sub
local.set $2
local.set $3
local.get $0
i32.const 8
i32.add
@ -499,10 +472,10 @@
end
end
loop $continue|2
local.get $2
local.get $3
if
local.get $0
local.tee $3
local.tee $2
i32.const 1
i32.add
local.set $0
@ -511,14 +484,14 @@
i32.const 1
i32.add
local.set $1
local.get $3
local.get $2
local.get $4
i32.load8_u
i32.store8
local.get $2
local.get $3
i32.const 1
i32.sub
local.set $2
local.set $3
br $continue|2
end
end
@ -533,22 +506,22 @@
if
loop $continue|3
local.get $0
local.get $2
local.get $3
i32.add
i32.const 7
i32.and
if
local.get $2
local.get $3
i32.eqz
br_if $~lib/util/memory/memmove|inlined.0
local.get $2
local.get $0
local.get $3
i32.const 1
i32.sub
local.tee $2
local.get $0
local.tee $3
i32.add
local.get $1
local.get $2
local.get $3
i32.add
i32.load8_u
i32.store8
@ -556,18 +529,18 @@
end
end
loop $continue|4
local.get $2
local.get $3
i32.const 8
i32.ge_u
if
local.get $2
local.get $0
local.get $3
i32.const 8
i32.sub
local.tee $2
local.get $0
local.tee $3
i32.add
local.get $1
local.get $2
local.get $3
i32.add
i64.load
i64.store
@ -576,16 +549,16 @@
end
end
loop $continue|5
local.get $2
local.get $3
if
local.get $2
local.get $0
local.get $3
i32.const 1
i32.sub
local.tee $2
local.get $0
local.tee $3
i32.add
local.get $1
local.get $2
local.get $3
i32.add
i32.load8_u
i32.store8
@ -595,43 +568,7 @@
end
end
)
(func $~lib/allocator/arena/__mem_free (; 6 ;) (type $FUNCSIG$vi) (param $0 i32)
nop
)
(func $~lib/util/runtime/register (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $0
i32.const 504
i32.le_u
if
i32.const 0
i32.const 176
i32.const 129
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $0
i32.const 16
i32.sub
local.tee $2
i32.load
i32.const -1520547049
i32.ne
if
i32.const 0
i32.const 176
i32.const 131
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $2
local.get $1
i32.store
local.get $0
)
(func $~lib/string/String.fromUTF8 (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.fromUTF8 (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -647,7 +584,8 @@
local.get $1
i32.const 1
i32.shl
call $~lib/allocator/arena/__mem_allocate
i32.const 0
call $~lib/rt/stub/__alloc
local.set $6
loop $continue|0
local.get $2
@ -690,7 +628,7 @@
if
i32.const 0
i32.const 128
i32.const 461
i32.const 450
i32.const 8
call $~lib/builtins/abort
unreachable
@ -734,7 +672,7 @@
if
i32.const 0
i32.const 128
i32.const 465
i32.const 454
i32.const 8
call $~lib/builtins/abort
unreachable
@ -813,7 +751,7 @@
if
i32.const 0
i32.const 128
i32.const 477
i32.const 466
i32.const 8
call $~lib/builtins/abort
unreachable
@ -868,22 +806,21 @@
if
i32.const 0
i32.const 128
i32.const 486
i32.const 475
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $5
call $~lib/util/runtime/allocate
i32.const 1
call $~lib/rt/stub/__alloc
local.tee $0
local.get $6
local.get $5
call $~lib/memory/memory.copy
local.get $0
i32.const 16
call $~lib/util/runtime/register
)
(func $~lib/util/string/compareImpl (; 9 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/util/string/compareImpl (; 6 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
loop $continue|0
local.get $2
@ -916,7 +853,7 @@
end
local.get $3
)
(func $~lib/string/String.__eq (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__eq (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $0
local.get $1
@ -925,40 +862,38 @@
i32.const 1
return
end
local.get $1
i32.eqz
i32.const 1
local.get $0
select
if
i32.const 0
block $folding-inner0
local.get $1
i32.eqz
i32.const 1
local.get $0
select
br_if $folding-inner0
local.get $0
i32.const 16
i32.sub
i32.load offset=12
i32.const 1
i32.shr_u
local.tee $2
local.get $1
i32.const 16
i32.sub
i32.load offset=12
i32.const 1
i32.shr_u
i32.ne
br_if $folding-inner0
local.get $0
local.get $1
local.get $2
call $~lib/util/string/compareImpl
i32.eqz
return
end
local.get $0
i32.const 16
i32.sub
i32.load offset=4
i32.const 1
i32.shr_u
local.tee $2
local.get $1
i32.const 16
i32.sub
i32.load offset=4
i32.const 1
i32.shr_u
i32.ne
if
i32.const 0
return
end
local.get $0
local.get $1
local.get $2
call $~lib/util/string/compareImpl
i32.eqz
i32.const 0
)
(func $start:std/string-utf8 (; 11 ;) (type $FUNCSIG$v)
(func $start:std/string-utf8 (; 8 ;) (type $FUNCSIG$v)
global.get $std/string-utf8/str
call $~lib/string/String#get:lengthUTF8
global.set $std/string-utf8/len
@ -968,15 +903,15 @@
if
i32.const 0
i32.const 56
i32.const 5
i32.const 7
i32.const 0
call $~lib/builtins/abort
unreachable
end
i32.const 504
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
global.set $~lib/allocator/arena/offset
i32.const 256
global.set $~lib/rt/stub/startOffset
global.get $~lib/rt/stub/startOffset
global.set $~lib/rt/stub/offset
global.get $std/string-utf8/str
call $~lib/string/String#toUTF8
global.set $std/string-utf8/ptr
@ -987,7 +922,7 @@
if
i32.const 0
i32.const 56
i32.const 9
i32.const 11
i32.const 0
call $~lib/builtins/abort
unreachable
@ -999,7 +934,7 @@
if
i32.const 0
i32.const 56
i32.const 10
i32.const 12
i32.const 0
call $~lib/builtins/abort
unreachable
@ -1011,7 +946,7 @@
if
i32.const 0
i32.const 56
i32.const 11
i32.const 13
i32.const 0
call $~lib/builtins/abort
unreachable
@ -1023,7 +958,7 @@
if
i32.const 0
i32.const 56
i32.const 12
i32.const 14
i32.const 0
call $~lib/builtins/abort
unreachable
@ -1035,7 +970,7 @@
if
i32.const 0
i32.const 56
i32.const 13
i32.const 15
i32.const 0
call $~lib/builtins/abort
unreachable
@ -1047,7 +982,7 @@
if
i32.const 0
i32.const 56
i32.const 14
i32.const 16
i32.const 0
call $~lib/builtins/abort
unreachable
@ -1059,7 +994,7 @@
if
i32.const 0
i32.const 56
i32.const 15
i32.const 17
i32.const 0
call $~lib/builtins/abort
unreachable
@ -1071,7 +1006,7 @@
if
i32.const 0
i32.const 56
i32.const 16
i32.const 18
i32.const 0
call $~lib/builtins/abort
unreachable
@ -1083,7 +1018,7 @@
if
i32.const 0
i32.const 56
i32.const 17
i32.const 19
i32.const 0
call $~lib/builtins/abort
unreachable
@ -1095,7 +1030,7 @@
if
i32.const 0
i32.const 56
i32.const 18
i32.const 20
i32.const 0
call $~lib/builtins/abort
unreachable
@ -1105,7 +1040,7 @@
if
i32.const 0
i32.const 56
i32.const 19
i32.const 21
i32.const 0
call $~lib/builtins/abort
unreachable
@ -1119,7 +1054,7 @@
if
i32.const 0
i32.const 56
i32.const 21
i32.const 23
i32.const 0
call $~lib/builtins/abort
unreachable
@ -1132,36 +1067,6 @@
global.get $std/string-utf8/str
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
i32.const 56
i32.const 22
i32.const 0
call $~lib/builtins/abort
unreachable
end
global.get $std/string-utf8/ptr
i32.const 4
call $~lib/string/String.fromUTF8
i32.const 232
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
i32.const 56
i32.const 23
i32.const 0
call $~lib/builtins/abort
unreachable
end
global.get $std/string-utf8/ptr
i32.const 4
i32.add
i32.const 2
call $~lib/string/String.fromUTF8
i32.const 256
call $~lib/string/String.__eq
i32.eqz
if
i32.const 0
i32.const 56
@ -1171,11 +1076,9 @@
unreachable
end
global.get $std/string-utf8/ptr
i32.const 6
i32.add
i32.const 4
call $~lib/string/String.fromUTF8
i32.const 280
i32.const 176
call $~lib/string/String.__eq
i32.eqz
if
@ -1187,11 +1090,11 @@
unreachable
end
global.get $std/string-utf8/ptr
i32.const 10
i32.const 4
i32.add
i32.const 1
i32.const 2
call $~lib/string/String.fromUTF8
i32.const 304
i32.const 200
call $~lib/string/String.__eq
i32.eqz
if
@ -1202,185 +1105,43 @@
call $~lib/builtins/abort
unreachable
end
)
(func $~lib/runtime/runtime.instanceof (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0
i32.const 16
i32.sub
i32.load
local.tee $0
if (result i32)
local.get $0
i32.const 360
i32.load
i32.le_u
else
i32.const 0
end
global.get $std/string-utf8/ptr
i32.const 6
i32.add
i32.const 4
call $~lib/string/String.fromUTF8
i32.const 224
call $~lib/string/String.__eq
i32.eqz
if
loop $continue|0
local.get $0
local.get $1
i32.eq
if
i32.const 1
return
end
local.get $0
i32.const 3
i32.shl
i32.const 360
i32.add
i32.load offset=4
local.tee $0
br_if $continue|0
end
end
i32.const 0
)
(func $~lib/runtime/runtime.flags (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
if (result i32)
local.get $0
i32.const 360
i32.load
i32.gt_u
else
i32.const 1
end
if (result i32)
i32.const 0
i32.const 56
i32.const 27
i32.const 0
call $~lib/builtins/abort
unreachable
else
local.get $0
i32.const 3
i32.shl
i32.const 360
i32.add
i32.load
end
)
(func $~lib/runtime/runtime.newObject (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0
call $~lib/util/runtime/allocate
local.get $1
call $~lib/util/runtime/register
)
(func $~lib/runtime/runtime.newString (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
global.get $std/string-utf8/ptr
i32.const 10
i32.add
i32.const 1
i32.shl
i32.const 16
call $~lib/runtime/runtime.newObject
)
(func $~lib/runtime/runtime.newArrayBuffer (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.const 15
call $~lib/runtime/runtime.newObject
)
(func $~lib/runtime/runtime.newArray (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
local.get $0
if (result i32)
local.get $0
i32.const 360
i32.load
i32.gt_u
else
i32.const 1
end
if (result i32)
unreachable
else
local.get $0
i32.const 3
i32.shl
i32.const 360
i32.add
i32.load
end
local.tee $3
i32.const 16
i32.div_u
i32.const 31
i32.and
local.set $4
local.get $1
if (result i32)
local.get $1
i32.const 16
i32.sub
i32.load offset=4
else
i32.const 0
call $~lib/runtime/runtime.newArrayBuffer
local.set $1
i32.const 0
end
local.set $2
local.get $0
i32.const 16
call $~lib/runtime/runtime.newObject
local.tee $0
local.get $1
i32.store
local.get $0
local.get $1
i32.store offset=4
local.get $0
local.get $2
i32.store offset=8
local.get $0
local.get $2
local.get $4
i32.shr_u
i32.store offset=12
local.get $3
i32.const 1024
i32.and
call $~lib/string/String.fromUTF8
i32.const 248
call $~lib/string/String.__eq
i32.eqz
if
local.get $1
local.get $2
i32.add
local.set $2
loop $continue|0
local.get $1
local.get $2
i32.lt_u
if
local.get $1
i32.load
if
i32.const 0
i32.const 328
i32.const 97
i32.const 15
call $~lib/builtins/abort
unreachable
end
local.get $1
i32.const 4
i32.add
local.set $1
br $continue|0
end
end
i32.const 0
i32.const 56
i32.const 28
i32.const 0
call $~lib/builtins/abort
unreachable
end
local.get $0
)
(func $~lib/runtime/runtime.collect (; 18 ;) (type $FUNCSIG$v)
i32.const 0
i32.const 328
i32.const 139
i32.const 9
call $~lib/builtins/abort
unreachable
)
(func $start (; 19 ;) (type $FUNCSIG$v)
(func $start (; 9 ;) (type $FUNCSIG$v)
call $start:std/string-utf8
)
(func $null (; 20 ;) (type $FUNCSIG$v)
(func $null (; 10 ;) (type $FUNCSIG$v)
nop
)
)