use more useful defaults for -O, fix an utoa issue

This commit is contained in:
dcode
2019-05-24 14:45:27 +02:00
parent c41c57e6d6
commit af00bdeefe
42 changed files with 6210 additions and 7097 deletions

View File

@ -80,17 +80,21 @@
call $~lib/array/Array<~lib/array/Array<i32>>#__get
call $~lib/array/Array<i32>#__get
)
(func $std/array-access/stringArrayPropertyAccess (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/string/String#get:length (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.const 0
call $~lib/array/Array<~lib/array/Array<i32>>#__get
i32.const 16
i32.sub
i32.load offset=12
i32.const 1
i32.shr_u
)
(func $~lib/util/string/compareImpl (; 5 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $std/array-access/stringArrayPropertyAccess (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.const 0
call $~lib/array/Array<~lib/array/Array<i32>>#__get
call $~lib/string/String#get:length
)
(func $~lib/util/string/compareImpl (; 6 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
i32.const 240
@ -132,7 +136,7 @@
end
local.get $4
)
(func $~lib/string/String#startsWith (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/string/String#startsWith (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -146,25 +150,17 @@
call $~lib/builtins/abort
unreachable
end
i32.const 236
i32.load
i32.const 1
i32.shr_u
local.tee $1
local.set $2
local.get $1
i32.const 0
local.get $0
i32.const 16
i32.sub
i32.load offset=12
i32.const 1
i32.shr_u
call $~lib/string/String#get:length
local.tee $1
i32.const 0
local.get $1
i32.lt_s
select
local.tee $2
i32.const 240
call $~lib/string/String#get:length
local.tee $3
i32.add
local.get $1
@ -174,30 +170,26 @@
return
end
local.get $0
local.get $3
local.get $2
local.get $3
call $~lib/util/string/compareImpl
i32.eqz
)
(func $std/array-access/stringArrayMethodCall (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $std/array-access/stringArrayMethodCall (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.const 0
call $~lib/array/Array<~lib/array/Array<i32>>#__get
call $~lib/string/String#startsWith
)
(func $std/array-access/stringArrayArrayPropertyAccess (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $std/array-access/stringArrayArrayPropertyAccess (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.const 0
call $~lib/array/Array<~lib/array/Array<i32>>#__get
i32.const 1
call $~lib/array/Array<~lib/array/Array<i32>>#__get
i32.const 16
i32.sub
i32.load offset=12
i32.const 1
i32.shr_u
call $~lib/string/String#get:length
)
(func $std/array-access/stringArrayArrayMethodCall (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $std/array-access/stringArrayArrayMethodCall (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.const 0
call $~lib/array/Array<~lib/array/Array<i32>>#__get
@ -205,7 +197,7 @@
call $~lib/array/Array<~lib/array/Array<i32>>#__get
call $~lib/string/String#startsWith
)
(func $null (; 10 ;) (type $FUNCSIG$v)
(func $null (; 11 ;) (type $FUNCSIG$v)
nop
)
)

View File

@ -1660,28 +1660,26 @@
i32.const 0
i32.const 3
call $~lib/rt/__allocArray
local.tee $2
local.tee $1
i32.load offset=4
local.tee $0
global.get $std/array-literal/i
local.tee $1
i32.store8
local.get $1
global.get $std/array-literal/i
i32.const 1
i32.add
global.set $std/array-literal/i
local.get $0
global.get $std/array-literal/i
local.tee $1
i32.store8 offset=1
local.get $1
global.get $std/array-literal/i
i32.const 1
i32.add
global.set $std/array-literal/i
local.get $0
global.get $std/array-literal/i
i32.store8 offset=2
local.get $2
local.get $1
call $~lib/rt/pure/__retain
global.set $std/array-literal/dynamicArrayI8
global.get $std/array-literal/dynamicArrayI8
@ -1738,28 +1736,26 @@
i32.const 2
i32.const 4
call $~lib/rt/__allocArray
local.tee $2
local.tee $1
i32.load offset=4
local.tee $0
global.get $std/array-literal/i
local.tee $1
i32.store
local.get $1
global.get $std/array-literal/i
i32.const 1
i32.add
global.set $std/array-literal/i
local.get $0
global.get $std/array-literal/i
local.tee $1
i32.store offset=4
local.get $1
global.get $std/array-literal/i
i32.const 1
i32.add
global.set $std/array-literal/i
local.get $0
global.get $std/array-literal/i
i32.store offset=8
local.get $2
local.get $1
call $~lib/rt/pure/__retain
global.set $std/array-literal/dynamicArrayI32
global.get $std/array-literal/dynamicArrayI32
@ -1814,11 +1810,11 @@
i32.const 2
i32.const 6
call $~lib/rt/__allocArray
local.tee $2
local.tee $1
i32.load offset=4
local.tee $0
call $std/array-literal/Ref#constructor
local.tee $1
local.tee $2
call $~lib/rt/pure/__retain
i32.store
local.get $0
@ -1831,7 +1827,7 @@
local.tee $4
call $~lib/rt/pure/__retain
i32.store offset=8
local.get $2
local.get $1
call $~lib/rt/pure/__retain
global.set $std/array-literal/dynamicArrayRef
global.get $std/array-literal/dynamicArrayRef
@ -1849,7 +1845,7 @@
i32.const 2
i32.const 8
call $~lib/rt/__allocArray
local.tee $2
local.tee $1
i32.load offset=4
local.tee $0
call $std/array-literal/RefWithCtor#constructor
@ -1866,7 +1862,7 @@
local.tee $0
call $~lib/rt/pure/__retain
i32.store offset=8
local.get $2
local.get $1
call $~lib/rt/pure/__retain
global.set $std/array-literal/dynamicArrayRefWithCtor
global.get $std/array-literal/dynamicArrayRefWithCtor
@ -1891,7 +1887,7 @@
call $~lib/rt/pure/__release
global.get $std/array-literal/dynamicArrayRefWithCtor
call $~lib/rt/pure/__release
local.get $1
local.get $2
call $~lib/rt/pure/__release
local.get $3
call $~lib/rt/pure/__release

File diff suppressed because it is too large Load Diff

View File

@ -2,11 +2,11 @@
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$viii (func (param i32 i32 i32)))
(type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
(type $FUNCSIG$v (func))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$i (func (result i32)))
(type $FUNCSIG$ii (func (param i32) (result i32)))
(import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32)))
(memory $0 1)
(data (i32.const 8) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h")
@ -140,7 +140,13 @@
i32.const 0
i32.store8
)
(func $~lib/memory/memory.copy (; 3 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.const 16
i32.sub
i32.load offset=12
)
(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
@ -313,12 +319,10 @@
end
end
)
(func $~lib/arraybuffer/ArrayBuffer#slice (; 4 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer#slice (; 5 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
local.get $0
i32.const 16
i32.sub
i32.load offset=12
call $~lib/arraybuffer/ArrayBuffer#get:byteLength
local.set $3
local.get $1
i32.const 0
@ -382,7 +386,15 @@
call $~lib/memory/memory.copy
local.get $3
)
(func $~lib/arraybuffer/ArrayBufferView#constructor (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
if
i32.const 1
return
end
i32.const 0
)
(func $~lib/arraybuffer/ArrayBufferView#constructor (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
i32.const 1
i32.const 1073741808
@ -435,7 +447,7 @@
i32.store offset=8
local.get $0
)
(func $~lib/rt/__allocArray (; 6 ;) (type $FUNCSIG$i) (result i32)
(func $~lib/rt/__allocArray (; 8 ;) (type $FUNCSIG$i) (result i32)
(local $0 i32)
(local $1 i32)
i32.const 16
@ -462,16 +474,14 @@
call $~lib/memory/memory.copy
local.get $0
)
(func $~lib/dataview/DataView#constructor (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/dataview/DataView#constructor (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $1
i32.const 1073741808
i32.gt_u
local.get $1
local.get $0
i32.const 16
i32.sub
i32.load offset=12
call $~lib/arraybuffer/ArrayBuffer#get:byteLength
i32.gt_u
i32.or
if
@ -508,30 +518,9 @@
i32.store offset=8
local.get $2
)
(func $~lib/dataview/DataView#constructor|trampoline (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
block $2of2
block $1of2
block $outOfRange
global.get $~lib/argc
i32.const 1
i32.sub
br_table $1of2 $1of2 $2of2 $outOfRange
end
unreachable
end
local.get $0
i32.const 16
i32.sub
i32.load offset=12
local.set $1
end
local.get $0
local.get $1
call $~lib/dataview/DataView#constructor
)
(func $start:std/arraybuffer (; 9 ;) (type $FUNCSIG$v)
(func $start:std/arraybuffer (; 10 ;) (type $FUNCSIG$v)
(local $0 i32)
(local $1 i32)
i32.const 240
global.set $~lib/rt/stub/startOffset
global.get $~lib/rt/stub/startOffset
@ -544,9 +533,7 @@
local.get $0
global.set $std/arraybuffer/buffer
global.get $std/arraybuffer/buffer
i32.const 16
i32.sub
i32.load offset=12
call $~lib/arraybuffer/ArrayBuffer#get:byteLength
i32.const 8
i32.ne
if
@ -563,9 +550,7 @@
call $~lib/arraybuffer/ArrayBuffer#slice
global.set $std/arraybuffer/sliced
global.get $std/arraybuffer/sliced
i32.const 16
i32.sub
i32.load offset=12
call $~lib/arraybuffer/ArrayBuffer#get:byteLength
i32.const 8
i32.ne
if
@ -593,9 +578,7 @@
call $~lib/arraybuffer/ArrayBuffer#slice
global.set $std/arraybuffer/sliced
global.get $std/arraybuffer/sliced
i32.const 16
i32.sub
i32.load offset=12
call $~lib/arraybuffer/ArrayBuffer#get:byteLength
i32.const 7
i32.ne
if
@ -612,9 +595,7 @@
call $~lib/arraybuffer/ArrayBuffer#slice
global.set $std/arraybuffer/sliced
global.get $std/arraybuffer/sliced
i32.const 16
i32.sub
i32.load offset=12
call $~lib/arraybuffer/ArrayBuffer#get:byteLength
i32.const 1
i32.ne
if
@ -631,9 +612,7 @@
call $~lib/arraybuffer/ArrayBuffer#slice
global.set $std/arraybuffer/sliced
global.get $std/arraybuffer/sliced
i32.const 16
i32.sub
i32.load offset=12
call $~lib/arraybuffer/ArrayBuffer#get:byteLength
i32.const 2
i32.ne
if
@ -650,9 +629,7 @@
call $~lib/arraybuffer/ArrayBuffer#slice
global.set $std/arraybuffer/sliced
global.get $std/arraybuffer/sliced
i32.const 16
i32.sub
i32.load offset=12
call $~lib/arraybuffer/ArrayBuffer#get:byteLength
i32.const 6
i32.ne
if
@ -669,9 +646,7 @@
call $~lib/arraybuffer/ArrayBuffer#slice
global.set $std/arraybuffer/sliced
global.get $std/arraybuffer/sliced
i32.const 16
i32.sub
i32.load offset=12
call $~lib/arraybuffer/ArrayBuffer#get:byteLength
i32.const 2
i32.ne
if
@ -688,9 +663,7 @@
call $~lib/arraybuffer/ArrayBuffer#slice
global.set $std/arraybuffer/sliced
global.get $std/arraybuffer/sliced
i32.const 16
i32.sub
i32.load offset=12
call $~lib/arraybuffer/ArrayBuffer#get:byteLength
i32.const 4
i32.ne
if
@ -707,9 +680,7 @@
call $~lib/arraybuffer/ArrayBuffer#slice
global.set $std/arraybuffer/sliced
global.get $std/arraybuffer/sliced
i32.const 16
i32.sub
i32.load offset=12
call $~lib/arraybuffer/ArrayBuffer#get:byteLength
if
i32.const 0
i32.const 128
@ -728,6 +699,36 @@
call $~lib/builtins/abort
unreachable
end
i32.const 0
call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array>
if
i32.const 0
i32.const 128
i32.const 41
i32.const 0
call $~lib/builtins/abort
unreachable
end
i32.const 0
call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array>
if
i32.const 0
i32.const 128
i32.const 42
i32.const 0
call $~lib/builtins/abort
unreachable
end
i32.const 0
call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array>
if
i32.const 0
i32.const 128
i32.const 43
i32.const 0
call $~lib/builtins/abort
unreachable
end
i32.const 12
i32.const 5
call $~lib/rt/stub/__alloc
@ -737,11 +738,7 @@
call $~lib/rt/__allocArray
drop
global.get $std/arraybuffer/arr8
if (result i32)
i32.const 1
else
i32.const 0
end
call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array>
i32.eqz
if
i32.const 0
@ -751,17 +748,12 @@
call $~lib/builtins/abort
unreachable
end
block $__inlined_func$~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Int32Array>2 (result i32)
i32.const 1
i32.const 12
i32.const 9
call $~lib/rt/stub/__alloc
i32.const 2
call $~lib/arraybuffer/ArrayBufferView#constructor
br_if $__inlined_func$~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Int32Array>2
drop
i32.const 0
end
i32.const 12
i32.const 9
call $~lib/rt/stub/__alloc
i32.const 2
call $~lib/arraybuffer/ArrayBufferView#constructor
call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array>
i32.eqz
if
i32.const 0
@ -773,15 +765,27 @@
end
i32.const 1
global.set $~lib/argc
block $__inlined_func$~lib/arraybuffer/ArrayBuffer.isView<~lib/dataview/DataView>3 (result i32)
i32.const 1
global.get $std/arraybuffer/arr8
i32.load
call $~lib/dataview/DataView#constructor|trampoline
br_if $__inlined_func$~lib/arraybuffer/ArrayBuffer.isView<~lib/dataview/DataView>3
drop
i32.const 0
global.get $std/arraybuffer/arr8
i32.load
local.set $0
block $2of2
block $1of2
block $outOfRange
global.get $~lib/argc
i32.const 1
i32.sub
br_table $1of2 $1of2 $2of2 $outOfRange
end
unreachable
end
local.get $0
call $~lib/arraybuffer/ArrayBuffer#get:byteLength
local.set $1
end
local.get $0
local.get $1
call $~lib/dataview/DataView#constructor
call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array>
i32.eqz
if
i32.const 0
@ -792,10 +796,10 @@
unreachable
end
)
(func $start (; 10 ;) (type $FUNCSIG$v)
(func $start (; 11 ;) (type $FUNCSIG$v)
call $start:std/arraybuffer
)
(func $null (; 11 ;) (type $FUNCSIG$v)
(func $null (; 12 ;) (type $FUNCSIG$v)
nop
)
)

View File

@ -2,11 +2,11 @@
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$viii (func (param i32 i32 i32)))
(type $FUNCSIG$fiii (func (param i32 i32 i32) (result f32)))
(type $FUNCSIG$jj (func (param i64) (result i64)))
(type $FUNCSIG$v (func))
(type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$dii (func (param i32 i32) (result f64)))
(type $FUNCSIG$jii (func (param i32 i32) (result i64)))
(type $FUNCSIG$vifi (func (param i32 f32 i32)))
@ -159,7 +159,13 @@
local.get $2
i32.store8
)
(func $~lib/dataview/DataView#constructor (; 4 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.const 16
i32.sub
i32.load offset=12
)
(func $~lib/dataview/DataView#constructor (; 5 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
local.get $2
i32.const 1073741808
@ -168,9 +174,7 @@
local.get $2
i32.add
local.get $0
i32.const 16
i32.sub
i32.load offset=12
call $~lib/arraybuffer/ArrayBuffer#get:byteLength
i32.gt_u
i32.or
if
@ -209,7 +213,27 @@
i32.store offset=8
local.get $3
)
(func $~lib/dataview/DataView#getFloat32 (; 5 ;) (type $FUNCSIG$fiii) (param $0 i32) (param $1 i32) (param $2 i32) (result f32)
(func $~lib/arraybuffer/ArrayBufferView#get:byteOffset (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.load offset=4
local.get $0
i32.load
i32.sub
)
(func $~lib/polyfills/bswap<u32> (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.const -16711936
i32.and
i32.const 8
i32.rotl
local.get $0
i32.const 16711935
i32.and
i32.const 8
i32.rotr
i32.or
)
(func $~lib/dataview/DataView#getFloat32 (; 8 ;) (type $FUNCSIG$fiii) (param $0 i32) (param $1 i32) (param $2 i32) (result f32)
local.get $1
i32.const 0
i32.lt_s
@ -241,21 +265,11 @@
local.get $1
i32.add
i32.load
local.tee $0
i32.const -16711936
i32.and
i32.const 8
i32.rotl
local.get $0
i32.const 16711935
i32.and
i32.const 8
i32.rotr
i32.or
call $~lib/polyfills/bswap<u32>
f32.reinterpret_i32
end
)
(func $~lib/polyfills/bswap<u64> (; 6 ;) (type $FUNCSIG$jj) (param $0 i64) (result i64)
(func $~lib/polyfills/bswap<u64> (; 9 ;) (type $FUNCSIG$jj) (param $0 i64) (result i64)
local.get $0
i64.const 8
i64.shr_u
@ -281,7 +295,7 @@
i64.const 32
i64.rotr
)
(func $~lib/dataview/DataView#getFloat64 (; 7 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64)
(func $~lib/dataview/DataView#getFloat64 (; 10 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64)
i32.const 8
local.get $0
i32.load offset=8
@ -307,7 +321,7 @@
f64.reinterpret_i64
end
)
(func $~lib/dataview/DataView#getInt8 (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/dataview/DataView#getInt8 (; 11 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $1
local.get $0
i32.load offset=8
@ -326,7 +340,20 @@
i32.add
i32.load8_s
)
(func $~lib/dataview/DataView#getInt16 (; 9 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/polyfills/bswap<i16> (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.const 16
i32.shl
i32.const 24
i32.shr_s
i32.const 255
i32.and
local.get $0
i32.const 8
i32.shl
i32.or
)
(func $~lib/dataview/DataView#getInt16 (; 13 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $1
i32.const 0
i32.lt_s
@ -352,23 +379,15 @@
i32.load16_s
local.set $0
local.get $2
if (result i32)
i32.eqz
if
local.get $0
else
local.get $0
i32.const 16
i32.shl
i32.const 24
i32.shr_s
i32.const 255
i32.and
local.get $0
i32.const 8
i32.shl
i32.or
call $~lib/polyfills/bswap<i16>
local.set $0
end
local.get $0
)
(func $~lib/dataview/DataView#getInt32 (; 10 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/dataview/DataView#getInt32 (; 14 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $1
i32.const 0
i32.lt_s
@ -394,23 +413,15 @@
i32.load
local.set $0
local.get $2
if (result i32)
i32.eqz
if
local.get $0
else
local.get $0
i32.const -16711936
i32.and
i32.const 8
i32.rotl
local.get $0
i32.const 16711935
i32.and
i32.const 8
i32.rotr
i32.or
call $~lib/polyfills/bswap<u32>
local.set $0
end
local.get $0
)
(func $~lib/dataview/DataView#getInt64 (; 11 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64)
(func $~lib/dataview/DataView#getInt64 (; 15 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64)
(local $2 i64)
i32.const 8
local.get $0
@ -436,7 +447,7 @@
call $~lib/polyfills/bswap<u64>
end
)
(func $~lib/dataview/DataView#getUint8 (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/dataview/DataView#getUint8 (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $1
local.get $0
i32.load offset=8
@ -455,7 +466,18 @@
i32.add
i32.load8_u
)
(func $~lib/dataview/DataView#getUint16 (; 13 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/polyfills/bswap<u16> (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.const 8
i32.shl
local.get $0
i32.const 65535
i32.and
i32.const 8
i32.shr_u
i32.or
)
(func $~lib/dataview/DataView#getUint16 (; 18 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $1
i32.const 0
i32.lt_s
@ -481,21 +503,15 @@
i32.load16_u
local.set $0
local.get $2
if (result i32)
i32.eqz
if
local.get $0
else
local.get $0
i32.const 8
i32.shl
local.get $0
i32.const 65535
i32.and
i32.const 8
i32.shr_u
i32.or
call $~lib/polyfills/bswap<u16>
local.set $0
end
local.get $0
)
(func $~lib/dataview/DataView#getUint32 (; 14 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/dataview/DataView#getUint32 (; 19 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $1
i32.const 0
i32.lt_s
@ -521,23 +537,15 @@
i32.load
local.set $0
local.get $2
if (result i32)
i32.eqz
if
local.get $0
else
local.get $0
i32.const -16711936
i32.and
i32.const 8
i32.rotl
local.get $0
i32.const 16711935
i32.and
i32.const 8
i32.rotr
i32.or
call $~lib/polyfills/bswap<u32>
local.set $0
end
local.get $0
)
(func $~lib/dataview/DataView#getUint64 (; 15 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64)
(func $~lib/dataview/DataView#getUint64 (; 20 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64)
(local $2 i64)
i32.const 8
local.get $0
@ -563,7 +571,7 @@
call $~lib/polyfills/bswap<u64>
end
)
(func $~lib/dataview/DataView#setFloat32 (; 16 ;) (type $FUNCSIG$vifi) (param $0 i32) (param $1 f32) (param $2 i32)
(func $~lib/dataview/DataView#setFloat32 (; 21 ;) (type $FUNCSIG$vifi) (param $0 i32) (param $1 f32) (param $2 i32)
i32.const 4
local.get $0
i32.load offset=8
@ -587,21 +595,11 @@
i32.load offset=4
local.get $1
i32.reinterpret_f32
local.tee $0
i32.const -16711936
i32.and
i32.const 8
i32.rotl
local.get $0
i32.const 16711935
i32.and
i32.const 8
i32.rotr
i32.or
call $~lib/polyfills/bswap<u32>
i32.store
end
)
(func $~lib/dataview/DataView#setFloat64 (; 17 ;) (type $FUNCSIG$vidi) (param $0 i32) (param $1 f64) (param $2 i32)
(func $~lib/dataview/DataView#setFloat64 (; 22 ;) (type $FUNCSIG$vidi) (param $0 i32) (param $1 f64) (param $2 i32)
i32.const 8
local.get $0
i32.load offset=8
@ -629,7 +627,7 @@
i64.store
end
)
(func $~lib/dataview/DataView#setInt8 (; 18 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/dataview/DataView#setInt8 (; 23 ;) (type $FUNCSIG$vi) (param $0 i32)
i32.const 0
local.get $0
i32.load offset=8
@ -647,7 +645,7 @@
i32.const 108
i32.store8
)
(func $~lib/dataview/DataView#setInt16 (; 19 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/dataview/DataView#setInt16 (; 24 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
i32.const 2
local.get $0
i32.load offset=8
@ -662,28 +660,16 @@
end
local.get $0
i32.load offset=4
local.set $0
local.get $2
i32.eqz
if
if (result i32)
local.get $1
i32.const 16
i32.shl
i32.const 24
i32.shr_s
i32.const 255
i32.and
else
local.get $1
i32.const 8
i32.shl
i32.or
local.set $1
call $~lib/polyfills/bswap<i16>
end
local.get $0
local.get $1
i32.store16
)
(func $~lib/dataview/DataView#setInt32 (; 20 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/dataview/DataView#setInt32 (; 25 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
i32.const 4
local.get $0
i32.load offset=8
@ -698,28 +684,16 @@
end
local.get $0
i32.load offset=4
local.set $0
local.get $2
i32.eqz
if
if (result i32)
local.get $1
i32.const -16711936
i32.and
i32.const 8
i32.rotl
else
local.get $1
i32.const 16711935
i32.and
i32.const 8
i32.rotr
i32.or
local.set $1
call $~lib/polyfills/bswap<u32>
end
local.get $0
local.get $1
i32.store
)
(func $~lib/dataview/DataView#setInt64 (; 21 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32)
(func $~lib/dataview/DataView#setInt64 (; 26 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32)
i32.const 8
local.get $0
i32.load offset=8
@ -743,7 +717,7 @@
end
i64.store
)
(func $~lib/dataview/DataView#setUint8 (; 22 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/dataview/DataView#setUint8 (; 27 ;) (type $FUNCSIG$vi) (param $0 i32)
i32.const 0
local.get $0
i32.load offset=8
@ -761,7 +735,7 @@
i32.const 238
i32.store8
)
(func $~lib/dataview/DataView#setUint16 (; 23 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/dataview/DataView#setUint16 (; 28 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
i32.const 2
local.get $0
i32.load offset=8
@ -776,26 +750,16 @@
end
local.get $0
i32.load offset=4
local.set $0
local.get $2
i32.eqz
if
if (result i32)
local.get $1
i32.const 8
i32.shl
else
local.get $1
i32.const 65535
i32.and
i32.const 8
i32.shr_u
i32.or
local.set $1
call $~lib/polyfills/bswap<u16>
end
local.get $0
local.get $1
i32.store16
)
(func $~lib/dataview/DataView#setUint32 (; 24 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/dataview/DataView#setUint32 (; 29 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
i32.const 4
local.get $0
i32.load offset=8
@ -810,28 +774,16 @@
end
local.get $0
i32.load offset=4
local.set $0
local.get $2
i32.eqz
if
if (result i32)
local.get $1
i32.const -16711936
i32.and
i32.const 8
i32.rotl
else
local.get $1
i32.const 16711935
i32.and
i32.const 8
i32.rotr
i32.or
local.set $1
call $~lib/polyfills/bswap<u32>
end
local.get $0
local.get $1
i32.store
)
(func $~lib/dataview/DataView#setUint64 (; 25 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32)
(func $~lib/dataview/DataView#setUint64 (; 30 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32)
i32.const 8
local.get $0
i32.load offset=8
@ -855,7 +807,7 @@
end
i64.store
)
(func $~lib/dataview/DataView#constructor|trampoline (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/dataview/DataView#constructor|trampoline (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
block $2of2
block $1of2
@ -868,9 +820,7 @@
unreachable
end
local.get $0
i32.const 16
i32.sub
i32.load offset=12
call $~lib/arraybuffer/ArrayBuffer#get:byteLength
local.set $1
end
local.get $0
@ -878,8 +828,7 @@
local.get $1
call $~lib/dataview/DataView#constructor
)
(func $start:std/dataview (; 27 ;) (type $FUNCSIG$v)
(local $0 i32)
(func $start:std/dataview (; 32 ;) (type $FUNCSIG$v)
i32.const 320
global.set $~lib/rt/stub/startOffset
global.get $~lib/rt/stub/startOffset
@ -924,12 +873,8 @@
global.get $std/dataview/array
i32.load
global.get $std/dataview/array
local.tee $0
i32.load offset=4
local.get $0
i32.load
i32.sub
local.get $0
call $~lib/arraybuffer/ArrayBufferView#get:byteOffset
global.get $std/dataview/array
i32.load offset=8
call $~lib/dataview/DataView#constructor
global.set $std/dataview/view
@ -2414,11 +2359,7 @@
call $~lib/dataview/DataView#constructor|trampoline
global.set $std/dataview/view
global.get $std/dataview/view
local.tee $0
i32.load offset=4
local.get $0
i32.load
i32.sub
call $~lib/arraybuffer/ArrayBufferView#get:byteOffset
if
i32.const 0
i32.const 288
@ -2440,10 +2381,10 @@
unreachable
end
)
(func $start (; 28 ;) (type $FUNCSIG$v)
(func $start (; 33 ;) (type $FUNCSIG$v)
call $start:std/dataview
)
(func $null (; 29 ;) (type $FUNCSIG$v)
(func $null (; 34 ;) (type $FUNCSIG$v)
nop
)
)

View File

@ -178,15 +178,15 @@
unreachable
end
global.get $std/date/date
local.tee $0
global.get $std/date/creationTime
i64.const 1
i64.add
local.tee $1
i64.store
local.get $0
global.get $std/date/date
i64.load
local.get $1
global.get $std/date/creationTime
i64.const 1
i64.add
i64.ne
if
i32.const 0

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,10 +1,12 @@
(module
(type $FUNCSIG$iddd (func (param f64 f64 f64) (result i32)))
(type $FUNCSIG$ddd (func (param f64 f64) (result f64)))
(type $FUNCSIG$id (func (param f64) (result i32)))
(type $FUNCSIG$idd (func (param f64 f64) (result i32)))
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$ifff (func (param f32 f32 f32) (result i32)))
(type $FUNCSIG$fff (func (param f32 f32) (result f32)))
(type $FUNCSIG$if (func (param f32) (result i32)))
(type $FUNCSIG$iff (func (param f32 f32) (result i32)))
(type $FUNCSIG$v (func))
(import "math" "mod" (func $std/mod/mod (param f64 f64) (result f64)))
@ -14,7 +16,12 @@
(export "memory" (memory $0))
(export "mod" (func $std/mod/mod))
(start $start)
(func $~lib/math/NativeMath.mod (; 2 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64)
(func $~lib/builtins/isNaN<f64> (; 2 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
local.get $0
local.get $0
f64.ne
)
(func $~lib/math/NativeMath.mod (; 3 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64)
(local $2 i64)
(local $3 i64)
(local $4 i64)
@ -59,8 +66,7 @@
i32.const 1
else
local.get $1
local.get $1
f64.ne
call $~lib/builtins/isNaN<f64>
end
if
local.get $0
@ -142,7 +148,7 @@
local.get $2
local.get $3
i64.ge_u
if
if (result i64)
local.get $2
local.get $3
i64.eq
@ -150,9 +156,9 @@
local.get $2
local.get $3
i64.sub
local.set $2
else
local.get $2
end
local.get $2
i64.const 1
i64.shl
local.set $2
@ -187,21 +193,21 @@
local.get $4
local.get $3
i64.sub
local.tee $3
local.tee $4
i64.const 0
i64.gt_s
if (result i64)
local.get $2
i64.const 4503599627370496
i64.sub
local.get $3
local.get $4
i64.const 52
i64.shl
i64.or
else
local.get $2
i64.const 0
local.get $3
local.get $4
i64.sub
i64.const 1
i64.add
@ -218,14 +224,12 @@
local.get $0
f64.mul
)
(func $std/mod/check<f64> (; 3 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32)
(func $std/mod/check<f64> (; 4 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32)
local.get $1
local.get $1
f64.ne
call $~lib/builtins/isNaN<f64>
if
local.get $0
local.get $0
f64.ne
call $~lib/builtins/isNaN<f64>
return
end
local.get $1
@ -245,7 +249,7 @@
local.get $1
f64.eq
)
(func $std/mod/test_fmod (; 4 ;) (type $FUNCSIG$iddd) (param $0 f64) (param $1 f64) (param $2 f64) (result i32)
(func $std/mod/test_fmod (; 5 ;) (type $FUNCSIG$iddd) (param $0 f64) (param $1 f64) (param $2 f64) (result i32)
local.get $0
local.get $1
call $~lib/math/NativeMath.mod
@ -261,7 +265,12 @@
i32.const 0
end
)
(func $~lib/math/NativeMathf.mod (; 5 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32)
(func $~lib/builtins/isNaN<f32> (; 6 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
local.get $0
local.get $0
f32.ne
)
(func $~lib/math/NativeMathf.mod (; 7 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -304,8 +313,7 @@
i32.const 1
else
local.get $1
local.get $1
f32.ne
call $~lib/builtins/isNaN<f32>
end
if
local.get $0
@ -381,7 +389,7 @@
local.get $2
local.get $3
i32.ge_u
if
if (result i32)
local.get $2
local.get $3
i32.eq
@ -389,9 +397,9 @@
local.get $2
local.get $3
i32.sub
local.set $2
else
local.get $2
end
local.get $2
i32.const 1
i32.shl
local.set $2
@ -426,21 +434,21 @@
local.get $4
local.get $3
i32.sub
local.tee $3
local.tee $4
i32.const 0
i32.gt_s
if (result i32)
local.get $2
i32.const 8388608
i32.sub
local.get $3
local.get $4
i32.const 23
i32.shl
i32.or
else
local.get $2
i32.const 1
local.get $3
local.get $4
i32.sub
i32.shr_u
end
@ -453,14 +461,12 @@
local.get $0
f32.mul
)
(func $std/mod/check<f32> (; 6 ;) (type $FUNCSIG$iff) (param $0 f32) (param $1 f32) (result i32)
(func $std/mod/check<f32> (; 8 ;) (type $FUNCSIG$iff) (param $0 f32) (param $1 f32) (result i32)
local.get $1
local.get $1
f32.ne
call $~lib/builtins/isNaN<f32>
if
local.get $0
local.get $0
f32.ne
call $~lib/builtins/isNaN<f32>
return
end
local.get $1
@ -480,14 +486,14 @@
local.get $1
f32.eq
)
(func $std/mod/test_fmodf (; 7 ;) (type $FUNCSIG$ifff) (param $0 f32) (param $1 f32) (param $2 f32) (result i32)
(func $std/mod/test_fmodf (; 9 ;) (type $FUNCSIG$ifff) (param $0 f32) (param $1 f32) (param $2 f32) (result i32)
local.get $0
local.get $1
call $~lib/math/NativeMathf.mod
local.get $2
call $std/mod/check<f32>
)
(func $start:std/mod (; 8 ;) (type $FUNCSIG$v)
(func $start:std/mod (; 10 ;) (type $FUNCSIG$v)
f64.const 3
f64.const 2
f64.const 1
@ -2244,10 +2250,10 @@
unreachable
end
)
(func $start (; 9 ;) (type $FUNCSIG$v)
(func $start (; 11 ;) (type $FUNCSIG$v)
call $start:std/mod
)
(func $null (; 10 ;) (type $FUNCSIG$v)
(func $null (; 12 ;) (type $FUNCSIG$v)
nop
)
)

View File

@ -1,9 +1,9 @@
(module
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$v (func))
(type $FUNCSIG$ii (func (param i32) (result i32)))
(import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32)))
(memory $0 1)
(data (i32.const 8) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00h\00e\00l\00l\00o\00 \00w\00o\00r\00l\00d")
@ -86,7 +86,15 @@
i32.store offset=12
local.get $3
)
(func $~lib/util/string/compareImpl (; 2 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String#get:length (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.const 16
i32.sub
i32.load offset=12
i32.const 1
i32.shr_u
)
(func $~lib/util/string/compareImpl (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
i32.const 24
@ -122,7 +130,7 @@
end
local.get $3
)
(func $~lib/string/String.__eq (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/string/String.__eq (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
local.get $0
i32.const 24
@ -138,16 +146,10 @@
select
br_if $folding-inner0
local.get $0
i32.const 16
i32.sub
i32.load offset=12
i32.const 1
i32.shr_u
call $~lib/string/String#get:length
local.tee $1
i32.const 20
i32.load
i32.const 1
i32.shr_u
i32.const 24
call $~lib/string/String#get:length
i32.ne
br_if $folding-inner0
local.get $0
@ -158,7 +160,7 @@
end
i32.const 0
)
(func $std/object-literal/bar (; 4 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $std/object-literal/bar (; 5 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0
i32.load
i32.const 1
@ -184,7 +186,7 @@
unreachable
end
)
(func $start:std/object-literal (; 5 ;) (type $FUNCSIG$v)
(func $start:std/object-literal (; 6 ;) (type $FUNCSIG$v)
(local $0 i32)
i32.const 112
global.set $~lib/rt/stub/startOffset
@ -238,10 +240,10 @@
unreachable
end
)
(func $start (; 6 ;) (type $FUNCSIG$v)
(func $start (; 7 ;) (type $FUNCSIG$v)
call $start:std/object-literal
)
(func $null (; 7 ;) (type $FUNCSIG$v)
(func $null (; 8 ;) (type $FUNCSIG$v)
nop
)
)

View File

@ -282,37 +282,33 @@
return
end
i32.const 1
local.get $6
i32.const 0
i32.ne
i32.const 0
local.get $8
i32.const 2146435072
i32.eq
select
i32.const 1
local.get $8
i32.const 2146435072
i32.gt_s
i32.const 1
local.get $19
i32.const 0
i32.ne
i32.const 0
local.get $4
i32.const 2146435072
i32.eq
select
local.get $4
i32.const 2146435072
i32.gt_s
if (result i32)
i32.const 1
else
local.get $19
i32.const 0
i32.ne
i32.const 0
local.get $4
i32.const 2146435072
i32.eq
select
end
select
if (result i32)
i32.const 1
else
local.get $6
i32.const 0
i32.ne
i32.const 0
local.get $8
i32.const 2146435072
i32.eq
select
end
select
select
if
local.get $0
local.get $1
@ -576,44 +572,40 @@
i32.const 1072693247
i32.lt_s
if
local.get $7
f64.const 1.e+300
f64.mul
f64.const 1.e+300
f64.mul
local.get $7
f64.const 1e-300
f64.mul
f64.const 1e-300
f64.mul
local.get $9
i32.const 0
i32.lt_s
if (result f64)
local.get $7
f64.const 1.e+300
f64.mul
f64.const 1.e+300
f64.mul
else
local.get $7
f64.const 1e-300
f64.mul
f64.const 1e-300
f64.mul
end
select
return
end
local.get $4
i32.const 1072693248
i32.gt_s
if
local.get $7
f64.const 1.e+300
f64.mul
f64.const 1.e+300
f64.mul
local.get $7
f64.const 1e-300
f64.mul
f64.const 1e-300
f64.mul
local.get $9
i32.const 0
i32.gt_s
if (result f64)
local.get $7
f64.const 1.e+300
f64.mul
f64.const 1.e+300
f64.mul
else
local.get $7
f64.const 1e-300
f64.mul
f64.const 1e-300
f64.mul
end
select
return
end
local.get $3
@ -934,7 +926,6 @@
i32.sub
local.get $5
i32.or
br_if $folding-inner0
local.get $1
f64.const 8.008566259537294e-17
f64.add
@ -942,6 +933,7 @@
local.get $2
f64.sub
f64.gt
i32.or
br_if $folding-inner0
else
local.get $12
@ -955,12 +947,12 @@
i32.sub
local.get $5
i32.or
br_if $folding-inner1
local.get $1
local.get $0
local.get $2
f64.sub
f64.le
i32.or
br_if $folding-inner1
end
end
@ -1167,7 +1159,39 @@
i32.trunc_f64_s
call $std/operator-overloading/Tester#constructor
)
(func $std/operator-overloading/TesterInlineStatic#constructor (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.equals (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0
i32.load
local.get $1
i32.load
i32.eq
if (result i32)
local.get $0
i32.load offset=4
local.get $1
i32.load offset=4
i32.eq
else
i32.const 0
end
)
(func $std/operator-overloading/Tester.notEquals (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0
i32.load
local.get $1
i32.load
i32.ne
if (result i32)
local.get $0
i32.load offset=4
local.get $1
i32.load offset=4
i32.ne
else
i32.const 0
end
)
(func $std/operator-overloading/TesterInlineStatic#constructor (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
i32.const 4
call $~lib/rt/stub/__alloc
@ -1179,7 +1203,7 @@
i32.store offset=4
local.get $2
)
(func $std/operator-overloading/TesterInlineInstance#constructor (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/TesterInlineInstance#constructor (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
i32.const 5
call $~lib/rt/stub/__alloc
@ -1191,7 +1215,7 @@
i32.store offset=4
local.get $2
)
(func $start:std/operator-overloading (; 8 ;) (type $FUNCSIG$v)
(func $start:std/operator-overloading (; 10 ;) (type $FUNCSIG$v)
(local $0 i32)
(local $1 i32)
i32.const 80
@ -1581,21 +1605,8 @@
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/eq2
global.get $std/operator-overloading/eq1
local.tee $0
i32.load
global.get $std/operator-overloading/eq2
local.tee $1
i32.load
i32.eq
if (result i32)
local.get $0
i32.load offset=4
local.get $1
i32.load offset=4
i32.eq
else
i32.const 0
end
call $std/operator-overloading/Tester.equals
global.set $std/operator-overloading/eq
global.get $std/operator-overloading/eq
i32.const 1
@ -1617,21 +1628,8 @@
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/eq4
global.get $std/operator-overloading/eq3
local.tee $0
i32.load
global.get $std/operator-overloading/eq4
local.tee $1
i32.load
i32.eq
if (result i32)
local.get $0
i32.load offset=4
local.get $1
i32.load offset=4
i32.eq
else
i32.const 0
end
call $std/operator-overloading/Tester.equals
global.set $std/operator-overloading/eqf
global.get $std/operator-overloading/eqf
if
@ -1643,21 +1641,8 @@
unreachable
end
global.get $std/operator-overloading/eq1
local.tee $0
i32.load
global.get $std/operator-overloading/eq2
local.tee $1
i32.load
i32.ne
if (result i32)
local.get $0
i32.load offset=4
local.get $1
i32.load offset=4
i32.ne
else
i32.const 0
end
call $std/operator-overloading/Tester.notEquals
global.set $std/operator-overloading/eq
global.get $std/operator-overloading/eq
if
@ -1669,21 +1654,8 @@
unreachable
end
global.get $std/operator-overloading/eq3
local.tee $0
i32.load
global.get $std/operator-overloading/eq4
local.tee $1
i32.load
i32.ne
if (result i32)
local.get $0
i32.load offset=4
local.get $1
i32.load offset=4
i32.ne
else
i32.const 0
end
call $std/operator-overloading/Tester.notEquals
global.set $std/operator-overloading/eqf
global.get $std/operator-overloading/eqf
i32.const 1
@ -2404,10 +2376,10 @@
unreachable
end
)
(func $start (; 9 ;) (type $FUNCSIG$v)
(func $start (; 11 ;) (type $FUNCSIG$v)
call $start:std/operator-overloading
)
(func $null (; 10 ;) (type $FUNCSIG$v)
(func $null (; 12 ;) (type $FUNCSIG$v)
nop
)
)

View File

@ -1,5 +1,7 @@
(module
(type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$viif (func (param i32 i32 f32)))
(type $FUNCSIG$v (func))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$vii (func (param i32 i32)))
@ -14,7 +16,12 @@
(global $std/pointer/buf (mut i32) (i32.const 0))
(export "memory" (memory $0))
(start $start)
(func $~lib/memory/memory.fill (; 1 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $std/pointer/Pointer<std/pointer/Entry>#dec (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.const 8
i32.sub
)
(func $~lib/memory/memory.fill (; 2 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
local.get $0
i32.const 0
@ -58,7 +65,7 @@
i32.const 0
i32.store8
)
(func $~lib/memory/memory.copy (; 2 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/memory/memory.copy (; 3 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -232,7 +239,16 @@
end
end
)
(func $start:std/pointer (; 3 ;) (type $FUNCSIG$v)
(func $std/pointer/Pointer<f32>#set (; 4 ;) (type $FUNCSIG$viif) (param $0 i32) (param $1 i32) (param $2 f32)
local.get $1
i32.const 2
i32.shl
local.get $0
i32.add
local.get $2
f32.store
)
(func $start:std/pointer (; 5 ;) (type $FUNCSIG$v)
(local $0 i32)
(local $1 i32)
i32.const 8
@ -262,13 +278,12 @@
unreachable
end
global.get $std/pointer/one
local.tee $0
i32.const 1
i32.store
local.get $0
global.get $std/pointer/one
i32.const 2
i32.store offset=4
local.get $0
global.get $std/pointer/one
i32.load
i32.const 1
i32.ne
@ -338,10 +353,9 @@
i32.add
global.set $std/pointer/one
global.get $std/pointer/one
local.tee $0
global.set $std/pointer/nextOne
global.get $std/pointer/nextOne
local.get $0
global.get $std/pointer/one
i32.ne
if
i32.const 0
@ -374,12 +388,10 @@
unreachable
end
global.get $std/pointer/two
i32.const 8
i32.sub
call $std/pointer/Pointer<std/pointer/Entry>#dec
global.set $std/pointer/two
global.get $std/pointer/two
i32.const 8
i32.sub
call $std/pointer/Pointer<std/pointer/Entry>#dec
global.set $std/pointer/two
global.get $std/pointer/two
i32.const 8
@ -466,15 +478,14 @@
i32.const 0
global.set $std/pointer/buf
global.get $std/pointer/buf
local.tee $0
i32.const 0
f32.const 1.100000023841858
f32.store
local.get $0
i32.const 4
i32.add
call $std/pointer/Pointer<f32>#set
global.get $std/pointer/buf
i32.const 1
f32.const 1.2000000476837158
f32.store
local.get $0
call $std/pointer/Pointer<f32>#set
global.get $std/pointer/buf
f32.load
f32.const 1.100000023841858
f32.ne
@ -553,10 +564,11 @@
global.get $std/pointer/buf
i32.const 8
i32.add
local.tee $0
f32.const 1.2999999523162842
f32.store
local.get $0
global.get $std/pointer/buf
i32.const 8
i32.add
f32.load
f32.const 1.2999999523162842
f32.ne
@ -595,10 +607,9 @@
unreachable
end
global.get $std/pointer/buf
local.tee $0
f32.const 1.399999976158142
f32.store
local.get $0
global.get $std/pointer/buf
f32.load
f32.const 1.399999976158142
f32.ne
@ -623,10 +634,10 @@
unreachable
end
)
(func $start (; 4 ;) (type $FUNCSIG$v)
(func $start (; 6 ;) (type $FUNCSIG$v)
call $start:std/pointer
)
(func $null (; 5 ;) (type $FUNCSIG$v)
(func $null (; 7 ;) (type $FUNCSIG$v)
nop
)
)

File diff suppressed because it is too large Load Diff

View File

@ -22,7 +22,15 @@
(global $std/string-utf8/ptr (mut i32) (i32.const 0))
(export "memory" (memory $0))
(start $start)
(func $~lib/string/String#get:lengthUTF8 (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/string/String#get:length (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.const 16
i32.sub
i32.load offset=12
i32.const 1
i32.shr_u
)
(func $~lib/string/String#get:lengthUTF8 (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -30,11 +38,7 @@
i32.const 1
local.set $1
local.get $0
i32.const 16
i32.sub
i32.load offset=12
i32.const 1
i32.shr_u
call $~lib/string/String#get:length
local.set $3
loop $continue|0
local.get $2
@ -124,7 +128,7 @@
end
local.get $1
)
(func $~lib/rt/stub/__alloc (; 2 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/rt/stub/__alloc (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -198,7 +202,7 @@
i32.store offset=12
local.get $3
)
(func $~lib/string/String#toUTF8 (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/string/String#toUTF8 (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -212,18 +216,14 @@
call $~lib/rt/stub/__alloc
local.set $5
local.get $0
i32.const 16
i32.sub
i32.load offset=12
i32.const 1
i32.shr_u
call $~lib/string/String#get:length
local.set $6
loop $continue|0
local.get $4
local.get $3
local.get $6
i32.lt_u
if
local.get $4
local.get $3
i32.const 1
i32.shl
local.get $0
@ -232,7 +232,7 @@
local.tee $1
i32.const 128
i32.lt_u
if (result i32)
if
local.get $2
local.get $5
i32.add
@ -241,22 +241,23 @@
local.get $2
i32.const 1
i32.add
local.set $2
else
local.get $1
i32.const 2048
i32.lt_u
if (result i32)
if
local.get $2
local.get $5
i32.add
local.tee $3
local.tee $4
local.get $1
i32.const 6
i32.shr_u
i32.const 192
i32.or
i32.store8
local.get $3
local.get $4
local.get $1
i32.const 63
i32.and
@ -266,12 +267,13 @@
local.get $2
i32.const 2
i32.add
local.set $2
else
local.get $2
local.get $5
i32.add
local.set $3
local.get $4
local.set $4
local.get $3
i32.const 1
i32.add
local.get $6
@ -284,7 +286,7 @@
i32.eq
select
if
local.get $4
local.get $3
i32.const 1
i32.add
i32.const 1
@ -298,7 +300,7 @@
i32.const 56320
i32.eq
if
local.get $3
local.get $4
local.get $1
i32.const 1023
i32.and
@ -316,7 +318,7 @@
i32.const 240
i32.or
i32.store8
local.get $3
local.get $4
local.get $1
i32.const 12
i32.shr_u
@ -325,7 +327,7 @@
i32.const 128
i32.or
i32.store8 offset=1
local.get $3
local.get $4
local.get $1
i32.const 6
i32.shr_u
@ -334,7 +336,7 @@
i32.const 128
i32.or
i32.store8 offset=2
local.get $3
local.get $4
local.get $1
i32.const 63
i32.and
@ -345,21 +347,21 @@
i32.const 4
i32.add
local.set $2
local.get $4
local.get $3
i32.const 2
i32.add
local.set $4
local.set $3
br $continue|0
end
end
local.get $3
local.get $4
local.get $1
i32.const 12
i32.shr_u
i32.const 224
i32.or
i32.store8
local.get $3
local.get $4
local.get $1
i32.const 6
i32.shr_u
@ -368,7 +370,7 @@
i32.const 128
i32.or
i32.store8 offset=1
local.get $3
local.get $4
local.get $1
i32.const 63
i32.and
@ -378,13 +380,13 @@
local.get $2
i32.const 3
i32.add
local.set $2
end
end
local.set $2
local.get $4
local.get $3
i32.const 1
i32.add
local.set $4
local.set $3
br $continue|0
end
end
@ -395,7 +397,7 @@
i32.store8
local.get $5
)
(func $~lib/memory/memory.copy (; 4 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memory.copy (; 5 ;) (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
@ -568,7 +570,7 @@
end
end
)
(func $~lib/string/String.fromUTF8 (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.fromUTF8 (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -820,7 +822,7 @@
call $~lib/memory/memory.copy
local.get $0
)
(func $~lib/util/string/compareImpl (; 6 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/util/string/compareImpl (; 7 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
loop $continue|0
local.get $2
@ -853,7 +855,7 @@
end
local.get $3
)
(func $~lib/string/String.__eq (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__eq (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $0
local.get $1
@ -870,18 +872,10 @@
select
br_if $folding-inner0
local.get $0
i32.const 16
i32.sub
i32.load offset=12
i32.const 1
i32.shr_u
call $~lib/string/String#get:length
local.tee $2
local.get $1
i32.const 16
i32.sub
i32.load offset=12
i32.const 1
i32.shr_u
call $~lib/string/String#get:length
i32.ne
br_if $folding-inner0
local.get $0
@ -893,7 +887,7 @@
end
i32.const 0
)
(func $start:std/string-utf8 (; 8 ;) (type $FUNCSIG$v)
(func $start:std/string-utf8 (; 9 ;) (type $FUNCSIG$v)
global.get $std/string-utf8/str
call $~lib/string/String#get:lengthUTF8
global.set $std/string-utf8/len
@ -1138,10 +1132,10 @@
unreachable
end
)
(func $start (; 9 ;) (type $FUNCSIG$v)
(func $start (; 10 ;) (type $FUNCSIG$v)
call $start:std/string-utf8
)
(func $null (; 10 ;) (type $FUNCSIG$v)
(func $null (; 11 ;) (type $FUNCSIG$v)
nop
)
)

File diff suppressed because it is too large Load Diff

View File

@ -305,3 +305,5 @@ export function getString(): string {
// Unleak globals
__release(changetype<usize>(str));
@start export function main(): void {}

View File

@ -204,11 +204,12 @@
(global $~lib/util/number/_exp_pow (mut i32) (i32.const 0))
(global $~lib/builtins/f64.EPSILON f64 (f64.const 2.220446049250313e-16))
(global $~lib/builtins/f64.MAX_VALUE f64 (f64.const 1797693134862315708145274e284))
(global $~lib/started (mut i32) (i32.const 0))
(global $~lib/rt/RTTI_BASE i32 (i32.const 6944))
(global $~lib/heap/HEAP_BASE i32 (i32.const 7012))
(export "memory" (memory $0))
(export "getString" (func $std/string/getString))
(start $start)
(export "main" (func $std/string/main))
(func $~lib/string/String#get:length (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.const 16
@ -10746,10 +10747,19 @@
global.get $std/string/str
call $~lib/rt/pure/__retain
)
(func $start (; 82 ;) (type $FUNCSIG$v)
(func $std/string/main (; 82 ;) (type $FUNCSIG$v)
global.get $~lib/started
i32.eqz
if
call $start
i32.const 1
global.set $~lib/started
end
)
(func $start (; 83 ;) (type $FUNCSIG$v)
call $start:std/string
)
(func $~lib/rt/pure/markGray (; 83 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/rt/pure/markGray (; 84 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
local.get $0
i32.load offset=4
@ -10776,7 +10786,7 @@
call $~lib/rt/__visit_members
end
)
(func $~lib/rt/pure/scanBlack (; 84 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/rt/pure/scanBlack (; 85 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0
local.get $0
i32.load offset=4
@ -10793,7 +10803,7 @@
i32.const 4
call $~lib/rt/__visit_members
)
(func $~lib/rt/pure/scan (; 85 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/rt/pure/scan (; 86 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
local.get $0
i32.load offset=4
@ -10830,7 +10840,7 @@
end
end
)
(func $~lib/rt/pure/collectWhite (; 86 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/rt/pure/collectWhite (; 87 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
local.get $0
i32.load offset=4
@ -10859,7 +10869,7 @@
local.get $0
call $~lib/rt/tlsf/freeBlock
)
(func $~lib/rt/pure/__visit (; 87 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/rt/pure/__visit (; 88 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
local.get $0
@ -11013,7 +11023,7 @@
end
end
)
(func $~lib/array/Array<~lib/string/String>#__visit_impl (; 88 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/array/Array<~lib/string/String>#__visit_impl (; 89 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -11049,19 +11059,19 @@
end
end
)
(func $~lib/array/Array<i32>#__visit_impl (; 89 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/array/Array<i32>#__visit_impl (; 90 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
nop
)
(func $~lib/array/Array<u32>#__visit_impl (; 90 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/array/Array<u32>#__visit_impl (; 91 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
nop
)
(func $~lib/array/Array<u64>#__visit_impl (; 91 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/array/Array<u64>#__visit_impl (; 92 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
nop
)
(func $~lib/array/Array<i16>#__visit_impl (; 92 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/array/Array<i16>#__visit_impl (; 93 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
nop
)
(func $~lib/rt/__visit_members (; 93 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/rt/__visit_members (; 94 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
block $block$4$break
block
@ -11211,6 +11221,6 @@
end
unreachable
)
(func $null (; 94 ;) (type $FUNCSIG$v)
(func $null (; 95 ;) (type $FUNCSIG$v)
)
)

View File

@ -50,7 +50,20 @@
(global $std/symbol/isConcatSpreadable (mut i32) (i32.const 0))
(export "memory" (memory $0))
(start $start)
(func $~lib/rt/stub/__alloc (; 1 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/symbol/Symbol (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
global.get $~lib/symbol/nextId
local.tee $0
i32.const 1
i32.add
global.set $~lib/symbol/nextId
local.get $0
i32.eqz
if
unreachable
end
local.get $0
)
(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)
@ -124,7 +137,7 @@
i32.store offset=12
local.get $3
)
(func $~lib/memory/memory.fill (; 2 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/memory/memory.fill (; 3 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
block $~lib/util/memory/memset|inlined.0
local.get $1
@ -335,7 +348,7 @@
end
end
)
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
local.get $0
i32.const 1073741808
@ -356,7 +369,7 @@
call $~lib/memory/memory.fill
local.get $1
)
(func $~lib/map/Map<~lib/string/String,usize>#clear (; 4 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/map/Map<~lib/string/String,usize>#clear (; 5 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0
i32.load
drop
@ -384,7 +397,7 @@
i32.const 0
i32.store offset=20
)
(func $~lib/map/Map<~lib/string/String,usize>#constructor (; 5 ;) (type $FUNCSIG$i) (result i32)
(func $~lib/map/Map<~lib/string/String,usize>#constructor (; 6 ;) (type $FUNCSIG$i) (result i32)
(local $0 i32)
i32.const 24
i32.const 3
@ -411,7 +424,7 @@
call $~lib/map/Map<~lib/string/String,usize>#clear
local.get $0
)
(func $~lib/map/Map<usize,~lib/string/String>#constructor (; 6 ;) (type $FUNCSIG$i) (result i32)
(func $~lib/map/Map<usize,~lib/string/String>#constructor (; 7 ;) (type $FUNCSIG$i) (result i32)
(local $0 i32)
i32.const 24
i32.const 4
@ -438,7 +451,15 @@
call $~lib/map/Map<~lib/string/String,usize>#clear
local.get $0
)
(func $~lib/util/hash/hashStr (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/string/String#get:length (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.const 16
i32.sub
i32.load offset=12
i32.const 1
i32.shr_u
)
(func $~lib/util/hash/hashStr (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -448,11 +469,7 @@
if
block $break|0
local.get $0
i32.const 16
i32.sub
i32.load offset=12
i32.const 1
i32.shr_u
call $~lib/string/String#get:length
i32.const 1
i32.shl
local.set $3
@ -482,7 +499,7 @@
end
local.get $1
)
(func $~lib/util/string/compareImpl (; 8 ;) (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
@ -515,7 +532,7 @@
end
local.get $3
)
(func $~lib/string/String.__eq (; 9 ;) (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
@ -532,18 +549,10 @@
select
br_if $folding-inner0
local.get $0
i32.const 16
i32.sub
i32.load offset=12
i32.const 1
i32.shr_u
call $~lib/string/String#get:length
local.tee $2
local.get $1
i32.const 16
i32.sub
i32.load offset=12
i32.const 1
i32.shr_u
call $~lib/string/String#get:length
i32.ne
br_if $folding-inner0
local.get $0
@ -555,7 +564,7 @@
end
i32.const 0
)
(func $~lib/map/Map<~lib/string/String,usize>#find (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<~lib/string/String,usize>#find (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0
i32.load
local.get $0
@ -596,7 +605,7 @@
end
i32.const 0
)
(func $~lib/map/Map<~lib/string/String,usize>#rehash (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/map/Map<~lib/string/String,usize>#rehash (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -703,7 +712,7 @@
i32.load offset=20
i32.store offset=16
)
(func $~lib/map/Map<~lib/string/String,usize>#set (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/map/Map<~lib/string/String,usize>#set (; 14 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -792,7 +801,7 @@
i32.store
end
)
(func $~lib/util/hash/hash32 (; 13 ;) (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
@ -823,7 +832,7 @@
i32.const 16777619
i32.mul
)
(func $~lib/map/Map<usize,~lib/string/String>#find (; 14 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/map/Map<usize,~lib/string/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
@ -864,7 +873,7 @@
end
i32.const 0
)
(func $~lib/map/Map<usize,~lib/string/String>#rehash (; 15 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/map/Map<usize,~lib/string/String>#rehash (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -971,7 +980,7 @@
i32.load offset=20
i32.store offset=16
)
(func $~lib/map/Map<usize,~lib/string/String>#set (; 16 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/map/Map<usize,~lib/string/String>#set (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -1064,7 +1073,7 @@
i32.store
end
)
(func $~lib/symbol/_Symbol.for (; 17 ;) (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
@ -1110,7 +1119,7 @@
call $~lib/map/Map<usize,~lib/string/String>#set
local.get $0
)
(func $~lib/map/Map<usize,~lib/string/String>#has (; 18 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<usize,~lib/string/String>#has (; 20 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0
local.get $1
local.get $1
@ -1119,7 +1128,7 @@
i32.const 0
i32.ne
)
(func $~lib/map/Map<usize,~lib/string/String>#get (; 19 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<usize,~lib/string/String>#get (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0
local.get $1
local.get $1
@ -1133,7 +1142,7 @@
unreachable
end
)
(func $~lib/symbol/_Symbol.keyFor (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/symbol/_Symbol.keyFor (; 22 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
global.get $~lib/symbol/idToString
if (result i32)
global.get $~lib/symbol/idToString
@ -1150,7 +1159,7 @@
i32.const 0
end
)
(func $~lib/memory/memory.copy (; 21 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memory.copy (; 23 ;) (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
@ -1323,32 +1332,24 @@
end
end
)
(func $~lib/string/String#concat (; 22 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String#concat (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
local.get $0
call $~lib/string/String#get:length
i32.const 1
i32.shl
local.tee $3
local.get $1
i32.const 656
local.get $1
select
local.tee $1
i32.const 16
i32.sub
i32.load offset=12
i32.const 1
i32.shr_u
call $~lib/string/String#get:length
i32.const 1
i32.shl
local.tee $4
local.get $0
i32.const 16
i32.sub
i32.load offset=12
i32.const 1
i32.shr_u
i32.const 1
i32.shl
local.tee $3
i32.add
local.tee $2
i32.eqz
@ -1371,7 +1372,7 @@
call $~lib/memory/memory.copy
local.get $2
)
(func $~lib/string/String.__concat (; 23 ;) (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.get $0
i32.const 656
local.get $0
@ -1379,7 +1380,7 @@
local.get $1
call $~lib/string/String#concat
)
(func $~lib/symbol/_Symbol#toString (; 24 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/symbol/_Symbol#toString (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
i32.const 624
block $break|0 (result i32)
block $case11|0
@ -1462,31 +1463,12 @@
i32.const 680
call $~lib/string/String.__concat
)
(func $start:std/symbol (; 25 ;) (type $FUNCSIG$v)
(local $0 i32)
global.get $~lib/symbol/nextId
local.tee $0
i32.const 1
i32.add
global.set $~lib/symbol/nextId
local.get $0
i32.eqz
if
unreachable
end
local.get $0
(func $start:std/symbol (; 27 ;) (type $FUNCSIG$v)
i32.const 24
call $~lib/symbol/Symbol
global.set $std/symbol/sym1
global.get $~lib/symbol/nextId
local.tee $0
i32.const 1
i32.add
global.set $~lib/symbol/nextId
local.get $0
i32.eqz
if
unreachable
end
local.get $0
i32.const 24
call $~lib/symbol/Symbol
global.set $std/symbol/sym2
global.get $std/symbol/sym1
global.get $std/symbol/sym2
@ -1572,17 +1554,8 @@
call $~lib/builtins/abort
unreachable
end
global.get $~lib/symbol/nextId
local.tee $0
i32.const 1
i32.add
global.set $~lib/symbol/nextId
local.get $0
i32.eqz
if
unreachable
end
local.get $0
i32.const 0
call $~lib/symbol/Symbol
call $~lib/symbol/_Symbol#toString
i32.const 704
call $~lib/string/String.__eq
@ -1639,10 +1612,10 @@
unreachable
end
)
(func $start (; 26 ;) (type $FUNCSIG$v)
(func $start (; 28 ;) (type $FUNCSIG$v)
call $start:std/symbol
)
(func $null (; 27 ;) (type $FUNCSIG$v)
(func $null (; 29 ;) (type $FUNCSIG$v)
nop
)
)

File diff suppressed because it is too large Load Diff