summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/asmjs/asm_v_wasm.cpp6
-rw-r--r--src/binaryen-c.cpp6
-rw-r--r--src/binaryen-c.h2
-rw-r--r--src/gen-s-parser.inc32
-rw-r--r--src/ir/abstract.h4
-rw-r--r--src/js/binaryen.js-post.js6
-rw-r--r--src/literal.h4
-rw-r--r--src/parsing.h2
-rw-r--r--src/passes/ConstHoisting.cpp2
-rw-r--r--src/passes/Flatten.cpp4
-rw-r--r--src/passes/FuncCastEmulation.cpp4
-rw-r--r--src/passes/InstrumentLocals.cpp24
-rw-r--r--src/shell-interface.h2
-rw-r--r--src/tools/fuzzing.h31
-rw-r--r--src/tools/spec-wrapper.h2
-rw-r--r--src/tools/wasm-reduce.cpp10
-rw-r--r--src/wasm-binary.h8
-rw-r--r--src/wasm-builder.h2
-rw-r--r--src/wasm-interpreter.h4
-rw-r--r--src/wasm-type.h2
-rw-r--r--src/wasm/literal.cpp22
-rw-r--r--src/wasm/wasm-binary.cpp4
-rw-r--r--src/wasm/wasm-s-parser.cpp4
-rw-r--r--src/wasm/wasm-stack.cpp6
-rw-r--r--src/wasm/wasm-type.cpp18
-rw-r--r--src/wasm/wasm-validator.cpp4
26 files changed, 110 insertions, 105 deletions
diff --git a/src/asmjs/asm_v_wasm.cpp b/src/asmjs/asm_v_wasm.cpp
index 2f86370c1..98a6be046 100644
--- a/src/asmjs/asm_v_wasm.cpp
+++ b/src/asmjs/asm_v_wasm.cpp
@@ -54,7 +54,7 @@ AsmType wasmToAsmType(Type type) {
case Type::v128:
assert(false && "v128 not implemented yet");
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
assert(false && "reference types are not supported by asm2wasm");
@@ -80,8 +80,8 @@ char getSig(Type type) {
return 'V';
case Type::funcref:
return 'F';
- case Type::anyref:
- return 'A';
+ case Type::externref:
+ return 'X';
case Type::nullref:
return 'N';
case Type::exnref:
diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp
index e6155bad3..f4df69737 100644
--- a/src/binaryen-c.cpp
+++ b/src/binaryen-c.cpp
@@ -72,7 +72,7 @@ BinaryenLiteral toBinaryenLiteral(Literal x) {
break;
case Type::nullref:
break;
- case Type::anyref:
+ case Type::externref:
case Type::exnref:
case Type::none:
case Type::unreachable:
@@ -97,7 +97,7 @@ Literal fromBinaryenLiteral(BinaryenLiteral x) {
return Literal::makeFuncref(x.func);
case Type::nullref:
return Literal::makeNullref();
- case Type::anyref:
+ case Type::externref:
case Type::exnref:
case Type::none:
case Type::unreachable:
@@ -131,7 +131,7 @@ BinaryenType BinaryenTypeFloat32(void) { return Type::f32; }
BinaryenType BinaryenTypeFloat64(void) { return Type::f64; }
BinaryenType BinaryenTypeVec128(void) { return Type::v128; }
BinaryenType BinaryenTypeFuncref(void) { return Type::funcref; }
-BinaryenType BinaryenTypeAnyref(void) { return Type::anyref; }
+BinaryenType BinaryenTypeExternref(void) { return Type::externref; }
BinaryenType BinaryenTypeNullref(void) { return Type::nullref; }
BinaryenType BinaryenTypeExnref(void) { return Type::exnref; }
BinaryenType BinaryenTypeUnreachable(void) { return Type::unreachable; }
diff --git a/src/binaryen-c.h b/src/binaryen-c.h
index e52d5f46a..b153a28e9 100644
--- a/src/binaryen-c.h
+++ b/src/binaryen-c.h
@@ -99,7 +99,7 @@ BINARYEN_API BinaryenType BinaryenTypeFloat32(void);
BINARYEN_API BinaryenType BinaryenTypeFloat64(void);
BINARYEN_API BinaryenType BinaryenTypeVec128(void);
BINARYEN_API BinaryenType BinaryenTypeFuncref(void);
-BINARYEN_API BinaryenType BinaryenTypeAnyref(void);
+BINARYEN_API BinaryenType BinaryenTypeExternref(void);
BINARYEN_API BinaryenType BinaryenTypeNullref(void);
BINARYEN_API BinaryenType BinaryenTypeExnref(void);
BINARYEN_API BinaryenType BinaryenTypeUnreachable(void);
diff --git a/src/gen-s-parser.inc b/src/gen-s-parser.inc
index c7a703aea..bc8568b19 100644
--- a/src/gen-s-parser.inc
+++ b/src/gen-s-parser.inc
@@ -8,21 +8,13 @@ char op[27] = {'\0'};
strncpy(op, s[0]->c_str(), 26);
switch (op[0]) {
case 'a': {
- switch (op[1]) {
+ switch (op[7]) {
+ case 'f':
+ if (strcmp(op, "atomic.fence") == 0) { return makeAtomicFence(s); }
+ goto parse_error;
case 'n':
- if (strcmp(op, "anyref.pop") == 0) { return makePop(Type::anyref); }
+ if (strcmp(op, "atomic.notify") == 0) { return makeAtomicNotify(s); }
goto parse_error;
- case 't': {
- switch (op[7]) {
- case 'f':
- if (strcmp(op, "atomic.fence") == 0) { return makeAtomicFence(s); }
- goto parse_error;
- case 'n':
- if (strcmp(op, "atomic.notify") == 0) { return makeAtomicNotify(s); }
- goto parse_error;
- default: goto parse_error;
- }
- }
default: goto parse_error;
}
}
@@ -83,9 +75,17 @@ switch (op[0]) {
case 'l':
if (strcmp(op, "else") == 0) { return makeThenOrElse(s); }
goto parse_error;
- case 'x':
- if (strcmp(op, "exnref.pop") == 0) { return makePop(Type::exnref); }
- goto parse_error;
+ case 'x': {
+ switch (op[2]) {
+ case 'n':
+ if (strcmp(op, "exnref.pop") == 0) { return makePop(Type::exnref); }
+ goto parse_error;
+ case 't':
+ if (strcmp(op, "externref.pop") == 0) { return makePop(Type::externref); }
+ goto parse_error;
+ default: goto parse_error;
+ }
+ }
default: goto parse_error;
}
}
diff --git a/src/ir/abstract.h b/src/ir/abstract.h
index f7bc664dd..e23ffad17 100644
--- a/src/ir/abstract.h
+++ b/src/ir/abstract.h
@@ -81,7 +81,7 @@ inline UnaryOp getUnary(Type type, Op op) {
WASM_UNREACHABLE("v128 not implemented yet");
}
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
case Type::none:
@@ -214,7 +214,7 @@ inline BinaryOp getBinary(Type type, Op op) {
WASM_UNREACHABLE("v128 not implemented yet");
}
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
case Type::none:
diff --git a/src/js/binaryen.js-post.js b/src/js/binaryen.js-post.js
index dfdb05457..99fb54350 100644
--- a/src/js/binaryen.js-post.js
+++ b/src/js/binaryen.js-post.js
@@ -39,7 +39,7 @@ function initializeConstants() {
['f64', 'Float64'],
['v128', 'Vec128'],
['funcref', 'Funcref'],
- ['anyref', 'Anyref'],
+ ['externref', 'Externref'],
['nullref', 'Nullref'],
['exnref', 'Exnref'],
['unreachable', 'Unreachable'],
@@ -2071,9 +2071,9 @@ function wrapModule(module, self) {
}
};
- self['anyref'] = {
+ self['externref'] = {
'pop': function() {
- return Module['_BinaryenPop'](module, Module['anyref']);
+ return Module['_BinaryenPop'](module, Module['externref']);
}
};
diff --git a/src/literal.h b/src/literal.h
index 8bfee38c1..4f936153d 100644
--- a/src/literal.h
+++ b/src/literal.h
@@ -100,7 +100,7 @@ public:
Literal(int32_t(0)),
Literal(int32_t(0))}});
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
case Type::none:
@@ -562,7 +562,7 @@ template<> struct less<wasm::Literal> {
case wasm::Type::v128:
return memcmp(a.getv128Ptr(), b.getv128Ptr(), 16) < 0;
case wasm::Type::funcref:
- case wasm::Type::anyref:
+ case wasm::Type::externref:
case wasm::Type::nullref:
case wasm::Type::exnref:
case wasm::Type::none:
diff --git a/src/parsing.h b/src/parsing.h
index e9b422b90..fe2889a26 100644
--- a/src/parsing.h
+++ b/src/parsing.h
@@ -264,7 +264,7 @@ parseConst(cashew::IString s, Type type, MixedArena& allocator) {
}
case Type::v128:
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
WASM_UNREACHABLE("unexpected const type");
diff --git a/src/passes/ConstHoisting.cpp b/src/passes/ConstHoisting.cpp
index 43c8ccaa7..5009cd364 100644
--- a/src/passes/ConstHoisting.cpp
+++ b/src/passes/ConstHoisting.cpp
@@ -94,7 +94,7 @@ private:
// not implemented yet
case Type::v128:
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref: {
return false;
diff --git a/src/passes/Flatten.cpp b/src/passes/Flatten.cpp
index 55ee00936..54da8a86e 100644
--- a/src/passes/Flatten.cpp
+++ b/src/passes/Flatten.cpp
@@ -211,7 +211,7 @@ struct Flatten
// the return type of the block this branch is targetting, which may
// not be the same with the innermost block's return type. For
// example,
- // (block $any (result anyref)
+ // (block $any (result externref)
// (block (result nullref)
// (local.tee $0
// (br_if $any
@@ -222,7 +222,7 @@ struct Flatten
// )
// )
// In this case we need two locals to store (ref.null); one with
- // anyref type that's for the target block ($label0) and one more
+ // externref type that's for the target block ($label0) and one more
// with nullref type in case for flowing out. Here we create the
// second 'flowing out' local in case two block's types are
// different.
diff --git a/src/passes/FuncCastEmulation.cpp b/src/passes/FuncCastEmulation.cpp
index 1fdf97c7b..93106b5ef 100644
--- a/src/passes/FuncCastEmulation.cpp
+++ b/src/passes/FuncCastEmulation.cpp
@@ -66,7 +66,7 @@ static Expression* toABI(Expression* value, Module* module) {
WASM_UNREACHABLE("v128 not implemented yet");
}
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref: {
WASM_UNREACHABLE("reference types cannot be converted to i64");
@@ -110,7 +110,7 @@ static Expression* fromABI(Expression* value, Type type, Module* module) {
WASM_UNREACHABLE("v128 not implemented yet");
}
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref: {
WASM_UNREACHABLE("reference types cannot be converted from i64");
diff --git a/src/passes/InstrumentLocals.cpp b/src/passes/InstrumentLocals.cpp
index 256ade4bc..aa3df95ad 100644
--- a/src/passes/InstrumentLocals.cpp
+++ b/src/passes/InstrumentLocals.cpp
@@ -57,7 +57,7 @@ Name get_i64("get_i64");
Name get_f32("get_f32");
Name get_f64("get_f64");
Name get_funcref("get_funcref");
-Name get_anyref("get_anyref");
+Name get_externref("get_externref");
Name get_nullref("get_nullref");
Name get_exnref("get_exnref");
@@ -66,7 +66,7 @@ Name set_i64("set_i64");
Name set_f32("set_f32");
Name set_f64("set_f64");
Name set_funcref("set_funcref");
-Name set_anyref("set_anyref");
+Name set_externref("set_externref");
Name set_nullref("set_nullref");
Name set_exnref("set_exnref");
@@ -91,8 +91,8 @@ struct InstrumentLocals : public WalkerPass<PostWalker<InstrumentLocals>> {
case Type::funcref:
import = get_funcref;
break;
- case Type::anyref:
- import = get_anyref;
+ case Type::externref:
+ import = get_externref;
break;
case Type::nullref:
import = get_nullref;
@@ -139,8 +139,8 @@ struct InstrumentLocals : public WalkerPass<PostWalker<InstrumentLocals>> {
case Type::funcref:
import = set_funcref;
break;
- case Type::anyref:
- import = set_anyref;
+ case Type::externref:
+ import = set_externref;
break;
case Type::nullref:
import = set_nullref;
@@ -180,10 +180,14 @@ struct InstrumentLocals : public WalkerPass<PostWalker<InstrumentLocals>> {
set_funcref,
{Type::i32, Type::i32, Type::funcref},
Type::funcref);
- addImport(
- curr, get_anyref, {Type::i32, Type::i32, Type::anyref}, Type::anyref);
- addImport(
- curr, set_anyref, {Type::i32, Type::i32, Type::anyref}, Type::anyref);
+ addImport(curr,
+ get_externref,
+ {Type::i32, Type::i32, Type::externref},
+ Type::externref);
+ addImport(curr,
+ set_externref,
+ {Type::i32, Type::i32, Type::externref},
+ Type::externref);
addImport(curr,
get_nullref,
{Type::i32, Type::i32, Type::nullref},
diff --git a/src/shell-interface.h b/src/shell-interface.h
index 8c5793bfc..b4de73c6f 100644
--- a/src/shell-interface.h
+++ b/src/shell-interface.h
@@ -115,7 +115,7 @@ struct ShellExternalInterface : ModuleInstance::ExternalInterface {
case Type::v128:
assert(false && "v128 not implemented yet");
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
globals[import->name] = {Literal::makeNullref()};
diff --git a/src/tools/fuzzing.h b/src/tools/fuzzing.h
index 9788d9f11..63f4b5a85 100644
--- a/src/tools/fuzzing.h
+++ b/src/tools/fuzzing.h
@@ -316,7 +316,7 @@ private:
SmallVector<Type, 2> options;
options.push_back(type); // includes itself
switch (type.getSingle()) {
- case Type::anyref:
+ case Type::externref:
if (wasm.features.hasExceptionHandling()) {
options.push_back(Type::exnref);
}
@@ -1364,7 +1364,7 @@ private:
16, false, offset, pick(1, 2, 4, 8, 16), ptr, type);
}
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
case Type::none:
@@ -1468,7 +1468,7 @@ private:
16, offset, pick(1, 2, 4, 8, 16), ptr, value, type);
}
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
case Type::none:
@@ -1565,7 +1565,7 @@ private:
return Literal(getDouble());
case Type::v128:
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
case Type::none:
@@ -1610,7 +1610,7 @@ private:
return Literal(double(small));
case Type::v128:
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
case Type::none:
@@ -1678,7 +1678,7 @@ private:
break;
case Type::v128:
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
case Type::none:
@@ -1712,7 +1712,7 @@ private:
break;
case Type::v128:
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
case Type::none:
@@ -1824,7 +1824,7 @@ private:
make(Type::v128)});
}
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
return makeTrivial(type);
@@ -1969,7 +1969,7 @@ private:
WASM_UNREACHABLE("invalid value");
}
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
case Type::none:
@@ -2206,7 +2206,7 @@ private:
make(Type::v128)});
}
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
case Type::none:
@@ -2413,7 +2413,7 @@ private:
break;
case Type::v128:
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
case Type::none:
@@ -2588,9 +2588,10 @@ private:
assert(wasm.features.hasReferenceTypes());
Type refType;
if (wasm.features.hasExceptionHandling()) {
- refType = pick(Type::funcref, Type::anyref, Type::nullref, Type::exnref);
+ refType =
+ pick(Type::funcref, Type::externref, Type::nullref, Type::exnref);
} else {
- refType = pick(Type::funcref, Type::anyref, Type::nullref);
+ refType = pick(Type::funcref, Type::externref, Type::nullref);
}
return builder.makeRefIsNull(make(refType));
}
@@ -2657,7 +2658,7 @@ private:
.add(FeatureSet::SIMD, Type::v128)
.add(FeatureSet::ReferenceTypes,
Type::funcref,
- Type::anyref,
+ Type::externref,
Type::nullref)
.add(FeatureSet::ReferenceTypes | FeatureSet::ExceptionHandling,
Type::exnref));
@@ -2700,7 +2701,7 @@ private:
// - funcref cannot be logged because referenced functions can be inlined or
// removed during optimization
- // - there's no point in logging anyref because it is opaque
+ // - there's no point in logging externref because it is opaque
// - don't bother logging tuples
std::vector<Type> getLoggableTypes() {
return items(
diff --git a/src/tools/spec-wrapper.h b/src/tools/spec-wrapper.h
index c6b6cc9c9..a77dfc43f 100644
--- a/src/tools/spec-wrapper.h
+++ b/src/tools/spec-wrapper.h
@@ -49,7 +49,7 @@ static std::string generateSpecWrapper(Module& wasm) {
ret += "(v128.const i32x4 0 0 0 0)";
break;
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
ret += "(ref.null)";
diff --git a/src/tools/wasm-reduce.cpp b/src/tools/wasm-reduce.cpp
index d55dab893..ab593c76c 100644
--- a/src/tools/wasm-reduce.cpp
+++ b/src/tools/wasm-reduce.cpp
@@ -594,7 +594,7 @@ struct Reducer
break;
case Type::v128:
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
continue; // not implemented yet
@@ -619,7 +619,7 @@ struct Reducer
break;
case Type::v128:
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
continue; // not implemented yet
@@ -644,7 +644,7 @@ struct Reducer
break;
case Type::v128:
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
continue; // not implemented yet
@@ -669,7 +669,7 @@ struct Reducer
WASM_UNREACHABLE("unexpected type");
case Type::v128:
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
continue; // not implemented yet
@@ -681,7 +681,7 @@ struct Reducer
}
case Type::v128:
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
continue; // not implemented yet
diff --git a/src/wasm-binary.h b/src/wasm-binary.h
index b8d14377d..db93c86de 100644
--- a/src/wasm-binary.h
+++ b/src/wasm-binary.h
@@ -345,8 +345,8 @@ enum EncodedType {
v128 = -0x5, // 0x7b
// function reference type
funcref = -0x10, // 0x70
- // opaque reference type
- anyref = -0x11, // 0x6f
+ // opaque host reference type
+ externref = -0x11, // 0x6f
// null reference type
nullref = -0x12, // 0x6e
// exception reference type
@@ -961,8 +961,8 @@ inline S32LEB binaryType(Type type) {
case Type::funcref:
ret = BinaryConsts::EncodedType::funcref;
break;
- case Type::anyref:
- ret = BinaryConsts::EncodedType::anyref;
+ case Type::externref:
+ ret = BinaryConsts::EncodedType::externref;
break;
case Type::nullref:
ret = BinaryConsts::EncodedType::nullref;
diff --git a/src/wasm-builder.h b/src/wasm-builder.h
index 5df512745..5c6792a82 100644
--- a/src/wasm-builder.h
+++ b/src/wasm-builder.h
@@ -818,7 +818,7 @@ public:
break;
}
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
return ExpressionManipulator::refNull(curr);
diff --git a/src/wasm-interpreter.h b/src/wasm-interpreter.h
index 86ea7e146..124ba9aae 100644
--- a/src/wasm-interpreter.h
+++ b/src/wasm-interpreter.h
@@ -1642,7 +1642,7 @@ public:
case Type::v128:
return Literal(load128(addr).data());
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
case Type::none:
@@ -1699,7 +1699,7 @@ public:
store128(addr, value.getv128());
break;
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
case Type::none:
diff --git a/src/wasm-type.h b/src/wasm-type.h
index cfd47a8e0..b0cfa4094 100644
--- a/src/wasm-type.h
+++ b/src/wasm-type.h
@@ -41,7 +41,7 @@ public:
f64,
v128,
funcref,
- anyref,
+ externref,
nullref,
exnref,
_last_value_type = exnref
diff --git a/src/wasm/literal.cpp b/src/wasm/literal.cpp
index 5aebf30a3..29d047723 100644
--- a/src/wasm/literal.cpp
+++ b/src/wasm/literal.cpp
@@ -59,7 +59,7 @@ Literal& Literal::operator=(const Literal& other) {
case Type::none:
case Type::nullref:
break;
- case Type::anyref:
+ case Type::externref:
case Type::unreachable:
WASM_UNREACHABLE("unexpected type");
}
@@ -191,7 +191,7 @@ void Literal::getBits(uint8_t (&buf)[16]) const {
case Type::funcref:
case Type::nullref:
break;
- case Type::anyref:
+ case Type::externref:
case Type::exnref:
case Type::none:
case Type::unreachable:
@@ -346,7 +346,7 @@ std::ostream& operator<<(std::ostream& o, Literal literal) {
case Type::exnref:
o << "exnref(" << literal.getExceptionPackage() << ")";
break;
- case Type::anyref:
+ case Type::externref:
case Type::unreachable:
WASM_UNREACHABLE("invalid type");
}
@@ -569,7 +569,7 @@ Literal Literal::eqz() const {
return eq(Literal(double(0)));
case Type::v128:
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
case Type::none:
@@ -591,7 +591,7 @@ Literal Literal::neg() const {
return Literal(int64_t(i64 ^ 0x8000000000000000ULL)).castToF64();
case Type::v128:
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
case Type::none:
@@ -613,7 +613,7 @@ Literal Literal::abs() const {
return Literal(int64_t(i64 & 0x7fffffffffffffffULL)).castToF64();
case Type::v128:
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
case Type::none:
@@ -718,7 +718,7 @@ Literal Literal::add(const Literal& other) const {
return Literal(getf64() + other.getf64());
case Type::v128:
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
case Type::none:
@@ -740,7 +740,7 @@ Literal Literal::sub(const Literal& other) const {
return Literal(getf64() - other.getf64());
case Type::v128:
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
case Type::none:
@@ -833,7 +833,7 @@ Literal Literal::mul(const Literal& other) const {
return Literal(getf64() * other.getf64());
case Type::v128:
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
case Type::none:
@@ -1071,7 +1071,7 @@ Literal Literal::eq(const Literal& other) const {
return Literal(getf64() == other.getf64());
case Type::v128:
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
case Type::none:
@@ -1093,7 +1093,7 @@ Literal Literal::ne(const Literal& other) const {
return Literal(getf64() != other.getf64());
case Type::v128:
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
case Type::none:
diff --git a/src/wasm/wasm-binary.cpp b/src/wasm/wasm-binary.cpp
index a766e9b63..8a7f0d744 100644
--- a/src/wasm/wasm-binary.cpp
+++ b/src/wasm/wasm-binary.cpp
@@ -1132,8 +1132,8 @@ Type WasmBinaryBuilder::getType() {
return Type::v128;
case BinaryConsts::EncodedType::funcref:
return Type::funcref;
- case BinaryConsts::EncodedType::anyref:
- return Type::anyref;
+ case BinaryConsts::EncodedType::externref:
+ return Type::externref;
case BinaryConsts::EncodedType::nullref:
return Type::nullref;
case BinaryConsts::EncodedType::exnref:
diff --git a/src/wasm/wasm-s-parser.cpp b/src/wasm/wasm-s-parser.cpp
index 7ca8dd131..429cac273 100644
--- a/src/wasm/wasm-s-parser.cpp
+++ b/src/wasm/wasm-s-parser.cpp
@@ -866,8 +866,8 @@ Type SExpressionWasmBuilder::stringToType(const char* str,
if (strncmp(str, "funcref", 7) == 0 && (prefix || str[7] == 0)) {
return Type::funcref;
}
- if (strncmp(str, "anyref", 6) == 0 && (prefix || str[6] == 0)) {
- return Type::anyref;
+ if (strncmp(str, "externref", 9) == 0 && (prefix || str[9] == 0)) {
+ return Type::externref;
}
if (strncmp(str, "nullref", 7) == 0 && (prefix || str[7] == 0)) {
return Type::nullref;
diff --git a/src/wasm/wasm-stack.cpp b/src/wasm/wasm-stack.cpp
index 9ebf39fb8..c6c450cfb 100644
--- a/src/wasm/wasm-stack.cpp
+++ b/src/wasm/wasm-stack.cpp
@@ -188,7 +188,7 @@ void BinaryInstWriter::visitLoad(Load* curr) {
// a load
return;
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
case Type::none:
@@ -290,7 +290,7 @@ void BinaryInstWriter::visitStore(Store* curr) {
<< U32LEB(BinaryConsts::V128Store);
break;
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
case Type::none:
@@ -687,7 +687,7 @@ void BinaryInstWriter::visitConst(Const* curr) {
break;
}
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
case Type::none:
diff --git a/src/wasm/wasm-type.cpp b/src/wasm/wasm-type.cpp
index 8467e2176..b49f0338f 100644
--- a/src/wasm/wasm-type.cpp
+++ b/src/wasm/wasm-type.cpp
@@ -64,7 +64,7 @@ std::array<std::vector<Type>, Type::_last_value_type + 1> basicTypes = {
{Type::f64},
{Type::v128},
{Type::funcref},
- {Type::anyref},
+ {Type::externref},
{Type::nullref},
{Type::exnref}}};
@@ -81,7 +81,7 @@ std::unordered_map<std::vector<Type>, uintptr_t> indices = {
{{Type::f64}, Type::f64},
{{Type::v128}, Type::v128},
{{Type::funcref}, Type::funcref},
- {{Type::anyref}, Type::anyref},
+ {{Type::externref}, Type::externref},
{{Type::nullref}, Type::nullref},
{{Type::exnref}, Type::exnref},
};
@@ -156,7 +156,7 @@ unsigned Type::getByteSize() const {
case Type::v128:
return 16;
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
case Type::none:
@@ -191,7 +191,7 @@ Type Type::reinterpret() const {
return i64;
case Type::v128:
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
case Type::none:
@@ -207,7 +207,7 @@ FeatureSet Type::getFeatures() const {
case Type::v128:
return FeatureSet::SIMD;
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
return FeatureSet::ReferenceTypes;
case Type::exnref:
@@ -249,7 +249,7 @@ bool Type::isSubType(Type left, Type right) {
return true;
}
if (left.isRef() && right.isRef() &&
- (right == Type::anyref || left == Type::nullref)) {
+ (right == Type::externref || left == Type::nullref)) {
return true;
}
if (left.isMulti() && right.isMulti()) {
@@ -303,7 +303,7 @@ Type Type::getLeastUpperBound(Type a, Type b) {
if (b == Type::nullref) {
return a;
}
- return Type::anyref;
+ return Type::externref;
}
namespace {
@@ -379,8 +379,8 @@ std::ostream& operator<<(std::ostream& os, Type type) {
case Type::funcref:
os << "funcref";
break;
- case Type::anyref:
- os << "anyref";
+ case Type::externref:
+ os << "externref";
break;
case Type::nullref:
os << "nullref";
diff --git a/src/wasm/wasm-validator.cpp b/src/wasm/wasm-validator.cpp
index 97e45d471..2c2aac1c8 100644
--- a/src/wasm/wasm-validator.cpp
+++ b/src/wasm/wasm-validator.cpp
@@ -1260,7 +1260,7 @@ void FunctionValidator::validateMemBytes(uint8_t bytes,
case Type::unreachable:
break;
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
case Type::none:
@@ -2068,7 +2068,7 @@ void FunctionValidator::validateAlignment(
case Type::unreachable:
break;
case Type::funcref:
- case Type::anyref:
+ case Type::externref:
case Type::nullref:
case Type::exnref:
case Type::none: