summaryrefslogtreecommitdiff
path: root/test/lit/wasm-split/jspi.wast
diff options
context:
space:
mode:
authorBrendan Dahl <brendan.dahl@gmail.com>2024-04-29 09:24:24 -0700
committerGitHub <noreply@github.com>2024-04-29 09:24:24 -0700
commit4f7c6d687e7bbf70888ba046e5ee676f0bdf5815 (patch)
treec9ace48d705cdadc6fe21d0d5eec3d4557d3f93e /test/lit/wasm-split/jspi.wast
parentabd51437426c72a2d2f8195da5d5cf570941b805 (diff)
downloadbinaryen-4f7c6d687e7bbf70888ba046e5ee676f0bdf5815.tar.gz
binaryen-4f7c6d687e7bbf70888ba046e5ee676f0bdf5815.tar.bz2
binaryen-4f7c6d687e7bbf70888ba046e5ee676f0bdf5815.zip
[jspi] - Support new version of JSPI for module splitting. (#6546)
With the old version of JSPI, the JSPI pass was required to be run before splitting and would automatically add an export to be able to find the load_secondary_module function. Now that the pass is no longer needed, just add an import manually for the load_secondary_module function.
Diffstat (limited to 'test/lit/wasm-split/jspi.wast')
-rw-r--r--test/lit/wasm-split/jspi.wast56
1 files changed, 11 insertions, 45 deletions
diff --git a/test/lit/wasm-split/jspi.wast b/test/lit/wasm-split/jspi.wast
index 6866f02ff..e7d6814b7 100644
--- a/test/lit/wasm-split/jspi.wast
+++ b/test/lit/wasm-split/jspi.wast
@@ -1,6 +1,5 @@
;; NOTE: Assertions have been generated by update_lit_checks.py --all-items and should not be edited.
-;; RUN: wasm-opt %s --jspi --pass-arg=jspi-exports@foo --pass-arg=jspi-split-module -all -S -o %t.jspi.wast
-;; RUN: wasm-split %t.jspi.wast --export-prefix='%' -g -o1 %t.1.wasm -o2 %t.2.wasm --keep-funcs=foo --jspi --enable-reference-types
+;; RUN: wasm-split %s --export-prefix='%' -g -o1 %t.1.wasm -o2 %t.2.wasm --keep-funcs=foo --jspi
;; RUN: wasm-dis %t.1.wasm | filecheck %s --check-prefix PRIMARY
;; RUN: wasm-dis %t.2.wasm | filecheck %s --check-prefix SECONDARY
@@ -10,41 +9,31 @@
(module
;; PRIMARY: (type $0 (func (param i32) (result i32)))
- ;; PRIMARY: (type $3 (func (param externref)))
+ ;; PRIMARY: (type $1 (func))
- ;; PRIMARY: (type $1 (func (param externref i32) (result i32)))
-
- ;; PRIMARY: (type $2 (func))
-
- ;; PRIMARY: (import "env" "__load_secondary_module" (func $import$__load_secondary_module (param externref)))
+ ;; PRIMARY: (import "env" "__load_secondary_module" (func $fimport$0))
;; PRIMARY: (import "placeholder" "0" (func $placeholder_0 (param i32) (result i32)))
- ;; PRIMARY: (global $suspender (mut externref) (ref.null noextern))
-
- ;; PRIMARY: (global $global$1 (mut i32) (i32.const 0))
+ ;; PRIMARY: (global $global$0 (mut i32) (i32.const 0))
;; PRIMARY: (table $0 1 funcref)
;; PRIMARY: (elem $0 (i32.const 0) $placeholder_0)
- ;; PRIMARY: (export "foo" (func $export$foo))
-
- ;; PRIMARY: (export "load_secondary_module_status" (global $global$1))
-
- ;; PRIMARY: (export "%foo" (func $foo))
+ ;; PRIMARY: (export "foo" (func $foo))
(export "foo" (func $foo))
- ;; PRIMARY: (export "%table" (table $0))
+ ;; PRIMARY: (export "load_secondary_module_status" (global $global$0))
- ;; PRIMARY: (export "%global" (global $suspender))
+ ;; PRIMARY: (export "%table" (table $0))
;; PRIMARY: (func $foo (param $0 i32) (result i32)
;; PRIMARY-NEXT: (if
;; PRIMARY-NEXT: (i32.eqz
- ;; PRIMARY-NEXT: (global.get $global$1)
+ ;; PRIMARY-NEXT: (global.get $global$0)
;; PRIMARY-NEXT: )
;; PRIMARY-NEXT: (then
- ;; PRIMARY-NEXT: (call $__load_secondary_module)
+ ;; PRIMARY-NEXT: (call $fimport$0)
;; PRIMARY-NEXT: )
;; PRIMARY-NEXT: )
;; PRIMARY-NEXT: (call_indirect (type $0)
@@ -59,11 +48,9 @@
;; SECONDARY: (import "primary" "%table" (table $timport$0 1 funcref))
- ;; SECONDARY: (import "primary" "%global" (global $suspender (mut externref)))
-
- ;; SECONDARY: (import "primary" "load_secondary_module_status" (global $gimport$1 (mut i32)))
+ ;; SECONDARY: (import "primary" "load_secondary_module_status" (global $gimport$0 (mut i32)))
- ;; SECONDARY: (import "primary" "%foo" (func $foo (param i32) (result i32)))
+ ;; SECONDARY: (import "primary" "foo" (func $foo (param i32) (result i32)))
;; SECONDARY: (elem $0 (i32.const 0) $bar)
@@ -77,24 +64,3 @@
)
)
-;; PRIMARY: (func $export$foo (param $susp externref) (param $0 i32) (result i32)
-;; PRIMARY-NEXT: (global.set $suspender
-;; PRIMARY-NEXT: (local.get $susp)
-;; PRIMARY-NEXT: )
-;; PRIMARY-NEXT: (call $foo
-;; PRIMARY-NEXT: (local.get $0)
-;; PRIMARY-NEXT: )
-;; PRIMARY-NEXT: )
-
-;; PRIMARY: (func $__load_secondary_module
-;; PRIMARY-NEXT: (local $0 externref)
-;; PRIMARY-NEXT: (local.set $0
-;; PRIMARY-NEXT: (global.get $suspender)
-;; PRIMARY-NEXT: )
-;; PRIMARY-NEXT: (call $import$__load_secondary_module
-;; PRIMARY-NEXT: (global.get $suspender)
-;; PRIMARY-NEXT: )
-;; PRIMARY-NEXT: (global.set $suspender
-;; PRIMARY-NEXT: (local.get $0)
-;; PRIMARY-NEXT: )
-;; PRIMARY-NEXT: )