mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-21 11:34:38 +02:00
Merge
This commit is contained in:
commit
75c23332be
1385 changed files with 42730 additions and 18488 deletions
|
@ -664,19 +664,14 @@ CMSCollector::CMSCollector(ConcurrentMarkSweepGeneration* cmsGen,
|
|||
return;
|
||||
}
|
||||
|
||||
// XXX use a global constant instead of 64!
|
||||
typedef struct OopTaskQueuePadded {
|
||||
OopTaskQueue work_queue;
|
||||
char pad[64 - sizeof(OopTaskQueue)]; // prevent false sharing
|
||||
} OopTaskQueuePadded;
|
||||
|
||||
typedef Padded<OopTaskQueue> PaddedOopTaskQueue;
|
||||
for (i = 0; i < num_queues; i++) {
|
||||
OopTaskQueuePadded *q_padded = new OopTaskQueuePadded();
|
||||
if (q_padded == NULL) {
|
||||
PaddedOopTaskQueue *q = new PaddedOopTaskQueue();
|
||||
if (q == NULL) {
|
||||
warning("work_queue allocation failure.");
|
||||
return;
|
||||
}
|
||||
_task_queues->register_queue(i, &q_padded->work_queue);
|
||||
_task_queues->register_queue(i, q);
|
||||
}
|
||||
for (i = 0; i < num_queues; i++) {
|
||||
_task_queues->queue(i)->initialize();
|
||||
|
|
|
@ -234,6 +234,11 @@ void VM_GenCollectFullConcurrent::doit_epilogue() {
|
|||
GenCollectedHeap* gch = GenCollectedHeap::heap();
|
||||
if (_gc_cause != GCCause::_gc_locker &&
|
||||
gch->total_full_collections_completed() <= _full_gc_count_before) {
|
||||
// maybe we should change the condition to test _gc_cause ==
|
||||
// GCCause::_java_lang_system_gc, instead of
|
||||
// _gc_cause != GCCause::_gc_locker
|
||||
assert(_gc_cause == GCCause::_java_lang_system_gc,
|
||||
"the only way to get here if this was a System.gc()-induced GC");
|
||||
assert(ExplicitGCInvokesConcurrent, "Error");
|
||||
// Now, wait for witnessing concurrent gc cycle to complete,
|
||||
// but do so in native mode, because we want to lock the
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue