aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-12-19 13:40:53 +0000
committerMichael Williamson <mike@zwobble.org>2023-12-19 13:40:53 +0000
commit92f00e46821d40107b6376877e363ff7171dbbd1 (patch)
treeeaa52afb946747c836699b8a4979173e249d4eeb /src/main/java
parent1c89809ea205455ec78ad89152b37bd15893e7c9 (diff)
Discard stashed effect handler and GC root index on block exit
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/patio/PatioCodeGenContext.java5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/main/java/org/shedlang/compiler/patio/PatioCodeGenContext.java b/src/main/java/org/shedlang/compiler/patio/PatioCodeGenContext.java
index 40bdf823..9aaf2666 100644
--- a/src/main/java/org/shedlang/compiler/patio/PatioCodeGenContext.java
+++ b/src/main/java/org/shedlang/compiler/patio/PatioCodeGenContext.java
@@ -779,14 +779,13 @@ public record PatioCodeGenContext(
this.compilationUnitContext,
this.blockStack.minus(0),
new FunctionContext(
- // TODO: some of these fields should be popped
this.blockStack.get(0).temporaryStack,
this.blockStack.get(0).instructions,
this.functionContext.localsByName,
this.functionContext.shidNameToLocal,
this.functionContext.waitingForShidLocal,
- this.functionContext.stashedEffectHandler,
- this.functionContext.stashedGcRootStackIndex,
+ this.blockStack.get(0).stashedEffectHandler,
+ this.blockStack.get(0).stashedGcRootStackIndex,
this.blockStack.get(0).onReturn
)
).toResult(this.functionContext.instructions);