Merge pull request #2803 from BrzVlad/feature-conc-pinned-scan
authormonojenkins <jo.shields+jenkins@xamarin.com>
Thu, 14 Apr 2016 19:15:35 +0000 (20:15 +0100)
committermonojenkins <jo.shields+jenkins@xamarin.com>
Thu, 14 Apr 2016 19:15:35 +0000 (20:15 +0100)
commit3e81958f1dd4cecb97167c5b3cb5541bda31c444
treec546ba52787b70097046a14a547b373548cbfaa7
parent8ed1ada0142c3b8d0d3452eb5939529a133f2696
parenta4f1baa3db1450cfcf746a48b9f5857e4c207e73
Merge pull request #2803 from BrzVlad/feature-conc-pinned-scan

[sgen] Scan pinned objects in nursery as part of concurrent mark

Objects pinned in the nursery can hide behind them a large graph of objects in the heap which is never scanned because we don't follow references in the nursery. After precleaning, we scan the latest set of pinned objects (while locking in order to make sure that the set doesn't change, so none are moved).
mono/sgen/sgen-gc.c
mono/sgen/sgen-pinning.c
mono/sgen/sgen-pinning.h