summaryrefslogtreecommitdiff
path: root/src/wasm/wasm-binary.cpp
diff options
context:
space:
mode:
authorHeejin Ahn <aheejin@gmail.com>2021-01-22 18:07:46 +0900
committerGitHub <noreply@github.com>2021-01-22 18:07:46 +0900
commit6d62e3c4be466888239a89c2e98713f60074aaea (patch)
treef2b55ef6eed4be74c2faee998f15ab46231083a9 /src/wasm/wasm-binary.cpp
parent69ff866fc7e54f25d8d8598581aa3553cb87603b (diff)
downloadbinaryen-6d62e3c4be466888239a89c2e98713f60074aaea.tar.gz
binaryen-6d62e3c4be466888239a89c2e98713f60074aaea.tar.bz2
binaryen-6d62e3c4be466888239a89c2e98713f60074aaea.zip
Remove exnref and br_on_exn (#3505)
This removes `exnref` type and `br_on_exn` instruction.
Diffstat (limited to 'src/wasm/wasm-binary.cpp')
-rw-r--r--src/wasm/wasm-binary.cpp33
1 files changed, 0 insertions, 33 deletions
diff --git a/src/wasm/wasm-binary.cpp b/src/wasm/wasm-binary.cpp
index 62c8a6cb3..a61d47102 100644
--- a/src/wasm/wasm-binary.cpp
+++ b/src/wasm/wasm-binary.cpp
@@ -1045,9 +1045,6 @@ void WasmBinaryWriter::writeType(Type type) {
case Type::externref:
ret = BinaryConsts::EncodedType::externref;
break;
- case Type::exnref:
- ret = BinaryConsts::EncodedType::exnref;
- break;
case Type::anyref:
ret = BinaryConsts::EncodedType::anyref;
break;
@@ -1080,9 +1077,6 @@ void WasmBinaryWriter::writeHeapType(HeapType type) {
case HeapType::ext:
ret = BinaryConsts::EncodedHeapType::extern_;
break;
- case HeapType::exn:
- ret = BinaryConsts::EncodedHeapType::exn;
- break;
case HeapType::any:
ret = BinaryConsts::EncodedHeapType::any;
break;
@@ -1410,8 +1404,6 @@ Type WasmBinaryBuilder::getType(int initial) {
return Type::funcref;
case BinaryConsts::EncodedType::externref:
return Type::externref;
- case BinaryConsts::EncodedType::exnref:
- return Type::exnref;
case BinaryConsts::EncodedType::anyref:
return Type::anyref;
case BinaryConsts::EncodedType::eqref:
@@ -1457,8 +1449,6 @@ HeapType WasmBinaryBuilder::getHeapType() {
return HeapType::func;
case BinaryConsts::EncodedHeapType::extern_:
return HeapType::ext;
- case BinaryConsts::EncodedHeapType::exn:
- return HeapType::exn;
case BinaryConsts::EncodedHeapType::any:
return HeapType::any;
case BinaryConsts::EncodedHeapType::eq:
@@ -2874,9 +2864,6 @@ BinaryConsts::ASTNodes WasmBinaryBuilder::readExpression(Expression*& curr) {
case BinaryConsts::Rethrow:
visitRethrow((curr = allocator.alloc<Rethrow>())->cast<Rethrow>());
break;
- case BinaryConsts::BrOnExn:
- visitBrOnExn((curr = allocator.alloc<BrOnExn>())->cast<BrOnExn>());
- break;
case BinaryConsts::MemorySize: {
auto size = allocator.alloc<MemorySize>();
if (wasm.memory.is64()) {
@@ -5699,26 +5686,6 @@ void WasmBinaryBuilder::visitRethrow(Rethrow* curr) {
curr->finalize();
}
-void WasmBinaryBuilder::visitBrOnExn(BrOnExn* curr) {
- BYN_TRACE("zz node: BrOnExn\n");
- BreakTarget target = getBreakTarget(getU32LEB());
- curr->name = target.name;
- auto index = getU32LEB();
- if (index >= wasm.events.size()) {
- throwError("bad event index");
- }
- curr->event = wasm.events[index]->name;
- curr->exnref = popNonVoidExpression();
-
- Event* event = wasm.getEventOrNull(curr->event);
- assert(event && "br_on_exn's event must exist");
-
- // Copy params info into BrOnExn, because it is necessary when BrOnExn is
- // refinalized without the module.
- curr->sent = event->sig.params;
- curr->finalize();
-}
-
void WasmBinaryBuilder::visitCallRef(CallRef* curr) {
BYN_TRACE("zz node: CallRef\n");
curr->target = popNonVoidExpression();