Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 6617 Details for
Bug 14103
[Builder] Too many dependents found when incrementally recompiling
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
better patch
(text/plain), 4.23 KB, created by
Philipe Mulet
on 2003-10-31 07:29:15 EST
(
hide
)
Description:
better patch
Filename:
MIME Type:
Creator:
Philipe Mulet
Created:
2003-10-31 07:29:15 EST
Size:
4.23 KB
patch
obsolete
>Index: compiler/org/eclipse/jdt/internal/compiler/ast/IteratorForStatement.java >=================================================================== >retrieving revision 1.1 >diff -u -r1.1 IteratorForStatement.java >--- compiler/org/eclipse/jdt/internal/compiler/ast/IteratorForStatement.java 30 Oct 2003 19:34:58 -0000 1.1 >+++ compiler/org/eclipse/jdt/internal/compiler/ast/IteratorForStatement.java 31 Oct 2003 12:20:44 -0000 >@@ -79,7 +79,8 @@ > public void resetStateForCodeGeneration() { > // TODO to be completed > } >- >+private void dummy() { >+} > public void resolve(BlockScope upperScope) { > // TODO to be completed > } >Index: model/org/eclipse/jdt/internal/core/builder/IncrementalImageBuilder.java >=================================================================== >retrieving revision 1.58 >diff -u -r1.58 IncrementalImageBuilder.java >--- model/org/eclipse/jdt/internal/core/builder/IncrementalImageBuilder.java 22 Sep 2003 10:59:23 -0000 1.58 >+++ model/org/eclipse/jdt/internal/core/builder/IncrementalImageBuilder.java 31 Oct 2003 12:20:45 -0000 >@@ -40,6 +40,10 @@ > > public static int MaxCompileLoop = 5; // perform a full build if it takes more than ? incremental compile loops > >+// Global table containing list of binary changes which are non structural. Used to optimize inter-project scenario (refine binary deltas) >+// Flushed at the end of a build iteration, thus only optimizing the incremental workspace build. >+public static HashSet BinaryChangesToIgnore = new HashSet(50); >+ > protected IncrementalImageBuilder(JavaBuilder javaBuilder) { > super(javaBuilder); > this.nameEnvironment.isIncrementalBuild = true; >@@ -291,6 +295,12 @@ > case IResourceDelta.CHANGED : > if ((binaryDelta.getFlags() & IResourceDelta.CONTENT) == 0) > return; // skip it since it really isn't changed >+ // if listed amongst binary changes to ignore, then no need to react to this delta (14103) >+ if (BinaryChangesToIgnore.contains(resource)) { >+ if (JavaBuilder.DEBUG) >+ System.out.println("Skipped over unchanged class file " + typePath); //$NON-NLS-1$ >+ return; // skip it since it really isn't changed >+ } > if (JavaBuilder.DEBUG) > System.out.println("Found changed class file " + typePath); //$NON-NLS-1$ > addDependentsOf(typePath, false); >@@ -601,8 +611,10 @@ > > protected boolean writeClassFileCheck(IFile file, String fileName, byte[] newBytes) throws CoreException { > try { >+ // flush info for this file in case of several incremental loops >+ BinaryChangesToIgnore.remove(file); > byte[] oldBytes = Util.getResourceContentsAsByteArray(file); >- if (this.compileLoop > 1) { // only optimize files which were recompiled during the dependent pass, see 33990 >+ if (this.compileLoop > 1) { // only optimize files which were recompiled during the dependent pass, see 33990 (update timestamp) > notEqual : if (newBytes.length == oldBytes.length) { > for (int i = newBytes.length; --i >= 0;) > if (newBytes[i] != oldBytes[i]) break notEqual; >@@ -617,6 +629,9 @@ > if (JavaBuilder.DEBUG) > System.out.println("Type has structural changes " + fileName); //$NON-NLS-1$ > addDependentsOf(new Path(fileName), true); >+ } else { >+ // dependent projects may ignore a change to this file since wasn't structural (14103) >+ BinaryChangesToIgnore.add(file); > } > } catch (ClassFormatException e) { > addDependentsOf(new Path(fileName), true); >Index: model/org/eclipse/jdt/internal/core/builder/JavaBuilder.java >=================================================================== >retrieving revision 1.87 >diff -u -r1.87 JavaBuilder.java >--- model/org/eclipse/jdt/internal/core/builder/JavaBuilder.java 16 Oct 2003 11:15:24 -0000 1.87 >+++ model/org/eclipse/jdt/internal/core/builder/JavaBuilder.java 31 Oct 2003 12:20:45 -0000 >@@ -68,7 +68,6 @@ > */ > public static void buildStarting() { > // do nothing >- // TODO (philippe) is it still needed? > } > > /** >@@ -77,6 +76,8 @@ > */ > public static void buildFinished() { > BuildNotifier.resetProblemCounters(); >+ // discard information about binary changes at the end of a build iteration >+ IncrementalImageBuilder.BinaryChangesToIgnore.clear(); > } > > public static void removeProblemsFor(IResource resource) {
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 14103
:
6616
|
6617
|
6618