diff options
author | Guanzhong Chen <gzchen@google.com> | 2019-08-09 10:49:37 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-08-09 10:49:37 -0700 |
commit | 12add6f17c377de7ac334e8fa7885b61b98f3db4 (patch) | |
tree | dabb9cd390cf3df814746e4593d5d46704b9db4d /test | |
parent | ab3a1f65fb9d2e4ec7e2640daca0b3953a030da6 (diff) | |
download | binaryen-12add6f17c377de7ac334e8fa7885b61b98f3db4.tar.gz binaryen-12add6f17c377de7ac334e8fa7885b61b98f3db4.tar.bz2 binaryen-12add6f17c377de7ac334e8fa7885b61b98f3db4.zip |
Fix EM_ASM not working with setjmp/longjmp (#2283)
Diffstat (limited to 'test')
-rw-r--r-- | test/lld/em_asm_table.wast | 8 | ||||
-rw-r--r-- | test/lld/em_asm_table.wast.out | 67 |
2 files changed, 52 insertions, 23 deletions
diff --git a/test/lld/em_asm_table.wast b/test/lld/em_asm_table.wast index c35ebe577..673e27585 100644 --- a/test/lld/em_asm_table.wast +++ b/test/lld/em_asm_table.wast @@ -4,10 +4,18 @@ (import "env" "memory" (memory $2 8192)) (import "env" "emscripten_log" (func $fimport$0 (param i32 i32))) (import "env" "emscripten_asm_const_int" (func $fimport$1 (param i32 i32 i32) (result i32))) + (import "env" "__invoke_i32_i8*_i8*_..." (func $__invoke_i32_i8*_i8*_... (param i32 i32 i32 i32) (result i32))) + (data (i32.const 1024) "{ console.log(\"hello world\"); }\00") (table $0 159609 funcref) (elem (i32.const 1) $fimport$0 $fimport$1) (global $global$0 (mut i32) (i32.const 1024)) (global $global$1 i32 (i32.const 1048)) (export "__data_end" (global $global$1)) + (export "main" (func $main)) + (func $main + (drop + (call $__invoke_i32_i8*_i8*_... (i32.const 2) (i32.const 1024) (i32.const 13) (i32.const 27)) + ) + ) ) diff --git a/test/lld/em_asm_table.wast.out b/test/lld/em_asm_table.wast.out index 48d02d208..80f8ee4c8 100644 --- a/test/lld/em_asm_table.wast.out +++ b/test/lld/em_asm_table.wast.out @@ -1,26 +1,49 @@ (module (type $0 (func (param i32 i32))) (type $1 (func (param i32 i32 i32) (result i32))) - (type $FUNCSIG$vii (func (param i32 i32))) + (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32))) + (type $FUNCSIG$v (func)) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) + (type $FUNCSIG$vii (func (param i32 i32))) (import "env" "memory" (memory $0 8192)) + (data (i32.const 1024) "{ console.log(\"hello world\"); }\00") (import "env" "emscripten_log" (func $fimport$0 (param i32 i32))) + (import "env" "invoke_iiii" (func $invoke_iiii (param i32 i32 i32 i32) (result i32))) (import "env" "emscripten_asm_const_iii" (func $emscripten_asm_const_iii (param i32 i32 i32) (result i32))) - (table $0 159609 funcref) - (elem (i32.const 1) $fimport$0 $emscripten_asm_const_iii) + (table $0 159610 funcref) + (elem (i32.const 1) $fimport$0 $emscripten_asm_const_iii $emscripten_asm_const_iii) (global $global$0 (mut i32) (i32.const 1024)) (global $global$1 i32 (i32.const 1048)) (export "__data_end" (global $global$1)) + (export "main" (func $main)) + (export "dynCall_iiii" (func $dynCall_iiii)) (export "stackSave" (func $stackSave)) (export "stackAlloc" (func $stackAlloc)) (export "stackRestore" (func $stackRestore)) (export "__growWasmMemory" (func $__growWasmMemory)) (export "dynCall_vii" (func $dynCall_vii)) - (export "dynCall_iiii" (func $dynCall_iiii)) - (func $stackSave (; 2 ;) (result i32) + (func $main (; 3 ;) (type $FUNCSIG$v) + (drop + (call $invoke_iiii + (i32.const 3) + (i32.const 0) + (i32.const 13) + (i32.const 27) + ) + ) + ) + (func $dynCall_iiii (; 4 ;) (param $fptr i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (call_indirect (type $FUNCSIG$iiii) + (local.get $0) + (local.get $1) + (local.get $2) + (local.get $fptr) + ) + ) + (func $stackSave (; 5 ;) (result i32) (global.get $global$0) ) - (func $stackAlloc (; 3 ;) (param $0 i32) (result i32) + (func $stackAlloc (; 6 ;) (param $0 i32) (result i32) (local $1 i32) (global.set $global$0 (local.tee $1 @@ -35,66 +58,64 @@ ) (local.get $1) ) - (func $stackRestore (; 4 ;) (param $0 i32) + (func $stackRestore (; 7 ;) (param $0 i32) (global.set $global$0 (local.get $0) ) ) - (func $__growWasmMemory (; 5 ;) (param $newSize i32) (result i32) + (func $__growWasmMemory (; 8 ;) (param $newSize i32) (result i32) (memory.grow (local.get $newSize) ) ) - (func $dynCall_vii (; 6 ;) (param $fptr i32) (param $0 i32) (param $1 i32) + (func $dynCall_vii (; 9 ;) (param $fptr i32) (param $0 i32) (param $1 i32) (call_indirect (type $FUNCSIG$vii) (local.get $0) (local.get $1) (local.get $fptr) ) ) - (func $dynCall_iiii (; 7 ;) (param $fptr i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (call_indirect (type $FUNCSIG$iiii) - (local.get $0) - (local.get $1) - (local.get $2) - (local.get $fptr) - ) - ) ) (; --BEGIN METADATA -- { + "asmConsts": { + "0": ["{ console.log(\"hello world\"); }", ["iii"], [""]] + }, "staticBump": 480, - "tableSize": 159609, + "tableSize": 159610, "declares": [ "emscripten_log" ], "externs": [ ], "implementedFunctions": [ + "_main", + "_dynCall_iiii", "_stackSave", "_stackAlloc", "_stackRestore", "___growWasmMemory", - "_dynCall_vii", - "_dynCall_iiii" + "_dynCall_vii" ], "exports": [ + "main", + "dynCall_iiii", "stackSave", "stackAlloc", "stackRestore", "__growWasmMemory", - "dynCall_vii", - "dynCall_iiii" + "dynCall_vii" ], "namedGlobals": { "__data_end" : "1048" }, "invokeFuncs": [ + "invoke_iiii" ], "features": [ ], - "mainReadsParams": 0 + "mainReadsParams": 1 } -- END METADATA -- ;) |