Ignore:
Timestamp:
Oct 31, 2007, 10:02:30 PM (18 years ago)
Author:
mjs
Message:

Reviewed by Oliver.


  • shave some cycles off of local storage access for a 1% SunSpider speedup


Keep the LocalStorage pointer in the ExecState, not

  • kjs/ExecState.cpp: (KJS::ExecState::updateLocalStorage):
  • kjs/ExecState.h: (KJS::ExecState::localStorage):
  • kjs/nodes.cpp: (KJS::LocalVarAccessNode::evaluate): (KJS::LocalVarFunctionCallNode::evaluate): (KJS::PostIncLocalVarNode::evaluate): (KJS::PostDecLocalVarNode::evaluate): (KJS::LocalVarTypeOfNode::evaluate): (KJS::PreIncLocalVarNode::evaluate): (KJS::PreDecLocalVarNode::evaluate): (KJS::ReadModifyLocalVarNode::evaluate): (KJS::AssignLocalVarNode::evaluate): (KJS::FunctionBodyNode::processDeclarationsForFunctionCode):
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/kjs/ExecState.h

    r27101 r27339  
    4545    class GlobalFuncImp;
    4646    class FunctionBodyNode;
     47    class LocalStorageEntry;
    4748   
    4849    /**
     
    103104        // important property lookup functions, to avoid taking PIC branches in Mach-O binaries
    104105        const CommonIdentifiers& propertyNames() const { return *m_propertyNames; }
    105        
     106
     107        LocalStorageEntry* localStorage() { return m_localStorageBuffer; }
     108        void updateLocalStorage();
     109   
    106110    private:
    107111        ExecState(Interpreter* interp, JSGlobalObject* glob, JSObject* thisV,
     
    124128        const List* m_arguments;
    125129        JSObject* m_activation;
    126        
     130        LocalStorageEntry* m_localStorageBuffer;
     131
    127132        ScopeChain scope;
    128133        JSObject* m_variable;
Note: See TracChangeset for help on using the changeset viewer.