Bug 63684

Summary: DFG non-speculative JIT always performs slow C calls for div and mod
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
the patch
none
the patch (fix style) none

Filip Pizlo
Reported 2011-06-29 21:10:16 PDT
For division it's safe to always do it using the FPU, and for modulo it's best to first try integer mod and then revert to FPU mod. This strategy will outperform the current one, which always results in slow C calls and register spilling.
Attachments
the patch (6.06 KB, patch)
2011-06-29 21:13 PDT, Filip Pizlo
no flags
the patch (fix style) (6.00 KB, patch)
2011-06-29 21:17 PDT, Filip Pizlo
no flags
Filip Pizlo
Comment 1 2011-06-29 21:13:27 PDT
Created attachment 99229 [details] the patch This fixes the regression on string-fasta. It also results in an overall 1% speed-up on sunspider.
WebKit Review Bot
Comment 2 2011-06-29 21:15:47 PDT
Attachment 99229 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/JavaScriptCore/ChangeLog', u'Source..." exit_code: 1 Source/JavaScriptCore/dfg/DFGNonSpeculativeJIT.cpp:683: One line control clauses should not use braces. [whitespace/braces] [4] Total errors found: 1 in 2 files If any of these errors are false positives, please file a bug against check-webkit-style.
Filip Pizlo
Comment 3 2011-06-29 21:17:15 PDT
Created attachment 99230 [details] the patch (fix style)
WebKit Review Bot
Comment 4 2011-07-01 13:04:37 PDT
Comment on attachment 99230 [details] the patch (fix style) Clearing flags on attachment: 99230 Committed r90268: <http://trac.webkit.org/changeset/90268>
WebKit Review Bot
Comment 5 2011-07-01 13:04:41 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.