Bug 112836

Summary: JSC should be a quadruple-tier VM
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: Filip Pizlo <fpizlo>
Status: RESOLVED FIXED    
Severity: Normal CC: abucur, barraclough, galpeter, ggaren, mark.lam, mhahnenberg, msaboff, oliver, ossy, rgabor, sam, syoichi, zherczeg
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on: 112838, 112839, 112840, 115464, 115465, 115466, 116556, 116557, 116561, 116630, 116633, 116748    
Bug Blocks:    

Filip Pizlo
Reported 2013-03-20 13:41:02 PDT
Our existing DFG optimizing compiler is pretty good, but not as good as it could be. In fact, we've even gone so far as de-tuned it to do fewer optimizations. This is because we care about compile times, and we want the DFG to be able to give profit to even very-short-running functions. Right now it can produce significant speed-ups even for things that only run for ~2ms or less, and even in cases where the relevant functions are relatively complex. But this approach also means that for longer-running code, we get less win. This can be fixed by having an alternate, more powerful, but longer-compiling, tier of the DFG. This would be the fourth tier of JSC. Here's the wishlist for this tier: 1) Bring back the optimization fixpoint to allow CFG simplification to feed back into things like CSE. 2) Run the compiler on a separate thread. 3) Use a proper compiler backend that does global register allocation, GVN, PRE, LICM, etc.
Attachments
Filip Pizlo
Comment 1 2013-03-20 13:48:00 PDT
Branched for this work in http://trac.webkit.org/changeset/146384
Sam Weinig
Comment 2 2013-03-20 14:17:28 PDT
Why not 5 onion.com/bWBRid ?
Filip Pizlo
Comment 3 2013-03-20 14:19:26 PDT
(In reply to comment #2) > Why not 5 onion.com/bWBRid ? Assign that bug to Gavin. He was saying something about doing AST interpretation for really simple code.
Filip Pizlo
Comment 4 2013-03-27 14:25:16 PDT
(In reply to comment #1) > Branched for this work in http://trac.webkit.org/changeset/146384 The branch is called "fourthTier". I'm prefixing all bugs that are intended to land on this branch with "fourthTier: ".
Filip Pizlo
Comment 5 2014-04-29 15:08:36 PDT
Aaaannnnnd we're done.
Note You need to log in before you can comment on or make changes to this bug.