6787254: Work queue capacity can be increased substantially on some platforms
Summary: Increased the default and maximum size of the CMS marking stack and the size of the parallel workers' work queues in 64-bit mode. The latter was accomplished by an increase in the width of the Taskqueue's Age struct and its Tag field in 64-bit mode.
Reviewed-by: jmasa, tonyp
//
// Copyright 2004-2008 Sun Microsystems, Inc. All Rights Reserved.
// DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
//
// This code is free software; you can redistribute it and/or modify it
// under the terms of the GNU General Public License version 2 only, as
// published by the Free Software Foundation.
//
// This code is distributed in the hope that it will be useful, but WITHOUT
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
// version 2 for more details (a copy is included in the LICENSE file that
// accompanied this code).
//
// You should have received a copy of the GNU General Public License version
// 2 along with this work; if not, write to the Free Software Foundation,
// Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
//
// Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
// CA 95054 USA or visit www.sun.com if you need additional information or
// have any questions.
//
//
// NOTE: DO NOT CHANGE THIS COPYRIGHT TO NEW STYLE - IT WILL BREAK makeDeps!
bufferingOopClosure.hpp genOopClosures.hpp
bufferingOopClosure.hpp generation.hpp
bufferingOopClosure.hpp os.hpp
cardTableRS.cpp concurrentMark.hpp
cardTableRS.cpp g1SATBCardTableModRefBS.hpp
collectionSetChooser.cpp g1CollectedHeap.inline.hpp
collectionSetChooser.cpp g1CollectorPolicy.hpp
collectionSetChooser.cpp collectionSetChooser.hpp
collectionSetChooser.cpp space.inline.hpp
collectionSetChooser.hpp heapRegion.hpp
collectionSetChooser.hpp growableArray.hpp
concurrentG1Refine.cpp atomic.hpp
concurrentG1Refine.cpp concurrentG1Refine.hpp
concurrentG1Refine.cpp concurrentG1RefineThread.hpp
concurrentG1Refine.cpp copy.hpp
concurrentG1Refine.cpp g1CollectedHeap.inline.hpp
concurrentG1Refine.cpp g1RemSet.hpp
concurrentG1Refine.cpp space.inline.hpp
concurrentG1Refine.hpp globalDefinitions.hpp
concurrentG1RefineThread.cpp concurrentG1Refine.hpp
concurrentG1RefineThread.cpp concurrentG1RefineThread.hpp
concurrentG1RefineThread.cpp g1CollectedHeap.inline.hpp
concurrentG1RefineThread.cpp g1CollectorPolicy.hpp
concurrentG1RefineThread.cpp handles.inline.hpp
concurrentG1RefineThread.cpp mutexLocker.hpp
concurrentG1RefineThread.cpp resourceArea.hpp
concurrentG1RefineThread.hpp concurrentGCThread.hpp
concurrentG1RefineThread.hpp coTracker.hpp
concurrentMark.cpp concurrentMark.hpp
concurrentMark.cpp concurrentMarkThread.inline.hpp
concurrentMark.cpp g1CollectedHeap.inline.hpp
concurrentMark.cpp g1CollectorPolicy.hpp
concurrentMark.cpp g1RemSet.hpp
concurrentMark.cpp gcOverheadReporter.hpp
concurrentMark.cpp genOopClosures.inline.hpp
concurrentMark.cpp heapRegionRemSet.hpp
concurrentMark.cpp heapRegionSeq.inline.hpp
concurrentMark.cpp handles.inline.hpp
concurrentMark.cpp java.hpp
concurrentMark.cpp oop.inline.hpp
concurrentMark.cpp referencePolicy.hpp
concurrentMark.cpp resourceArea.hpp
concurrentMark.cpp symbolTable.hpp
concurrentMark.hpp coTracker.hpp
concurrentMark.hpp heapRegion.hpp
concurrentMark.hpp taskqueue.hpp
concurrentMarkThread.cpp concurrentMarkThread.inline.hpp
concurrentMarkThread.cpp g1CollectedHeap.inline.hpp
concurrentMarkThread.cpp g1CollectorPolicy.hpp
concurrentMarkThread.cpp g1MMUTracker.hpp
concurrentMarkThread.cpp resourceArea.hpp
concurrentMarkThread.cpp vm_operations_g1.hpp
concurrentMarkThread.cpp vmThread.hpp
concurrentMarkThread.hpp concurrentGCThread.hpp
concurrentMarkThread.inline.hpp concurrentMark.hpp
concurrentMarkThread.inline.hpp concurrentMarkThread.hpp
concurrentZFThread.cpp concurrentZFThread.hpp
concurrentZFThread.cpp heapRegion.hpp
concurrentZFThread.cpp g1CollectedHeap.inline.hpp
concurrentZFThread.cpp copy.hpp
concurrentZFThread.cpp mutexLocker.hpp
concurrentZFThread.cpp space.inline.hpp
concurrentZFThread.hpp concurrentGCThread.hpp
concurrentZFThread.hpp coTracker.hpp
dirtyCardQueue.cpp atomic.hpp
dirtyCardQueue.cpp dirtyCardQueue.hpp
dirtyCardQueue.cpp heapRegionRemSet.hpp
dirtyCardQueue.cpp mutexLocker.hpp
dirtyCardQueue.cpp ptrQueue.inline.hpp
dirtyCardQueue.cpp safepoint.hpp
dirtyCardQueue.cpp thread.hpp
dirtyCardQueue.cpp thread_<os_family>.inline.hpp
dirtyCardQueue.cpp workgroup.hpp
dirtyCardQueue.hpp allocation.hpp
dirtyCardQueue.hpp ptrQueue.hpp
g1BlockOffsetTable.cpp g1BlockOffsetTable.inline.hpp
g1BlockOffsetTable.cpp java.hpp
g1BlockOffsetTable.cpp oop.inline.hpp
g1BlockOffsetTable.cpp space.hpp
g1BlockOffsetTable.hpp globalDefinitions.hpp
g1BlockOffsetTable.hpp memRegion.hpp
g1BlockOffsetTable.hpp virtualspace.hpp
g1BlockOffsetTable.inline.hpp g1BlockOffsetTable.hpp
g1BlockOffsetTable.inline.hpp space.hpp
g1CollectedHeap.cpp aprofiler.hpp
g1CollectedHeap.cpp bufferingOopClosure.hpp
g1CollectedHeap.cpp concurrentG1Refine.hpp
g1CollectedHeap.cpp concurrentG1RefineThread.hpp
g1CollectedHeap.cpp concurrentMarkThread.inline.hpp
g1CollectedHeap.cpp concurrentZFThread.hpp
g1CollectedHeap.cpp g1CollectedHeap.inline.hpp
g1CollectedHeap.cpp g1CollectorPolicy.hpp
g1CollectedHeap.cpp g1MarkSweep.hpp
g1CollectedHeap.cpp g1RemSet.hpp
g1CollectedHeap.cpp g1OopClosures.inline.hpp
g1CollectedHeap.cpp genOopClosures.inline.hpp
g1CollectedHeap.cpp gcLocker.inline.hpp
g1CollectedHeap.cpp gcOverheadReporter.hpp
g1CollectedHeap.cpp generationSpec.hpp
g1CollectedHeap.cpp heapRegionRemSet.hpp
g1CollectedHeap.cpp heapRegionSeq.inline.hpp
g1CollectedHeap.cpp icBuffer.hpp
g1CollectedHeap.cpp isGCActiveMark.hpp
g1CollectedHeap.cpp oop.inline.hpp
g1CollectedHeap.cpp oop.pcgc.inline.hpp
g1CollectedHeap.cpp parGCAllocBuffer.hpp
g1CollectedHeap.cpp vm_operations_g1.hpp
g1CollectedHeap.cpp vmThread.hpp
g1CollectedHeap.hpp barrierSet.hpp
g1CollectedHeap.hpp heapRegion.hpp
g1CollectedHeap.hpp memRegion.hpp
g1CollectedHeap.hpp sharedHeap.hpp
g1CollectedHeap.inline.hpp concurrentMark.hpp
g1CollectedHeap.inline.hpp g1CollectedHeap.hpp
g1CollectedHeap.inline.hpp heapRegionSeq.hpp
g1CollectedHeap.inline.hpp taskqueue.hpp
g1CollectorPolicy.cpp concurrentG1Refine.hpp
g1CollectorPolicy.cpp concurrentMark.hpp
g1CollectorPolicy.cpp concurrentMarkThread.inline.hpp
g1CollectorPolicy.cpp debug.hpp
g1CollectorPolicy.cpp java.hpp
g1CollectorPolicy.cpp g1CollectedHeap.inline.hpp
g1CollectorPolicy.cpp g1CollectorPolicy.hpp
g1CollectorPolicy.cpp heapRegionRemSet.hpp
g1CollectorPolicy.cpp mutexLocker.hpp
g1CollectorPolicy.hpp collectorPolicy.hpp
g1CollectorPolicy.hpp collectionSetChooser.hpp
g1CollectorPolicy.hpp g1MMUTracker.hpp
g1_globals.cpp g1_globals.hpp
g1_globals.hpp globals.hpp
globals.cpp g1_globals.hpp
top.hpp g1_globals.hpp
g1MarkSweep.cpp aprofiler.hpp
g1MarkSweep.cpp biasedLocking.hpp
g1MarkSweep.cpp codeCache.hpp
g1MarkSweep.cpp events.hpp
g1MarkSweep.cpp fprofiler.hpp
g1MarkSweep.hpp g1CollectedHeap.inline.hpp
g1MarkSweep.cpp g1MarkSweep.hpp
g1MarkSweep.cpp gcLocker.hpp
g1MarkSweep.cpp genCollectedHeap.hpp
g1MarkSweep.hpp heapRegion.hpp
g1MarkSweep.cpp icBuffer.hpp
g1MarkSweep.cpp instanceRefKlass.hpp
g1MarkSweep.cpp javaClasses.hpp
g1MarkSweep.cpp jvmtiExport.hpp
g1MarkSweep.cpp copy.hpp
g1MarkSweep.cpp modRefBarrierSet.hpp
g1MarkSweep.cpp oop.inline.hpp
g1MarkSweep.cpp referencePolicy.hpp
g1MarkSweep.cpp space.hpp
g1MarkSweep.cpp symbolTable.hpp
g1MarkSweep.cpp synchronizer.hpp
g1MarkSweep.cpp systemDictionary.hpp
g1MarkSweep.cpp thread.hpp
g1MarkSweep.cpp vmSymbols.hpp
g1MarkSweep.cpp vmThread.hpp
g1MarkSweep.hpp generation.hpp
g1MarkSweep.hpp growableArray.hpp
g1MarkSweep.hpp markOop.hpp
g1MarkSweep.hpp genMarkSweep.hpp
g1MarkSweep.hpp oop.hpp
g1MarkSweep.hpp timer.hpp
g1MarkSweep.hpp universe.hpp
g1OopClosures.inline.hpp concurrentMark.hpp
g1OopClosures.inline.hpp g1OopClosures.hpp
g1OopClosures.inline.hpp g1CollectedHeap.hpp
g1OopClosures.inline.hpp g1RemSet.hpp
g1MMUTracker.cpp g1MMUTracker.hpp
g1MMUTracker.cpp ostream.hpp
g1MMUTracker.cpp mutexLocker.hpp
g1MMUTracker.hpp debug.hpp
g1RemSet.cpp bufferingOopClosure.hpp
g1RemSet.cpp concurrentG1Refine.hpp
g1RemSet.cpp concurrentG1RefineThread.hpp
g1RemSet.cpp g1BlockOffsetTable.inline.hpp
g1RemSet.cpp g1CollectedHeap.inline.hpp
g1RemSet.cpp g1CollectorPolicy.hpp
g1RemSet.cpp g1RemSet.inline.hpp
g1RemSet.cpp g1OopClosures.inline.hpp
g1RemSet.cpp heapRegionSeq.inline.hpp
g1RemSet.cpp intHisto.hpp
g1RemSet.cpp iterator.hpp
g1RemSet.cpp oop.inline.hpp
g1RemSet.inline.hpp g1RemSet.hpp
g1RemSet.inline.hpp heapRegionRemSet.hpp
g1SATBCardTableModRefBS.cpp g1SATBCardTableModRefBS.hpp
g1SATBCardTableModRefBS.cpp heapRegion.hpp
g1SATBCardTableModRefBS.cpp mutexLocker.hpp
g1SATBCardTableModRefBS.cpp thread.hpp
g1SATBCardTableModRefBS.cpp thread_<os_family>.inline.hpp
g1SATBCardTableModRefBS.cpp satbQueue.hpp
g1SATBCardTableModRefBS.hpp cardTableModRefBS.hpp
g1SATBCardTableModRefBS.hpp memRegion.hpp
heapRegion.cpp concurrentZFThread.hpp
heapRegion.cpp g1BlockOffsetTable.inline.hpp
heapRegion.cpp g1CollectedHeap.inline.hpp
heapRegion.cpp g1OopClosures.inline.hpp
heapRegion.cpp genOopClosures.inline.hpp
heapRegion.cpp heapRegion.inline.hpp
heapRegion.cpp heapRegionRemSet.hpp
heapRegion.cpp heapRegionSeq.inline.hpp
heapRegion.cpp iterator.hpp
heapRegion.cpp oop.inline.hpp
heapRegion.hpp space.inline.hpp
heapRegion.hpp spaceDecorator.hpp
heapRegion.hpp g1BlockOffsetTable.inline.hpp
heapRegion.hpp watermark.hpp
heapRegion.hpp g1_specialized_oop_closures.hpp
heapRegion.hpp survRateGroup.hpp
heapRegionRemSet.hpp sparsePRT.hpp
heapRegionRemSet.cpp allocation.hpp
heapRegionRemSet.cpp bitMap.inline.hpp
heapRegionRemSet.cpp g1BlockOffsetTable.inline.hpp
heapRegionRemSet.cpp g1CollectedHeap.inline.hpp
heapRegionRemSet.cpp heapRegionRemSet.hpp
heapRegionRemSet.cpp heapRegionSeq.inline.hpp
heapRegionRemSet.cpp globalDefinitions.hpp
heapRegionRemSet.cpp space.inline.hpp
heapRegionSeq.cpp allocation.hpp
heapRegionSeq.cpp g1CollectedHeap.inline.hpp
heapRegionSeq.cpp heapRegionSeq.hpp
heapRegionSeq.hpp growableArray.hpp
heapRegionSeq.hpp heapRegion.hpp
heapRegionSeq.inline.hpp heapRegionSeq.hpp
klass.hpp g1OopClosures.hpp
ptrQueue.cpp allocation.hpp
ptrQueue.cpp allocation.inline.hpp
ptrQueue.cpp mutex.hpp
ptrQueue.cpp mutexLocker.hpp
ptrQueue.cpp ptrQueue.hpp
ptrQueue.cpp ptrQueue.inline.hpp
ptrQueue.cpp thread_<os_family>.inline.hpp
ptrQueue.hpp allocation.hpp
ptrQueue.hpp sizes.hpp
ptrQueue.inline.hpp ptrQueue.hpp
satbQueue.cpp allocation.inline.hpp
satbQueue.cpp mutexLocker.hpp
satbQueue.cpp ptrQueue.inline.hpp
satbQueue.cpp satbQueue.hpp
satbQueue.cpp sharedHeap.hpp
satbQueue.cpp thread.hpp
satbQueue.hpp ptrQueue.hpp
sparsePRT.cpp allocation.inline.hpp
sparsePRT.cpp cardTableModRefBS.hpp
sparsePRT.cpp heapRegion.hpp
sparsePRT.cpp heapRegionRemSet.hpp
sparsePRT.cpp mutexLocker.hpp
sparsePRT.cpp sparsePRT.hpp
sparsePRT.cpp space.inline.hpp
sparsePRT.hpp allocation.hpp
sparsePRT.hpp cardTableModRefBS.hpp
sparsePRT.hpp globalDefinitions.hpp
sparsePRT.hpp heapRegion.hpp
sparsePRT.hpp mutex.hpp
specialized_oop_closures.hpp g1_specialized_oop_closures.hpp
survRateGroup.hpp numberSeq.hpp
survRateGroup.cpp allocation.hpp
survRateGroup.cpp g1CollectedHeap.inline.hpp
survRateGroup.cpp g1CollectorPolicy.hpp
survRateGroup.cpp heapRegion.hpp
survRateGroup.cpp survRateGroup.hpp
thread.cpp concurrentMarkThread.inline.hpp
universe.cpp g1CollectedHeap.inline.hpp
universe.cpp g1CollectorPolicy.hpp
vm_operations_g1.hpp vmGCOperations.hpp
vm_operations_g1.cpp vm_operations_g1.hpp
vm_operations_g1.cpp g1CollectedHeap.inline.hpp
vm_operations_g1.cpp isGCActiveMark.hpp