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

Issue 2939823002: Extract computing UnlinkedUnit(s) and cache them in ByteStore. (Closed)

Created:
3 years, 6 months ago by scheglov
Modified:
3 years, 4 months ago
CC:
reviews_dartlang.org, dart-fe-team+reviews_google.com
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Extract computing UnlinkedUnit(s) and cache them in ByteStore. So, we usually don't have to parse most of the files in order to compute imports/exports/parts and API signatures. R=ahe@google.com, paulberry@google.com, sigmund@google.com BUG= Committed: https://github.com/dart-lang/sdk/commit/8925c68a7182505542f056a1ac6d9435ecdfd5c9

Patch Set 1 #

Total comments: 9
Unified diffs Side-by-side diffs Delta from patch set Stats (+160 lines, -126 lines) Patch
M pkg/front_end/lib/src/incremental/file_state.dart View 8 chunks +28 lines, -123 lines 0 comments Download
A pkg/front_end/lib/src/incremental/unlinked_unit.dart View 1 chunk +126 lines, -0 lines 9 comments Download
M pkg/front_end/lib/src/incremental_kernel_generator_impl.dart View 1 chunk +2 lines, -2 lines 0 comments Download
M pkg/front_end/test/src/incremental/file_state_test.dart View 3 chunks +4 lines, -1 line 0 comments Download

Messages

Total messages: 9 (1 generated)
scheglov
3 years, 6 months ago (2017-06-13 21:18:58 UTC) #1
Paul Berry
https://codereview.chromium.org/2939823002/diff/1/pkg/front_end/lib/src/incremental/unlinked_unit.dart File pkg/front_end/lib/src/incremental/unlinked_unit.dart (right): https://codereview.chromium.org/2939823002/diff/1/pkg/front_end/lib/src/incremental/unlinked_unit.dart#newcode25 pkg/front_end/lib/src/incremental/unlinked_unit.dart:25: new TopLevelParser(listener).parseUnit(token); It seems wasteful that we call `parseUnit` ...
3 years, 6 months ago (2017-06-13 21:49:46 UTC) #2
scheglov
https://codereview.chromium.org/2939823002/diff/1/pkg/front_end/lib/src/incremental/unlinked_unit.dart File pkg/front_end/lib/src/incremental/unlinked_unit.dart (right): https://codereview.chromium.org/2939823002/diff/1/pkg/front_end/lib/src/incremental/unlinked_unit.dart#newcode25 pkg/front_end/lib/src/incremental/unlinked_unit.dart:25: new TopLevelParser(listener).parseUnit(token); On 2017/06/13 21:49:46, Paul Berry wrote: > ...
3 years, 6 months ago (2017-06-13 22:03:21 UTC) #3
Paul Berry
lgtm https://codereview.chromium.org/2939823002/diff/1/pkg/front_end/lib/src/incremental/unlinked_unit.dart File pkg/front_end/lib/src/incremental/unlinked_unit.dart (right): https://codereview.chromium.org/2939823002/diff/1/pkg/front_end/lib/src/incremental/unlinked_unit.dart#newcode61 pkg/front_end/lib/src/incremental/unlinked_unit.dart:61: void _excludeNativeClauses(Token token) { On 2017/06/13 22:03:21, scheglov ...
3 years, 6 months ago (2017-06-14 12:20:52 UTC) #4
scheglov
Committed patchset #1 (id:1) manually as 8925c68a7182505542f056a1ac6d9435ecdfd5c9 (presubmit successful).
3 years, 6 months ago (2017-06-14 15:10:02 UTC) #6
Siggi Cherem (dart-lang)
dbc https://codereview.chromium.org/2939823002/diff/1/pkg/front_end/lib/src/incremental/unlinked_unit.dart File pkg/front_end/lib/src/incremental/unlinked_unit.dart (right): https://codereview.chromium.org/2939823002/diff/1/pkg/front_end/lib/src/incremental/unlinked_unit.dart#newcode61 pkg/front_end/lib/src/incremental/unlinked_unit.dart:61: void _excludeNativeClauses(Token token) { On 2017/06/14 12:20:52, Paul ...
3 years, 6 months ago (2017-06-14 22:37:38 UTC) #7
scheglov
https://codereview.chromium.org/2939823002/diff/1/pkg/front_end/lib/src/incremental/unlinked_unit.dart File pkg/front_end/lib/src/incremental/unlinked_unit.dart (right): https://codereview.chromium.org/2939823002/diff/1/pkg/front_end/lib/src/incremental/unlinked_unit.dart#newcode61 pkg/front_end/lib/src/incremental/unlinked_unit.dart:61: void _excludeNativeClauses(Token token) { On 2017/06/14 22:37:38, Siggi Cherem ...
3 years, 6 months ago (2017-06-14 23:20:34 UTC) #8
ahe
3 years, 4 months ago (2017-08-07 14:05:13 UTC) #9
Message was sent while issue was closed.
https://codereview.chromium.org/2939823002/diff/1/pkg/front_end/lib/src/incre...
File pkg/front_end/lib/src/incremental/unlinked_unit.dart (right):

https://codereview.chromium.org/2939823002/diff/1/pkg/front_end/lib/src/incre...
pkg/front_end/lib/src/incremental/unlinked_unit.dart:113: Token
parseFunctionBody(Token token, bool isExpression, bool allowAbstract) {
This feature is already provided by ClassMemberParser. If it doesn't do exactly
what you need, I think we should extend it.

Generally, it would be great if we could avoid subclassing Parser outside
pkg/front_end/lib/src/fasta/parser/. This makes it easier to make parser
changes.

https://codereview.chromium.org/2939823002/diff/1/pkg/front_end/lib/src/incre...
pkg/front_end/lib/src/incremental/unlinked_unit.dart:122: Token
parseMixinApplication(Token token) {
You should be able to collect this information via a listener.

Powered by Google App Engine
This is Rietveld 408576698