summaryrefslogtreecommitdiff
path: root/src/passes/Print.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/passes/Print.cpp')
-rw-r--r--src/passes/Print.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/passes/Print.cpp b/src/passes/Print.cpp
index c0e940d04..b921fb074 100644
--- a/src/passes/Print.cpp
+++ b/src/passes/Print.cpp
@@ -1733,15 +1733,17 @@ struct PrintExpressionContents
}
void visitRefTest(RefTest* curr) {
printMedium(o, "ref.test ");
- printHeapTypeName(o, curr->rtt->type.getHeapType());
+ printHeapTypeName(o, curr->getCastType().getHeapType());
}
void visitRefCast(RefCast* curr) {
printMedium(o, "ref.cast ");
- printHeapTypeName(o, curr->rtt->type.getHeapType());
+ printHeapTypeName(o, curr->getCastType().getHeapType());
}
void visitBrOnCast(BrOnCast* curr) {
- printMedium(o, "br_on_cast");
- WASM_UNREACHABLE("TODO (gc): br_on_cast");
+ printMedium(o, "br_on_cast ");
+ printName(curr->name, o);
+ o << " ";
+ printHeapTypeName(o, curr->getCastType().getHeapType());
}
void visitRttCanon(RttCanon* curr) {
printMedium(o, "rtt.canon ");
@@ -2450,7 +2452,10 @@ struct PrintSExpression : public OverriddenVisitor<PrintSExpression> {
void visitBrOnCast(BrOnCast* curr) {
o << '(';
PrintExpressionContents(currFunction, o).visit(curr);
- WASM_UNREACHABLE("TODO (gc): br_on_cast");
+ incIndent();
+ printFullLine(curr->ref);
+ printFullLine(curr->rtt);
+ decIndent();
}
void visitRttCanon(RttCanon* curr) {
o << '(';