Changeset 27344 in webkit for trunk/JavaScriptCore/kjs/function.h


Ignore:
Timestamp:
Nov 1, 2007, 1:36:58 AM (18 years ago)
Author:
ggaren
Message:

Reviewed by Oliver Hunt.


Removed List from ActivationImp, in preparation for making all lists
stack-allocated.


Tests pass.


1.0% speedup on SunSpider, presumably due to reduced List refcount thrash.

  • kjs/ExecState.cpp: (KJS::ExecState::ExecState): (KJS::ExecState::~ExecState):
  • kjs/function.cpp: (KJS::ActivationImp::ActivationImp): (KJS::ActivationImp::createArgumentsObject):
  • kjs/function.h: (KJS::ActivationImp::ActivationImpPrivate::ActivationImpPrivate):
File:
1 edited

Legend:

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

    r27242 r27344  
    141141  private:
    142142    struct ActivationImpPrivate {
    143         ActivationImpPrivate(FunctionImp* f, const List& a)
    144             : function(f)
    145             , arguments(a)
     143        ActivationImpPrivate(ExecState* e)
     144            : exec(e)
    146145            , argumentsObject(0)
    147146        {
    148             ASSERT(f);
    149147        }
    150148       
    151         FunctionImp* function;
    152149        LocalStorage localStorage;
    153 
    154         List arguments;
     150        ExecState* exec;
    155151        Arguments* argumentsObject;
    156152    };
    157153
    158154  public:
    159     ActivationImp(FunctionImp* function, const List& arguments);
     155    ActivationImp(ExecState*);
    160156
    161157    virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
     
    170166    bool isActivation() { return true; }
    171167
    172     void releaseArguments() { d->arguments.reset(); }
    173    
    174168    LocalStorage& localStorage() { return d->localStorage; }
    175169    SymbolTable& symbolTable() { return *m_symbolTable; }
Note: See TracChangeset for help on using the changeset viewer.