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


Ignore:
Timestamp:
Nov 26, 2002, 3:52:00 PM (23 years ago)
Author:
mjs
Message:

Change ActivationImp to be allocated via the garbage collector
again instead of on the stack. This fixes the following four
regressions but sadly it causes a 6% performance hit. It's
probably possibly to reduce the hit a bit by being smarter about
inlining and the way the marking list variant is implemented, but
I'll look into that later.

  • fixed 3111500 - REGRESSION: crash in "KJS::ScopeChain::mark()" on www.posci.com
  • fixed 3111145 - REGRESSION: reproducible crash in KJS hashtable lookup at time.com
  • fixed 3110897 - REGRESSION: javascript crasher on http://bmwgallery.tripod.com/
  • fixed 3109987 - REGRESSION: Reproducible crash in KJS ObjectImp at live365.com

Also:

  • improved DEBUG_COLLECTOR mode a bit by never giving memory back to the system.
  • kjs/collector.cpp:
  • kjs/context.h:
  • kjs/function.cpp: (ActivationImp::ActivationImp): (ActivationImp::mark): (ActivationImp::createArgumentsObject):
  • kjs/function.h:
  • kjs/internal.cpp: (ContextImp::ContextImp): (ContextImp::mark):
  • kjs/list.cpp:
  • kjs/list.h:
  • kjs/value.cpp: (Value::Value):
File:
1 edited

Legend:

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

    r2821 r2883  
    101101  class ActivationImp : public ObjectImp {
    102102  public:
    103     ActivationImp(ContextImp *);
     103    ActivationImp(FunctionImp *function, const List &arguments);
    104104
    105105    virtual Value get(ExecState *exec, const Identifier &propertyName) const;
     
    116116    void createArgumentsObject(ExecState *exec) const;
    117117   
    118     const ContextImp *_context;
     118    FunctionImp *_function;
     119    List _arguments;
    119120    mutable ArgumentsImp *_argumentsObject;
    120121  };
Note: See TracChangeset for help on using the changeset viewer.