Changeset 2883 in webkit for trunk/JavaScriptCore/kjs/value.cpp


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/value.cpp

    r2845 r2883  
    204204#if DEBUG_COLLECTOR
    205205  assert (!(rep && !SimpleNumber::is(rep) && *((uint32_t *)rep) == 0 ));
    206   assert (!(rep && !SimpleNumber::is(rep) && rep->_flags & VI_MARKED));
     206  assert (!(rep && !SimpleNumber::is(rep) && rep->_flags & ValueImp::VI_MARKED));
    207207#endif
    208208  if (v)
     
    219219#if DEBUG_COLLECTOR
    220220  assert (!(rep && !SimpleNumber::is(rep) && *((uint32_t *)rep) == 0 ));
    221   assert (!(rep && !SimpleNumber::is(rep) && rep->_flags & VI_MARKED));
     221  assert (!(rep && !SimpleNumber::is(rep) && rep->_flags & ValueImp::VI_MARKED));
    222222#endif
    223223  if (rep)
Note: See TracChangeset for help on using the changeset viewer.