Unified continue/break labels with binaryen labels; Module-level global exports

This commit is contained in:
dcodeIO
2017-12-06 17:47:48 +01:00
parent f045975a4b
commit 29468846ab
23 changed files with 192 additions and 148 deletions

View File

@ -6,8 +6,8 @@
(export "loopDoInDo" (func $do/loopDoInDo))
(export "memory" (memory $0))
(func $do/loopDo (; 0 ;) (type $iv) (param $0 i32)
(loop $continue$1.1
(br_if $continue$1.1
(loop $continue|1.1
(br_if $continue|1.1
(tee_local $0
(i32.sub
(get_local $0)
@ -18,15 +18,15 @@
)
)
(func $do/loopDoInDo (; 1 ;) (type $iv) (param $0 i32)
(loop $continue$1.1
(loop $continue|1.1
(set_local $0
(i32.sub
(get_local $0)
(i32.const 1)
)
)
(loop $continue$1.2
(br_if $continue$1.2
(loop $continue|1.2
(br_if $continue|1.2
(tee_local $0
(i32.sub
(get_local $0)
@ -35,7 +35,7 @@
)
)
)
(br_if $continue$1.1
(br_if $continue|1.1
(get_local $0)
)
)

View File

@ -6,23 +6,23 @@
(export "loopDoInDo" (func $do/loopDoInDo))
(export "memory" (memory $0))
(func $do/loopDo (; 0 ;) (type $iv) (param $0 i32)
(block $break$1.1
(loop $continue$1.1
(block $break|1.1
(loop $continue|1.1
(set_local $0
(i32.sub
(get_local $0)
(i32.const 1)
)
)
(br_if $continue$1.1
(br_if $continue|1.1
(get_local $0)
)
)
)
)
(func $do/loopDoInDo (; 1 ;) (type $iv) (param $0 i32)
(block $break$1.1
(loop $continue$1.1
(block $break|1.1
(loop $continue|1.1
(block
(set_local $0
(i32.sub
@ -30,21 +30,21 @@
(i32.const 1)
)
)
(block $break$1.2
(loop $continue$1.2
(block $break|1.2
(loop $continue|1.2
(set_local $0
(i32.sub
(get_local $0)
(i32.const 1)
)
)
(br_if $continue$1.2
(br_if $continue|1.2
(get_local $0)
)
)
)
)
(br_if $continue$1.1
(br_if $continue|1.1
(get_local $0)
)
)

View File

@ -1,9 +1,13 @@
(module
(type $iii (func (param i32 i32) (result i32)))
(global $export/a i32 (i32.const 1))
(global $export/b i32 (i32.const 2))
(memory $0 1)
(data (i32.const 4) "\08")
(export "add" (func $export/add))
(export "renamed_sub" (func $export/sub))
(export "a" (global $export/a))
(export "renamed_b" (global $export/b))
(export "memory" (memory $0))
(func $export/add (; 0 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(i32.add

View File

@ -8,8 +8,8 @@ function sub(a: i32, b: i32): i32 {
export { sub as renamed_sub };
export let a: i32 = 1;
export const a: i32 = 1;
let b: i32 = 2;
const b: i32 = 2;
export { b as renamed_b };

View File

@ -1,11 +1,13 @@
(module
(type $iii (func (param i32 i32) (result i32)))
(global $export/a (mut i32) (i32.const 1))
(global $export/b (mut i32) (i32.const 2))
(global $export/a i32 (i32.const 1))
(global $export/b i32 (i32.const 2))
(memory $0 1)
(data (i32.const 4) "\08\00\00\00")
(export "add" (func $export/add))
(export "renamed_sub" (func $export/sub))
(export "a" (global $export/a))
(export "renamed_b" (global $export/b))
(export "memory" (memory $0))
(func $export/add (; 0 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(return

View File

@ -10,7 +10,7 @@
(set_global $for/i
(i32.const 0)
)
(loop $continue$1.1
(loop $continue|1.1
(if
(i32.lt_s
(get_global $for/i)
@ -23,7 +23,7 @@
(i32.const 1)
)
)
(br $continue$1.1)
(br $continue|1.1)
)
)
)
@ -37,7 +37,7 @@
(set_local $0
(i32.const 0)
)
(loop $continue$2.1
(loop $continue|2.1
(if
(i32.lt_s
(get_local $0)
@ -50,11 +50,11 @@
(i32.const 1)
)
)
(br $continue$2.1)
(br $continue|2.1)
)
)
)
(loop $continue$3.1
(loop $continue|3.1
(if
(i32.gt_s
(get_global $for/i)
@ -67,7 +67,7 @@
(i32.const 1)
)
)
(br $continue$3.1)
(br $continue|3.1)
)
)
)
@ -75,9 +75,9 @@
(get_global $for/i)
(unreachable)
)
(block $break$4.1
(loop $continue$4.1
(br_if $break$4.1
(block $break|4.1
(loop $continue|4.1
(br_if $break|4.1
(i32.eq
(get_global $for/i)
(i32.const 10)
@ -89,17 +89,17 @@
(i32.const 1)
)
)
(br $continue$4.1)
(br $continue|4.1)
)
)
(loop $continue$5.1
(loop $continue|5.1
(set_global $for/i
(i32.sub
(get_global $for/i)
(i32.const 1)
)
)
(br_if $continue$5.1
(br_if $continue|5.1
(get_global $for/i)
)
)

View File

@ -7,11 +7,11 @@
(start $start)
(func $start (; 0 ;) (type $v)
(local $0 i32)
(block $break$1.1
(block $break|1.1
(set_global $for/i
(i32.const 0)
)
(loop $continue$1.1
(loop $continue|1.1
(if
(i32.lt_s
(get_global $for/i)
@ -25,7 +25,7 @@
(i32.const 1)
)
)
(br $continue$1.1)
(br $continue|1.1)
)
)
)
@ -39,13 +39,13 @@
)
(unreachable)
)
(block $break$2.1
(block $break|2.1
(block
(set_local $0
(i32.const 0)
)
)
(loop $continue$2.1
(loop $continue|2.1
(if
(i32.lt_s
(get_local $0)
@ -59,14 +59,14 @@
(i32.const 1)
)
)
(br $continue$2.1)
(br $continue|2.1)
)
)
)
)
(block $break$3.1
(block $break|3.1
(nop)
(loop $continue$3.1
(loop $continue|3.1
(if
(i32.gt_s
(get_global $for/i)
@ -80,7 +80,7 @@
(i32.const 1)
)
)
(br $continue$3.1)
(br $continue|3.1)
)
)
)
@ -94,9 +94,9 @@
)
(unreachable)
)
(block $break$4.1
(block $break|4.1
(nop)
(loop $continue$4.1
(loop $continue|4.1
(if
(i32.const 1)
(block
@ -105,7 +105,7 @@
(get_global $for/i)
(i32.const 10)
)
(br $break$4.1)
(br $break|4.1)
)
(set_global $for/i
(i32.add
@ -113,14 +113,14 @@
(i32.const 1)
)
)
(br $continue$4.1)
(br $continue|4.1)
)
)
)
)
(block $break$5.1
(block $break|5.1
(nop)
(loop $continue$5.1
(loop $continue|5.1
(if
(i32.const 1)
(block
@ -137,10 +137,10 @@
)
(i32.const 0)
)
(br $break$5.1)
(br $break|5.1)
)
(nop)
(br $continue$5.1)
(br $continue|5.1)
)
)
)

View File

@ -1,8 +1,8 @@
(module
(type $iii (func (param i32 i32) (result i32)))
(type $v (func))
(global $export/a (mut i32) (i32.const 1))
(global $export/b (mut i32) (i32.const 2))
(global $export/a i32 (i32.const 1))
(global $export/b i32 (i32.const 2))
(memory $0 1)
(data (i32.const 4) "\08")
(export "memory" (memory $0))

View File

@ -1,8 +1,8 @@
(module
(type $iii (func (param i32 i32) (result i32)))
(type $v (func))
(global $export/a (mut i32) (i32.const 1))
(global $export/b (mut i32) (i32.const 2))
(global $export/a i32 (i32.const 1))
(global $export/b i32 (i32.const 2))
(memory $0 1)
(data (i32.const 4) "\08\00\00\00")
(export "memory" (memory $0))

View File

@ -1,10 +1,14 @@
(module
(type $iii (func (param i32 i32) (result i32)))
(type $v (func))
(global $export/a i32 (i32.const 1))
(global $export/b i32 (i32.const 2))
(memory $0 1)
(data (i32.const 4) "\08")
(export "add" (func $export/add))
(export "renamed_sub" (func $export/sub))
(export "renamed_a" (global $export/a))
(export "rerenamed_b" (global $export/b))
(export "renamed_add" (func $export/add))
(export "rerenamed_sub" (func $export/sub))
(export "memory" (memory $0))

View File

@ -1,4 +1,4 @@
export { add, renamed_sub } from "./export";
export { add, renamed_sub, a as renamed_a, renamed_b as rerenamed_b } from "./export";
import { add as imported_add, renamed_sub as imported_sub } from "./export";

View File

@ -1,10 +1,14 @@
(module
(type $iii (func (param i32 i32) (result i32)))
(type $v (func))
(global $export/a i32 (i32.const 1))
(global $export/b i32 (i32.const 2))
(memory $0 1)
(data (i32.const 4) "\08\00\00\00")
(export "add" (func $export/add))
(export "renamed_sub" (func $export/sub))
(export "renamed_a" (global $export/a))
(export "rerenamed_b" (global $export/b))
(export "renamed_add" (func $export/add))
(export "rerenamed_sub" (func $export/sub))
(export "memory" (memory $0))
@ -80,6 +84,8 @@
export/renamed_b
reexport/add
reexport/renamed_sub
reexport/renamed_a
reexport/rerenamed_b
reexport/renamed_add
reexport/rerenamed_sub
;)

View File

@ -7,15 +7,15 @@
(export "doSwitchDefaultOmitted" (func $switch/doSwitchDefaultOmitted))
(export "memory" (memory $0))
(func $switch/doSwitch (; 0 ;) (type $ii) (param $0 i32) (result i32)
(block $case4$1.1
(block $case2$1.1
(block $case0$1.1
(block $case4|1.1
(block $case2|1.1
(block $case0|1.1
(block $tablify|0
(br_table $case2$1.1 $case0$1.1 $case4$1.1 $case4$1.1 $tablify|0
(br_table $case2|1.1 $case0|1.1 $case4|1.1 $case4|1.1 $tablify|0
(get_local $0)
)
)
(br $case2$1.1)
(br $case2|1.1)
)
(return
(i32.const 1)
@ -28,10 +28,10 @@
(i32.const 23)
)
(func $switch/doSwitchDefaultFirst (; 1 ;) (type $ii) (param $0 i32) (result i32)
(block $case3$1.1
(block $case1$1.1
(block $case3|1.1
(block $case1|1.1
(block $tablify|0
(br_table $case1$1.1 $case3$1.1 $case3$1.1 $tablify|0
(br_table $case1|1.1 $case3|1.1 $case3|1.1 $tablify|0
(i32.sub
(get_local $0)
(i32.const 1)
@ -49,18 +49,18 @@
(i32.const 23)
)
(func $switch/doSwitchDefaultOmitted (; 2 ;) (type $ii) (param $0 i32) (result i32)
(block $break$1.1
(block $case2$1.1
(block $case0$1.1
(block $break|1.1
(block $case2|1.1
(block $case0|1.1
(block $tablify|0
(br_table $case0$1.1 $case2$1.1 $case2$1.1 $tablify|0
(br_table $case0|1.1 $case2|1.1 $case2|1.1 $tablify|0
(i32.sub
(get_local $0)
(i32.const 1)
)
)
)
(br $break$1.1)
(br $break|1.1)
)
(return
(i32.const 1)

View File

@ -8,40 +8,40 @@
(export "memory" (memory $0))
(func $switch/doSwitch (; 0 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(block $break$1.1
(block $case4$1.1
(block $case3$1.1
(block $case2$1.1
(block $case1$1.1
(block $case0$1.1
(block $break|1.1
(block $case4|1.1
(block $case3|1.1
(block $case2|1.1
(block $case1|1.1
(block $case0|1.1
(set_local $1
(get_local $0)
)
(br_if $case0$1.1
(br_if $case0|1.1
(i32.eq
(get_local $1)
(i32.const 1)
)
)
(br_if $case1$1.1
(br_if $case1|1.1
(i32.eq
(get_local $1)
(i32.const 0)
)
)
(br_if $case3$1.1
(br_if $case3|1.1
(i32.eq
(get_local $1)
(i32.const 2)
)
)
(br_if $case4$1.1
(br_if $case4|1.1
(i32.eq
(get_local $1)
(i32.const 3)
)
)
(br $case2$1.1)
(br $case2|1.1)
)
(return
(i32.const 1)
@ -60,33 +60,33 @@
)
(func $switch/doSwitchDefaultFirst (; 1 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(block $break$1.1
(block $case3$1.1
(block $case2$1.1
(block $case1$1.1
(block $case0$1.1
(block $break|1.1
(block $case3|1.1
(block $case2|1.1
(block $case1|1.1
(block $case0|1.1
(set_local $1
(get_local $0)
)
(br_if $case1$1.1
(br_if $case1|1.1
(i32.eq
(get_local $1)
(i32.const 1)
)
)
(br_if $case2$1.1
(br_if $case2|1.1
(i32.eq
(get_local $1)
(i32.const 2)
)
)
(br_if $case3$1.1
(br_if $case3|1.1
(i32.eq
(get_local $1)
(i32.const 3)
)
)
(br $case0$1.1)
(br $case0|1.1)
)
(return
(i32.const 0)
@ -104,32 +104,32 @@
)
(func $switch/doSwitchDefaultOmitted (; 2 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(block $break$1.1
(block $case2$1.1
(block $case1$1.1
(block $case0$1.1
(block $break|1.1
(block $case2|1.1
(block $case1|1.1
(block $case0|1.1
(set_local $1
(get_local $0)
)
(br_if $case0$1.1
(br_if $case0|1.1
(i32.eq
(get_local $1)
(i32.const 1)
)
)
(br_if $case1$1.1
(br_if $case1|1.1
(i32.eq
(get_local $1)
(i32.const 2)
)
)
(br_if $case2$1.1
(br_if $case2|1.1
(i32.eq
(get_local $1)
(i32.const 3)
)
)
(br $break$1.1)
(br $break|1.1)
)
(return
(i32.const 1)

View File

@ -6,7 +6,7 @@
(export "loopWhileInWhile" (func $while/loopWhileInWhile))
(export "memory" (memory $0))
(func $while/loopWhile (; 0 ;) (type $iv) (param $0 i32)
(loop $continue$1.1
(loop $continue|1.1
(if
(get_local $0)
(block
@ -16,13 +16,13 @@
(i32.const 1)
)
)
(br $continue$1.1)
(br $continue|1.1)
)
)
)
)
(func $while/loopWhileInWhile (; 1 ;) (type $iv) (param $0 i32)
(loop $continue$1.1
(loop $continue|1.1
(if
(get_local $0)
(block
@ -32,7 +32,7 @@
(i32.const 1)
)
)
(loop $continue$1.2
(loop $continue|1.2
(if
(get_local $0)
(block
@ -42,11 +42,11 @@
(i32.const 1)
)
)
(br $continue$1.2)
(br $continue|1.2)
)
)
)
(br $continue$1.1)
(br $continue|1.1)
)
)
)

View File

@ -6,8 +6,8 @@
(export "loopWhileInWhile" (func $while/loopWhileInWhile))
(export "memory" (memory $0))
(func $while/loopWhile (; 0 ;) (type $iv) (param $0 i32)
(block $break$1.1
(loop $continue$1.1
(block $break|1.1
(loop $continue|1.1
(if
(get_local $0)
(block
@ -17,15 +17,15 @@
(i32.const 1)
)
)
(br $continue$1.1)
(br $continue|1.1)
)
)
)
)
)
(func $while/loopWhileInWhile (; 1 ;) (type $iv) (param $0 i32)
(block $break$1.1
(loop $continue$1.1
(block $break|1.1
(loop $continue|1.1
(if
(get_local $0)
(block
@ -36,8 +36,8 @@
(i32.const 1)
)
)
(block $break$1.2
(loop $continue$1.2
(block $break|1.2
(loop $continue|1.2
(if
(get_local $0)
(block
@ -47,13 +47,13 @@
(i32.const 1)
)
)
(br $continue$1.2)
(br $continue|1.2)
)
)
)
)
)
(br $continue$1.1)
(br $continue|1.1)
)
)
)