[sgen] Don't call sgen_scan_togglerefs() twice.
authorMark Probst <mark.probst@gmail.com>
Wed, 13 Mar 2013 23:04:20 +0000 (16:04 -0700)
committerMark Probst <mark.probst@gmail.com>
Wed, 13 Mar 2013 23:04:20 +0000 (16:04 -0700)
In the case where they are called twice, the first call must already have
processed the whole heap.

mono/metadata/sgen-gc.c

index f9836b985805aafd8af47424590de89294f1d45c..acb5f552567e4179ccc3b957cd95bb3f11704e31 100644 (file)
@@ -1921,8 +1921,6 @@ finish_gray_stack (int generation, GrayQueue *queue)
        } while (!done_with_ephemerons);
 
        sgen_scan_togglerefs (start_addr, end_addr, ctx);
-       if (generation == GENERATION_OLD)
-               sgen_scan_togglerefs (sgen_get_nursery_start (), sgen_get_nursery_end (), ctx);
 
        if (sgen_need_bridge_processing ()) {
                sgen_collect_bridge_objects (generation, ctx);