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

Issue 1902563002: Add per-library cache of exported names (Closed)

Created:
4 years, 8 months ago by hausner
Modified:
4 years, 8 months ago
Reviewers:
srdjan, Ivan Posva
CC:
reviews_dartlang.org, vm-dev_dartlang.org, sra1
Base URL:
git@github.com:dart-lang/sdk.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Add per-library cache of exported names Speeds up name resolution of code that uses extensive “exports” clauses. The pathological example in the bug report compiles about 50 times faster. Introduces a trail of visited libraries to detect cycles when following the exports directives. This works better with the background compiler. BUG=26145 Committed: https://github.com/dart-lang/sdk/commit/b4ac99a4121769b132499eef3a15b9a70f0e1fce

Patch Set 1 #

Patch Set 2 : Cleanup #

Total comments: 19

Patch Set 3 : Address review comments. #

Patch Set 4 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+154 lines, -51 lines) Patch
M runtime/vm/isolate.cc View 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/object.h View 1 2 3 5 chunks +13 lines, -4 lines 0 comments Download
M runtime/vm/object.cc View 1 2 3 13 chunks +138 lines, -44 lines 0 comments Download
M runtime/vm/raw_object.h View 1 2 3 1 chunk +1 line, -3 lines 0 comments Download
M runtime/vm/raw_object_snapshot.cc View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 11 (4 generated)
hausner
4 years, 8 months ago (2016-04-18 21:11:57 UTC) #4
srdjan
https://codereview.chromium.org/1902563002/diff/20001/runtime/vm/object.cc File runtime/vm/object.cc (right): https://codereview.chromium.org/1902563002/diff/20001/runtime/vm/object.cc#newcode60 runtime/vm/object.cc:60: DEFINE_FLAG(bool, use_exp_cache, true, "Use library exported name cache"); use_exported_name_cache ...
4 years, 8 months ago (2016-04-18 22:40:49 UTC) #5
Ivan Posva
Thanks, -Ivan https://codereview.chromium.org/1902563002/diff/20001/runtime/vm/object.cc File runtime/vm/object.cc (right): https://codereview.chromium.org/1902563002/diff/20001/runtime/vm/object.cc#newcode60 runtime/vm/object.cc:60: DEFINE_FLAG(bool, use_exp_cache, true, "Use library exported name ...
4 years, 8 months ago (2016-04-18 23:07:21 UTC) #6
hausner
Thank you. https://codereview.chromium.org/1902563002/diff/20001/runtime/vm/object.cc File runtime/vm/object.cc (right): https://codereview.chromium.org/1902563002/diff/20001/runtime/vm/object.cc#newcode60 runtime/vm/object.cc:60: DEFINE_FLAG(bool, use_exp_cache, true, "Use library exported name ...
4 years, 8 months ago (2016-04-18 23:51:58 UTC) #7
hausner
Committed patchset #4 (id:60001) manually as b4ac99a4121769b132499eef3a15b9a70f0e1fce (presubmit successful).
4 years, 8 months ago (2016-04-19 16:10:54 UTC) #9
hausner
I received your verbal LGTM yesterday.
4 years, 8 months ago (2016-04-19 16:23:27 UTC) #10
srdjan
4 years, 8 months ago (2016-04-26 21:09:42 UTC) #11
Message was sent while issue was closed.
https://codereview.chromium.org/1902563002/diff/20001/runtime/vm/object.cc
File runtime/vm/object.cc (right):

https://codereview.chromium.org/1902563002/diff/20001/runtime/vm/object.cc#ne...
runtime/vm/object.cc:60: DEFINE_FLAG(bool, use_exp_cache, true, "Use library
exported name cache");
On 2016/04/18 23:51:58, hausner wrote:
> On 2016/04/18 22:40:49, srdjan wrote:
> > use_exported_name_cache sounds more readable than use_exp_cache.
> 
> More readable maybe, but I'm not sure it is more understandable. This option
> should not be used by the general public. If you insist, I can make it
> use_export_cache.

The flag is temporary, your choice.

Powered by Google App Engine
This is Rietveld 408576698