Skip to content

Commit 49de988

Browse files
committed
merge
1 parent 8a3bb43 commit 49de988

File tree

2 files changed

+48
-29
lines changed

2 files changed

+48
-29
lines changed

test/lit/passes/j2cl-inline.wast

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66
(module
77

88
;; A once function that has become empty
9-
(func $clinit-trivial-1_<once>_ )
9+
(func $clinit-trivial-1_<once>_@Foo )
1010

1111
;; A once function that just calls another
12-
(func $clinit-trivial-2_<once>_
13-
(call $clinit-trivial-1_<once>_)
12+
(func $clinit-trivial-2_<once>_@Bar
13+
(call $clinit-trivial-1_<once>_@Foo)
1414
)
1515

1616
;; CHECK: (type $0 (func))
@@ -19,7 +19,7 @@
1919
(global $$class-initialized@Zoo (mut i32) (i32.const 0))
2020

2121
;; Not hoisted but trivial.
22-
;; CHECK: (func $clinit-non-trivial_<once>_ (type $0)
22+
;; CHECK: (func $clinit-non-trivial_<once>_@Zoo (type $0)
2323
;; CHECK-NEXT: (if
2424
;; CHECK-NEXT: (global.get $$class-initialized@Zoo)
2525
;; CHECK-NEXT: (return)
@@ -28,19 +28,19 @@
2828
;; CHECK-NEXT: (i32.const 1)
2929
;; CHECK-NEXT: )
3030
;; CHECK-NEXT: )
31-
(func $clinit-non-trivial_<once>_
32-
(if (global.get $f_$initialized__)
31+
(func $clinit-non-trivial_<once>_@Zoo
32+
(if (global.get $$class-initialized@Zoo)
3333
(return)
3434
)
3535
(global.set $$class-initialized@Zoo (i32.const 1))
3636
)
3737

3838
;; CHECK: (func $main (type $0)
39-
;; CHECK-NEXT: (call $clinit-non-trivial_<once>_)
39+
;; CHECK-NEXT: (call $clinit-non-trivial_<once>_@Zoo)
4040
;; CHECK-NEXT: )
4141
(func $main
42-
(call $clinit-trivial-1_<once>_)
43-
(call $clinit-trivial-2_<once>_)
44-
(call $clinit-non-trivial_<once>_)
42+
(call $clinit-trivial-1_<once>_@Foo)
43+
(call $clinit-trivial-2_<once>_@Bar)
44+
(call $clinit-non-trivial_<once>_@Zoo)
4545
)
4646
)

test/lit/passes/j2cl.wast

Lines changed: 38 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@
1212
(global $field-i32@Foo (mut i32) (i32.const 0))
1313
(global $field-f64@Foo (mut f64) (f64.const 0))
1414

15-
;; CHECK: (func $clinit_<once>_ (type $0)
15+
;; CHECK: (func $clinit_<once>_@Foo (type $0)
1616
;; CHECK-NEXT: (nop)
1717
;; CHECK-NEXT: )
18-
(func $clinit_<once>_
19-
(global.set $field-i32 (i32.const 1))
20-
(global.set $field-f64 (f64.const 1))
18+
(func $clinit_<once>_@Foo
19+
(global.set $field-i32@Foo (i32.const 1))
20+
(global.set $field-f64@Foo (f64.const 1))
2121
)
2222
)
2323

@@ -48,14 +48,14 @@
4848
;; CHECK: (global $field3@Foo anyref (global.get $field1@Foo))
4949
(global $field3@Foo (mut anyref) (ref.null none))
5050

51-
;; CHECK: (func $clinit_<once>_ (type $1)
52-
;; CHECK-NEXT: (global.set $field2
51+
;; CHECK: (func $clinit_<once>_@Foo (type $1)
52+
;; CHECK-NEXT: (global.set $field2@Foo
5353
;; CHECK-NEXT: (struct.new $A
5454
;; CHECK-NEXT: (global.get $referredFieldMut@Foo)
5555
;; CHECK-NEXT: )
5656
;; CHECK-NEXT: )
5757
;; CHECK-NEXT: )
58-
(func $clinit_<once>_
58+
(func $clinit_<once>_@Foo
5959
;; Referred field is immutable, should hoist
6060
(global.set $field1@Foo (struct.new $A (
6161
global.get $referredField@Foo)
@@ -85,17 +85,17 @@
8585

8686
(global $field-any@Foo (mut anyref) (struct.new $A))
8787

88-
;; CHECK: (func $clinit_<once>_ (type $1)
89-
;; CHECK-NEXT: (global.set $field-i32
88+
;; CHECK: (func $clinit_<once>_@Foo (type $1)
89+
;; CHECK-NEXT: (global.set $field-i32@Foo
9090
;; CHECK-NEXT: (i32.const 1)
9191
;; CHECK-NEXT: )
9292
;; CHECK-NEXT: (global.set $field-any@Foo
9393
;; CHECK-NEXT: (struct.new_default $A)
9494
;; CHECK-NEXT: )
9595
;; CHECK-NEXT: )
96-
(func $clinit_<once>_
97-
(global.set $field-i32 (i32.const 1))
98-
(global.set $field-any (struct.new $A))
96+
(func $clinit_<once>_@Foo
97+
(global.set $field-i32@Foo (i32.const 1))
98+
(global.set $field-any@Foo (struct.new $A))
9999
)
100100
)
101101

@@ -107,11 +107,11 @@
107107
;; CHECK: (global $field@Foo i32 (i32.const 1))
108108
(global $field@Foo (mut i32) (i32.const 0))
109109

110-
;; CHECK: (func $clinit_<once>_ (type $0)
110+
;; CHECK: (func $clinit_<once>_@Foo (type $0)
111111
;; CHECK-NEXT: (nop)
112112
;; CHECK-NEXT: )
113-
(func $clinit_<once>_
114-
(global.set $field-i32 (i32.const 1))
113+
(func $clinit_<once>_@Foo
114+
(global.set $field@Foo (i32.const 1))
115115
)
116116
)
117117

@@ -123,12 +123,31 @@
123123
;; CHECK: (global $$class-initialized@Foo (mut i32) (i32.const 0))
124124
(global $$class-initialized@Foo (mut i32) (i32.const 0))
125125

126-
;; CHECK: (func $clinit_<once>_ (type $0)
127-
;; CHECK-NEXT: (global.set $f_$initialized__
126+
;; CHECK: (func $clinit_<once>_@Foo (type $0)
127+
;; CHECK-NEXT: (global.set $$class-initialized@Foo
128128
;; CHECK-NEXT: (i32.const 1)
129129
;; CHECK-NEXT: )
130130
;; CHECK-NEXT: )
131-
(func $clinit_<once>_
132-
(global.set $f_$initialized__ (i32.const 1))
131+
(func $clinit_<once>_@Foo
132+
(global.set $$class-initialized@Foo (i32.const 1))
133+
)
134+
)
135+
136+
;; Fields from different classes are not hoisted.
137+
(module
138+
139+
;; CHECK: (type $0 (func))
140+
141+
;; CHECK: (global $field@Foo (mut i32) (i32.const 0))
142+
(global $field@Foo (mut i32) (i32.const 0))
143+
144+
;; CHECK: (func $clinit_<once>_@Bar (type $0)
145+
;; CHECK-NEXT: (global.set $field@Foo
146+
;; CHECK-NEXT: (i32.const 1)
147+
;; CHECK-NEXT: )
148+
;; CHECK-NEXT: )
149+
(func $clinit_<once>_@Bar
150+
;; Note that $clinit is @Bar and field is @Foo.
151+
(global.set $field@Foo (i32.const 1))
133152
)
134153
)

0 commit comments

Comments
 (0)