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


Ignore:
Timestamp:
Aug 19, 2002, 1:54:20 AM (23 years ago)
Author:
mjs
Message:

Maintain stack of old "arguments" property values for functions
implicitly on the system stack instead of explicitly in the
FunctionImp. This eliminates only a trivial number of GC
allocations (less than 200) but eliminates one of the two cases
where a ListImp * is stored directly, paving the way to separate
List from Value.

  • kjs/function.h: Remove argStack, pushArgs and popArgs.
  • kjs/function.cpp: (FunctionImp::FunctionImp): Don't initalize argStack. (FunctionImp::~FunctionImp): Remove comment about argStack. (FunctionImp::mark): Don't mark the argStack. (FunctionImp::call): Save old "arguments" property in a Value, where it will be GC-protected, rather than keeping a list, and restore the old value when done executing.
File:
1 edited

Legend:

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

    r1024 r1864  
    6262    void processParameters(ExecState *exec, const List &);
    6363    virtual void processVarDecls(ExecState *exec);
    64 
    65     void pushArgs(ExecState *exec, const Object &args);
    66     void popArgs(ExecState *exec);
    67     ListImp *argStack;
    6864  };
    6965
Note: See TracChangeset for help on using the changeset viewer.