diff options
Diffstat (limited to 'src/wasm-interpreter.h')
-rw-r--r-- | src/wasm-interpreter.h | 12 |
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"); |