Bug 130630

Summary: A bunch of hot paths do the slow structure loading thing, or a full structure check, just to verify that the given cell is a JSFunction even though there is a JSFunctionType
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: Mark Hahnenberg <mhahnenberg>
Status: NEW    
Severity: Normal CC: barraclough, fpizlo, ggaren, mark.lam, mhahnenberg, msaboff, oliver, sam
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   

Filip Pizlo
Reported 2014-03-21 20:00:56 PDT
...
Attachments
Filip Pizlo
Comment 1 2014-03-21 20:01:19 PDT
Example from ThunkGenerators.cpp: AssemblyHelpers::emitLoadStructure(jit, GPRInfo::regT0, GPRInfo::regT2, GPRInfo::regT1); slowCase.append( jit.branchPtr( CCallHelpers::NotEqual, CCallHelpers::Address(GPRInfo::regT2, Structure::classInfoOffset()), CCallHelpers::TrustedImmPtr(JSFunction::info()))); // Now we know we have a JSFunction.
Note You need to log in before you can comment on or make changes to this bug.