diff options
author | Thomas Lively <7121787+tlively@users.noreply.github.com> | 2021-06-01 12:15:24 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-01 09:15:24 -0700 |
commit | 028f47368fe844130f52ad7811c8028ebd18a38e (patch) | |
tree | 7c6b2a68a55f922d70f534abd594d900079139b3 /test/lit/wasm-split/basic.wast | |
parent | 88606f75b97ef3014edb74484125534c2040095b (diff) | |
download | binaryen-028f47368fe844130f52ad7811c8028ebd18a38e.tar.gz binaryen-028f47368fe844130f52ad7811c8028ebd18a38e.tar.bz2 binaryen-028f47368fe844130f52ad7811c8028ebd18a38e.zip |
[wasm-split] Minimize names of newly created exports (#3905)
wasm-split would previously use internal function names to create the external
names of the functions that are newly exported from the primary module to be
imported into the secondary module. When the input module contains full function
names (as is commonly the case when emitting symbol maps), this caused the
function names to be preserved as the export names, even when names are
otherwise being stripped. To save on code size and properly anonymize functions,
generate minimal export names when debuginfo is disabled instead.
Diffstat (limited to 'test/lit/wasm-split/basic.wast')
-rw-r--r-- | test/lit/wasm-split/basic.wast | 88 |
1 files changed, 44 insertions, 44 deletions
diff --git a/test/lit/wasm-split/basic.wast b/test/lit/wasm-split/basic.wast index 98fe433f3..7bbc14b49 100644 --- a/test/lit/wasm-split/basic.wast +++ b/test/lit/wasm-split/basic.wast @@ -1,19 +1,19 @@ -;; RUN: wasm-split %s --export-prefix='%' -o1 %t.none.1.wasm -o2 %t.none.2.wasm -v 2>&1 \ +;; RUN: wasm-split %s --export-prefix='%' -g -o1 %t.none.1.wasm -o2 %t.none.2.wasm -v 2>&1 \ ;; RUN: | filecheck %s --check-prefix KEEP-NONE ;; RUN: wasm-dis %t.none.1.wasm | filecheck %s --check-prefix KEEP-NONE-PRIMARY ;; RUN: wasm-dis %t.none.2.wasm | filecheck %s --check-prefix KEEP-NONE-SECONDARY -;; RUN: wasm-split %s --export-prefix='%' -o1 %t.foo.1.wasm -o2 %t.foo.2.wasm --keep-funcs=foo -v 2>&1 \ +;; RUN: wasm-split %s --export-prefix='%' -g -o1 %t.foo.1.wasm -o2 %t.foo.2.wasm --keep-funcs=foo -v 2>&1 \ ;; RUN: | filecheck %s --check-prefix KEEP-FOO ;; RUN: wasm-dis %t.foo.1.wasm | filecheck %s --check-prefix KEEP-FOO-PRIMARY ;; RUN: wasm-dis %t.foo.2.wasm | filecheck %s --check-prefix KEEP-FOO-SECONDARY -;; RUN: wasm-split %s --export-prefix='%' -o1 %t.bar.1.wasm -o2 %t.bar.2.wasm --keep-funcs=bar -v 2>&1 \ +;; RUN: wasm-split %s --export-prefix='%' -g -o1 %t.bar.1.wasm -o2 %t.bar.2.wasm --keep-funcs=bar -v 2>&1 \ ;; RUN: | filecheck %s --check-prefix KEEP-BAR ;; RUN: wasm-dis %t.bar.1.wasm | filecheck %s --check-prefix KEEP-BAR-PRIMARY ;; RUN: wasm-dis %t.bar.2.wasm | filecheck %s --check-prefix KEEP-BAR-SECONDARY -;; RUN: wasm-split %s --export-prefix='%' -o1 %t.both.1.wasm -o2 %t.both.2.wasm --keep-funcs=foo,bar -v 2>&1 \ +;; RUN: wasm-split %s --export-prefix='%' -g -o1 %t.both.1.wasm -o2 %t.both.2.wasm --keep-funcs=foo,bar -v 2>&1 \ ;; RUN: | filecheck %s --check-prefix KEEP-BOTH ;; RUN: wasm-dis %t.both.1.wasm | filecheck %s --check-prefix KEEP-BOTH-PRIMARY ;; RUN: wasm-dis %t.both.2.wasm | filecheck %s --check-prefix KEEP-BOTH-SECONDARY @@ -33,23 +33,23 @@ ;; KEEP-NONE-PRIMARY: (module ;; KEEP-NONE-PRIMARY-NEXT: (type $i32_=>_i32 (func (param i32) (result i32))) -;; KEEP-NONE-PRIMARY-NEXT: (import "placeholder" "0" (func $fimport$0 (param i32) (result i32))) -;; KEEP-NONE-PRIMARY-NEXT: (table $0 1 1 funcref) -;; KEEP-NONE-PRIMARY-NEXT: (elem (i32.const 0) $fimport$0) -;; KEEP-NONE-PRIMARY-NEXT: (export "%table" (table $0)) +;; KEEP-NONE-PRIMARY-NEXT: (import "placeholder" "0" (func $placeholder_0 (param i32) (result i32))) +;; KEEP-NONE-PRIMARY-NEXT: (table $table 1 1 funcref) +;; KEEP-NONE-PRIMARY-NEXT: (elem (i32.const 0) $placeholder_0) +;; KEEP-NONE-PRIMARY-NEXT: (export "%table" (table $table)) ;; KEEP-NONE-PRIMARY-NEXT: ) ;; KEEP-NONE-SECONDARY: (module ;; KEEP-NONE-SECONDARY-NEXT: (type $i32_=>_i32 (func (param i32) (result i32))) -;; KEEP-NONE-SECONDARY-NEXT: (import "primary" "%table" (table $timport$0 1 1 funcref)) -;; KEEP-NONE-SECONDARY-NEXT: (elem (i32.const 0) $1) -;; KEEP-NONE-SECONDARY-NEXT: (func $0 (param $0 i32) (result i32) -;; KEEP-NONE-SECONDARY-NEXT: (call $1 +;; KEEP-NONE-SECONDARY-NEXT: (import "primary" "%table" (table $table 1 1 funcref)) +;; KEEP-NONE-SECONDARY-NEXT: (elem (i32.const 0) $foo) +;; KEEP-NONE-SECONDARY-NEXT: (func $bar (param $0 i32) (result i32) +;; KEEP-NONE-SECONDARY-NEXT: (call $foo ;; KEEP-NONE-SECONDARY-NEXT: (i32.const 1) ;; KEEP-NONE-SECONDARY-NEXT: ) ;; KEEP-NONE-SECONDARY-NEXT: ) -;; KEEP-NONE-SECONDARY-NEXT: (func $1 (param $0 i32) (result i32) -;; KEEP-NONE-SECONDARY-NEXT: (call $0 +;; KEEP-NONE-SECONDARY-NEXT: (func $foo (param $0 i32) (result i32) +;; KEEP-NONE-SECONDARY-NEXT: (call $bar ;; KEEP-NONE-SECONDARY-NEXT: (i32.const 0) ;; KEEP-NONE-SECONDARY-NEXT: ) ;; KEEP-NONE-SECONDARY-NEXT: ) @@ -60,12 +60,12 @@ ;; KEEP-FOO-PRIMARY: (module ;; KEEP-FOO-PRIMARY-NEXT: (type $i32_=>_i32 (func (param i32) (result i32))) -;; KEEP-FOO-PRIMARY-NEXT: (import "placeholder" "1" (func $fimport$0 (param i32) (result i32))) -;; KEEP-FOO-PRIMARY-NEXT: (table $0 2 2 funcref) -;; KEEP-FOO-PRIMARY-NEXT: (elem (i32.const 0) $0 $fimport$0) -;; KEEP-FOO-PRIMARY-NEXT: (export "%foo" (func $0)) -;; KEEP-FOO-PRIMARY-NEXT: (export "%table" (table $0)) -;; KEEP-FOO-PRIMARY-NEXT: (func $0 (param $0 i32) (result i32) +;; KEEP-FOO-PRIMARY-NEXT: (import "placeholder" "1" (func $placeholder_1 (param i32) (result i32))) +;; KEEP-FOO-PRIMARY-NEXT: (table $table 2 2 funcref) +;; KEEP-FOO-PRIMARY-NEXT: (elem (i32.const 0) $foo $placeholder_1) +;; KEEP-FOO-PRIMARY-NEXT: (export "%foo" (func $foo)) +;; KEEP-FOO-PRIMARY-NEXT: (export "%table" (table $table)) +;; KEEP-FOO-PRIMARY-NEXT: (func $foo (param $0 i32) (result i32) ;; KEEP-FOO-PRIMARY-NEXT: (call_indirect (type $i32_=>_i32) ;; KEEP-FOO-PRIMARY-NEXT: (i32.const 0) ;; KEEP-FOO-PRIMARY-NEXT: (i32.const 1) @@ -75,11 +75,11 @@ ;; KEEP-FOO-SECONDARY: (module ;; KEEP-FOO-SECONDARY-NEXT: (type $i32_=>_i32 (func (param i32) (result i32))) -;; KEEP-FOO-SECONDARY-NEXT: (import "primary" "%table" (table $timport$0 2 2 funcref)) -;; KEEP-FOO-SECONDARY-NEXT: (import "primary" "%foo" (func $fimport$0 (param i32) (result i32))) -;; KEEP-FOO-SECONDARY-NEXT: (elem (i32.const 1) $0) -;; KEEP-FOO-SECONDARY-NEXT: (func $0 (param $0 i32) (result i32) -;; KEEP-FOO-SECONDARY-NEXT: (call $fimport$0 +;; KEEP-FOO-SECONDARY-NEXT: (import "primary" "%table" (table $table 2 2 funcref)) +;; KEEP-FOO-SECONDARY-NEXT: (import "primary" "%foo" (func $foo (param i32) (result i32))) +;; KEEP-FOO-SECONDARY-NEXT: (elem (i32.const 1) $bar) +;; KEEP-FOO-SECONDARY-NEXT: (func $bar (param $0 i32) (result i32) +;; KEEP-FOO-SECONDARY-NEXT: (call $foo ;; KEEP-FOO-SECONDARY-NEXT: (i32.const 1) ;; KEEP-FOO-SECONDARY-NEXT: ) ;; KEEP-FOO-SECONDARY-NEXT: ) @@ -90,12 +90,12 @@ ;; KEEP-BAR-PRIMARY: (module ;; KEEP-BAR-PRIMARY-NEXT: (type $i32_=>_i32 (func (param i32) (result i32))) -;; KEEP-BAR-PRIMARY-NEXT: (import "placeholder" "0" (func $fimport$0 (param i32) (result i32))) -;; KEEP-BAR-PRIMARY-NEXT: (table $0 1 1 funcref) -;; KEEP-BAR-PRIMARY-NEXT: (elem (i32.const 0) $fimport$0) -;; KEEP-BAR-PRIMARY-NEXT: (export "%bar" (func $0)) -;; KEEP-BAR-PRIMARY-NEXT: (export "%table" (table $0)) -;; KEEP-BAR-PRIMARY-NEXT: (func $0 (param $0 i32) (result i32) +;; KEEP-BAR-PRIMARY-NEXT: (import "placeholder" "0" (func $placeholder_0 (param i32) (result i32))) +;; KEEP-BAR-PRIMARY-NEXT: (table $table 1 1 funcref) +;; KEEP-BAR-PRIMARY-NEXT: (elem (i32.const 0) $placeholder_0) +;; KEEP-BAR-PRIMARY-NEXT: (export "%bar" (func $bar)) +;; KEEP-BAR-PRIMARY-NEXT: (export "%table" (table $table)) +;; KEEP-BAR-PRIMARY-NEXT: (func $bar (param $0 i32) (result i32) ;; KEEP-BAR-PRIMARY-NEXT: (call_indirect (type $i32_=>_i32) ;; KEEP-BAR-PRIMARY-NEXT: (i32.const 1) ;; KEEP-BAR-PRIMARY-NEXT: (i32.const 0) @@ -105,11 +105,11 @@ ;; KEEP-BAR-SECONDARY: (module ;; KEEP-BAR-SECONDARY-NEXT: (type $i32_=>_i32 (func (param i32) (result i32))) -;; KEEP-BAR-SECONDARY-NEXT: (import "primary" "%table" (table $timport$0 1 1 funcref)) -;; KEEP-BAR-SECONDARY-NEXT: (import "primary" "%bar" (func $fimport$0 (param i32) (result i32))) -;; KEEP-BAR-SECONDARY-NEXT: (elem (i32.const 0) $0) -;; KEEP-BAR-SECONDARY-NEXT: (func $0 (param $0 i32) (result i32) -;; KEEP-BAR-SECONDARY-NEXT: (call $fimport$0 +;; KEEP-BAR-SECONDARY-NEXT: (import "primary" "%table" (table $table 1 1 funcref)) +;; KEEP-BAR-SECONDARY-NEXT: (import "primary" "%bar" (func $bar (param i32) (result i32))) +;; KEEP-BAR-SECONDARY-NEXT: (elem (i32.const 0) $foo) +;; KEEP-BAR-SECONDARY-NEXT: (func $foo (param $0 i32) (result i32) +;; KEEP-BAR-SECONDARY-NEXT: (call $bar ;; KEEP-BAR-SECONDARY-NEXT: (i32.const 0) ;; KEEP-BAR-SECONDARY-NEXT: ) ;; KEEP-BAR-SECONDARY-NEXT: ) @@ -121,21 +121,21 @@ ;; KEEP-BOTH-PRIMARY: (module ;; KEEP-BOTH-PRIMARY-NEXT: (type $i32_=>_i32 (func (param i32) (result i32))) -;; KEEP-BOTH-PRIMARY-NEXT: (table $0 1 1 funcref) -;; KEEP-BOTH-PRIMARY-NEXT: (elem (i32.const 0) $0) -;; KEEP-BOTH-PRIMARY-NEXT: (export "%table" (table $0)) -;; KEEP-BOTH-PRIMARY-NEXT: (func $0 (param $0 i32) (result i32) -;; KEEP-BOTH-PRIMARY-NEXT: (call $1 +;; KEEP-BOTH-PRIMARY-NEXT: (table $table 1 1 funcref) +;; KEEP-BOTH-PRIMARY-NEXT: (elem (i32.const 0) $foo) +;; KEEP-BOTH-PRIMARY-NEXT: (export "%table" (table $table)) +;; KEEP-BOTH-PRIMARY-NEXT: (func $foo (param $0 i32) (result i32) +;; KEEP-BOTH-PRIMARY-NEXT: (call $bar ;; KEEP-BOTH-PRIMARY-NEXT: (i32.const 0) ;; KEEP-BOTH-PRIMARY-NEXT: ) ;; KEEP-BOTH-PRIMARY-NEXT: ) -;; KEEP-BOTH-PRIMARY-NEXT: (func $1 (param $0 i32) (result i32) -;; KEEP-BOTH-PRIMARY-NEXT: (call $0 +;; KEEP-BOTH-PRIMARY-NEXT: (func $bar (param $0 i32) (result i32) +;; KEEP-BOTH-PRIMARY-NEXT: (call $foo ;; KEEP-BOTH-PRIMARY-NEXT: (i32.const 1) ;; KEEP-BOTH-PRIMARY-NEXT: ) ;; KEEP-BOTH-PRIMARY-NEXT: ) ;; KEEP-BOTH-PRIMARY-NEXT: ) ;; KEEP-BOTH-SECONDARY: (module -;; KEEP-BOTH-SECONDARY-NEXT: (import "primary" "%table" (table $timport$0 1 1 funcref)) +;; KEEP-BOTH-SECONDARY-NEXT: (import "primary" "%table" (table $table 1 1 funcref)) ;; KEEP-BOTH-SECONDARY-NEXT: ) |