summaryrefslogtreecommitdiff
path: root/test/wasm2js
diff options
context:
space:
mode:
Diffstat (limited to 'test/wasm2js')
-rw-r--r--test/wasm2js/br_table_temp.2asm.js34
-rw-r--r--test/wasm2js/empty_loop.2asm.js28
-rw-r--r--test/wasm2js/empty_loop.2asm.js.opt26
-rw-r--r--test/wasm2js/empty_loop.wast18
4 files changed, 86 insertions, 20 deletions
diff --git a/test/wasm2js/br_table_temp.2asm.js b/test/wasm2js/br_table_temp.2asm.js
index a8592a186..01a2238e1 100644
--- a/test/wasm2js/br_table_temp.2asm.js
+++ b/test/wasm2js/br_table_temp.2asm.js
@@ -12554,12 +12554,10 @@ function asmFunc(imports) {
function $19() {
var $1_1 = 0, $2_1 = 0, $4_1 = 0;
label : {
- $null_Name_ : while (1) {
- $1_1 = 3;
- switch (0 | 0) {
- default:
- break label;
- };
+ $1_1 = 3;
+ switch (0 | 0) {
+ default:
+ break label;
};
}
return $1_1 | 0;
@@ -12568,13 +12566,11 @@ function asmFunc(imports) {
function $20() {
var $1_1 = 0, $2_1 = 0, $4_1 = 0;
label : {
- $null_Name_ : while (1) {
- dummy();
- $1_1 = 4;
- switch (-1 | 0) {
- default:
- break label;
- };
+ dummy();
+ $1_1 = 4;
+ switch (-1 | 0) {
+ default:
+ break label;
};
}
return $1_1 | 0;
@@ -12583,13 +12579,11 @@ function asmFunc(imports) {
function $21() {
var $1_1 = 0;
label : {
- $null_Name_ : while (1) {
- dummy();
- $1_1 = 5;
- switch (1 | 0) {
- default:
- break label;
- };
+ dummy();
+ $1_1 = 5;
+ switch (1 | 0) {
+ default:
+ break label;
};
}
return $1_1 | 0;
diff --git a/test/wasm2js/empty_loop.2asm.js b/test/wasm2js/empty_loop.2asm.js
new file mode 100644
index 000000000..7e81b4643
--- /dev/null
+++ b/test/wasm2js/empty_loop.2asm.js
@@ -0,0 +1,28 @@
+
+function wasm2js_trap() { throw new Error('abort'); }
+
+function asmFunc(imports) {
+ var Math_imul = Math.imul;
+ var Math_fround = Math.fround;
+ var Math_abs = Math.abs;
+ var Math_clz32 = Math.clz32;
+ var Math_min = Math.min;
+ var Math_max = Math.max;
+ var Math_floor = Math.floor;
+ var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
+ var Math_sqrt = Math.sqrt;
+ var g = 0;
+ function test() {
+ g = 0;
+ wasm2js_trap();
+ }
+
+ return {
+ "test": test
+ };
+}
+
+var retasmFunc = asmFunc({
+});
+export var test = retasmFunc.test;
diff --git a/test/wasm2js/empty_loop.2asm.js.opt b/test/wasm2js/empty_loop.2asm.js.opt
new file mode 100644
index 000000000..ff37d056f
--- /dev/null
+++ b/test/wasm2js/empty_loop.2asm.js.opt
@@ -0,0 +1,26 @@
+
+function wasm2js_trap() { throw new Error('abort'); }
+
+function asmFunc(imports) {
+ var Math_imul = Math.imul;
+ var Math_fround = Math.fround;
+ var Math_abs = Math.abs;
+ var Math_clz32 = Math.clz32;
+ var Math_min = Math.min;
+ var Math_max = Math.max;
+ var Math_floor = Math.floor;
+ var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
+ var Math_sqrt = Math.sqrt;
+ function test() {
+ wasm2js_trap();
+ }
+
+ return {
+ "test": test
+ };
+}
+
+var retasmFunc = asmFunc({
+});
+export var test = retasmFunc.test;
diff --git a/test/wasm2js/empty_loop.wast b/test/wasm2js/empty_loop.wast
new file mode 100644
index 000000000..8f22c033d
--- /dev/null
+++ b/test/wasm2js/empty_loop.wast
@@ -0,0 +1,18 @@
+(module
+ (global $g (mut i32) (i32.const 0))
+
+ (func $test (export "test")
+ ;; Loops without labels. We should not emit anything invalid here (like a
+ ;; null name, which would end up identical between the two, which is wrong).
+ (loop
+ (loop
+ ;; Some content, so the loop is not trivial.
+ (global.set $g
+ (i32.const 0)
+ )
+ (unreachable)
+ )
+ (unreachable)
+ )
+ )
+)