[sgen] Recompute heap boundaries at each major collection.
commit9cd7fe19b488212c5f78e56ddbbb0775e69b8bea
authorMark Probst <mark.probst@gmail.com>
Thu, 25 Nov 2010 14:08:32 +0000 (25 15:08 +0100)
committerMark Probst <mark.probst@gmail.com>
Mon, 29 Nov 2010 17:02:32 +0000 (29 18:02 +0100)
tree2b474fcb06be10e4d09c0d3d4f73ce5fd4f0eda5
parent8d2721791597abedba6a1cbb8ca90ee2b0c44ad8
[sgen] Recompute heap boundaries at each major collection.

Previously we updated heap boundaries when a new block was allocated,
but no updates were performed for freed blocks, resulting in a
constant increase in the heap boundaries which can lead to unnecessary
work during pinning.

Now we recompute the heap boundaries during the sweep phase at each
major collection.
mono/metadata/sgen-gc.c
mono/metadata/sgen-gc.h
mono/metadata/sgen-internal.c
mono/metadata/sgen-major-copying.c
mono/metadata/sgen-marksweep.c