Mercurial > hg > graal-compiler
comparison src/share/vm/gc_implementation/g1/ptrQueue.cpp @ 1317:d4197f8d516a
6935821: G1: threads created during marking do not active their SATB queues
Summary: Newly-created threads always had the active field of their SATB queue initialized to false, even if they were created during marking. As a result, updates from threads created during a marking cycle were never enqueued and never processed. The fix includes remaining a method from active() to is_active() for readability and naming consistency.
Reviewed-by: ysr, johnc
author | tonyp |
---|---|
date | Thu, 18 Mar 2010 12:14:59 -0400 |
parents | 09646c4656ca |
children | c18cbe5936b8 |
comparison
equal
deleted
inserted
replaced
1316:cc98cc548f51 | 1317:d4197f8d516a |
---|---|
23 */ | 23 */ |
24 | 24 |
25 # include "incls/_precompiled.incl" | 25 # include "incls/_precompiled.incl" |
26 # include "incls/_ptrQueue.cpp.incl" | 26 # include "incls/_ptrQueue.cpp.incl" |
27 | 27 |
28 PtrQueue::PtrQueue(PtrQueueSet* qset_, bool perm) : | 28 PtrQueue::PtrQueue(PtrQueueSet* qset_, bool perm, bool active) : |
29 _qset(qset_), _buf(NULL), _index(0), _active(false), | 29 _qset(qset_), _buf(NULL), _index(0), _active(active), |
30 _perm(perm), _lock(NULL) | 30 _perm(perm), _lock(NULL) |
31 {} | 31 {} |
32 | 32 |
33 void PtrQueue::flush() { | 33 void PtrQueue::flush() { |
34 if (!_perm && _buf != NULL) { | 34 if (!_perm && _buf != NULL) { |