Bug 123805 - Update ReducedFTL
Summary: Update ReducedFTL
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: 2013-11-05 09:04 PST by Filip Pizlo
Modified: 2013-11-05 10:48 PST (History)
8 users (show)

See Also:


Attachments
the patch (18.54 KB, patch)
2013-11-05 09:06 PST, Filip Pizlo
sam: 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 2013-11-05 09:04:37 PST
Patch forthcoming.
Comment 1 Filip Pizlo 2013-11-05 09:06:59 PST
Created attachment 216043 [details]
the patch
Comment 2 Sam Weinig 2013-11-05 10:10:16 PST
Comment on attachment 216043 [details]
the patch

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

> Tools/ChangeLog:11
> +          memory leaps and attaching a profiler.

You probably meant "memory leaks"
Comment 3 Geoffrey Garen 2013-11-05 10:44:41 PST
Comment on attachment 216043 [details]
the patch

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

> Tools/ReducedFTL/ReducedFTL.c:66
> +    printf("--fast-isel      Enable the \"fast\" instruction selector.\n");

Does --fast-isel work anymore? The new LLVM intrinsics don't support --fast-isel, and nobody seems to be working on supporting it right now.
Comment 4 Filip Pizlo 2013-11-05 10:47:47 PST
(In reply to comment #3)
> (From update of attachment 216043 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=216043&action=review
> 
> > Tools/ReducedFTL/ReducedFTL.c:66
> > +    printf("--fast-isel      Enable the \"fast\" instruction selector.\n");
> 
> Does --fast-isel work anymore? The new LLVM intrinsics don't support --fast-isel, and nobody seems to be working on supporting it right now.

It depends on what you mean by "working".

Enable fast isel means that, on a per-basic-block basis, the instruction selector will attempt fast isel.  If it encounters an instruction that it cannot handle, it will silently fall back to the selection dag.

Our basic blocks are fairly small and most of them don't have a call to any of our intrinsics.

Hence enabling fast isel is a valid thing to consider.  Current experiments show that it's not a good idea (20% compile time savings but a 30% throughput reduction) but that does't mean we can't sometimes try it.
Comment 5 Filip Pizlo 2013-11-05 10:48:06 PST
(In reply to comment #2)
> (From update of attachment 216043 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=216043&action=review
> 
> > Tools/ChangeLog:11
> > +          memory leaps and attaching a profiler.
> 
> You probably meant "memory leaks"

But memory leaps are so much cooler!
Comment 6 Filip Pizlo 2013-11-05 10:48:40 PST
Landed in http://trac.webkit.org/changeset/158679