summaryrefslogtreecommitdiff
path: root/src/wasm-interpreter.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/wasm-interpreter.h')
-rw-r--r--src/wasm-interpreter.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/wasm-interpreter.h b/src/wasm-interpreter.h
index a22bb6e54..65a4417c8 100644
--- a/src/wasm-interpreter.h
+++ b/src/wasm-interpreter.h
@@ -1388,13 +1388,13 @@ public:
NOTE_ENTER("BrOnCast");
WASM_UNREACHABLE("TODO (gc): br_on_cast");
}
- Flow visitRttCanon(RttCanon* curr) {
- NOTE_ENTER("RttCanon");
- WASM_UNREACHABLE("TODO (gc): rtt.canon");
- }
+ Flow visitRttCanon(RttCanon* curr) { return Literal(curr->type); }
Flow visitRttSub(RttSub* curr) {
- NOTE_ENTER("RttSub");
- WASM_UNREACHABLE("TODO (gc): rtt.sub");
+ Flow parent = this->visit(curr->parent);
+ if (parent.breaking()) {
+ return parent;
+ }
+ return Literal(curr->type);
}
Flow visitStructNew(StructNew* curr) {
NOTE_ENTER("StructNew");