Bug 123805

Summary: Update ReducedFTL
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: Filip Pizlo <fpizlo>
Status: RESOLVED FIXED    
Severity: Normal CC: barraclough, ggaren, mark.lam, mhahnenberg, msaboff, nrotem, oliver, sam
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
the patch sam: review+

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