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

Issue 1395183004: dart2js: mark FunctionElements as dependencies always (Closed)

Created:
5 years, 2 months ago by Harry Terkelsen
Modified:
5 years, 2 months ago
CC:
reviews_dartlang.org, floitsch, sigurdm, Johnni Winther
Base URL:
git@github.com:dart-lang/sdk.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

dart2js: mark FunctionElements as dependencies always We were only marking FunctionElements as dependencies if they were closurized class members. This prevented us from adding functions that were top level. BUG= R=floitsch@google.com, sigurdm@google.com Committed: https://github.com/dart-lang/sdk/commit/b7bb39a062a23470aa2a6c1bed3e672a9c8e1a12

Patch Set 1 #

Total comments: 5

Patch Set 2 : #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+58 lines, -5 lines) Patch
M pkg/compiler/lib/src/deferred_load.dart View 1 2 chunks +3 lines, -2 lines 1 comment Download
M tests/compiler/dart2js/deferred_not_in_main_test.dart View 4 chunks +55 lines, -3 lines 0 comments Download

Messages

Total messages: 10 (3 generated)
Harry Terkelsen
I'm not sure why the condition is there in the first place... but the tests ...
5 years, 2 months ago (2015-10-12 20:51:46 UTC) #2
Siggi Cherem (dart-lang)
+sigurdm - who is probably more familiar with this than I am. https://codereview.chromium.org/1395183004/diff/1/pkg/compiler/lib/src/deferred_load.dart File pkg/compiler/lib/src/deferred_load.dart ...
5 years, 2 months ago (2015-10-12 22:53:28 UTC) #3
sigurdm
LGTM https://codereview.chromium.org/1395183004/diff/20001/pkg/compiler/lib/src/deferred_load.dart File pkg/compiler/lib/src/deferred_load.dart (right): https://codereview.chromium.org/1395183004/diff/20001/pkg/compiler/lib/src/deferred_load.dart#newcode268 pkg/compiler/lib/src/deferred_load.dart:268: // rti from types that are needed for ...
5 years, 2 months ago (2015-10-13 07:39:07 UTC) #5
floitsch
LGTM. Please follow up with some of our customers to see if this impacts size.
5 years, 2 months ago (2015-10-13 12:59:05 UTC) #7
Harry Terkelsen
https://codereview.chromium.org/1395183004/diff/1/pkg/compiler/lib/src/deferred_load.dart File pkg/compiler/lib/src/deferred_load.dart (left): https://codereview.chromium.org/1395183004/diff/1/pkg/compiler/lib/src/deferred_load.dart#oldcode345 pkg/compiler/lib/src/deferred_load.dart:345: compiler.resolverWorld.closurizedMembers.contains(element)) { On 2015/10/12 22:53:28, Siggi Cherem (dart-lang) wrote: ...
5 years, 2 months ago (2015-10-13 17:27:34 UTC) #8
Harry Terkelsen
Committed patchset #2 (id:20001) manually as b7bb39a062a23470aa2a6c1bed3e672a9c8e1a12 (presubmit successful).
5 years, 2 months ago (2015-10-13 17:55:10 UTC) #9
Siggi Cherem (dart-lang)
5 years, 2 months ago (2015-10-13 20:16:29 UTC) #10
Message was sent while issue was closed.
https://codereview.chromium.org/1395183004/diff/1/pkg/compiler/lib/src/deferr...
File pkg/compiler/lib/src/deferred_load.dart (left):

https://codereview.chromium.org/1395183004/diff/1/pkg/compiler/lib/src/deferr...
pkg/compiler/lib/src/deferred_load.dart:345:
compiler.resolverWorld.closurizedMembers.contains(element)) {
On 2015/10/13 17:27:34, Harry Terkelsen wrote:
> On 2015/10/12 22:53:28, Siggi Cherem (dart-lang) wrote:
> > mmm - would this pull in more than needed? Seems like in your test case
> though,
> > we were including B, but we were missing A, right? In that case, could it be
> > that the function dependency (foo -> B) is correct, but we are missing is
the
> > dependency from a type to its super class (B -> A)?
> 
> The class to superclass dependency is handled here:
>
https://github.com/dart-lang/sdk/blob/master/pkg/compiler/lib/src/deferred_lo...

Thanks for the pointer. Sorry for the confusion - I was seeing something
strange, the out.js file before your fix included foo and B's declaration, but
it appears that B was added later and not here, which would explain that we
weren't treating B as an actual dependency and adding A as well.

Powered by Google App Engine
This is Rietveld 408576698