Mercurial > hg > graal-jvmci-8
comparison src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp @ 1883:35e4e086d5f5
6990359: G1: don't push a stolen entry on the taskqueue, deal with it directly
Summary: When an entry is stolen, don't push it on the task queue but process it directly.
Reviewed-by: iveresov, ysr, jcoomes
author | tonyp |
---|---|
date | Thu, 14 Oct 2010 10:38:14 -0400 |
parents | b14ec34b1e07 |
children | 878b57474103 |
comparison
equal
deleted
inserted
replaced
1862:b14ec34b1e07 | 1883:35e4e086d5f5 |
---|---|
4116 | 4116 |
4117 do { | 4117 do { |
4118 while (queues()->steal(pss->queue_num(), pss->hash_seed(), stolen_task)) { | 4118 while (queues()->steal(pss->queue_num(), pss->hash_seed(), stolen_task)) { |
4119 assert(pss->verify_task(stolen_task), "sanity"); | 4119 assert(pss->verify_task(stolen_task), "sanity"); |
4120 if (stolen_task.is_narrow()) { | 4120 if (stolen_task.is_narrow()) { |
4121 pss->push_on_queue((narrowOop*) stolen_task); | 4121 pss->deal_with_reference((narrowOop*) stolen_task); |
4122 } else { | 4122 } else { |
4123 pss->push_on_queue((oop*) stolen_task); | 4123 pss->deal_with_reference((oop*) stolen_task); |
4124 } | 4124 } |
4125 | |
4126 // We've just processed a reference and we might have made | |
4127 // available new entries on the queues. So we have to make sure | |
4128 // we drain the queues as necessary. | |
4125 pss->trim_queue(); | 4129 pss->trim_queue(); |
4126 } | 4130 } |
4127 } while (!offer_termination()); | 4131 } while (!offer_termination()); |
4128 | 4132 |
4129 pss->retire_alloc_buffers(); | 4133 pss->retire_alloc_buffers(); |