diff options
author | aclement <aclement> | 2004-10-12 16:24:10 +0000 |
---|---|---|
committer | aclement <aclement> | 2004-10-12 16:24:10 +0000 |
commit | 234bea2297cc780d5bf38ebbc4087e938cc3b6e8 (patch) | |
tree | 33014f9efe600b0eed5685d0a0054ba4d0771b36 /org.aspectj.ajdt.core | |
parent | 5c996fc559581581e9dde60a6f555aa3ff7cc042 (diff) | |
download | aspectj-234bea2297cc780d5bf38ebbc4087e938cc3b6e8.tar.gz aspectj-234bea2297cc780d5bf38ebbc4087e938cc3b6e8.zip |
76030 - cflow optimizations. Part 2 fix - share counters and stacks when we can.
Diffstat (limited to 'org.aspectj.ajdt.core')
-rw-r--r-- | org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/AjCompilerAdapter.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/AjCompilerAdapter.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/AjCompilerAdapter.java index d7c1b9c2a..ccb9821b9 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/AjCompilerAdapter.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/AjCompilerAdapter.java @@ -25,6 +25,7 @@ import org.aspectj.bridge.IMessageHandler; import org.aspectj.bridge.IProgressListener; import org.aspectj.weaver.bcel.BcelWeaver; import org.aspectj.weaver.bcel.BcelWorld; +import org.aspectj.weaver.patterns.CflowPointcut; import org.aspectj.org.eclipse.jdt.internal.compiler.CompilationResult; import org.aspectj.org.eclipse.jdt.internal.compiler.Compiler; import org.aspectj.org.eclipse.jdt.internal.compiler.ICompilerAdapter; @@ -235,8 +236,12 @@ public class AjCompilerAdapter implements ICompilerAdapter { // addAllKnownClassesToWeaveList(); // resultsPendingWeave.addAll(getBinarySourcesFrom(binarySourceSetForFullWeave)); // } - - weaver.weave(new WeaverAdapter(this,weaverMessageHandler,progressListener)); + try { + weaver.weave(new WeaverAdapter(this,weaverMessageHandler,progressListener)); + } finally { + // ???: is this the right point for this? After weaving has finished clear the caches. + CflowPointcut.clearCaches(); + } } private void addAllKnownClassesToWeaveList() { |