WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
152433
Replace SpecialFastCase profiles with ResultProfiles.
https://bugs.webkit.org/show_bug.cgi?id=152433
Summary
Replace SpecialFastCase profiles with ResultProfiles.
Mark Lam
Reported
2015-12-18 10:37:09 PST
This is in preparation for upcoming work to enhance the DFG predictions to deal with untyped operands. Would like to land this patch separately first to confirm that it is perf neutral.
Attachments
proposed patch.
(30.96 KB, patch)
2015-12-18 10:58 PST
,
Mark Lam
saam
: review+
Details
Formatted Diff
Diff
x86_64 benchmark result.
(66.72 KB, text/plain)
2015-12-18 10:59 PST
,
Mark Lam
no flags
Details
View All
Add attachment
proposed patch, testcase, etc.
Mark Lam
Comment 1
2015-12-18 10:58:25 PST
Created
attachment 267642
[details]
proposed patch.
WebKit Commit Bot
Comment 2
2015-12-18 10:59:51 PST
Attachment 267642
[details]
did not pass style-queue: ERROR: Source/JavaScriptCore/runtime/CommonSlowPaths.cpp:120: returnValue__ is incorrectly named. Don't use underscores in your identifier names. [readability/naming/underscores] [4] ERROR: Source/JavaScriptCore/jit/JITMulGenerator.h:51: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/jit/JITDivGenerator.h:51: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] Total errors found: 3 in 15 files If any of these errors are false positives, please file a bug against check-webkit-style.
Mark Lam
Comment 3
2015-12-18 10:59:54 PST
Created
attachment 267643
[details]
x86_64 benchmark result. Perf is neutral as expected. All the "definitely"s are not reproducible on re-runs.
Saam Barati
Comment 4
2015-12-18 13:51:19 PST
Comment on
attachment 267642
[details]
proposed patch. View in context:
https://bugs.webkit.org/attachment.cgi?id=267642&action=review
r=me
> Source/JavaScriptCore/bytecode/CodeBlock.cpp:4202 > + if (!value.d && value.i64 < 0)
maybe you can add a comment about why this works for people who are less familiar with the IEEE754 spec. Or better yet, you can add a function that does this calculation for us.
Mark Lam
Comment 5
2015-12-18 13:58:19 PST
(In reply to
comment #4
)
> Comment on
attachment 267642
[details]
> proposed patch. > > View in context: >
https://bugs.webkit.org/attachment.cgi?id=267642&action=review
> > r=me > > > Source/JavaScriptCore/bytecode/CodeBlock.cpp:4202 > > + if (!value.d && value.i64 < 0) > > maybe you can add a comment about why this works for people who are less > familiar with the IEEE754 spec. > Or better yet, you can add a function that does this calculation for us.
I just learned about std::signbit(). I'll re-implement this instead as: if (!doubleVal && std::signbit(doubleVal))
Mark Lam
Comment 6
2015-12-18 14:04:36 PST
Thanks for the review. Landed in
r194294
: <
http://trac.webkit.org/r194294
>.
Ryosuke Niwa
Comment 7
2016-03-21 15:29:47 PDT
This patch appears to have regressed SunSpider's string-base64 by 12%.
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