summaryrefslogtreecommitdiff
path: root/src/wasm-binary.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/wasm-binary.h')
-rw-r--r--src/wasm-binary.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/wasm-binary.h b/src/wasm-binary.h
index 865a882df..33f78ce7f 100644
--- a/src/wasm-binary.h
+++ b/src/wasm-binary.h
@@ -347,6 +347,8 @@ enum EncodedType {
funcref = -0x10, // 0x70
// opaque host reference type
externref = -0x11, // 0x6f
+ // any reference type
+ anyref = -0x12, // 0x6e
// exception reference type
exnref = -0x18, // 0x68
// func_type form
@@ -358,6 +360,7 @@ enum EncodedType {
enum EncodedHeapType {
func = -0x10, // 0x70
extern_ = -0x11, // 0x6f
+ any = -0x12, // 0x6e
exn = -0x18, // 0x68
};
@@ -380,6 +383,7 @@ extern const char* ExceptionHandlingFeature;
extern const char* TailCallFeature;
extern const char* ReferenceTypesFeature;
extern const char* MultivalueFeature;
+extern const char* AnyrefFeature;
enum Subsection {
NameFunction = 1,
@@ -975,6 +979,9 @@ inline S32LEB binaryType(Type type) {
case Type::exnref:
ret = BinaryConsts::EncodedType::exnref;
break;
+ case Type::anyref:
+ ret = BinaryConsts::EncodedType::anyref;
+ break;
case Type::unreachable:
WASM_UNREACHABLE("unexpected type");
}
@@ -994,6 +1001,8 @@ inline S32LEB binaryHeapType(HeapType type) {
ret = BinaryConsts::EncodedHeapType::exn;
break;
case HeapType::AnyKind:
+ ret = BinaryConsts::EncodedHeapType::any;
+ break;
case HeapType::EqKind:
case HeapType::I31Kind:
case HeapType::SignatureKind: