diff options
author | Simon Marlow <marlowsd@gmail.com> | 2015-01-14 08:45:07 +0000 |
---|---|---|
committer | Simon Marlow <marlowsd@gmail.com> | 2015-01-20 12:38:13 +0000 |
commit | 9894f6a5b4883ea87fd5f280a2eb4a8abfbd2a6b (patch) | |
tree | ba39e603f2283fe168af73c4bcf5b6e733dcb090 /rts | |
parent | d82f592522eb8e063276a8a8c87ab93e18353c6b (diff) | |
download | haskell-9894f6a5b4883ea87fd5f280a2eb4a8abfbd2a6b.tar.gz |
comments only
Diffstat (limited to 'rts')
-rw-r--r-- | rts/sm/Scav.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/rts/sm/Scav.c b/rts/sm/Scav.c index 2ecb23b424..781840cbae 100644 --- a/rts/sm/Scav.c +++ b/rts/sm/Scav.c @@ -285,6 +285,8 @@ scavenge_large_srt_bitmap( StgLargeSRT *large_srt ) for (i = 0; i < size / BITS_IN(W_); i++) { bitmap = large_srt->l.bitmap[i]; + // skip zero words: bitmaps can be very sparse, and this helps + // performance a lot in some cases. if (bitmap != 0) { for (j = 0; j < BITS_IN(W_); j++) { if ((bitmap & 1) != 0) { |