Ignore:
Timestamp:
Nov 23, 2002, 4:04:08 PM (23 years ago)
Author:
mjs
Message:

Numerous collector changes for a net gain of 3% on JS ibench:

  • Replaced per-block bitmap with free list.
  • Increased number of empty blocks kept around to 2.
  • Doubled block size.
  • When scanning heap in collector, skip scanning the rest of a block as soon as we see as many live cells as the the number of used cells it had originally.

Also the following collector changes unrelated to performance:

  • Made constants const int' instead of static const int'.
  • Miscellaneous code cleanup.
  • kjs/collector.cpp:
  • Added debugging mode enabled by defining DEBUG_GC which asserts when a destroyed ValueImp
  • kjs/internal.cpp: (ContextImp::mark):
  • kjs/value.cpp: (Value::Value):
  • kjs/value.h:
  • kjs/config.h:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/kjs/internal.cpp

    r2824 r2845  
    413413void ContextImp::mark()
    414414{
    415   for (ContextImp *context = this; context; context = context->_callingContext)
     415  for (ContextImp *context = this; context; context = context->_callingContext) {
    416416    context->_activationImp.mark();
     417#if DEBUG_COLLECTOR
     418    context->_activationImp._flags &= ~ValueImp::VI_MARKED;
     419#endif
     420  }
    417421}
    418422
Note: See TracChangeset for help on using the changeset viewer.