diff options
author | Goktug Gokdogan <goktug@google.com> | 2023-12-13 13:48:19 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-13 21:48:19 +0000 |
commit | 61c3666ebd85eaadb11d06ce8048f4bea026af3d (patch) | |
tree | c9f8db5ef8a44fa1c0475a167d0c3b260386f48c /test | |
parent | 1da1363759012c844f061a29bea94a825ab39565 (diff) | |
download | binaryen-61c3666ebd85eaadb11d06ce8048f4bea026af3d.tar.gz binaryen-61c3666ebd85eaadb11d06ce8048f4bea026af3d.tar.bz2 binaryen-61c3666ebd85eaadb11d06ce8048f4bea026af3d.zip |
J2CL: Use a more future proof naming convention for once functions (#6173)
Existing convention uses _@once@_ but we also use @ for class separation.
It is cleaner&more future proof to use something other convention like _<once>_.
Diffstat (limited to 'test')
-rw-r--r-- | test/lit/passes/j2cl-inline.wast | 22 | ||||
-rw-r--r-- | test/lit/passes/j2cl.wast | 24 |
2 files changed, 24 insertions, 22 deletions
diff --git a/test/lit/passes/j2cl-inline.wast b/test/lit/passes/j2cl-inline.wast index dad35b80e..263be0726 100644 --- a/test/lit/passes/j2cl-inline.wast +++ b/test/lit/passes/j2cl-inline.wast @@ -1,16 +1,18 @@ ;; NOTE: Assertions have been generated by update_lit_checks.py --all-items and should not be edited. -;; RUN: foreach %s %t wasm-opt --no-inline=*_@once@_* --optimize-j2cl --inlining --vacuum --optimize-level=3 -all -S -o - | filecheck %s +;; NOTE: In real world example no-inline would use _<once>_ but there is escaping problem in a multi-platform +;; way in lit so we are working around it by using no-inline with a different pattern that matches same method. +;; RUN: foreach %s %t wasm-opt --no-inline=*clinit* --optimize-j2cl --inlining --vacuum --optimize-level=3 -all -S -o - | filecheck %s ;; Only trivial once functions are inlined (module ;; A once function that has become empty - (func $clinit-trivial-1_@once@_@Foo ) + (func $clinit-trivial-1_<once>_@Foo ) ;; A once function that just calls another - (func $clinit-trivial-2_@once@_@Bar - (call $clinit-trivial-1_@once@_@Foo) + (func $clinit-trivial-2_<once>_@Bar + (call $clinit-trivial-1_<once>_@Foo) ) ;; CHECK: (type $0 (func)) @@ -19,7 +21,7 @@ (global $$class-initialized@Zoo (mut i32) (i32.const 0)) ;; Not hoisted but trivial. - ;; CHECK: (func $clinit-non-trivial_@once@_@Zoo (type $0) + ;; CHECK: (func $clinit-non-trivial_<once>_@Zoo (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $$class-initialized@Zoo) ;; CHECK-NEXT: (return) @@ -28,7 +30,7 @@ ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - (func $clinit-non-trivial_@once@_@Zoo + (func $clinit-non-trivial_<once>_@Zoo (if (global.get $$class-initialized@Zoo) (return) ) @@ -36,11 +38,11 @@ ) ;; CHECK: (func $main (type $0) - ;; CHECK-NEXT: (call $clinit-non-trivial_@once@_@Zoo) + ;; CHECK-NEXT: (call $clinit-non-trivial_<once>_@Zoo) ;; CHECK-NEXT: ) (func $main - (call $clinit-trivial-1_@once@_@Foo) - (call $clinit-trivial-2_@once@_@Bar) - (call $clinit-non-trivial_@once@_@Zoo) + (call $clinit-trivial-1_<once>_@Foo) + (call $clinit-trivial-2_<once>_@Bar) + (call $clinit-non-trivial_<once>_@Zoo) ) ) diff --git a/test/lit/passes/j2cl.wast b/test/lit/passes/j2cl.wast index 0d37dd829..2294b7d3d 100644 --- a/test/lit/passes/j2cl.wast +++ b/test/lit/passes/j2cl.wast @@ -12,10 +12,10 @@ (global $field-i32@Foo (mut i32) (i32.const 0)) (global $field-f64@Foo (mut f64) (f64.const 0)) - ;; CHECK: (func $clinit_@once@_@Foo (type $0) + ;; CHECK: (func $clinit_<once>_@Foo (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) - (func $clinit_@once@_@Foo + (func $clinit_<once>_@Foo (global.set $field-i32@Foo (i32.const 1)) (global.set $field-f64@Foo (f64.const 1)) ) @@ -48,14 +48,14 @@ ;; CHECK: (global $field3@Foo anyref (global.get $field1@Foo)) (global $field3@Foo (mut anyref) (ref.null none)) - ;; CHECK: (func $clinit_@once@_@Foo (type $1) + ;; CHECK: (func $clinit_<once>_@Foo (type $1) ;; CHECK-NEXT: (global.set $field2@Foo ;; CHECK-NEXT: (struct.new $A ;; CHECK-NEXT: (global.get $referredFieldMut@Foo) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - (func $clinit_@once@_@Foo + (func $clinit_<once>_@Foo ;; Referred field is immutable, should hoist (global.set $field1@Foo (struct.new $A ( global.get $referredField@Foo) @@ -85,7 +85,7 @@ (global $field-any@Foo (mut anyref) (struct.new $A)) - ;; CHECK: (func $clinit_@once@_@Foo (type $1) + ;; CHECK: (func $clinit_<once>_@Foo (type $1) ;; CHECK-NEXT: (global.set $field-i32@Foo ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) @@ -93,7 +93,7 @@ ;; CHECK-NEXT: (struct.new_default $A) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - (func $clinit_@once@_@Foo + (func $clinit_<once>_@Foo (global.set $field-i32@Foo (i32.const 1)) (global.set $field-any@Foo (struct.new $A)) ) @@ -107,10 +107,10 @@ ;; CHECK: (global $field@Foo i32 (i32.const 1)) (global $field@Foo (mut i32) (i32.const 0)) - ;; CHECK: (func $clinit_@once@_@Foo (type $0) + ;; CHECK: (func $clinit_<once>_@Foo (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) - (func $clinit_@once@_@Foo + (func $clinit_<once>_@Foo (global.set $field@Foo (i32.const 1)) ) ) @@ -123,12 +123,12 @@ ;; CHECK: (global $$class-initialized@Foo (mut i32) (i32.const 0)) (global $$class-initialized@Foo (mut i32) (i32.const 0)) - ;; CHECK: (func $clinit_@once@_@Foo (type $0) + ;; CHECK: (func $clinit_<once>_@Foo (type $0) ;; CHECK-NEXT: (global.set $$class-initialized@Foo ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - (func $clinit_@once@_@Foo + (func $clinit_<once>_@Foo (global.set $$class-initialized@Foo (i32.const 1)) ) ) @@ -141,12 +141,12 @@ ;; CHECK: (global $field@Foo (mut i32) (i32.const 0)) (global $field@Foo (mut i32) (i32.const 0)) - ;; CHECK: (func $clinit_@once@_@Bar (type $0) + ;; CHECK: (func $clinit_<once>_@Bar (type $0) ;; CHECK-NEXT: (global.set $field@Foo ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - (func $clinit_@once@_@Bar + (func $clinit_<once>_@Bar ;; Note that $clinit is @Bar and field is @Foo. (global.set $field@Foo (i32.const 1)) ) |