[sgen] Use non-synchronized gray stack when only one worker is running
[mono.git] / mono / sgen / sgen-workers.c
index 80e8ae36ffe46f927b9711f53556c676910bdcab..90960d89becb5bb9cea8171efbce900edf83c1e4 100644 (file)
@@ -206,7 +206,7 @@ workers_get_work (WorkerData *data)
        if (major->is_concurrent) {
                GrayQueueSection *section = sgen_section_gray_queue_dequeue (&workers_distribute_gray_queue);
                if (section) {
-                       sgen_gray_object_enqueue_section (&data->private_gray_queue, section);
+                       sgen_gray_object_enqueue_section (&data->private_gray_queue, section, major->is_parallel);
                        return TRUE;
                }
        }
@@ -238,7 +238,7 @@ workers_steal_work (WorkerData *data)
        }
 
        if (section) {
-               sgen_gray_object_enqueue_section (&data->private_gray_queue, section);
+               sgen_gray_object_enqueue_section (&data->private_gray_queue, section, TRUE);
                return TRUE;
        }