diff options
author | acolyer <acolyer> | 2006-02-10 17:55:33 +0000 |
---|---|---|
committer | acolyer <acolyer> | 2006-02-10 17:55:33 +0000 |
commit | 1c26c6cc4885648ccb398b16daf3c387740f8952 (patch) | |
tree | 141e82ea9b005d443328760c248678d58c400fe6 /org.aspectj.ajdt.core/src | |
parent | fd7f8075c8046aa5a2fb059e5b27aa869fc6658c (diff) | |
download | aspectj-1c26c6cc4885648ccb398b16daf3c387740f8952.tar.gz aspectj-1c26c6cc4885648ccb398b16daf3c387740f8952.zip |
free up memory anchored in static at the end of a run
Diffstat (limited to 'org.aspectj.ajdt.core/src')
-rw-r--r-- | org.aspectj.ajdt.core/src/org/aspectj/tools/ajc/Main.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/org.aspectj.ajdt.core/src/org/aspectj/tools/ajc/Main.java b/org.aspectj.ajdt.core/src/org/aspectj/tools/ajc/Main.java index 99843a3b9..2f5c98053 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/tools/ajc/Main.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/tools/ajc/Main.java @@ -36,6 +36,7 @@ import org.aspectj.bridge.Version; import org.aspectj.bridge.context.CompilationAndWeavingContext; import org.aspectj.util.FileUtil; import org.aspectj.util.LangUtil; +import org.aspectj.weaver.Dump; /** * Programmatic and command-line interface to AspectJ compiler. @@ -243,10 +244,15 @@ public class Main { try { // byte[] b = new byte[100000000]; for testing OoME only! run(args, holder); - } catch (OutOfMemoryError outOfMemory) { + } + catch (OutOfMemoryError outOfMemory) { IMessage outOfMemoryMessage = new Message(OUT_OF_MEMORY_MSG,null,true); holder.handleMessage(outOfMemoryMessage); systemExit(holder); // we can't reasonably continue from this point. + } + finally { + CompilationAndWeavingContext.reset(); + Dump.reset(); } boolean skipExit = false; |