Bug 130630 - 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
Summary: A bunch of hot paths do the slow structure loading thing, or a full structure...
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Mark Hahnenberg
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-03-21 20:00 PDT by Filip Pizlo
Modified: 2014-03-21 20:01 PDT (History)
8 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Filip Pizlo 2014-03-21 20:00:56 PDT
...
Comment 1 Filip Pizlo 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.