diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/asmjs/asm_v_wasm.cpp | 6 | ||||
-rw-r--r-- | src/binaryen-c.cpp | 6 | ||||
-rw-r--r-- | src/binaryen-c.h | 2 | ||||
-rw-r--r-- | src/gen-s-parser.inc | 32 | ||||
-rw-r--r-- | src/ir/abstract.h | 4 | ||||
-rw-r--r-- | src/js/binaryen.js-post.js | 6 | ||||
-rw-r--r-- | src/literal.h | 4 | ||||
-rw-r--r-- | src/parsing.h | 2 | ||||
-rw-r--r-- | src/passes/ConstHoisting.cpp | 2 | ||||
-rw-r--r-- | src/passes/Flatten.cpp | 4 | ||||
-rw-r--r-- | src/passes/FuncCastEmulation.cpp | 4 | ||||
-rw-r--r-- | src/passes/InstrumentLocals.cpp | 24 | ||||
-rw-r--r-- | src/shell-interface.h | 2 | ||||
-rw-r--r-- | src/tools/fuzzing.h | 31 | ||||
-rw-r--r-- | src/tools/spec-wrapper.h | 2 | ||||
-rw-r--r-- | src/tools/wasm-reduce.cpp | 10 | ||||
-rw-r--r-- | src/wasm-binary.h | 8 | ||||
-rw-r--r-- | src/wasm-builder.h | 2 | ||||
-rw-r--r-- | src/wasm-interpreter.h | 4 | ||||
-rw-r--r-- | src/wasm-type.h | 2 | ||||
-rw-r--r-- | src/wasm/literal.cpp | 22 | ||||
-rw-r--r-- | src/wasm/wasm-binary.cpp | 4 | ||||
-rw-r--r-- | src/wasm/wasm-s-parser.cpp | 4 | ||||
-rw-r--r-- | src/wasm/wasm-stack.cpp | 6 | ||||
-rw-r--r-- | src/wasm/wasm-type.cpp | 18 | ||||
-rw-r--r-- | src/wasm/wasm-validator.cpp | 4 |
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: |