Bug 130357 - Add one-deep cache to opaque roots hashset.
Summary: Add one-deep cache to opaque roots hashset.
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Andreas Kling
Depends on:
Reported: 2014-03-17 13:56 PDT by Andreas Kling
Modified: 2014-03-17 20:28 PDT (History)
4 users (show)

See Also:

Patch idea (8.47 KB, patch)
2014-03-17 13:58 PDT, Andreas Kling
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Kling 2014-03-17 13:56:21 PDT
For WebCore JS wrappers, we're almost always root()'ed at the Document, which means that we're querying the SlotVisitor's opaque roots set for the same Document* over and over.
On DoYouEvenBench, we're spending ~1.5% of time in JSNodeOwner::isReachableFromOpaqueRoots(). This optimization attempts to alleviate some of that.
Comment 1 Andreas Kling 2014-03-17 13:58:17 PDT
Created attachment 226958 [details]
Patch idea
Comment 2 Mark Hahnenberg 2014-03-17 16:12:13 PDT
Comment on attachment 226958 [details]
Patch idea

Comment 3 WebKit Commit Bot 2014-03-17 20:28:47 PDT
Comment on attachment 226958 [details]
Patch idea

Clearing flags on attachment: 226958

Committed r165796: <http://trac.webkit.org/changeset/165796>
Comment 4 WebKit Commit Bot 2014-03-17 20:28:50 PDT
All reviewed patches have been landed.  Closing bug.