Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7)

Issue 9148026: Recompile unit with potential conflict/dependency on some top-level symbol. (Closed)

Created:
8 years, 11 months ago by scheglov
Modified:
8 years, 10 months ago
Reviewers:
mmendez, ahe, codefu, zundel
CC:
reviews_dartlang.org
Visibility:
Public.

Description

Recompile unit with potential conflict/dependency on some top-level symbol. 1. Change dependency tracking from API version on unit to just unit last modified time. 2. Track sets of top-level and all declared symbols in units, recompile in case of possible conflict. 3. Track units with TypeErrorCode.CANNOT_BE_RESOLVED, recompile if any unit changes top-level symbols. 4. Better tests with source code directly in test method. R=zundel@google.com BUG= TEST= Committed: https://code.google.com/p/dart/source/detail?r=3799

Patch Set 1 #

Total comments: 46

Patch Set 2 : Changes for comments #

Total comments: 4

Patch Set 3 : Removing API files, has NPE in TreeShaker #

Total comments: 2

Patch Set 4 : Fix for compiling corelib, so NPE in TreeShaker #

Total comments: 10

Patch Set 5 : Tweaks for comments #

Patch Set 6 : Restore "holes". Tests for them. #

Total comments: 2

Patch Set 7 : Rebase and merge #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1738 lines, -998 lines) Patch
M compiler/java/com/google/dart/compiler/DartCompiler.java View 1 2 3 4 5 19 chunks +134 lines, -95 lines 0 comments Download
M compiler/java/com/google/dart/compiler/DartCompilerErrorCode.java View 1 1 chunk +5 lines, -0 lines 0 comments Download
M compiler/java/com/google/dart/compiler/DartCompilerMainContext.java View 1 6 chunks +32 lines, -0 lines 0 comments Download
M compiler/java/com/google/dart/compiler/DefaultDartArtifactProvider.java View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M compiler/java/com/google/dart/compiler/DeltaAnalyzer.java View 1 1 chunk +0 lines, -1 line 0 comments Download
M compiler/java/com/google/dart/compiler/ErrorCode.java View 1 1 chunk +6 lines, -0 lines 0 comments Download
M compiler/java/com/google/dart/compiler/LibraryDeps.java View 1 2 3 4 5 1 chunk +230 lines, -107 lines 0 comments Download
M compiler/java/com/google/dart/compiler/LibraryDepsVisitor.java View 1 2 3 4 5 6 chunks +17 lines, -52 lines 0 comments Download
M compiler/java/com/google/dart/compiler/ast/DartClass.java View 2 3 3 chunks +0 lines, -21 lines 0 comments Download
M compiler/java/com/google/dart/compiler/ast/DartField.java View 1 chunk +0 lines, -15 lines 0 comments Download
M compiler/java/com/google/dart/compiler/ast/DartNode.java View 1 chunk +0 lines, -18 lines 0 comments Download
M compiler/java/com/google/dart/compiler/ast/DartToSourceVisitor.java View 4 chunks +0 lines, -17 lines 0 comments Download
M compiler/java/com/google/dart/compiler/ast/DartUnit.java View 1 3 chunks +85 lines, -1 line 0 comments Download
M compiler/java/com/google/dart/compiler/ast/LibraryNode.java View 1 chunk +1 line, -4 lines 0 comments Download
M compiler/java/com/google/dart/compiler/ast/LibraryUnit.java View 1 2 3 4 5 chunks +0 lines, -208 lines 0 comments Download
M compiler/java/com/google/dart/compiler/backend/doc/DartDocumentationGenerator.java View 1 2 3 4 5 4 chunks +15 lines, -2 lines 0 comments Download
M compiler/java/com/google/dart/compiler/backend/js/ClosureJsErrorCode.java View 1 1 chunk +5 lines, -0 lines 0 comments Download
M compiler/java/com/google/dart/compiler/backend/js/JsErrorCode.java View 1 1 chunk +5 lines, -0 lines 0 comments Download
M compiler/java/com/google/dart/compiler/parser/DartParser.java View 1 2 3 4 5 6 2 chunks +23 lines, -14 lines 0 comments Download
M compiler/java/com/google/dart/compiler/parser/ParserErrorCode.java View 1 2 3 4 5 6 1 chunk +5 lines, -0 lines 0 comments Download
M compiler/java/com/google/dart/compiler/resolver/ResolverErrorCode.java View 1 2 3 4 5 6 5 chunks +14 lines, -9 lines 0 comments Download
M compiler/java/com/google/dart/compiler/resolver/TypeErrorCode.java View 1 2 3 4 5 6 4 chunks +16 lines, -11 lines 0 comments Download
M compiler/javatests/com/google/dart/compiler/MockBundleLibrarySource.java View 1 1 chunk +1 line, -0 lines 0 comments Download
M compiler/javatests/com/google/dart/compiler/backend/common/TypeHeuristicImplementationTest.java View 1 1 chunk +7 lines, -3 lines 0 comments Download
M compiler/javatests/com/google/dart/compiler/common/ErrorExpectation.java View 1 2 3 4 2 chunks +52 lines, -23 lines 0 comments Download
M compiler/javatests/com/google/dart/compiler/end2end/End2EndTests.java View 2 chunks +2 lines, -0 lines 0 comments Download
A compiler/javatests/com/google/dart/compiler/end2end/inc/IncrementalCompilation2Test.java View 1 2 3 4 5 1 chunk +561 lines, -0 lines 0 comments Download
M compiler/javatests/com/google/dart/compiler/end2end/inc/IncrementalCompilationTest.java View 1 2 10 chunks +263 lines, -373 lines 0 comments Download
M compiler/javatests/com/google/dart/compiler/end2end/inc/IncrementalCompilationWithPrefixTest.java View 1 2 4 chunks +11 lines, -19 lines 0 comments Download
A compiler/javatests/com/google/dart/compiler/end2end/inc/MemoryLibrarySource.java View 1 1 chunk +108 lines, -0 lines 0 comments Download
M compiler/javatests/com/google/dart/compiler/end2end/inc/my.app.dart View 1 chunk +1 line, -1 line 0 comments Download
M compiler/javatests/com/google/dart/compiler/parser/AbstractParserTest.java View 1 2 1 chunk +3 lines, -3 lines 0 comments Download
M compiler/javatests/com/google/dart/compiler/parser/NegativeParserTest.java View 1 2 3 4 5 6 2 chunks +91 lines, -0 lines 0 comments Download
M compiler/javatests/com/google/dart/compiler/resolver/NegativeResolverTest.java View 1 2 3 4 1 chunk +10 lines, -0 lines 0 comments Download
M compiler/javatests/com/google/dart/compiler/type/TypeAnalyzerCompilerTest.java View 1 2 3 4 5 6 3 chunks +34 lines, -0 lines 0 comments Download

Messages

Total messages: 15 (0 generated)
scheglov
8 years, 11 months ago (2012-01-11 16:33:19 UTC) #1
zundel
I didn't get very far, but wanted to go ahead and give you this feedback. ...
8 years, 11 months ago (2012-01-12 17:11:47 UTC) #2
zundel
http://codereview.chromium.org/9148026/diff/1/compiler/java/com/google/dart/compiler/ast/LibraryUnit.java File compiler/java/com/google/dart/compiler/ast/LibraryUnit.java (right): http://codereview.chromium.org/9148026/diff/1/compiler/java/com/google/dart/compiler/ast/LibraryUnit.java#newcode353 compiler/java/com/google/dart/compiler/ast/LibraryUnit.java:353: * Get an unmodifiable collection of the to-level symbols ...
8 years, 11 months ago (2012-01-12 19:26:59 UTC) #3
scheglov
http://codereview.chromium.org/9148026/diff/1/compiler/java/com/google/dart/compiler/DartCompiler.java File compiler/java/com/google/dart/compiler/DartCompiler.java (left): http://codereview.chromium.org/9148026/diff/1/compiler/java/com/google/dart/compiler/DartCompiler.java#oldcode519 compiler/java/com/google/dart/compiler/DartCompiler.java:519: String hash = Integer.toString(depNode.computeHash()); On 2012/01/12 17:11:47, zundel wrote: ...
8 years, 11 months ago (2012-01-13 15:55:35 UTC) #4
mmendez
Konstantine, I'd like to take a detailed look at this CL as well before you ...
8 years, 11 months ago (2012-01-13 16:05:23 UTC) #5
codefu
http://codereview.chromium.org/9148026/diff/1/compiler/java/com/google/dart/compiler/DartCompiler.java File compiler/java/com/google/dart/compiler/DartCompiler.java (left): http://codereview.chromium.org/9148026/diff/1/compiler/java/com/google/dart/compiler/DartCompiler.java#oldcode519 compiler/java/com/google/dart/compiler/DartCompiler.java:519: String hash = Integer.toString(depNode.computeHash()); On 2012/01/13 15:55:37, scheglov wrote: ...
8 years, 11 months ago (2012-01-13 18:21:21 UTC) #6
scheglov
> > > > We don't need it. > > Now we use dependency on ...
8 years, 11 months ago (2012-01-13 18:28:26 UTC) #7
codefu
On 2012/01/13 18:28:26, scheglov wrote: > > > > > > We don't need it. ...
8 years, 11 months ago (2012-01-13 18:32:11 UTC) #8
zundel
just a couple of random comments I had not sent out to you. http://codereview.chromium.org/9148026/diff/7001/compiler/java/com/google/dart/compiler/DartCompiler.java File ...
8 years, 11 months ago (2012-01-18 15:12:52 UTC) #9
scheglov
http://codereview.chromium.org/9148026/diff/7001/compiler/java/com/google/dart/compiler/DartCompiler.java File compiler/java/com/google/dart/compiler/DartCompiler.java (right): http://codereview.chromium.org/9148026/diff/7001/compiler/java/com/google/dart/compiler/DartCompiler.java#newcode543 compiler/java/com/google/dart/compiler/DartCompiler.java:543: /*for (String unitName : deps.getUnitNames()) { On 2012/01/18 15:12:52, ...
8 years, 11 months ago (2012-01-18 15:57:23 UTC) #10
codefu
I'm sure I missed some stuff that the other guys will pick up on. Here's ...
8 years, 11 months ago (2012-01-19 21:48:54 UTC) #11
scheglov
http://codereview.chromium.org/9148026/diff/22001/compiler/java/com/google/dart/compiler/LibraryDepsVisitor.java File compiler/java/com/google/dart/compiler/LibraryDepsVisitor.java (right): http://codereview.chromium.org/9148026/diff/22001/compiler/java/com/google/dart/compiler/LibraryDepsVisitor.java#newcode49 compiler/java/com/google/dart/compiler/LibraryDepsVisitor.java:49: // - Add "holes" for fields and methods found ...
8 years, 11 months ago (2012-01-20 15:59:24 UTC) #12
mmendez
To summarize a discussion that we had offline: This patch removes the concept of a ...
8 years, 11 months ago (2012-01-23 17:37:27 UTC) #13
codefu
I don't think the mintmaker files should be added (perhaps by accident?). Other than that, ...
8 years, 11 months ago (2012-01-27 15:20:16 UTC) #14
ahe
8 years, 10 months ago (2012-02-08 09:15:57 UTC) #15
With this change, it appears you stopped saving .api files. However, the rule
compile_systemlibrary in dart-compiler.gyp still assumes that they exist.

As far as I can tell, this is fixed by doing a global search and replace of .api
with .deps in dart-compiler.gyp. I have done so in CL 9353015.

Please let me know if I got this wrong.

Powered by Google App Engine
This is Rietveld 408576698