[sgen] Use thread safe addition to block list
authorVlad Brezae <brezaevlad@gmail.com>
Mon, 16 May 2016 19:24:45 +0000 (22:24 +0300)
committerVlad Brezae <brezaevlad@gmail.com>
Thu, 19 Jan 2017 18:05:08 +0000 (20:05 +0200)
commitc313d437511a8c5ffc3e1b89a70be23b20db9c0a
tree15927906abf1eaf781f61d35481dc529b04870e8
parent3c3e566002bfd185cc178b1bd139f1f606faee16
[sgen] Use thread safe addition to block list

This will enable us to to parallel block allocation, which is useful when doing parallel copying. We no longer compact the array (using the default array list allocator instead) so we need to account for unallocated slots (slots with null value) in the array at any time (see FOREACH_BLOCK).
mono/sgen/sgen-array-list.c
mono/sgen/sgen-array-list.h
mono/sgen/sgen-marksweep.c