Bug 145452 - Non-speculative Branch should be fast in the FTL
Summary: Non-speculative Branch should be fast in the FTL
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Filip Pizlo
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-05-28 19:13 PDT by Filip Pizlo
Modified: 2015-05-29 13:27 PDT (History)
12 users (show)

See Also:


Attachments
the patch (18.90 KB, patch)
2015-05-28 19:19 PDT, Filip Pizlo
kling: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Filip Pizlo 2015-05-28 19:13:31 PDT
There is just no excuse for making C function calls for a branch, since the inline code is probably about the same size as a callsite.
Comment 1 Filip Pizlo 2015-05-28 19:19:04 PDT
Created attachment 253890 [details]
the patch
Comment 2 Andreas Kling 2015-05-29 08:43:12 PDT
Comment on attachment 253890 [details]
the patch

View in context: https://bugs.webkit.org/attachment.cgi?id=253890&action=review

r=me

Very nice, I've definitely seen operationConvertJSValueToBoolean sitting around ~2% in various profiles, including Speedometer.

> LayoutTests/ChangeLog:11
> +        * js/regress/cse-new-array-buffer-expected.txt: Added.
> +        * js/regress/cse-new-array-buffer.html: Added.
> +        * js/regress/cse-new-array-expected.txt: Added.
> +        * js/regress/cse-new-array.html: Added.

These files don't belong in this patch.
Comment 3 Filip Pizlo 2015-05-29 11:10:13 PDT
(In reply to comment #2)
> Comment on attachment 253890 [details]
> the patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=253890&action=review
> 
> r=me
> 
> Very nice, I've definitely seen operationConvertJSValueToBoolean sitting
> around ~2% in various profiles, including Speedometer.
> 
> > LayoutTests/ChangeLog:11
> > +        * js/regress/cse-new-array-buffer-expected.txt: Added.
> > +        * js/regress/cse-new-array-buffer.html: Added.
> > +        * js/regress/cse-new-array-expected.txt: Added.
> > +        * js/regress/cse-new-array.html: Added.
> 
> These files don't belong in this patch.

That's true.  Do you really want me to land these separately?
Comment 4 Filip Pizlo 2015-05-29 13:27:12 PDT
Landed in http://trac.webkit.org/changeset/185002