2017-12-02 20:58:39 +01:00
|
|
|
(module
|
|
|
|
(type $ii (func (param i32) (result i32)))
|
2017-12-08 04:03:44 +01:00
|
|
|
(global $HEAP_START i32 (i32.const 4))
|
2017-12-02 20:58:39 +01:00
|
|
|
(memory $0 1)
|
2017-12-02 23:33:01 +01:00
|
|
|
(export "doSwitch" (func $switch/doSwitch))
|
|
|
|
(export "doSwitchDefaultFirst" (func $switch/doSwitchDefaultFirst))
|
|
|
|
(export "doSwitchDefaultOmitted" (func $switch/doSwitchDefaultOmitted))
|
2017-12-02 20:58:39 +01:00
|
|
|
(export "memory" (memory $0))
|
|
|
|
(func $switch/doSwitch (; 0 ;) (type $ii) (param $0 i32) (result i32)
|
|
|
|
(local $1 i32)
|
2017-12-08 16:11:58 +01:00
|
|
|
(block $break|0
|
|
|
|
(block $case4|0
|
|
|
|
(block $case3|0
|
|
|
|
(block $case2|0
|
|
|
|
(block $case1|0
|
|
|
|
(block $case0|0
|
2017-12-02 20:58:39 +01:00
|
|
|
(set_local $1
|
|
|
|
(get_local $0)
|
|
|
|
)
|
2017-12-08 16:11:58 +01:00
|
|
|
(br_if $case0|0
|
2017-12-02 20:58:39 +01:00
|
|
|
(i32.eq
|
|
|
|
(get_local $1)
|
|
|
|
(i32.const 1)
|
|
|
|
)
|
|
|
|
)
|
2017-12-08 16:11:58 +01:00
|
|
|
(br_if $case1|0
|
2017-12-02 20:58:39 +01:00
|
|
|
(i32.eq
|
|
|
|
(get_local $1)
|
|
|
|
(i32.const 0)
|
|
|
|
)
|
|
|
|
)
|
2017-12-08 16:11:58 +01:00
|
|
|
(br_if $case3|0
|
2017-12-02 20:58:39 +01:00
|
|
|
(i32.eq
|
|
|
|
(get_local $1)
|
|
|
|
(i32.const 2)
|
|
|
|
)
|
|
|
|
)
|
2017-12-08 16:11:58 +01:00
|
|
|
(br_if $case4|0
|
2017-12-02 20:58:39 +01:00
|
|
|
(i32.eq
|
|
|
|
(get_local $1)
|
|
|
|
(i32.const 3)
|
|
|
|
)
|
|
|
|
)
|
2017-12-08 16:11:58 +01:00
|
|
|
(br $case2|0)
|
2017-12-02 20:58:39 +01:00
|
|
|
)
|
|
|
|
(return
|
|
|
|
(i32.const 1)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
(return
|
|
|
|
(i32.const 0)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
(return
|
|
|
|
(i32.const 23)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
(func $switch/doSwitchDefaultFirst (; 1 ;) (type $ii) (param $0 i32) (result i32)
|
|
|
|
(local $1 i32)
|
2017-12-08 16:11:58 +01:00
|
|
|
(block $break|0
|
|
|
|
(block $case3|0
|
|
|
|
(block $case2|0
|
|
|
|
(block $case1|0
|
|
|
|
(block $case0|0
|
2017-12-02 20:58:39 +01:00
|
|
|
(set_local $1
|
|
|
|
(get_local $0)
|
|
|
|
)
|
2017-12-08 16:11:58 +01:00
|
|
|
(br_if $case1|0
|
2017-12-02 20:58:39 +01:00
|
|
|
(i32.eq
|
|
|
|
(get_local $1)
|
|
|
|
(i32.const 1)
|
|
|
|
)
|
|
|
|
)
|
2017-12-08 16:11:58 +01:00
|
|
|
(br_if $case2|0
|
2017-12-02 20:58:39 +01:00
|
|
|
(i32.eq
|
|
|
|
(get_local $1)
|
|
|
|
(i32.const 2)
|
|
|
|
)
|
|
|
|
)
|
2017-12-08 16:11:58 +01:00
|
|
|
(br_if $case3|0
|
2017-12-02 20:58:39 +01:00
|
|
|
(i32.eq
|
|
|
|
(get_local $1)
|
|
|
|
(i32.const 3)
|
|
|
|
)
|
|
|
|
)
|
2017-12-08 16:11:58 +01:00
|
|
|
(br $case0|0)
|
2017-12-02 20:58:39 +01:00
|
|
|
)
|
|
|
|
(return
|
|
|
|
(i32.const 0)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
(return
|
|
|
|
(i32.const 1)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
(return
|
|
|
|
(i32.const 23)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
(func $switch/doSwitchDefaultOmitted (; 2 ;) (type $ii) (param $0 i32) (result i32)
|
|
|
|
(local $1 i32)
|
2017-12-08 16:11:58 +01:00
|
|
|
(block $break|0
|
|
|
|
(block $case2|0
|
|
|
|
(block $case1|0
|
|
|
|
(block $case0|0
|
2017-12-02 20:58:39 +01:00
|
|
|
(set_local $1
|
|
|
|
(get_local $0)
|
|
|
|
)
|
2017-12-08 16:11:58 +01:00
|
|
|
(br_if $case0|0
|
2017-12-02 20:58:39 +01:00
|
|
|
(i32.eq
|
|
|
|
(get_local $1)
|
|
|
|
(i32.const 1)
|
|
|
|
)
|
|
|
|
)
|
2017-12-08 16:11:58 +01:00
|
|
|
(br_if $case1|0
|
2017-12-02 20:58:39 +01:00
|
|
|
(i32.eq
|
|
|
|
(get_local $1)
|
|
|
|
(i32.const 2)
|
|
|
|
)
|
|
|
|
)
|
2017-12-08 16:11:58 +01:00
|
|
|
(br_if $case2|0
|
2017-12-02 20:58:39 +01:00
|
|
|
(i32.eq
|
|
|
|
(get_local $1)
|
|
|
|
(i32.const 3)
|
|
|
|
)
|
|
|
|
)
|
2017-12-08 16:11:58 +01:00
|
|
|
(br $break|0)
|
2017-12-02 20:58:39 +01:00
|
|
|
)
|
|
|
|
(return
|
|
|
|
(i32.const 1)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
(return
|
|
|
|
(i32.const 23)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
(return
|
|
|
|
(i32.const 0)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
(;
|
|
|
|
[program.elements]
|
2017-12-16 02:27:39 +01:00
|
|
|
NaN
|
|
|
|
Infinity
|
2017-12-15 17:23:04 +01:00
|
|
|
isNaN
|
|
|
|
isFinite
|
2017-12-02 20:58:39 +01:00
|
|
|
clz
|
|
|
|
ctz
|
|
|
|
popcnt
|
|
|
|
rotl
|
|
|
|
rotr
|
|
|
|
abs
|
|
|
|
max
|
|
|
|
min
|
2017-12-15 17:23:04 +01:00
|
|
|
ceil
|
|
|
|
floor
|
|
|
|
copysign
|
2017-12-02 20:58:39 +01:00
|
|
|
nearest
|
2017-12-15 17:23:04 +01:00
|
|
|
reinterpret
|
2017-12-02 20:58:39 +01:00
|
|
|
sqrt
|
|
|
|
trunc
|
2017-12-04 22:47:08 +01:00
|
|
|
load
|
|
|
|
store
|
|
|
|
sizeof
|
2017-12-15 17:23:04 +01:00
|
|
|
select
|
|
|
|
unreachable
|
|
|
|
current_memory
|
|
|
|
grow_memory
|
2017-12-12 01:35:48 +01:00
|
|
|
parseInt
|
|
|
|
parseFloat
|
2017-12-15 17:23:04 +01:00
|
|
|
changetype
|
|
|
|
assert
|
2017-12-15 15:00:19 +01:00
|
|
|
i8
|
|
|
|
i16
|
|
|
|
i32
|
|
|
|
i64
|
|
|
|
u8
|
|
|
|
u16
|
|
|
|
u32
|
|
|
|
u64
|
|
|
|
bool
|
|
|
|
f32
|
|
|
|
f64
|
|
|
|
isize
|
|
|
|
usize
|
2017-12-16 02:27:39 +01:00
|
|
|
HEAP_START
|
2017-12-02 20:58:39 +01:00
|
|
|
switch/doSwitch
|
|
|
|
switch/doSwitchDefaultFirst
|
|
|
|
switch/doSwitchDefaultOmitted
|
|
|
|
[program.exports]
|
|
|
|
switch/doSwitch
|
|
|
|
switch/doSwitchDefaultFirst
|
|
|
|
switch/doSwitchDefaultOmitted
|
|
|
|
;)
|