Skip to content

Commit cfc4ca2

Browse files
committed
rm -r gc
1 parent c24f90c commit cfc4ca2

27 files changed

+26
-323
lines changed

src/asmjs/asm_v_wasm.cpp

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,6 @@ AsmType wasmToAsmType(Type type) {
5656
assert(false && "v128 not implemented yet");
5757
case Type::funcref:
5858
case Type::externref:
59-
case Type::anyref:
60-
case Type::eqref:
61-
case Type::i31ref:
6259
case Type::exnref:
6360
assert(false && "reference types are not supported by asm2wasm");
6461
case Type::none:
@@ -86,12 +83,6 @@ char getSig(Type type) {
8683
return 'F';
8784
case Type::externref:
8885
return 'X';
89-
case Type::anyref:
90-
return 'A';
91-
case Type::eqref:
92-
return 'Q';
93-
case Type::i31ref:
94-
return 'I';
9586
case Type::exnref:
9687
return 'E';
9788
case Type::none:

src/binaryen-c.cpp

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -74,12 +74,9 @@ BinaryenLiteral toBinaryenLiteral(Literal x) {
7474
}
7575
break;
7676
case Type::externref:
77-
case Type::anyref:
78-
case Type::eqref:
7977
case Type::exnref:
8078
assert(x.isNull());
8179
break;
82-
case Type::i31ref:
8380
case Type::none:
8481
case Type::unreachable:
8582
WASM_UNREACHABLE("unexpected type");
@@ -102,11 +99,8 @@ Literal fromBinaryenLiteral(BinaryenLiteral x) {
10299
case Type::funcref:
103100
return Literal::makeFunc(x.func);
104101
case Type::externref:
105-
case Type::anyref:
106-
case Type::eqref:
107102
case Type::exnref:
108103
return Literal::makeNull(Type(x.type));
109-
case Type::i31ref:
110104
case Type::none:
111105
case Type::unreachable:
112106
WASM_UNREACHABLE("unexpected type");

src/ir/abstract.h

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -103,9 +103,6 @@ inline UnaryOp getUnary(Type type, Op op) {
103103
}
104104
case Type::funcref:
105105
case Type::externref:
106-
case Type::anyref:
107-
case Type::eqref:
108-
case Type::i31ref:
109106
case Type::exnref:
110107
case Type::none:
111108
case Type::unreachable: {
@@ -270,9 +267,6 @@ inline BinaryOp getBinary(Type type, Op op) {
270267
}
271268
case Type::funcref:
272269
case Type::externref:
273-
case Type::anyref:
274-
case Type::eqref:
275-
case Type::i31ref:
276270
case Type::exnref:
277271
case Type::none:
278272
case Type::unreachable: {

src/literal.h

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,7 @@ class Literal {
4343
Name func;
4444
// exnref package. `nullptr` indicates a `null` value.
4545
std::unique_ptr<ExceptionPackage> exn;
46-
// TODO: Literals of type `externref`, `anyref` and `eqref can only be
47-
// `null` currently. Literals of type `i31ref` are not yet supported.
46+
// TODO: Literals of type `externref` can only be/ `null` currently.
4847
};
4948

5049
public:
@@ -576,9 +575,6 @@ template<> struct less<wasm::Literal> {
576575
return memcmp(a.getv128Ptr(), b.getv128Ptr(), 16) < 0;
577576
case wasm::Type::funcref:
578577
case wasm::Type::externref:
579-
case wasm::Type::anyref:
580-
case wasm::Type::eqref:
581-
case wasm::Type::i31ref:
582578
case wasm::Type::exnref:
583579
case wasm::Type::none:
584580
case wasm::Type::unreachable:

src/parsing.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -265,9 +265,6 @@ parseConst(cashew::IString s, Type type, MixedArena& allocator) {
265265
case Type::v128:
266266
case Type::funcref:
267267
case Type::externref:
268-
case Type::anyref:
269-
case Type::eqref:
270-
case Type::i31ref:
271268
case Type::exnref:
272269
WASM_UNREACHABLE("unexpected const type");
273270
case Type::none:

src/passes/ConstHoisting.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -96,9 +96,6 @@ struct ConstHoisting : public WalkerPass<PostWalker<ConstHoisting>> {
9696
case Type::v128:
9797
case Type::funcref:
9898
case Type::externref:
99-
case Type::anyref:
100-
case Type::eqref:
101-
case Type::i31ref:
10299
case Type::exnref: {
103100
return false;
104101
}

src/passes/FuncCastEmulation.cpp

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,6 @@ static Expression* toABI(Expression* value, Module* module) {
6767
}
6868
case Type::funcref:
6969
case Type::externref:
70-
case Type::anyref:
71-
case Type::eqref:
72-
case Type::i31ref:
7370
case Type::exnref: {
7471
WASM_UNREACHABLE("reference types cannot be converted to i64");
7572
}
@@ -113,9 +110,6 @@ static Expression* fromABI(Expression* value, Type type, Module* module) {
113110
}
114111
case Type::funcref:
115112
case Type::externref:
116-
case Type::anyref:
117-
case Type::eqref:
118-
case Type::i31ref:
119113
case Type::exnref: {
120114
WASM_UNREACHABLE("reference types cannot be converted from i64");
121115
}

src/passes/InstrumentLocals.cpp

Lines changed: 0 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,6 @@ Name get_f32("get_f32");
5858
Name get_f64("get_f64");
5959
Name get_funcref("get_funcref");
6060
Name get_externref("get_externref");
61-
Name get_anyref("get_anyref");
62-
Name get_eqref("get_eqref");
63-
Name get_i31ref("get_i31ref");
6461
Name get_exnref("get_exnref");
6562
Name get_v128("get_v128");
6663

@@ -70,9 +67,6 @@ Name set_f32("set_f32");
7067
Name set_f64("set_f64");
7168
Name set_funcref("set_funcref");
7269
Name set_externref("set_externref");
73-
Name set_anyref("set_anyref");
74-
Name set_eqref("set_eqref");
75-
Name set_i31ref("set_i31ref");
7670
Name set_exnref("set_exnref");
7771
Name set_v128("set_v128");
7872

@@ -102,15 +96,6 @@ struct InstrumentLocals : public WalkerPass<PostWalker<InstrumentLocals>> {
10296
case Type::externref:
10397
import = get_externref;
10498
break;
105-
case Type::anyref:
106-
import = get_anyref;
107-
break;
108-
case Type::eqref:
109-
import = get_eqref;
110-
break;
111-
case Type::i31ref:
112-
import = get_i31ref;
113-
break;
11499
case Type::exnref:
115100
import = get_exnref;
116101
break;
@@ -157,15 +142,6 @@ struct InstrumentLocals : public WalkerPass<PostWalker<InstrumentLocals>> {
157142
case Type::externref:
158143
import = set_externref;
159144
break;
160-
case Type::anyref:
161-
import = set_anyref;
162-
break;
163-
case Type::eqref:
164-
import = set_eqref;
165-
break;
166-
case Type::i31ref:
167-
import = set_i31ref;
168-
break;
169145
case Type::exnref:
170146
import = set_exnref;
171147
break;
@@ -208,25 +184,6 @@ struct InstrumentLocals : public WalkerPass<PostWalker<InstrumentLocals>> {
208184
set_externref,
209185
{Type::i32, Type::i32, Type::externref},
210186
Type::externref);
211-
// TODO (GC)
212-
// if (curr->features.hasGC()) {
213-
// addImport(
214-
// curr, get_anyref, {Type::i32, Type::i32, Type::anyref},
215-
// Type::anyref);
216-
// addImport(
217-
// curr, set_anyref, {Type::i32, Type::i32, Type::anyref},
218-
// Type::anyref);
219-
// addImport(
220-
// curr, get_eqref, {Type::i32, Type::i32, Type::eqref}, Type::eqref);
221-
// addImport(
222-
// curr, set_eqref, {Type::i32, Type::i32, Type::eqref}, Type::eqref);
223-
// addImport(
224-
// curr, get_i31ref, {Type::i32, Type::i32, Type::i31ref},
225-
// Type::i31ref);
226-
// addImport(
227-
// curr, set_i31ref, {Type::i32, Type::i32, Type::i31ref},
228-
// Type::i31ref);
229-
// }
230187
}
231188
if (curr->features.hasExceptionHandling()) {
232189
addImport(

src/shell-interface.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -117,12 +117,9 @@ struct ShellExternalInterface : ModuleInstance::ExternalInterface {
117117
assert(false && "v128 not implemented yet");
118118
case Type::funcref:
119119
case Type::externref:
120-
case Type::anyref:
121-
case Type::eqref:
122120
case Type::exnref:
123121
globals[import->name] = {Literal::makeNull(import->type)};
124122
break;
125-
case Type::i31ref:
126123
case Type::none:
127124
case Type::unreachable:
128125
WASM_UNREACHABLE("unexpected type");

src/tools/fuzzing.h

Lines changed: 0 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -322,14 +322,6 @@ class TranslateToFuzzReader {
322322
case Type::funcref:
323323
case Type::exnref:
324324
break;
325-
case Type::anyref:
326-
// TODO (GC)
327-
// includes externref, funcref, exnref, eqref (incl. subtypes)
328-
case Type::eqref:
329-
// TODO (GC)
330-
// includes i31ref, concrete structs and arrays
331-
case Type::i31ref:
332-
WASM_UNREACHABLE("TODO: GC types");
333325
default:
334326
break;
335327
}
@@ -1366,9 +1358,6 @@ class TranslateToFuzzReader {
13661358
}
13671359
case Type::funcref:
13681360
case Type::externref:
1369-
case Type::anyref:
1370-
case Type::eqref:
1371-
case Type::i31ref:
13721361
case Type::exnref:
13731362
case Type::none:
13741363
case Type::unreachable:
@@ -1472,9 +1461,6 @@ class TranslateToFuzzReader {
14721461
}
14731462
case Type::funcref:
14741463
case Type::externref:
1475-
case Type::anyref:
1476-
case Type::eqref:
1477-
case Type::i31ref:
14781464
case Type::exnref:
14791465
case Type::none:
14801466
case Type::unreachable:
@@ -1603,9 +1589,6 @@ class TranslateToFuzzReader {
16031589
case Type::v128:
16041590
case Type::funcref:
16051591
case Type::externref:
1606-
case Type::anyref:
1607-
case Type::eqref:
1608-
case Type::i31ref:
16091592
case Type::exnref:
16101593
case Type::none:
16111594
case Type::unreachable:
@@ -1650,9 +1633,6 @@ class TranslateToFuzzReader {
16501633
case Type::v128:
16511634
case Type::funcref:
16521635
case Type::externref:
1653-
case Type::anyref:
1654-
case Type::eqref:
1655-
case Type::i31ref:
16561636
case Type::exnref:
16571637
case Type::none:
16581638
case Type::unreachable:
@@ -1720,9 +1700,6 @@ class TranslateToFuzzReader {
17201700
case Type::v128:
17211701
case Type::funcref:
17221702
case Type::externref:
1723-
case Type::anyref:
1724-
case Type::eqref:
1725-
case Type::i31ref:
17261703
case Type::exnref:
17271704
case Type::none:
17281705
case Type::unreachable:
@@ -1749,9 +1726,6 @@ class TranslateToFuzzReader {
17491726
case Type::v128:
17501727
case Type::funcref:
17511728
case Type::externref:
1752-
case Type::anyref:
1753-
case Type::eqref:
1754-
case Type::i31ref:
17551729
case Type::exnref:
17561730
case Type::none:
17571731
case Type::unreachable:
@@ -1861,9 +1835,6 @@ class TranslateToFuzzReader {
18611835
}
18621836
case Type::funcref:
18631837
case Type::externref:
1864-
case Type::anyref:
1865-
case Type::eqref:
1866-
case Type::i31ref:
18671838
case Type::exnref:
18681839
return makeTrivial(type);
18691840
case Type::none:
@@ -2008,9 +1979,6 @@ class TranslateToFuzzReader {
20081979
}
20091980
case Type::funcref:
20101981
case Type::externref:
2011-
case Type::anyref:
2012-
case Type::eqref:
2013-
case Type::i31ref:
20141982
case Type::exnref:
20151983
case Type::none:
20161984
case Type::unreachable:
@@ -2247,9 +2215,6 @@ class TranslateToFuzzReader {
22472215
}
22482216
case Type::funcref:
22492217
case Type::externref:
2250-
case Type::anyref:
2251-
case Type::eqref:
2252-
case Type::i31ref:
22532218
case Type::exnref:
22542219
case Type::none:
22552220
case Type::unreachable:
@@ -2456,9 +2421,6 @@ class TranslateToFuzzReader {
24562421
case Type::v128:
24572422
case Type::funcref:
24582423
case Type::externref:
2459-
case Type::anyref:
2460-
case Type::eqref:
2461-
case Type::i31ref:
24622424
case Type::exnref:
24632425
case Type::none:
24642426
case Type::unreachable:

src/tools/spec-wrapper.h

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -55,18 +55,9 @@ static std::string generateSpecWrapper(Module& wasm) {
5555
case Type::externref:
5656
ret += "(ref.null extern)";
5757
break;
58-
case Type::anyref:
59-
ret += "(ref.null any)";
60-
break;
61-
case Type::eqref:
62-
ret += "(ref.null eq)";
63-
break;
6458
case Type::exnref:
6559
ret += "(ref.null exn)";
6660
break;
67-
case Type::i31ref:
68-
ret += "(i31.new (i32.const 0))";
69-
break;
7061
case Type::none:
7162
case Type::unreachable:
7263
WASM_UNREACHABLE("unexpected type");

0 commit comments

Comments
 (0)