]> granicus.if.org Git - gc/commit
Fix marks and hb_n_marks consistency when disclaim returns true
authorPetter A. Urkedal <paurkedal@gmail.com>
Tue, 30 Oct 2018 20:00:32 +0000 (21:00 +0100)
committerIvan Maidanski <ivmai@mail.ru>
Fri, 23 Nov 2018 22:11:32 +0000 (01:11 +0300)
commit0a20686c162473adbcbfeda52105e55dd814dd86
tree50b25b085892aa9860670c1f3c79ed8297d004ec
parent90f50b5f0535e56968527de67370f34f08ad7ac5
Fix marks and hb_n_marks consistency when disclaim returns true

* reclaim.c [ENABLE_DISCLAIM] (GC_disclaim_and_reclaim): When a
disclaim callback returns 1 to protect an object from being reclaimed,
mark it to skip it on repeated scans within the cycle. In particular,
this fixes sz*hhdr->hb_n_marks<=HBLKSIZE assertion failure due to
excessive increments of hb_n_marks.
reclaim.c