assemblyscript/tests/compiler/builtins.optimized.wat
Daniel Wirtz e8b0767143
Infer function expressions in matching contexts (#514)
* legalizes omitting types on function expressions within function type contexts
* legalizes omitting any number of arguments
2019-02-27 21:45:36 +01:00

454 lines
7.8 KiB
Plaintext

(module
(type $iiii_ (func (param i32 i32 i32 i32)))
(type $ii_ (func (param i32 i32)))
(type $_ (func))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
(memory $0 1)
(data (i32.const 8) "\0b\00\00\00b\00u\00i\00l\00t\00i\00n\00s\00.\00t\00s")
(data (i32.const 40) "\01\00\00\001")
(table $0 2 funcref)
(elem (i32.const 0) $builtins/test $start:builtins~anonymous|0)
(global $builtins/b (mut i32) (i32.const 0))
(global $builtins/i (mut i32) (i32.const 0))
(global $builtins/I (mut i64) (i64.const 0))
(global $builtins/f (mut f32) (f32.const 0))
(global $builtins/F (mut f64) (f64.const 0))
(global $builtins/u (mut i32) (i32.const 0))
(global $builtins/U (mut i64) (i64.const 0))
(global $builtins/s (mut i32) (i32.const 0))
(global $builtins/fn (mut i32) (i32.const 1))
(export "memory" (memory $0))
(export "table" (table $0))
(export "test" (func $builtins/test))
(start $start)
(func $start:builtins~anonymous|0 (; 1 ;) (type $ii_) (param $0 i32) (param $1 i32)
nop
)
(func $start:builtins (; 2 ;) (type $_)
i32.const 31
global.set $builtins/i
i32.const 0
global.set $builtins/i
i32.const 1
global.set $builtins/i
i32.const 2
global.set $builtins/i
i32.const -2147483648
global.set $builtins/i
i32.const 42
global.set $builtins/i
global.get $builtins/i
i32.const 42
i32.ne
if
i32.const 0
i32.const 8
i32.const 59
i32.const 19
call $~lib/env/abort
unreachable
end
i32.const 2
global.set $builtins/i
global.get $builtins/i
i32.const 2
i32.ne
if
i32.const 0
i32.const 8
i32.const 60
i32.const 20
call $~lib/env/abort
unreachable
end
i32.const 1
global.set $builtins/i
global.get $builtins/i
i32.const 1
i32.ne
if
i32.const 0
i32.const 8
i32.const 61
i32.const 20
call $~lib/env/abort
unreachable
end
i64.const 63
global.set $builtins/I
i64.const 0
global.set $builtins/I
i64.const 1
global.set $builtins/I
i64.const 2
global.set $builtins/I
i64.const -9223372036854775808
global.set $builtins/I
i64.const 42
global.set $builtins/I
global.get $builtins/I
i64.const 42
i64.ne
if
i32.const 0
i32.const 8
i32.const 77
i32.const 19
call $~lib/env/abort
unreachable
end
i64.const 2
global.set $builtins/I
global.get $builtins/I
i64.const 2
i64.ne
if
i32.const 0
i32.const 8
i32.const 78
i32.const 20
call $~lib/env/abort
unreachable
end
i64.const 1
global.set $builtins/I
global.get $builtins/i
i32.const 1
i32.ne
if
i32.const 0
i32.const 8
i32.const 79
i32.const 20
call $~lib/env/abort
unreachable
end
f32.const nan:0x400000
global.set $builtins/f
f32.const inf
global.set $builtins/f
f32.const 1.25
global.set $builtins/f
f32.const 2
global.set $builtins/f
f32.const 1.25
global.set $builtins/f
f32.const 1
global.set $builtins/f
f32.const 2.5
global.set $builtins/f
f32.const 1.25
global.set $builtins/f
f32.const 1
global.set $builtins/f
f32.const 1.1180340051651
global.set $builtins/f
f32.const 1
global.set $builtins/f
i32.const 0
global.set $builtins/b
i32.const 1
global.set $builtins/b
f64.const nan:0x8000000000000
global.set $builtins/F
f64.const inf
global.set $builtins/F
f64.const 1.25
global.set $builtins/F
f64.const 2
global.set $builtins/F
f64.const 1.25
global.set $builtins/F
f64.const 1
global.set $builtins/F
f64.const 2.5
global.set $builtins/F
f64.const 1.25
global.set $builtins/F
f64.const 1
global.set $builtins/F
f64.const 1.118033988749895
global.set $builtins/F
f64.const 1
global.set $builtins/F
i32.const 0
global.set $builtins/b
i32.const 1
global.set $builtins/b
i32.const 8
i32.load
global.set $builtins/i
i32.const 8
global.get $builtins/i
i32.store
i32.const 8
i32.const 8
i32.load
i32.store
i32.const 8
i64.load
global.set $builtins/I
i32.const 8
global.get $builtins/I
i64.store
i32.const 8
i32.const 8
i64.load
i64.store
i32.const 8
f32.load
global.set $builtins/f
i32.const 8
global.get $builtins/f
f32.store
i32.const 8
i32.const 8
f32.load
f32.store
i32.const 8
f64.load
global.set $builtins/F
i32.const 8
global.get $builtins/F
f64.store
i32.const 8
i32.const 8
f64.load
f64.store
i32.const 8
i32.load
global.set $builtins/i
i32.const 8
global.get $builtins/i
i32.store
i32.const 8
i32.const 8
i32.load
i32.store
i32.const 8
i64.load
global.set $builtins/I
i32.const 8
global.get $builtins/I
i64.store
i32.const 8
i32.const 8
i64.load
i64.store
i32.const 8
f32.load
global.set $builtins/f
i32.const 8
global.get $builtins/f
f32.store
i32.const 8
i32.const 8
f32.load
f32.store
i32.const 8
f64.load
global.set $builtins/F
i32.const 8
global.get $builtins/F
f64.store
i32.const 8
i32.const 8
f64.load
f64.store
i32.const 8
i32.load8_s
global.set $builtins/i
i32.const 8
i32.load16_s
global.set $builtins/i
i32.const 8
i32.load
global.set $builtins/i
i32.const 8
i32.load8_u
global.set $builtins/i
i32.const 8
i32.load16_u
global.set $builtins/i
i32.const 8
i32.load
global.set $builtins/i
i32.const 8
i32.load8_u
global.set $builtins/u
i32.const 8
i32.load16_u
global.set $builtins/u
i32.const 8
i32.load
global.set $builtins/u
i32.const 8
i32.load8_s
global.set $builtins/u
i32.const 8
i32.load16_s
global.set $builtins/u
i32.const 8
i32.load
global.set $builtins/u
i32.const 8
i64.load8_s
global.set $builtins/I
i32.const 8
i64.load16_s
global.set $builtins/I
i32.const 8
i64.load32_s
global.set $builtins/I
i32.const 8
i64.load
global.set $builtins/I
i32.const 8
i64.load8_u
global.set $builtins/U
i32.const 8
i64.load16_u
global.set $builtins/U
i32.const 8
i64.load32_u
global.set $builtins/U
i32.const 8
i64.load
global.set $builtins/U
i32.const 8
i32.const 1
i32.store8
i32.const 8
i32.const 1
i32.store16
i32.const 8
i32.const 1
i32.store
i32.const 8
i64.const 1
i64.store8
i32.const 8
i64.const 1
i64.store16
i32.const 8
i64.const 1
i64.store32
i32.const 8
i64.const 1
i64.store
i32.const 8
i64.const 1
i64.store
i32.const 1067450368
global.set $builtins/i
f32.const 3.5032461608120427e-44
global.set $builtins/f
i64.const 4608308318706860032
global.set $builtins/I
f64.const 1.24e-322
global.set $builtins/F
current_memory
drop
i32.const 1
grow_memory
drop
current_memory
global.set $builtins/s
i32.const 1
grow_memory
global.set $builtins/s
i32.const 10
global.set $builtins/i
i64.const 200
global.set $builtins/I
f32.const 1.25
global.set $builtins/f
f64.const 25
global.set $builtins/F
global.get $builtins/i
i32.eqz
if
unreachable
end
i32.const 1
i32.const 2
global.get $builtins/fn
call_indirect (type $ii_)
i32.const 8
i32.load8_s
drop
i32.const 8
i32.load8_u
drop
i32.const 8
i32.load16_s
drop
i32.const 8
i32.load16_u
drop
i32.const 8
i32.load
drop
i32.const 8
i64.load8_s
drop
i32.const 8
i64.load8_u
drop
i32.const 8
i64.load16_s
drop
i32.const 8
i64.load16_u
drop
i32.const 8
i64.load32_s
drop
i32.const 8
i64.load32_u
drop
i32.const 8
i64.load
drop
i32.const 8
f32.load
drop
i32.const 8
f64.load
drop
i32.const 8
i32.const 1
i32.store8
i32.const 8
i32.const 1
i32.store16
i32.const 8
i32.const 1
i32.store
i32.const 8
i32.const 1
i32.store8
i32.const 8
i32.const 1
i32.store16
i32.const 8
i32.const 1
i32.store
i32.const 8
i64.const 1
i64.store
i32.const 8
f32.const 1
f32.store
i32.const 8
f64.const 1
f64.store
)
(func $builtins/test (; 3 ;) (type $_)
nop
)
(func $start (; 4 ;) (type $_)
call $start:builtins
)
)