Commit Graph

11 Commits

Author SHA1 Message Date
iposva@google.com 4c07af2487 - Ensure that all names in local scopes are symbols.
- Avoid calling Equals when comparing names in local scopes.

R=srdjan@google.com

Review URL: https://codereview.chromium.org//190753004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33443 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-07 19:37:04 +00:00
hausner@google.com 295b7fd5b2 Eliminate more implicit getters
For some reason I don’t remember, we only attempt to optimize
away the implicit getter functions of const and final static
fields, but not non-final static fields. This change applies the
same optimization for all static fields, and also for all
top-level fields.

R=srdjan@google.com

Review URL: https://codereview.chromium.org//189583003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33433 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-07 16:20:11 +00:00
hausner@google.com ac559f643a Introduce cache of resolved names in library
A name that is not resolved in the local scope gets looked up
in the global scope of the library to which the code being compiled
belongs. The local name dictionary gets searched first, then the
dictionary of each imported library (and and their re-exported
libraries.) Each dictionary lookup includes the lookup of the
mangled getter and setter names, which means that we concatenate
the same name many times.

This change introduces a cache that stores the result of a previous
name lookup, including negative lookup results. The latter is important
to speed up the resolution of names that are not in the global name
space, e.g. class members like .length in lists.

Experiments running dart2js (with VM option --compile_all) show
that this reduces the number of name mangling calls by a factor of 10
and speeds up compiling dart2js by 15%.

R=asiva@google.com

Review URL: https://codereview.chromium.org//135123011

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32385 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-06 21:32:31 +00:00
jacobr@google.com 605b33c1bc fix cpp11 compile errors
R=asiva@google.com

Review URL: https://codereview.chromium.org//23072026

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26387 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-20 20:24:11 +00:00
zerny@google.com 0bc2e84cb3 Restructure code generation timers and add sub-timers for inlining phases.
R=kmillikin@google.com

Review URL: https://codereview.chromium.org//11236063

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13927 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-23 08:14:59 +00:00
asiva@google.com 690b823195 Fix the types used in bit fields and a few other places.
Review URL: https://codereview.chromium.org//10967044

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12820 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-24 23:25:44 +00:00
cshapiro@google.com da14bf70a7 Add attributions so printf like functions can have their arguments checked.
This change also corrects some misuses of format strings and format
arguments that discovered by the compiler checks.

Review URL: https://chromiumcodereview.appspot.com//10869063

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11912 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-06 00:58:25 +00:00
srdjan@google.com 953daeaf89 Add more timing information.
Review URL: https://chromiumcodereview.appspot.com//10116012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6697 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-18 15:53:20 +00:00
srdjan@google.com 242b4facdd Measure code generation time as well.
Review URL: https://chromiumcodereview.appspot.com//10084014

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6534 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-13 17:39:07 +00:00
asiva@google.com 33d2e2fe26 Changes to shrink the token stream representation from two words to one word.
On standalone dartium which has about 50000 tokens in the libraries (core, coreimpl, builtin, io etc.) this reduces the heap size by about 180kb. The size of the standalone snapshot buffer reduces by about 72kb.

Also moved the keyword symbol table to the object store so that it does not have to repopulated on every script compilation. Should benefit regular user script load times.
Review URL: https://chromiumcodereview.appspot.com//9462003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4734 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-29 02:46:29 +00:00
dgrove@google.com 4c0f559d23 Initial checkin.
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-05 05:20:07 +00:00