Bug 63662 - DFG JIT does not do put_by_id transition caching.
Summary: DFG JIT does not do put_by_id transition caching.
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-06-29 15:14 PDT by Filip Pizlo
Modified: 2011-06-29 16:45 PDT (History)
2 users (show)

See Also:


Attachments
the patch (10.92 KB, patch)
2011-06-29 15:37 PDT, Filip Pizlo
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Filip Pizlo 2011-06-29 15:14:35 PDT
The baseline JIT emits a stub specialized for put_by_id transitions (i.e. setting a property that did not previous exist in the object, thereby resulting in a structure transition).  The DFG JIT emits a slow C call.  The DFG JIT should really be emitting an optimized stub, like the baseline JIT.
Comment 1 Filip Pizlo 2011-06-29 15:37:33 PDT
Created attachment 99161 [details]
the patch

This patch takes us from a 20% slow-down in v8-raytrace to a 4% speed-up on v8-raytrace.  We no longer have large regressions on any v8 benchmark (all v8 benchmarks are now speed-ups, no effect, or <5% slowdowns).
Comment 2 WebKit Review Bot 2011-06-29 16:45:40 PDT
Comment on attachment 99161 [details]
the patch

Clearing flags on attachment: 99161

Committed r90063: <http://trac.webkit.org/changeset/90063>
Comment 3 WebKit Review Bot 2011-06-29 16:45:45 PDT
All reviewed patches have been landed.  Closing bug.