Bug 133042 - [ftlopt] Factor out how CallLinkStatus uses exit site data
Summary: [ftlopt] Factor out how CallLinkStatus uses exit site data
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Filip Pizlo
Depends on:
Blocks: 130756
  Show dependency treegraph
Reported: 2014-05-17 22:47 PDT by Filip Pizlo
Modified: 2014-05-18 10:33 PDT (History)
7 users (show)

See Also:

the patch (7.83 KB, patch)
2014-05-17 22:55 PDT, Filip Pizlo
andersca: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Filip Pizlo 2014-05-17 22:47:27 PDT
We need to query exit site data while holding a different lock then when we query all of the other data.  Currently, CallLinkStatus knows what to query but it does so behind an opaque API that assumes that it's querying the CallLinkInfo for a op_call/op_construct instruction.  This would make it difficult to integrate with a different Status class that wants to use a CallLinkInfo that is embedded inside a stub, like GetByIdStatus or PutByIdStatus - those will only see that there is a CallLinkInfo for which to compute status while they are already holding the "wrong" lock for computing exit site data.  We should refactor things so that:

- You can ask CallLinkStatus to compute exit site data - essentially an opaque data token - without giving it the CallLinkInfo.
- You can pass the exit site data and the CallLinkInfo and get a complete CallLinkStatus.
- Do what you do now - i.e. we shouldn't change the existing API that just does all of this for you.
Comment 1 Filip Pizlo 2014-05-17 22:55:49 PDT
Created attachment 231648 [details]
the patch
Comment 2 Filip Pizlo 2014-05-18 10:33:29 PDT
Landed in http://trac.webkit.org/changeset/169014