|
7 | 7 |
|
8 | 8 |
|
9 | 9 | (module |
10 | | - ;; CHECK: (type $0 (func (param (ref any)) (result (ref extern)))) |
| 10 | + ;; CHECK: (type $0 (func (param externref) (result anyref))) |
11 | 11 |
|
12 | | - ;; CHECK: (type $1 (func (param externref) (result anyref))) |
| 12 | + ;; CHECK: (type $1 (func (param (ref any)) (result (ref extern)))) |
13 | 13 |
|
14 | | - ;; CHECK: (type $2 (func (param externref) (result externref))) |
| 14 | + ;; CHECK: (type $2 (func (param anyref) (result externref))) |
15 | 15 |
|
16 | 16 | ;; CHECK: (export "ext" (func $extern.convert_any)) |
17 | 17 |
|
18 | 18 | ;; CHECK: (export "int" (func $any.convert_extern)) |
19 | 19 |
|
20 | | - ;; CHECK: (export "legacy" (func $legacy_notation)) |
| 20 | + ;; CHECK: (export "legacy.1" (func $legacy_notation.1)) |
21 | 21 |
|
22 | | - ;; CHECK: (func $extern.convert_any (type $0) (param $0 (ref any)) (result (ref extern)) |
| 22 | + ;; CHECK: (export "legacy.2" (func $legacy_notation.2)) |
| 23 | + |
| 24 | + ;; CHECK: (func $extern.convert_any (type $1) (param $0 (ref any)) (result (ref extern)) |
23 | 25 | ;; CHECK-NEXT: (extern.convert_any |
24 | 26 | ;; CHECK-NEXT: (local.get $0) |
25 | 27 | ;; CHECK-NEXT: ) |
|
30 | 32 | ) |
31 | 33 | ) |
32 | 34 |
|
33 | | - ;; CHECK: (func $any.convert_extern (type $1) (param $0 externref) (result anyref) |
| 35 | + ;; CHECK: (func $any.convert_extern (type $0) (param $0 externref) (result anyref) |
34 | 36 | ;; CHECK-NEXT: (any.convert_extern |
35 | 37 | ;; CHECK-NEXT: (local.get $0) |
36 | 38 | ;; CHECK-NEXT: ) |
|
41 | 43 | ) |
42 | 44 | ) |
43 | 45 |
|
44 | | - ;; CHECK: (func $legacy_notation (type $2) (param $0 externref) (result externref) |
45 | | - ;; CHECK-NEXT: (extern.convert_any |
| 46 | + ;; CHECK: (func $legacy_notation.1 (type $0) (param $0 externref) (result anyref) |
| 47 | + ;; CHECK-NEXT: (ref.as_non_null |
46 | 48 | ;; CHECK-NEXT: (any.convert_extern |
47 | 49 | ;; CHECK-NEXT: (local.get $0) |
48 | 50 | ;; CHECK-NEXT: ) |
49 | 51 | ;; CHECK-NEXT: ) |
50 | 52 | ;; CHECK-NEXT: ) |
51 | | - (func $legacy_notation (export "legacy") (param $x (ref null extern)) (result (ref null extern)) |
52 | | - (extern.externalize |
53 | | - (extern.internalize |
| 53 | + (func $legacy_notation.1 (export "legacy.1") (param $x (ref null extern)) (result (ref null any)) |
| 54 | + (extern.internalize |
| 55 | + (ref.as_non_null ;; Add this to avoid the entire function being merged with |
| 56 | + ;; another. |
54 | 57 | (local.get $x) |
55 | 58 | ) |
56 | 59 | ) |
57 | 60 | ) |
| 61 | + |
| 62 | + ;; CHECK: (func $legacy_notation.2 (type $2) (param $0 anyref) (result externref) |
| 63 | + ;; CHECK-NEXT: (extern.convert_any |
| 64 | + ;; CHECK-NEXT: (local.get $0) |
| 65 | + ;; CHECK-NEXT: ) |
| 66 | + ;; CHECK-NEXT: ) |
| 67 | + (func $legacy_notation.2 (export "legacy.2") (param $x (ref null any)) (result (ref null extern)) |
| 68 | + (extern.externalize |
| 69 | + (local.get $x) |
| 70 | + ) |
| 71 | + ) |
58 | 72 | ) |
0 commit comments