aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2024-06-12 09:18:56 +0100
committerMichael Williamson <mike@zwobble.org>2024-06-12 09:22:20 +0100
commitb7eba5d35ad704a5396f433d75c743f5df8d9334 (patch)
treedb6a1041dff7aef0cde0cff0caf966faffed7e54 /src/main/java
parent72bb083256e85b44b998d15e4b2aa74db0213a6a (diff)
Garbage collect on allocation
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatio.java2
-rw-r--r--src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioGc.java3
2 files changed, 2 insertions, 3 deletions
diff --git a/src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatio.java b/src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatio.java
index f86a1b5c..7b565610 100644
--- a/src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatio.java
+++ b/src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatio.java
@@ -95,6 +95,8 @@ public class ShidToPatio {
mainContext
);
+ mainContext = ShidToPatioGc.collect(source, mainContext);
+
mainContext = mainContext.addInstruction(
new PatioReturn(exitCode, source)
);
diff --git a/src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioGc.java b/src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioGc.java
index a79326b9..07e8cbaf 100644
--- a/src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioGc.java
+++ b/src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioGc.java
@@ -16,7 +16,6 @@ import java.util.List;
import java.util.Optional;
public class ShidToPatioGc {
- // TODO: garbage collect after throws, and the end of blocks (especially for loops)
private ShidToPatioGc() {
}
@@ -275,8 +274,6 @@ public class ShidToPatioGc {
context = ShidToPatioGc.pushGcRoot(escapee, source, context);
}
- context = ShidToPatioGc.collect(source, context);
-
return context;
}
}