diff options
author | Thomas Lively <7121787+tlively@users.noreply.github.com> | 2021-07-08 18:15:13 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-08 11:15:13 -0700 |
commit | 397a06e5992b11eb89493b0ebce08990bd2830c2 (patch) | |
tree | 49fb77f5f361997b85769879c4ec5a2694d83daf /test/passes/asyncify_enable-multivalue.wast | |
parent | 0a682d32870c3a7b2c908b0d7d7cab95338393c5 (diff) | |
download | binaryen-397a06e5992b11eb89493b0ebce08990bd2830c2.tar.gz binaryen-397a06e5992b11eb89493b0ebce08990bd2830c2.tar.bz2 binaryen-397a06e5992b11eb89493b0ebce08990bd2830c2.zip |
Port test/passes/asyncify* to lit (#3970)
Diffstat (limited to 'test/passes/asyncify_enable-multivalue.wast')
-rw-r--r-- | test/passes/asyncify_enable-multivalue.wast | 157 |
1 files changed, 0 insertions, 157 deletions
diff --git a/test/passes/asyncify_enable-multivalue.wast b/test/passes/asyncify_enable-multivalue.wast deleted file mode 100644 index 58734401a..000000000 --- a/test/passes/asyncify_enable-multivalue.wast +++ /dev/null @@ -1,157 +0,0 @@ -;; Pre-existing imports that the pass turns into the implementations. -(module - (memory 1 2) - (import "asyncify" "start_unwind" (func $asyncify_start_unwind (param i32))) - (import "asyncify" "stop_unwind" (func $asyncify_stop_unwind)) - (import "asyncify" "start_rewind" (func $asyncify_start_rewind (param i32))) - (import "asyncify" "stop_rewind" (func $asyncify_stop_rewind)) - (global $sleeping (mut i32) (i32.const 0)) - ;; do a sleep operation: start a sleep if running, or resume after a sleep - ;; if we just rewound. - (func $do_sleep - (if - (i32.eqz (global.get $sleeping)) - (block - (global.set $sleeping (i32.const 1)) - ;; we should set up the data at address 4 around here - (call $asyncify_start_unwind (i32.const 4)) - ) - (block - (global.set $sleeping (i32.const 0)) - (call $asyncify_stop_rewind) - ) - ) - ) - ;; a function that does some work and has a sleep (async pause/resume) in the middle - (func $work - (call $stuff) ;; do some work - (call $do_sleep) ;; take a break - (call $stuff) ;; do some more work - ) - (func $stuff) - ;; the first event called from the main event loop: just call into $work - (func $first_event - (call $work) - ;; work will sleep, so we exit through here while it is paused - ) - ;; the second event called from the main event loop: to resume $work, - ;; stop the unwind, then prepare a rewind, and initiate it by doing - ;; the call to rewind the call stack back up to where it was - (func $second_event - (call $asyncify_stop_unwind) - (call $asyncify_start_rewind (i32.const 4)) - (call $work) - ) - ;; a function that can't do a sleep - (func $never_sleep - (call $stuff) - (call $stuff) - (call $stuff) - ) -) -;; Calls to imports that will call into asyncify themselves. -(module - (memory 1 2) - (import "env" "import" (func $import)) - (import "env" "import2" (func $import2 (result i32))) - (import "env" "import3" (func $import3 (param i32))) - (import "env" "import-mv" (func $import-mv (result i32 i64))) - (func $calls-import - (call $import) - ) - (func $calls-import2 (result i32) - (local $temp i32) - (local.set $temp (call $import2)) - (return (local.get $temp)) - ) - (func $calls-import2-drop - (drop (call $import2)) - ) - (func $calls-nothing - (drop (i32.eqz (i32.const 17))) - ) - (func $many-locals (param $x i32) (result i32) - (local $y i32) - (local $z (f32 i64)) - (loop $l - (local.set $x - (i32.add (local.get $y) (i32.const 1)) - ) - (local.set $y - (i32.div_s (local.get $x) (i32.const 3)) - ) - (br_if $l (local.get $y)) - ) - (call $import) - (return (local.get $y)) - ) - (func $calls-import2-if (param $x i32) - (if (local.get $x) - (call $import) - ) - ) - (func $calls-import2-if-else (param $x i32) - (if (local.get $x) - (call $import3 (i32.const 1)) - (call $import3 (i32.const 2)) - ) - ) - (func $calls-import2-if-else-oneside (param $x i32) (result i32) - (if (local.get $x) - (return (i32.const 1)) - (call $import3 (i32.const 2)) - ) - (return (i32.const 3)) - ) - (func $calls-import2-if-else-oneside2 (param $x i32) (result i32) - (if (local.get $x) - (call $import3 (i32.const 1)) - (return (i32.const 2)) - ) - (return (i32.const 3)) - ) - (func $calls-mv - (local $x (i32 i64)) - (local.set $x (call $import-mv)) - ) - (func $calls-loop (param $x i32) - (loop $l - (call $import3 (i32.const 1)) - (local.set $x - (i32.add (local.get $x) (i32.const 1)) - ) - (br_if $l - (local.get $x) - ) - ) - ) - (func $calls-loop2 - (loop $l - (br_if $l - (call $import2) - ) - ) - ) - (func $calls-mix - (call $boring) - (call $import) - (call $boring) - (call $import) - ) - (func $boring) - (func $calls-mix-deep - (call $boring-deep) - (call $import-deep) - (call $boring) - (call $import) - ) - (func $boring-deep - (call $boring) - ) - (func $import-deep - (call $import) - ) -) -;; empty module, in particular with no memory -(module -) |