Bug 119874

Summary: Sometimes, the DFG uses a GetById for typed array length accesses despite profiling data that indicates that it's a typed array length access
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: Filip Pizlo <fpizlo>
Status: RESOLVED FIXED    
Severity: Normal CC: barraclough, ggaren, mark.lam, mhahnenberg, msaboff, oliver, sam
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
the patch oliver: review+

Filip Pizlo
Reported 2013-08-15 16:52:15 PDT
It's a confusion between heuristics in DFG::ArrayMode that are assuming that you'll use ForceExit if array profiles are empty, the JIT creating empty profiles sometimes for typed array length accesses, and the FixupPhase assuming that a ForceExit ArrayMode means that it should continue using a generic GetById.
Attachments
the patch (3.44 KB, patch)
2013-08-15 16:53 PDT, Filip Pizlo
oliver: review+
Filip Pizlo
Comment 1 2013-08-15 16:53:14 PDT
Created attachment 208870 [details] the patch
Mark Hahnenberg
Comment 2 2013-08-15 17:03:50 PDT
Comment on attachment 208870 [details] the patch r=me to fwiw.
Filip Pizlo
Comment 3 2013-08-16 10:17:40 PDT
Note You need to log in before you can comment on or make changes to this bug.