hotspot/src/share/vm/gc_implementation/includeDB_gc_parallelScavenge
author jmasa
Wed, 09 Jul 2008 15:08:55 -0700
changeset 971 f0b20be4165d
parent 360 21d113ecbf6a
child 977 b90650e2a9f7
permissions -rw-r--r--
6672698: mangle_unused_area() should not remangle the entire heap at each collection. Summary: Maintain a high water mark for the allocations in a space and mangle only up to that high water mark. Reviewed-by: ysr, apetrusenko

//
// Copyright 2001-2007 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!


adjoiningGenerations.hpp		adjoiningVirtualSpaces.hpp
adjoiningGenerations.hpp		asPSOldGen.hpp
adjoiningGenerations.hpp		asPSYoungGen.hpp
adjoiningGenerations.hpp                psPermGen.hpp

adjoiningGenerations.cpp		adjoiningGenerations.hpp
adjoiningGenerations.cpp		adjoiningVirtualSpaces.hpp
adjoiningGenerations.cpp		parallelScavengeHeap.hpp
adjoiningGenerations.cpp                psPermGen.hpp

adjoiningVirtualSpaces.hpp		psVirtualspace.hpp

adjoiningVirtualSpaces.cpp		java.hpp
adjoiningVirtualSpaces.cpp		adjoiningVirtualSpaces.hpp

asPSOldGen.hpp                          generationCounters.hpp
asPSOldGen.hpp                          mutableSpace.hpp
asPSOldGen.hpp                          objectStartArray.hpp
asPSOldGen.hpp                          psVirtualspace.hpp
asPSOldGen.hpp                          spaceCounters.hpp
asPSOldGen.hpp				psOldGen.hpp

asPSOldGen.cpp                          psAdaptiveSizePolicy.hpp
asPSOldGen.cpp                          cardTableModRefBS.hpp
asPSOldGen.cpp                          java.hpp
asPSOldGen.cpp                          oop.inline.hpp
asPSOldGen.cpp                          parallelScavengeHeap.hpp
asPSOldGen.cpp                          psMarkSweepDecorator.hpp
asPSOldGen.cpp                          asPSOldGen.hpp

asPSYoungGen.hpp                        generationCounters.hpp
asPSYoungGen.hpp                        mutableSpace.hpp
asPSYoungGen.hpp                        objectStartArray.hpp
asPSYoungGen.hpp                        spaceCounters.hpp
asPSYoungGen.hpp                        psVirtualspace.hpp
asPSYoungGen.hpp                        psYoungGen.hpp
asPSYoungGen.hpp                        spaceDecorator.hpp

asPSYoungGen.cpp                        gcUtil.hpp
asPSYoungGen.cpp                        java.hpp
asPSYoungGen.cpp                        oop.inline.hpp
asPSYoungGen.cpp                        parallelScavengeHeap.hpp
asPSYoungGen.cpp                        psMarkSweepDecorator.hpp
asPSYoungGen.cpp                        psScavenge.hpp
asPSYoungGen.cpp                        asPSYoungGen.hpp
asPSYoungGen.cpp                        psYoungGen.hpp
asPSYoungGen.cpp                        spaceDecorator.hpp

cardTableExtension.cpp                  cardTableExtension.hpp
cardTableExtension.cpp                  gcTaskManager.hpp
cardTableExtension.cpp                  oop.inline.hpp
cardTableExtension.cpp                  oop.psgc.inline.hpp
cardTableExtension.cpp                  parallelScavengeHeap.hpp
cardTableExtension.cpp                  psTasks.hpp
cardTableExtension.cpp                  psYoungGen.hpp

cardTableExtension.hpp                  cardTableModRefBS.hpp

gcTaskManager.hpp                       mutex.hpp
gcTaskManager.hpp                       growableArray.hpp

gcTaskManager.cpp                       allocation.hpp
gcTaskManager.cpp                       allocation.inline.hpp
gcTaskManager.cpp                       gcTaskManager.hpp
gcTaskManager.cpp                       gcTaskThread.hpp
gcTaskManager.cpp                       mutex.hpp
gcTaskManager.cpp                       mutexLocker.hpp

gcTaskThread.hpp                        thread.hpp

gcTaskThread.cpp                        allocation.hpp
gcTaskThread.cpp                        allocation.inline.hpp
gcTaskThread.cpp                        gcTaskManager.hpp
gcTaskThread.cpp                        gcTaskThread.hpp
gcTaskThread.cpp                        handles.hpp
gcTaskThread.cpp                        handles.inline.hpp
gcTaskThread.cpp                        os.hpp
gcTaskThread.cpp                        resourceArea.hpp
gcTaskThread.cpp                        thread.hpp

generationSizer.hpp                     collectorPolicy.hpp

objectStartArray.cpp                    allocation.inline.hpp
objectStartArray.cpp                    cardTableModRefBS.hpp
objectStartArray.cpp                    java.hpp
objectStartArray.cpp                    objectStartArray.hpp
objectStartArray.cpp                    oop.inline.hpp

objectStartArray.hpp                    allocation.hpp
objectStartArray.hpp                    memRegion.hpp
objectStartArray.hpp                    oop.hpp
objectStartArray.hpp                    psVirtualspace.hpp

parallelScavengeHeap.cpp                adjoiningGenerations.hpp
parallelScavengeHeap.cpp                adjoiningVirtualSpaces.hpp
parallelScavengeHeap.cpp                cardTableExtension.hpp
parallelScavengeHeap.cpp                gcLocker.inline.hpp
parallelScavengeHeap.cpp                gcTaskManager.hpp
parallelScavengeHeap.cpp                generationSizer.hpp
parallelScavengeHeap.cpp                handles.inline.hpp
parallelScavengeHeap.cpp                java.hpp
parallelScavengeHeap.cpp                oop.inline.hpp
parallelScavengeHeap.cpp                parallelScavengeHeap.inline.hpp
parallelScavengeHeap.cpp                psAdaptiveSizePolicy.hpp
parallelScavengeHeap.cpp                psMarkSweep.hpp
parallelScavengeHeap.cpp                psParallelCompact.hpp
parallelScavengeHeap.cpp                psPromotionManager.hpp
parallelScavengeHeap.cpp                psScavenge.hpp
parallelScavengeHeap.cpp                vmThread.hpp
parallelScavengeHeap.cpp                vmPSOperations.hpp

parallelScavengeHeap.inline.hpp		parallelScavengeHeap.hpp
parallelScavengeHeap.inline.hpp		psMarkSweep.hpp
parallelScavengeHeap.inline.hpp		psParallelCompact.hpp
parallelScavengeHeap.inline.hpp		psScavenge.hpp

parallelScavengeHeap.hpp                collectedHeap.inline.hpp
parallelScavengeHeap.hpp                objectStartArray.hpp
parallelScavengeHeap.hpp                gcPolicyCounters.hpp
parallelScavengeHeap.hpp                psGCAdaptivePolicyCounters.hpp
parallelScavengeHeap.hpp                psOldGen.hpp
parallelScavengeHeap.hpp                psPermGen.hpp
parallelScavengeHeap.hpp                psYoungGen.hpp
parallelScavengeHeap.hpp                ostream.hpp

parMarkBitMap.cpp			bitMap.hpp
parMarkBitMap.cpp			bitMap.inline.hpp
parMarkBitMap.cpp			oop.inline.hpp
parMarkBitMap.cpp			os.hpp
parMarkBitMap.cpp			os_<os_family>.inline.hpp
parMarkBitMap.cpp			parMarkBitMap.hpp
parMarkBitMap.cpp			parMarkBitMap.inline.hpp
parMarkBitMap.cpp                       psParallelCompact.hpp

parMarkBitMap.hpp			bitMap.hpp
parMarkBitMap.hpp			bitMap.inline.hpp
parMarkBitMap.hpp			psVirtualspace.hpp

psAdaptiveSizePolicy.cpp                gcPolicyCounters.hpp
psAdaptiveSizePolicy.cpp		gcCause.hpp
psAdaptiveSizePolicy.cpp                psAdaptiveSizePolicy.hpp
psAdaptiveSizePolicy.cpp                psGCAdaptivePolicyCounters.hpp
psAdaptiveSizePolicy.cpp                psScavenge.hpp
psAdaptiveSizePolicy.cpp                timer.hpp
psAdaptiveSizePolicy.cpp                top.hpp

psAdaptiveSizePolicy.hpp                gcCause.hpp
psAdaptiveSizePolicy.hpp		gcStats.hpp
psAdaptiveSizePolicy.hpp                gcUtil.hpp
psAdaptiveSizePolicy.hpp		adaptiveSizePolicy.hpp

psCompactionManager.cpp                 gcTaskManager.hpp
psCompactionManager.cpp                 objectStartArray.hpp
psCompactionManager.cpp                 oop.hpp
psCompactionManager.cpp                 oop.inline.hpp
psCompactionManager.cpp                 oop.pcgc.inline.hpp
psCompactionManager.cpp                 parallelScavengeHeap.hpp
psCompactionManager.cpp                 parMarkBitMap.hpp
psCompactionManager.cpp                 psParallelCompact.hpp
psCompactionManager.cpp                 psCompactionManager.hpp
psCompactionManager.cpp                 psOldGen.hpp
psCompactionManager.cpp                 systemDictionary.hpp

psCompactionManager.hpp                 allocation.hpp
psCompactionManager.hpp                 taskqueue.hpp

psGCAdaptivePolicyCounters.hpp		gcAdaptivePolicyCounters.hpp
psGCAdaptivePolicyCounters.hpp          gcPolicyCounters.hpp
psGCAdaptivePolicyCounters.hpp          psAdaptiveSizePolicy.hpp

psGCAdaptivePolicyCounters.cpp          arguments.hpp
psGCAdaptivePolicyCounters.cpp          resourceArea.hpp
psGCAdaptivePolicyCounters.cpp          psGCAdaptivePolicyCounters.hpp

psGenerationCounters.cpp                psGenerationCounters.hpp
psGenerationCounters.cpp                resourceArea.hpp

psGenerationCounters.hpp                generationCounters.hpp
psGenerationCounters.hpp                perfData.hpp
psGenerationCounters.hpp                psVirtualspace.hpp

psMarkSweep.cpp                         psAdaptiveSizePolicy.hpp
psMarkSweep.cpp                         biasedLocking.hpp
psMarkSweep.cpp                         codeCache.hpp
psMarkSweep.cpp                         events.hpp
psMarkSweep.cpp                         fprofiler.hpp
psMarkSweep.cpp                         gcCause.hpp
psMarkSweep.cpp                         gcLocker.inline.hpp
psMarkSweep.cpp                         isGCActiveMark.hpp
psMarkSweep.cpp                         oop.inline.hpp
psMarkSweep.cpp                         memoryService.hpp
psMarkSweep.cpp                         management.hpp
psMarkSweep.cpp                         parallelScavengeHeap.hpp
psMarkSweep.cpp                         psMarkSweep.hpp
psMarkSweep.cpp                         psMarkSweepDecorator.hpp
psMarkSweep.cpp                         psOldGen.hpp
psMarkSweep.cpp                         psPermGen.hpp
psMarkSweep.cpp                         psScavenge.hpp
psMarkSweep.cpp                         psYoungGen.hpp
psMarkSweep.cpp                         referencePolicy.hpp
psMarkSweep.cpp                         referenceProcessor.hpp
psMarkSweep.cpp                         safepoint.hpp
psMarkSweep.cpp                         spaceDecorator.hpp
psMarkSweep.cpp                         symbolTable.hpp
psMarkSweep.cpp                         systemDictionary.hpp
psMarkSweep.cpp                         vmThread.hpp

psMarkSweep.hpp                         markSweep.inline.hpp
psMarkSweep.hpp                         collectorCounters.hpp

psMarkSweepDecorator.cpp                liveRange.hpp
psMarkSweepDecorator.cpp                markSweep.inline.hpp
psMarkSweepDecorator.cpp                objectStartArray.hpp
psMarkSweepDecorator.cpp                oop.inline.hpp
psMarkSweepDecorator.cpp                parallelScavengeHeap.hpp
psMarkSweepDecorator.cpp                psMarkSweep.hpp
psMarkSweepDecorator.cpp                psMarkSweepDecorator.hpp
psMarkSweepDecorator.cpp                spaceDecorator.hpp
psMarkSweepDecorator.cpp                systemDictionary.hpp

psMarkSweepDecorator.hpp                mutableSpace.hpp

psParallelCompact.cpp			psAdaptiveSizePolicy.hpp
psParallelCompact.cpp			codeCache.hpp
psParallelCompact.cpp			events.hpp
psParallelCompact.cpp			fprofiler.hpp
psParallelCompact.cpp			gcCause.hpp
psParallelCompact.cpp			gcLocker.inline.hpp
psParallelCompact.cpp                   gcTaskManager.hpp
psParallelCompact.cpp			isGCActiveMark.hpp
psParallelCompact.cpp			oop.inline.hpp
psParallelCompact.cpp			oop.pcgc.inline.hpp
psParallelCompact.cpp			memoryService.hpp
psParallelCompact.cpp			management.hpp
psParallelCompact.cpp			parallelScavengeHeap.inline.hpp
psParallelCompact.cpp			pcTasks.hpp
psParallelCompact.cpp			psMarkSweep.hpp
psParallelCompact.cpp			psMarkSweepDecorator.hpp
psParallelCompact.cpp			psCompactionManager.hpp
psParallelCompact.cpp                   psPromotionManager.inline.hpp
psParallelCompact.cpp			psOldGen.hpp
psParallelCompact.cpp			psParallelCompact.hpp
psParallelCompact.cpp			psPermGen.hpp
psParallelCompact.cpp			psScavenge.hpp
psParallelCompact.cpp			psYoungGen.hpp
psParallelCompact.cpp			referencePolicy.hpp
psParallelCompact.cpp			referenceProcessor.hpp
psParallelCompact.cpp			safepoint.hpp
psParallelCompact.cpp			symbolTable.hpp
psParallelCompact.cpp			systemDictionary.hpp
psParallelCompact.cpp			vmThread.hpp

psParallelCompact.hpp			collectorCounters.hpp
psParallelCompact.hpp			markSweep.hpp
psParallelCompact.hpp			mutableSpace.hpp
psParallelCompact.hpp                   objectStartArray.hpp
psParallelCompact.hpp			oop.hpp
psParallelCompact.hpp			parMarkBitMap.hpp
psParallelCompact.hpp			psCompactionManager.hpp
psParallelCompact.hpp			sharedHeap.hpp

psOldGen.cpp                            psAdaptiveSizePolicy.hpp
psOldGen.cpp                            cardTableModRefBS.hpp
psOldGen.cpp                            gcLocker.inline.hpp
psOldGen.cpp                            java.hpp
psOldGen.cpp                            oop.inline.hpp
psOldGen.cpp                            parallelScavengeHeap.hpp
psOldGen.cpp                            psMarkSweepDecorator.hpp
psOldGen.cpp                            psOldGen.hpp
psOldGen.cpp                            spaceDecorator.hpp

psOldGen.hpp                            psGenerationCounters.hpp
psOldGen.hpp                            mutableSpace.hpp
psOldGen.hpp                            objectStartArray.hpp
psOldGen.hpp                            psVirtualspace.hpp
psOldGen.hpp                         	safepoint.hpp
psOldGen.hpp                            spaceCounters.hpp

psPermGen.cpp                           gcUtil.hpp
psPermGen.cpp                           parallelScavengeHeap.hpp
psPermGen.cpp                           psMarkSweepDecorator.hpp
psPermGen.cpp                           psParallelCompact.hpp
psPermGen.cpp                           psPermGen.hpp

psPermGen.hpp                           psOldGen.hpp

psPromotionManager.cpp                  memRegion.hpp
psPromotionManager.cpp                  mutableSpace.hpp
psPromotionManager.cpp                  oop.inline.hpp
psPromotionManager.cpp                  oop.psgc.inline.hpp
psPromotionManager.cpp                  parallelScavengeHeap.hpp
psPromotionManager.cpp                  psOldGen.hpp
psPromotionManager.cpp                  psPromotionManager.inline.hpp
psPromotionManager.cpp                  psScavenge.inline.hpp

psPromotionManager.hpp                  allocation.hpp
psPromotionManager.hpp                  prefetchQueue.hpp
psPromotionManager.hpp                  psPromotionLAB.hpp
psPromotionManager.hpp                  taskqueue.hpp

psPromotionManager.inline.hpp           psPromotionManager.hpp
psPromotionManager.inline.hpp           psScavenge.hpp

psPromotionLAB.cpp                      mutableSpace.hpp
psPromotionLAB.cpp                      oop.inline.hpp
psPromotionLAB.cpp                      parallelScavengeHeap.hpp
psPromotionLAB.cpp                      psPromotionLAB.hpp

psPromotionLAB.hpp                      allocation.hpp
psPromotionLAB.hpp                      objectStartArray.hpp

psScavenge.cpp                          psAdaptiveSizePolicy.hpp
psScavenge.cpp                          biasedLocking.hpp
psScavenge.cpp                          cardTableExtension.hpp
psScavenge.cpp                          fprofiler.hpp
psScavenge.cpp                          gcCause.hpp
psScavenge.cpp                          gcLocker.inline.hpp
psScavenge.cpp                          gcTaskManager.hpp
psScavenge.cpp                          handles.inline.hpp
psScavenge.cpp                          isGCActiveMark.hpp
psScavenge.cpp                          oop.inline.hpp
psScavenge.cpp                          oop.psgc.inline.hpp
psScavenge.cpp                          memoryService.hpp
psScavenge.cpp                          parallelScavengeHeap.hpp
psScavenge.cpp                          psMarkSweep.hpp
psScavenge.cpp                          psParallelCompact.hpp
psScavenge.cpp                          psScavenge.inline.hpp
psScavenge.cpp                          psTasks.hpp
psScavenge.cpp                          referencePolicy.hpp
psScavenge.cpp                          referenceProcessor.hpp
psScavenge.cpp                          resourceArea.hpp
psScavenge.cpp                          spaceDecorator.hpp
psScavenge.cpp                          threadCritical.hpp
psScavenge.cpp                          vmThread.hpp
psScavenge.cpp                          vm_operations.hpp

psScavenge.hpp                          allocation.hpp
psScavenge.hpp                          cardTableExtension.hpp
psScavenge.hpp                          collectorCounters.hpp
psScavenge.hpp                          oop.hpp
psScavenge.hpp                          psVirtualspace.hpp

psScavenge.inline.hpp                   cardTableExtension.hpp
psScavenge.inline.hpp                   parallelScavengeHeap.hpp
psScavenge.inline.hpp                   psPromotionManager.hpp
psScavenge.inline.hpp                   psScavenge.hpp

pcTasks.cpp                             collectedHeap.hpp
pcTasks.cpp                             fprofiler.hpp
pcTasks.cpp                             jniHandles.hpp
pcTasks.cpp                             jvmtiExport.hpp
pcTasks.cpp                             management.hpp
pcTasks.cpp                             psParallelCompact.hpp
pcTasks.cpp                             pcTasks.hpp
pcTasks.cpp                             oop.inline.hpp
pcTasks.cpp                             oop.pcgc.inline.hpp
pcTasks.cpp                             systemDictionary.hpp
pcTasks.cpp                             taskqueue.hpp
pcTasks.cpp                             thread.hpp
pcTasks.cpp                             universe.hpp
pcTasks.cpp                             vmThread.hpp

pcTasks.hpp				gcTaskManager.hpp
pcTasks.hpp				psTasks.hpp

psTasks.cpp                             cardTableExtension.hpp
psTasks.cpp                             fprofiler.hpp
psTasks.cpp                             gcTaskManager.hpp
psTasks.cpp                             iterator.hpp
psTasks.cpp                             management.hpp
psTasks.cpp                             oop.inline.hpp
psTasks.cpp                             oop.psgc.inline.hpp
psTasks.cpp                             psMarkSweep.hpp
psTasks.cpp                             psPromotionManager.hpp
psTasks.cpp                             psPromotionManager.inline.hpp
psTasks.cpp                             psScavenge.hpp
psTasks.cpp                             psTasks.hpp
psTasks.cpp                             systemDictionary.hpp
psTasks.cpp                             taskqueue.hpp
psTasks.cpp                             thread.hpp
psTasks.cpp                             universe.hpp
psTasks.cpp                             vmThread.hpp

psTasks.hpp                             allocation.hpp
psTasks.hpp                             growableArray.hpp

psVirtualspace.hpp			virtualspace.hpp

psVirtualspace.cpp			os.hpp
psVirtualspace.cpp                      os_<os_family>.inline.hpp
psVirtualspace.cpp                      psVirtualspace.hpp
psVirtualspace.cpp                      virtualspace.hpp

psYoungGen.cpp                          gcUtil.hpp
psYoungGen.cpp                          java.hpp
psYoungGen.cpp                          oop.inline.hpp
psYoungGen.cpp                          parallelScavengeHeap.hpp
psYoungGen.cpp                          psMarkSweepDecorator.hpp
psYoungGen.cpp                          psScavenge.hpp
psYoungGen.cpp                          psYoungGen.hpp
psYoungGen.cpp                          mutableNUMASpace.hpp
psYoungGen.cpp                          spaceDecorator.hpp

psYoungGen.hpp                          psGenerationCounters.hpp
psYoungGen.hpp                          mutableSpace.hpp
psYoungGen.hpp                          objectStartArray.hpp
psYoungGen.hpp                          spaceCounters.hpp
psYoungGen.hpp                          psVirtualspace.hpp

vmPSOperations.cpp                      dtrace.hpp
vmPSOperations.cpp                      parallelScavengeHeap.inline.hpp
vmPSOperations.cpp                      gcLocker.inline.hpp
vmPSOperations.cpp                      psMarkSweep.hpp
vmPSOperations.cpp                      psScavenge.hpp
vmPSOperations.cpp                      psScavenge.inline.hpp
vmPSOperations.cpp                      vmPSOperations.hpp

vmPSOperations.hpp                      gcCause.hpp
vmPSOperations.hpp                      parallelScavengeHeap.hpp
vmPSOperations.hpp                      vmGCOperations.hpp