6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
Summary: Compressed oops in instances, arrays, and headers. Code contributors are coleenp, phh, never, swamyv
Reviewed-by: jmasa, kamg, acorn, tbell, kvn, rasbold
//
// 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.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
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 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 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.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 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.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