summaryrefslogtreecommitdiff
path: root/src/asmjs
diff options
context:
space:
mode:
authorThomas Lively <7121787+tlively@users.noreply.github.com>2022-07-20 20:13:18 -0700
committerGitHub <noreply@github.com>2022-07-20 20:13:18 -0700
commitda5035f893ce9e046f99cf3ede92b576024aa9da (patch)
tree9db48e77502a646d74ef1a9d11f9b8f0967ff856 /src/asmjs
parent1c53f7dd29e79bc1894959cad817b22f087689f7 (diff)
downloadbinaryen-da5035f893ce9e046f99cf3ede92b576024aa9da.tar.gz
binaryen-da5035f893ce9e046f99cf3ede92b576024aa9da.tar.bz2
binaryen-da5035f893ce9e046f99cf3ede92b576024aa9da.zip
Remove basic reference types (#4802)
Basic reference types like `Type::funcref`, `Type::anyref`, etc. made it easy to accidentally forget to handle reference types with the same basic HeapTypes but the opposite nullability. In principle there is nothing special about the types with shorthands except in the binary and text formats. Removing these shorthands from the internal type representation by removing all basic reference types makes some code more complicated locally, but simplifies code globally and encourages properly handling both nullable and non-nullable reference types.
Diffstat (limited to 'src/asmjs')
-rw-r--r--src/asmjs/asm_v_wasm.cpp16
1 files changed, 0 insertions, 16 deletions
diff --git a/src/asmjs/asm_v_wasm.cpp b/src/asmjs/asm_v_wasm.cpp
index 38eb029f4..314c2494f 100644
--- a/src/asmjs/asm_v_wasm.cpp
+++ b/src/asmjs/asm_v_wasm.cpp
@@ -33,12 +33,6 @@ JsType wasmToJsType(Type type) {
return JS_INT64;
case Type::v128:
WASM_UNREACHABLE("v128 not implemented yet");
- case Type::funcref:
- case Type::anyref:
- case Type::eqref:
- case Type::i31ref:
- case Type::dataref:
- WASM_UNREACHABLE("reference types are not supported by wasm2js");
case Type::none:
return JS_NONE;
case Type::unreachable:
@@ -60,16 +54,6 @@ char getSig(Type type) {
return 'd';
case Type::v128:
return 'V';
- case Type::funcref:
- return 'F';
- case Type::anyref:
- return 'A';
- case Type::eqref:
- return 'Q';
- case Type::i31ref:
- return 'I';
- case Type::dataref:
- return 'D';
case Type::none:
return 'v';
case Type::unreachable: