Skip to content

Commit 007590a

Browse files
committed
Remove null refs from test fixtures
1 parent 5057e3b commit 007590a

File tree

3 files changed

+2
-114
lines changed

3 files changed

+2
-114
lines changed

src/compiler.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10763,7 +10763,8 @@ export class Compiler extends DiagnosticEmitter {
1076310763
case TypeKind.EXTERNREF: {
1076410764
// TODO: non-null object might still be considered falseish
1076510765
// i.e. a ref to Boolean(false), Number(0), String("") etc.
10766-
return module.unary(UnaryOp.EqzI32, module.ref_is_null(expr));
10766+
// TODO: return module.unary(UnaryOp.EqzI32, module.ref_is_null(expr));
10767+
assert(false, 'Truthy checks for externref are not yet supported');
1076710768
}
1076810769
default: {
1076910770
assert(false);

tests/compiler/features/reference-types.optimized.wat

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
(import "reference-types" "external" (func $features/reference-types/external (param externref) (result externref)))
1515
(memory $0 1)
1616
(data (i32.const 1024) "6\00\00\00\01\00\00\00\01\00\00\006\00\00\00f\00e\00a\00t\00u\00r\00e\00s\00/\00r\00e\00f\00e\00r\00e\00n\00c\00e\00-\00t\00y\00p\00e\00s\00.\00t\00s")
17-
(global $features/reference-types/nullGlobal (mut externref) (ref.null))
1817
(export "memory" (memory $0))
1918
(export "external" (func $features/reference-types/external))
2019
(export "internal" (func $features/reference-types/internal))
@@ -46,18 +45,4 @@
4645
global.get $features/reference-types/someKey
4746
call $~lib/bindings/Reflect/get
4847
call $~lib/bindings/console/log
49-
global.get $features/reference-types/nullGlobal
50-
ref.is_null
51-
i32.eqz
52-
if
53-
i32.const 0
54-
i32.const 1040
55-
i32.const 32
56-
i32.const 1
57-
call $~lib/builtins/abort
58-
unreachable
59-
end
60-
ref.null
61-
global.set $features/reference-types/nullGlobal
62-
)
6348
)

tests/compiler/features/reference-types.untouched.wat

Lines changed: 0 additions & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,11 @@
1515
(memory $0 1)
1616
(data (i32.const 16) "6\00\00\00\01\00\00\00\01\00\00\006\00\00\00f\00e\00a\00t\00u\00r\00e\00s\00/\00r\00e\00f\00e\00r\00e\00n\00c\00e\00-\00t\00y\00p\00e\00s\00.\00t\00s\00")
1717
(table $0 1 funcref)
18-
(global $features/reference-types/nullGlobal (mut externref) (ref.null))
19-
(global $features/reference-types/nullGlobalInit (mut externref) (ref.null))
20-
(global $features/reference-types/funcGlobal (mut externref) (ref.null))
2118
(export "memory" (memory $0))
2219
(export "external" (func $features/reference-types/external))
2320
(export "internal" (func $features/reference-types/internal))
2421
(start $~start)
25-
(func $features/reference-types/someFunc
26-
nop
27-
)
2822
(func $start:features/reference-types
29-
(local $0 externref)
30-
(local $1 externref)
3123
global.get $features/reference-types/someObject
3224
global.get $features/reference-types/someKey
3325
call $~lib/bindings/Reflect/has
@@ -50,96 +42,6 @@
5042
global.get $features/reference-types/someKey
5143
call $~lib/bindings/Reflect/get
5244
call $~lib/bindings/console/log
53-
global.get $features/reference-types/nullGlobal
54-
ref.is_null
55-
i32.eqz
56-
i32.eqz
57-
i32.eqz
58-
if
59-
i32.const 0
60-
i32.const 32
61-
i32.const 32
62-
i32.const 1
63-
call $~lib/builtins/abort
64-
unreachable
65-
end
66-
ref.null
67-
global.set $features/reference-types/nullGlobal
68-
global.get $features/reference-types/nullGlobal
69-
ref.is_null
70-
i32.eqz
71-
i32.eqz
72-
i32.eqz
73-
if
74-
i32.const 0
75-
i32.const 32
76-
i32.const 34
77-
i32.const 1
78-
call $~lib/builtins/abort
79-
unreachable
80-
end
81-
ref.null
82-
global.set $features/reference-types/nullGlobalInit
83-
global.get $features/reference-types/nullGlobalInit
84-
ref.is_null
85-
i32.eqz
86-
i32.eqz
87-
i32.eqz
88-
if
89-
i32.const 0
90-
i32.const 32
91-
i32.const 36
92-
i32.const 1
93-
call $~lib/builtins/abort
94-
unreachable
95-
end
96-
local.get $0
97-
ref.is_null
98-
i32.eqz
99-
i32.eqz
100-
i32.eqz
101-
if
102-
i32.const 0
103-
i32.const 32
104-
i32.const 39
105-
i32.const 3
106-
call $~lib/builtins/abort
107-
unreachable
108-
end
109-
ref.null
110-
local.set $0
111-
local.get $0
112-
ref.is_null
113-
i32.eqz
114-
i32.eqz
115-
i32.eqz
116-
if
117-
i32.const 0
118-
i32.const 32
119-
i32.const 41
120-
i32.const 3
121-
call $~lib/builtins/abort
122-
unreachable
123-
end
124-
ref.null
125-
local.set $1
126-
local.get $1
127-
ref.is_null
128-
i32.eqz
129-
i32.eqz
130-
i32.eqz
131-
if
132-
i32.const 0
133-
i32.const 32
134-
i32.const 43
135-
i32.const 3
136-
call $~lib/builtins/abort
137-
unreachable
138-
end
139-
ref.func $features/reference-types/someFunc
140-
global.set $features/reference-types/funcGlobal
141-
ref.func $features/reference-types/someFunc
142-
local.set $1
14345
)
14446
(func $features/reference-types/internal (param $0 externref) (result externref)
14547
(local $1 externref)

0 commit comments

Comments
 (0)