diff options
Diffstat (limited to 'src/wasm/wasm-binary.cpp')
-rw-r--r-- | src/wasm/wasm-binary.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/wasm/wasm-binary.cpp b/src/wasm/wasm-binary.cpp index 28a630c4a..869b44f2c 100644 --- a/src/wasm/wasm-binary.cpp +++ b/src/wasm/wasm-binary.cpp @@ -1500,6 +1500,9 @@ void WasmBinaryWriter::writeType(Type type) { case HeapType::func: o << S32LEB(BinaryConsts::EncodedType::funcref); return; + case HeapType::cont: + o << S32LEB(BinaryConsts::EncodedType::contref); + return; case HeapType::eq: o << S32LEB(BinaryConsts::EncodedType::eqref); return; @@ -1539,6 +1542,9 @@ void WasmBinaryWriter::writeType(Type type) { case HeapType::noexn: o << S32LEB(BinaryConsts::EncodedType::nullexnref); return; + case HeapType::nocont: + o << S32LEB(BinaryConsts::EncodedType::nullcontref); + return; } } if (type.isNullable()) { @@ -1612,6 +1618,9 @@ void WasmBinaryWriter::writeHeapType(HeapType type) { case HeapType::func: ret = BinaryConsts::EncodedHeapType::func; break; + case HeapType::cont: + ret = BinaryConsts::EncodedHeapType::cont; + break; case HeapType::any: ret = BinaryConsts::EncodedHeapType::any; break; @@ -1654,6 +1663,9 @@ void WasmBinaryWriter::writeHeapType(HeapType type) { case HeapType::noexn: ret = BinaryConsts::EncodedHeapType::noexn; break; + case HeapType::nocont: + ret = BinaryConsts::EncodedHeapType::nocont; + break; } o << S64LEB(ret); // TODO: Actually s33 } @@ -1986,6 +1998,9 @@ bool WasmBinaryReader::getBasicType(int32_t code, Type& out) { case BinaryConsts::EncodedType::funcref: out = Type(HeapType::func, Nullable); return true; + case BinaryConsts::EncodedType::contref: + out = Type(HeapType::cont, Nullable); + return true; case BinaryConsts::EncodedType::externref: out = Type(HeapType::ext, Nullable); return true; @@ -2031,6 +2046,9 @@ bool WasmBinaryReader::getBasicType(int32_t code, Type& out) { case BinaryConsts::EncodedType::nullexnref: out = Type(HeapType::noexn, Nullable); return true; + case BinaryConsts::EncodedType::nullcontref: + out = Type(HeapType::nocont, Nullable); + return true; default: return false; } @@ -2041,6 +2059,9 @@ bool WasmBinaryReader::getBasicHeapType(int64_t code, HeapType& out) { case BinaryConsts::EncodedHeapType::func: out = HeapType::func; return true; + case BinaryConsts::EncodedHeapType::cont: + out = HeapType::func; + return true; case BinaryConsts::EncodedHeapType::ext: out = HeapType::ext; return true; @@ -2086,6 +2107,9 @@ bool WasmBinaryReader::getBasicHeapType(int64_t code, HeapType& out) { case BinaryConsts::EncodedHeapType::noexn: out = HeapType::noexn; return true; + case BinaryConsts::EncodedHeapType::nocont: + out = HeapType::nocont; + return true; default: return false; } |