summaryrefslogtreecommitdiff
path: root/src/ir/effects.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ir/effects.h')
-rw-r--r--src/ir/effects.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/ir/effects.h b/src/ir/effects.h
index 1156cd823..3ff320a88 100644
--- a/src/ir/effects.h
+++ b/src/ir/effects.h
@@ -973,6 +973,19 @@ private:
// traps when ref is null.
parent.implicitTrap = true;
}
+
+ void visitResume(Resume* curr) {
+ // This acts as a kitchen sink effect.
+ parent.calls = true;
+
+ // resume instructions accept nullable continuation references and trap
+ // on null.
+ parent.implicitTrap = true;
+
+ if (parent.features.hasExceptionHandling() && parent.tryDepth == 0) {
+ parent.throws_ = true;
+ }
+ }
};
public: