[M3commit] CVS Update: cm3
Antony Hosking
hosking at elego.de
Sat Mar 29 23:32:02 CET 2008
CVSROOT: /usr/cvs
Changes by: hosking at birch. 08/03/29 23:32:02
Modified files:
cm3/m3-libs/m3core/src/runtime/common/: RTCollector.m3
RTHeapRep.i3
cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3
Log message:
Some tidy-up in GC in preparation for improved concurrency.
Allocation pools no longer store a stack of allocated pages.
The only one we were ever interested in was the impureCopy.stack, so this
has been separated as an explicit impureCopyStack variable. PromotePage
now also uses an explicit promoteGeneration variable to decide promotion.
This mirrors the value of pureCopy.desc.generation and
impureCopy.desc.generation, which are always the same.
Defer placement of AmbiguousImpure placements onto impureCopyStack until
FinishThreadPages (actually now PushThreadPages).
Use the more efficient RegisterFinalCleanup instead of WeakRefFromRef for
cleanup of mutexes and condition variables in pthreads-based threads.
More information about the M3commit
mailing list