WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
65146
DFG non-speculative JIT emits obviously inefficient code for arithmetic where one operand is a constant
https://bugs.webkit.org/show_bug.cgi?id=65146
Summary
DFG non-speculative JIT emits obviously inefficient code for arithmetic where...
Filip Pizlo
Reported
2011-07-25 16:01:02 PDT
The DFG non-speculative JIT uses C function calls as non-integer or overflow-handling slow-paths for arithmetic against constants. This is obviously inefficient, since the code will almost always see a number in the non-constant operand, and emitting int-to-double conversion (or double unboxing) followed by double arithmetic is both faster and likely involves less code than a C call.
Attachments
the patch
(5.31 KB, patch)
2011-07-25 16:40 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Filip Pizlo
Comment 1
2011-07-25 16:40:40 PDT
Created
attachment 101942
[details]
the patch
Gavin Barraclough
Comment 2
2011-07-25 16:47:12 PDT
Comment on
attachment 101942
[details]
the patch I guess we might want to also be able inline double code for ValueAdd too at some point.
Filip Pizlo
Comment 3
2011-07-25 16:48:23 PDT
(In reply to
comment #2
)
> (From update of
attachment 101942
[details]
) > I guess we might want to also be able inline double code for ValueAdd too at some point.
Indeed, and I think that we're actually hitting that slow path in Kraken.
WebKit Review Bot
Comment 4
2011-07-25 18:05:01 PDT
Comment on
attachment 101942
[details]
the patch Clearing flags on attachment: 101942 Committed
r91734
: <
http://trac.webkit.org/changeset/91734
>
WebKit Review Bot
Comment 5
2011-07-25 18:05:05 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.
Top of Page
Format For Printing
XML
Clone This Bug