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

Issue 10827181: Collect call site information and use that for estimating parameter types (Closed)

Created:
8 years, 4 months ago by Søren Gjesse
Modified:
8 years, 4 months ago
Reviewers:
ahe, floitsch
CC:
reviews_dartlang.org
Visibility:
Public.

Description

Collect call site information and use that for estimating parameter types The propagated types at call sites for dynamic invocations are collected. When a functions is compiled it is checked whether there is type information available from call sites. If so the function is compiled with the asumption that these types will always be provided. If these expected types change during the rest of the compilation process the generated code for the function will be flushed and the function scheduled for compilation again. Note that the scheduling for being compiled again is not using the re-compilation queue. The Re-compilation queue is used for re-compilation functions when all functions have been compile once and type information will not change. R=floitsch@google.com, ahe@google.com BUG= Committed: https://code.google.com/p/dart/source/detail?r=10383

Patch Set 1 #

Total comments: 12

Patch Set 2 : Addressed review comments #

Total comments: 30

Patch Set 3 : Addressed comments from ahe@ #

Total comments: 2

Patch Set 4 : Addressed final review comments. #

Patch Set 5 : Additional fix #

Unified diffs Side-by-side diffs Delta from patch set Stats (+296 lines, -6 lines) Patch
M lib/compiler/implementation/compiler.dart View 1 2 3 4 chunks +113 lines, -0 lines 0 comments Download
M lib/compiler/implementation/enqueue.dart View 1 2 3 4 1 chunk +6 lines, -0 lines 0 comments Download
M lib/compiler/implementation/ssa/builder.dart View 1 2 3 4 3 chunks +16 lines, -0 lines 0 comments Download
M lib/compiler/implementation/ssa/codegen.dart View 1 2 3 4 1 chunk +7 lines, -5 lines 0 comments Download
M lib/compiler/implementation/universe.dart View 1 2 2 chunks +3 lines, -1 line 0 comments Download
A tests/compiler/dart2js/call_site_type_inferer_test.dart View 1 2 1 chunk +151 lines, -0 lines 0 comments Download

Messages

Total messages: 9 (0 generated)
Søren Gjesse
8 years, 4 months ago (2012-08-06 13:59:59 UTC) #1
Søren Gjesse
Corrected floitsch@google.com email address
8 years, 4 months ago (2012-08-06 14:03:01 UTC) #2
floitsch
LGTM. https://chromiumcodereview.appspot.com/10827181/diff/1/lib/compiler/implementation/compiler.dart File lib/compiler/implementation/compiler.dart (left): https://chromiumcodereview.appspot.com/10827181/diff/1/lib/compiler/implementation/compiler.dart#oldcode363 lib/compiler/implementation/compiler.dart:363: print(MessageKind.PLEASE_REPORT_THE_CRASH.message([buildId])); why? https://chromiumcodereview.appspot.com/10827181/diff/1/lib/compiler/implementation/compiler.dart File lib/compiler/implementation/compiler.dart (right): https://chromiumcodereview.appspot.com/10827181/diff/1/lib/compiler/implementation/compiler.dart#newcode288 lib/compiler/implementation/compiler.dart:288: ...
8 years, 4 months ago (2012-08-06 15:01:06 UTC) #3
ahe
I'll take a closer look tomorrow. https://chromiumcodereview.appspot.com/10827181/diff/1/lib/compiler/implementation/compiler.dart File lib/compiler/implementation/compiler.dart (right): https://chromiumcodereview.appspot.com/10827181/diff/1/lib/compiler/implementation/compiler.dart#newcode468 lib/compiler/implementation/compiler.dart:468: (MessageKind.PLEASE_REPORT_THE_CRASH.message([buildId])); Bad edit?
8 years, 4 months ago (2012-08-06 15:01:35 UTC) #4
Søren Gjesse
http://codereview.chromium.org/10827181/diff/1/lib/compiler/implementation/compiler.dart File lib/compiler/implementation/compiler.dart (left): http://codereview.chromium.org/10827181/diff/1/lib/compiler/implementation/compiler.dart#oldcode363 lib/compiler/implementation/compiler.dart:363: print(MessageKind.PLEASE_REPORT_THE_CRASH.message([buildId])); On 2012/08/06 15:01:06, floitsch wrote: > why? Bad ...
8 years, 4 months ago (2012-08-07 09:06:03 UTC) #5
ahe
Generally, this looks fine. However, I'm a little concerned about the level of testing. I'll ...
8 years, 4 months ago (2012-08-07 11:23:25 UTC) #6
Søren Gjesse
Peter, PTAL http://chromiumcodereview.appspot.com/10827181/diff/5002/lib/compiler/implementation/compiler.dart File lib/compiler/implementation/compiler.dart (right): http://chromiumcodereview.appspot.com/10827181/diff/5002/lib/compiler/implementation/compiler.dart#newcode54 lib/compiler/implementation/compiler.dart:54: class InvocationInfo { On 2012/08/07 11:23:26, ahe ...
8 years, 4 months ago (2012-08-08 10:36:02 UTC) #7
ahe
LGTM! https://chromiumcodereview.appspot.com/10827181/diff/5002/lib/compiler/implementation/compiler.dart File lib/compiler/implementation/compiler.dart (right): https://chromiumcodereview.appspot.com/10827181/diff/5002/lib/compiler/implementation/compiler.dart#newcode54 lib/compiler/implementation/compiler.dart:54: class InvocationInfo { On 2012/08/08 10:36:02, Søren Gjesse ...
8 years, 4 months ago (2012-08-08 13:00:27 UTC) #8
Søren Gjesse
8 years, 4 months ago (2012-08-08 13:12:06 UTC) #9
https://chromiumcodereview.appspot.com/10827181/diff/10002/lib/compiler/imple...
File lib/compiler/implementation/compiler.dart (right):

https://chromiumcodereview.appspot.com/10827181/diff/10002/lib/compiler/imple...
lib/compiler/implementation/compiler.dart:290: * function. The types are
optimistic in the sense as thay are based on the
On 2012/08/08 13:00:27, ahe wrote:
> thay ->they

Done.

Powered by Google App Engine
This is Rietveld 408576698