Bug 65883 - DFG JIT has no way of propagating predictions to loads and calls
: DFG JIT has no way of propagating predictions to loads and calls
Status: RESOLVED FIXED
: WebKit
JavaScriptCore
: 528+ (Nightly build)
: All All
: P2 Normal
Assigned To:
:
:
:
:
  Show dependency treegraph
 
Reported: 2011-08-08 15:38 PST by
Modified: 2011-08-09 19:04 PST (History)


Attachments
the patch (11.11 KB, patch)
2011-08-08 15:56 PST, Filip Pizlo
barraclough: review+
barraclough: commit‑queue-
Review Patch | Details | Formatted Diff | Diff
the patch (fix for review) (11.11 KB, patch)
2011-08-09 17:15 PST, Filip Pizlo
no flags Review Patch | Details | Formatted Diff | Diff


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2011-08-08 15:38:49 PST
The DFG JIT sometimes wants to predict the type of a variable based on how it gets used.  But it can only do this if the variable was assigned to by loading from the register file or from global variables.  It should be able to also do this if the variable is the result of a heap load (GetById, GetByVal) or a call.
------- Comment #1 From 2011-08-08 15:56:04 PST -------
Created an attachment (id=103306) [details]
the patch
------- Comment #2 From 2011-08-08 16:47:09 PST -------
(From update of attachment 103306 [details])
All tests pass.
------- Comment #3 From 2011-08-09 16:48:05 PST -------
(From update of attachment 103306 [details])
View in context: https://bugs.webkit.org/attachment.cgi?id=103306&action=review

Sorry to cq- for a typo, but I think there is a grammar error in the change log. :-)
Otherwise all looks good.  I think we might want a prediction for more (all) node types in the future, so may want to break this out as a separate field, but reuse of opInfo2 seems like a good call, at least for now.

> Source/JavaScriptCore/ChangeLog:8
> +        This introduces the capability to stored predictions on graph

stored -> store ?
------- Comment #4 From 2011-08-09 17:15:38 PST -------
Created an attachment (id=103423) [details]
the patch (fix for review)
------- Comment #5 From 2011-08-09 17:51:25 PST -------
(From update of attachment 103423 [details])
Clearing flags on attachment: 103423

Committed r92734: <http://trac.webkit.org/changeset/92734>
------- Comment #6 From 2011-08-09 17:51:30 PST -------
All reviewed patches have been landed.  Closing bug.
------- Comment #7 From 2011-08-09 19:04:17 PST -------
When combined with https://bugs.webkit.org/show_bug.cgi?id=65949, this produces a 20% slow-down in v8-crypto without any significant speed-ups anywhere.  It should probably be disabled.