Bug 64574

Summary: DFG JIT does not optimize Branch as well as it could
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: barraclough, fpizlo, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
the patch none

Description Filip Pizlo 2011-07-14 17:11:42 PDT
The DFG speculative JIT will terminate speculation if a Branch did not encounter an integer or a boolean.  Terminating speculation in this case is not profitable, since proving that the Branch encountered either integer or boolean does not provide any useful data flow information (at least not in the current DFG JIT architecture).  The non-speculative JIT always performs slow calls for Branches.  Both JITs should use the same implementation of Branch, which does no speculation, and only performs a slow call if necessary.
Comment 1 Filip Pizlo 2011-07-14 17:15:40 PDT
Created attachment 100901 [details]
the patch
Comment 2 WebKit Review Bot 2011-07-14 19:06:23 PDT
Comment on attachment 100901 [details]
the patch

Clearing flags on attachment: 100901

Committed r91041: <http://trac.webkit.org/changeset/91041>
Comment 3 WebKit Review Bot 2011-07-14 19:06:27 PDT
All reviewed patches have been landed.  Closing bug.