Implement lock free nursery allocation.
authorRodrigo Kumpera <kumpera@gmail.com>
Tue, 17 May 2011 06:23:30 +0000 (03:23 -0300)
committerRodrigo Kumpera <kumpera@gmail.com>
Thu, 26 May 2011 23:01:40 +0000 (20:01 -0300)
commit0fccc7e325a9ece571f961717f53ffbc2c209c30
treecdd779e3a22bd7bd1adc90cd2e48f63adbf6bbc1
parentd08d789a24a5781f070ceb304569ea5e87eef17a
Implement lock free nursery allocation.

* sgen-gc.c (mono_gc_try_alloc_obj_nolock): Now try to
expand the TLAB or allocate directly from the nursery.

* sgen-nursery-allocator.c (alloc_from_fragment): Use
M. Michael's linked-list removal to have a lock-free
walkable linked-list. SMR is not required since we never
reclaim fragments.
mono/metadata/sgen-gc.c
mono/metadata/sgen-nursery-allocator.c