[sgen] Add CAS object marking for concurrent workers
authorVlad Brezae <brezaevlad@gmail.com>
Mon, 30 May 2016 02:02:17 +0000 (05:02 +0300)
committerVlad Brezae <brezaevlad@gmail.com>
Thu, 19 Jan 2017 22:45:06 +0000 (00:45 +0200)
commit9b4efca29b8f83799a1dbde98ca5c859edabba83
tree0a6dc219c5c7f6353fca031788b170d58645c84a
parentbcb359628ed31fb901eb3187c62ded0502426d30
[sgen] Add CAS object marking for concurrent workers

When marking an object we need to make sure we are not unmarking other objects (since marking is stored as bits). This also allows us to make sure that we never enqueue the same object multiple times on separate gray queues.
mono/sgen/sgen-marksweep-drain-gray-stack.h
mono/sgen/sgen-marksweep.c