2010-03-08 Zoltan Varga <vargaz@gmail.com>
commit567e39c451081dec2a168194f23a50330ce50384
authorzoltan <zoltan@e3ebcda4-bce8-0310-ba0a-eca2169e7518>
Mon, 8 Mar 2010 16:32:10 +0000 (8 16:32 +0000)
committerzoltan <zoltan@e3ebcda4-bce8-0310-ba0a-eca2169e7518>
Mon, 8 Mar 2010 16:32:10 +0000 (8 16:32 +0000)
tree7e15f2b32c9aa1e509fc65e7f0c4fb7ae1100f27
parentbc37525d08c55d5774d82eea6c53ec1da5663c50
2010-03-08  Zoltan Varga  <vargaz@gmail.com>

* sgen-gc.c (scan_needed_big_objects): Call drain_gray_stack () to avoid
uncontrolled growth of the gray stack.

* sgen-gray.c: Rewrite this so it behaves like a stack, not a queue, so recently
added items are removed first, improving cache locality. Avoid freeing queue
segments in the fast path, use the list of segments as the free list, truncate
it to its max size at the start of collection.

git-svn-id: svn+ssh://mono-cvs.ximian.com/source/trunk/mono@153264 e3ebcda4-bce8-0310-ba0a-eca2169e7518
mono/metadata/ChangeLog
mono/metadata/sgen-gc.c
mono/metadata/sgen-gray.c