[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