6804746: G1: guarantee(variance() > -1.0,"variance should be >= 0") (due to evacuation failure)
Summary: Under certain circumstances (evacuation failure) the pause time is not communicated to the policy and, as a result, the pause time field is not initialized properly.
Reviewed-by: jmasa
//
// 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!
binaryTreeDictionary.cpp allocationStats.hpp
binaryTreeDictionary.cpp binaryTreeDictionary.hpp
binaryTreeDictionary.cpp globals.hpp
binaryTreeDictionary.cpp ostream.hpp
binaryTreeDictionary.cpp space.inline.hpp
binaryTreeDictionary.cpp spaceDecorator.hpp
binaryTreeDictionary.hpp freeBlockDictionary.hpp
binaryTreeDictionary.hpp freeList.hpp
cmsAdaptiveSizePolicy.cpp cmsAdaptiveSizePolicy.hpp
cmsAdaptiveSizePolicy.cpp defNewGeneration.hpp
cmsAdaptiveSizePolicy.cpp gcStats.hpp
cmsAdaptiveSizePolicy.cpp genCollectedHeap.hpp
cmsAdaptiveSizePolicy.cpp thread.hpp
cmsAdaptiveSizePolicy.cpp os_<os_family>.inline.hpp
cmsAdaptiveSizePolicy.hpp adaptiveSizePolicy.hpp
cmsAdaptiveSizePolicy.hpp timer.hpp
cmsCollectorPolicy.cpp arguments.hpp
cmsCollectorPolicy.cpp cardTableRS.hpp
cmsCollectorPolicy.cpp cmsAdaptiveSizePolicy.hpp
cmsCollectorPolicy.cpp cmsGCAdaptivePolicyCounters.hpp
cmsCollectorPolicy.cpp cmsCollectorPolicy.hpp
cmsCollectorPolicy.cpp collectorPolicy.hpp
cmsCollectorPolicy.cpp gcLocker.inline.hpp
cmsCollectorPolicy.cpp genCollectedHeap.hpp
cmsCollectorPolicy.cpp gcPolicyCounters.hpp
cmsCollectorPolicy.cpp generationSpec.hpp
cmsCollectorPolicy.cpp globals_extension.hpp
cmsCollectorPolicy.cpp handles.inline.hpp
cmsCollectorPolicy.cpp java.hpp
cmsCollectorPolicy.cpp parNewGeneration.hpp
cmsCollectorPolicy.cpp space.hpp
cmsCollectorPolicy.cpp thread_<os_family>.inline.hpp
cmsCollectorPolicy.cpp universe.hpp
cmsCollectorPolicy.cpp vmGCOperations.hpp
cmsCollectorPolicy.cpp vmThread.hpp
cmsCollectorPolicy.hpp collectorPolicy.hpp
cmsGCAdaptivePolicyCounters.cpp cmsGCAdaptivePolicyCounters.hpp
cmsGCAdaptivePolicyCounters.cpp resourceArea.hpp
cmsGCAdaptivePolicyCounters.hpp cmsAdaptiveSizePolicy.hpp
cmsGCAdaptivePolicyCounters.hpp gcAdaptivePolicyCounters.hpp
cmsGCAdaptivePolicyCounters.hpp gcStats.hpp
cmsGCAdaptivePolicyCounters.hpp perfData.hpp
cmsLockVerifier.cpp cmsLockVerifier.hpp
cmsLockVerifier.cpp concurrentMarkSweepThread.hpp
cmsLockVerifier.cpp vmThread.hpp
cmsLockVerifier.hpp mutex.hpp
cmsOopClosures.hpp genOopClosures.hpp
cmsOopClosures.inline.hpp cmsOopClosures.hpp
cmsOopClosures.inline.hpp concurrentMarkSweepGeneration.hpp
cmsPermGen.cpp blockOffsetTable.hpp
cmsPermGen.cpp cSpaceCounters.hpp
cmsPermGen.cpp cmsPermGen.hpp
cmsPermGen.cpp collectedHeap.inline.hpp
cmsPermGen.cpp compactPermGen.hpp
cmsPermGen.cpp concurrentMarkSweepGeneration.inline.hpp
cmsPermGen.cpp genCollectedHeap.hpp
cmsPermGen.cpp generation.inline.hpp
cmsPermGen.cpp java.hpp
cmsPermGen.cpp oop.inline.hpp
cmsPermGen.cpp permGen.hpp
cmsPermGen.cpp universe.hpp
cmsPermGen.hpp concurrentMarkSweepGeneration.hpp
cmsPermGen.hpp permGen.hpp
compactibleFreeListSpace.cpp allocation.inline.hpp
compactibleFreeListSpace.cpp blockOffsetTable.inline.hpp
compactibleFreeListSpace.cpp cmsLockVerifier.hpp
compactibleFreeListSpace.cpp collectedHeap.hpp
compactibleFreeListSpace.cpp compactibleFreeListSpace.hpp
compactibleFreeListSpace.cpp concurrentMarkSweepGeneration.inline.hpp
compactibleFreeListSpace.cpp concurrentMarkSweepThread.hpp
compactibleFreeListSpace.cpp copy.hpp
compactibleFreeListSpace.cpp globals.hpp
compactibleFreeListSpace.cpp handles.inline.hpp
compactibleFreeListSpace.cpp init.hpp
compactibleFreeListSpace.cpp java.hpp
compactibleFreeListSpace.cpp liveRange.hpp
compactibleFreeListSpace.cpp oop.inline.hpp
compactibleFreeListSpace.cpp resourceArea.hpp
compactibleFreeListSpace.cpp spaceDecorator.hpp
compactibleFreeListSpace.cpp universe.inline.hpp
compactibleFreeListSpace.cpp vmThread.hpp
compactibleFreeListSpace.hpp binaryTreeDictionary.hpp
compactibleFreeListSpace.hpp freeList.hpp
compactibleFreeListSpace.hpp space.hpp
compactingPermGenGen.cpp concurrentMarkSweepGeneration.inline.hpp
concurrentMarkSweepGeneration.cpp cardTableRS.hpp
concurrentMarkSweepGeneration.cpp cmsAdaptiveSizePolicy.hpp
concurrentMarkSweepGeneration.cpp cmsCollectorPolicy.hpp
concurrentMarkSweepGeneration.cpp cmsGCAdaptivePolicyCounters.hpp
concurrentMarkSweepGeneration.cpp cmsOopClosures.inline.hpp
concurrentMarkSweepGeneration.cpp codeCache.hpp
concurrentMarkSweepGeneration.cpp collectedHeap.inline.hpp
concurrentMarkSweepGeneration.cpp collectorCounters.hpp
concurrentMarkSweepGeneration.cpp collectorPolicy.hpp
concurrentMarkSweepGeneration.cpp compactibleFreeListSpace.hpp
concurrentMarkSweepGeneration.cpp concurrentMarkSweepGeneration.inline.hpp
concurrentMarkSweepGeneration.cpp concurrentMarkSweepThread.hpp
concurrentMarkSweepGeneration.cpp gcLocker.inline.hpp
concurrentMarkSweepGeneration.cpp genCollectedHeap.hpp
concurrentMarkSweepGeneration.cpp genMarkSweep.hpp
concurrentMarkSweepGeneration.cpp genOopClosures.inline.hpp
concurrentMarkSweepGeneration.cpp globals_extension.hpp
concurrentMarkSweepGeneration.cpp handles.inline.hpp
concurrentMarkSweepGeneration.cpp isGCActiveMark.hpp
concurrentMarkSweepGeneration.cpp java.hpp
concurrentMarkSweepGeneration.cpp jvmtiExport.hpp
concurrentMarkSweepGeneration.cpp oop.inline.hpp
concurrentMarkSweepGeneration.cpp parNewGeneration.hpp
concurrentMarkSweepGeneration.cpp referencePolicy.hpp
concurrentMarkSweepGeneration.cpp resourceArea.hpp
concurrentMarkSweepGeneration.cpp runtimeService.hpp
concurrentMarkSweepGeneration.cpp symbolTable.hpp
concurrentMarkSweepGeneration.cpp systemDictionary.hpp
concurrentMarkSweepGeneration.cpp vmCMSOperations.hpp
concurrentMarkSweepGeneration.cpp vmThread.hpp
concurrentMarkSweepGeneration.hpp bitMap.inline.hpp
concurrentMarkSweepGeneration.hpp freeBlockDictionary.hpp
concurrentMarkSweepGeneration.hpp gSpaceCounters.hpp
concurrentMarkSweepGeneration.hpp gcStats.hpp
concurrentMarkSweepGeneration.hpp generation.hpp
concurrentMarkSweepGeneration.hpp generationCounters.hpp
concurrentMarkSweepGeneration.hpp mutexLocker.hpp
concurrentMarkSweepGeneration.hpp taskqueue.hpp
concurrentMarkSweepGeneration.hpp virtualspace.hpp
concurrentMarkSweepGeneration.hpp yieldingWorkgroup.hpp
concurrentMarkSweepGeneration.inline.hpp cmsLockVerifier.hpp
concurrentMarkSweepGeneration.inline.hpp compactibleFreeListSpace.hpp
concurrentMarkSweepGeneration.inline.hpp concurrentMarkSweepGeneration.hpp
concurrentMarkSweepGeneration.inline.hpp concurrentMarkSweepThread.hpp
concurrentMarkSweepGeneration.inline.hpp defNewGeneration.hpp
concurrentMarkSweepGeneration.inline.hpp gcUtil.hpp
concurrentMarkSweepThread.cpp concurrentMarkSweepGeneration.inline.hpp
concurrentMarkSweepThread.cpp concurrentMarkSweepThread.hpp
concurrentMarkSweepThread.cpp genCollectedHeap.hpp
concurrentMarkSweepThread.cpp init.hpp
concurrentMarkSweepThread.cpp instanceRefKlass.hpp
concurrentMarkSweepThread.cpp interfaceSupport.hpp
concurrentMarkSweepThread.cpp java.hpp
concurrentMarkSweepThread.cpp javaCalls.hpp
concurrentMarkSweepThread.cpp mutexLocker.hpp
concurrentMarkSweepThread.cpp oop.inline.hpp
concurrentMarkSweepThread.cpp os.hpp
concurrentMarkSweepThread.cpp systemDictionary.hpp
concurrentMarkSweepThread.cpp vmThread.hpp
concurrentMarkSweepThread.hpp concurrentGCThread.hpp
concurrentMarkSweepThread.hpp concurrentMarkSweepGeneration.hpp
concurrentMarkSweepThread.hpp thread_<os_family>.inline.hpp
freeBlockDictionary.cpp freeBlockDictionary.hpp
freeBlockDictionary.cpp thread_<os_family>.inline.hpp
freeBlockDictionary.hpp allocation.hpp
freeBlockDictionary.hpp debug.hpp
freeBlockDictionary.hpp freeChunk.hpp
freeBlockDictionary.hpp globalDefinitions.hpp
freeBlockDictionary.hpp memRegion.hpp
freeBlockDictionary.hpp mutex.hpp
freeBlockDictionary.hpp ostream.hpp
freeChunk.cpp copy.hpp
freeChunk.cpp freeBlockDictionary.hpp
freeChunk.hpp allocation.hpp
freeChunk.hpp debug.hpp
freeChunk.hpp globalDefinitions.hpp
freeChunk.hpp markOop.hpp
freeChunk.hpp memRegion.hpp
freeChunk.hpp mutex.hpp
freeChunk.hpp ostream.hpp
freeList.cpp freeBlockDictionary.hpp
freeList.cpp freeList.hpp
freeList.cpp globals.hpp
freeList.cpp mutex.hpp
freeList.cpp sharedHeap.hpp
freeList.hpp allocationStats.hpp
vmCMSOperations.cpp concurrentMarkSweepGeneration.inline.hpp
vmCMSOperations.cpp concurrentMarkSweepThread.hpp
vmCMSOperations.cpp dtrace.hpp
vmCMSOperations.cpp gcLocker.inline.hpp
vmCMSOperations.cpp isGCActiveMark.hpp
vmCMSOperations.cpp interfaceSupport.hpp
vmCMSOperations.cpp vmCMSOperations.hpp
vmCMSOperations.hpp concurrentMarkSweepGeneration.hpp
vmCMSOperations.hpp gcCause.hpp
vmCMSOperations.hpp vm_operations.hpp
vmCMSOperations.hpp vmGCOperations.hpp
yieldingWorkgroup.cpp yieldingWorkgroup.hpp
yieldingWorkgroup.hpp workgroup.hpp