Don't scan blocks without references.
authorRodrigo Kumpera <kumpera@gmail.com>
Thu, 26 Aug 2010 21:34:58 +0000 (18:34 -0300)
committerRodrigo Kumpera <kumpera@gmail.com>
Mon, 30 Aug 2010 20:50:41 +0000 (17:50 -0300)
mono/metadata/sgen-marksweep.c

index 47fe15a9f70dd21d0c4e7767665ef64f1ac96ea4..64452c0b9556240988dd4874bf0e7f15224bb503 100644 (file)
@@ -1258,6 +1258,9 @@ major_scan_card_table (SgenGrayQueue *queue)
                int block_obj_size = block->obj_size;
                char *start = block->block;
 
+               if (!block->has_references)
+                       continue;
+
                for (i = 0; i < CARDS_PER_BLOCK; ++i, start += CARD_SIZE_IN_BYTES) {
                        int index;
                        char *obj, *end;