Bug 121518

Summary: The way FixupPhase uses alwaysUnboxSimplePrimitives() is almost certainly wrong
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: Filip Pizlo <fpizlo>
Status: NEW ---    
Severity: Normal CC: barraclough, ggaren, mark.lam, mhahnenberg, msaboff, oliver, sam
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   

Description Filip Pizlo 2013-09-17 14:15:37 PDT
What it wants to do is say that even if a local isn't used as a simple primitive but is predicted to be a simple primitive, then it should be unboxed.  But what the logic currently does is asks for a local to be unboxed even if it's not predicted to have a type that is a candidate for unboxing; i.e. it accomplishes nothing.  More likely it should walk all locals up-front and if they have a "simple primitive" prediction and alwaysUnboxSimplePrimitives() is true, then mark them as being profitable.