src/share/vm/gc_implementation/includeDB_gc_serial

Mon, 02 Aug 2010 12:51:43 -0700

author
johnc
date
Mon, 02 Aug 2010 12:51:43 -0700
changeset 2060
2d160770d2e5
parent 1907
c18cbe5936b8
child 2191
894b1d7c7e01
permissions
-rw-r--r--

6814437: G1: remove the _new_refs array
Summary: The per-worker _new_refs array is used to hold references that point into the collection set. It is populated during RSet updating and subsequently processed. In the event of an evacuation failure it processed again to recreate the RSets of regions in the collection set. Remove the per-worker _new_refs array by processing the references directly. Use a DirtyCardQueue to hold the cards containing the references so that the RSets of regions in the collection set can be recreated when handling an evacuation failure.
Reviewed-by: iveresov, jmasa, tonyp

duke@435 1 //
trims@1907 2 // Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
duke@435 3 // DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
duke@435 4 //
duke@435 5 // This code is free software; you can redistribute it and/or modify it
duke@435 6 // under the terms of the GNU General Public License version 2 only, as
duke@435 7 // published by the Free Software Foundation.
duke@435 8 //
duke@435 9 // This code is distributed in the hope that it will be useful, but WITHOUT
duke@435 10 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
duke@435 11 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
duke@435 12 // version 2 for more details (a copy is included in the LICENSE file that
duke@435 13 // accompanied this code).
duke@435 14 //
duke@435 15 // You should have received a copy of the GNU General Public License version
duke@435 16 // 2 along with this work; if not, write to the Free Software Foundation,
duke@435 17 // Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
duke@435 18 //
trims@1907 19 // Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
trims@1907 20 // or visit www.oracle.com if you need additional information or have any
trims@1907 21 // questions.
duke@435 22 //
duke@435 23 //
duke@435 24
duke@435 25 adaptiveSizePolicy.hpp collectedHeap.hpp
duke@435 26 adaptiveSizePolicy.hpp gcCause.hpp
duke@435 27 adaptiveSizePolicy.hpp gcUtil.hpp
duke@435 28 adaptiveSizePolicy.hpp allocation.hpp
duke@435 29 adaptiveSizePolicy.hpp universe.hpp
duke@435 30
duke@435 31 adaptiveSizePolicy.cpp adaptiveSizePolicy.hpp
jmasa@1822 32 adaptiveSizePolicy.cpp collectorPolicy.hpp
duke@435 33 adaptiveSizePolicy.cpp gcCause.hpp
duke@435 34 adaptiveSizePolicy.cpp ostream.hpp
duke@435 35 adaptiveSizePolicy.cpp timer.hpp
duke@435 36
duke@435 37 ageTable.cpp ageTable.hpp
duke@435 38 ageTable.cpp collectorPolicy.hpp
duke@435 39 ageTable.cpp copy.hpp
duke@435 40 ageTable.cpp gcPolicyCounters.hpp
duke@435 41 ageTable.cpp resourceArea.hpp
duke@435 42 ageTable.cpp sharedHeap.hpp
duke@435 43
duke@435 44 ageTable.hpp markOop.hpp
duke@435 45 ageTable.hpp oop.hpp
duke@435 46 ageTable.hpp perfData.hpp
duke@435 47
duke@435 48 collectorCounters.cpp collectorCounters.hpp
duke@435 49 collectorCounters.cpp resourceArea.hpp
duke@435 50
duke@435 51 collectorCounters.hpp perfData.hpp
duke@435 52
duke@435 53 cSpaceCounters.cpp resourceArea.hpp
duke@435 54 cSpaceCounters.cpp cSpaceCounters.hpp
duke@435 55
duke@435 56 cSpaceCounters.hpp space.inline.hpp
duke@435 57 cSpaceCounters.hpp perfData.hpp
duke@435 58 cSpaceCounters.hpp generationCounters.hpp
duke@435 59
duke@435 60 gcPolicyCounters.cpp resourceArea.hpp
duke@435 61 gcPolicyCounters.cpp gcPolicyCounters.hpp
duke@435 62
duke@435 63 gcPolicyCounters.hpp perfData.hpp
duke@435 64
duke@435 65 gcStats.cpp gcStats.hpp
duke@435 66 gcStats.cpp gcUtil.hpp
duke@435 67
duke@435 68 gcStats.hpp gcUtil.hpp
duke@435 69
duke@435 70 gcUtil.cpp gcUtil.hpp
duke@435 71
duke@435 72 gcUtil.hpp allocation.hpp
duke@435 73 gcUtil.hpp debug.hpp
duke@435 74 gcUtil.hpp globalDefinitions.hpp
ysr@1580 75 gcUtil.hpp ostream.hpp
duke@435 76 gcUtil.hpp timer.hpp
duke@435 77
duke@435 78 generationCounters.cpp generationCounters.hpp
duke@435 79 generationCounters.cpp resourceArea.hpp
duke@435 80
duke@435 81 generationCounters.hpp perfData.hpp
duke@435 82 generationCounters.hpp virtualspace.hpp
duke@435 83
duke@435 84 immutableSpace.hpp iterator.hpp
duke@435 85
duke@435 86 liveRange.hpp copy.hpp
duke@435 87 liveRange.hpp memRegion.hpp
duke@435 88
duke@435 89 markSweep.cpp collectedHeap.inline.hpp
duke@435 90 markSweep.cpp markSweep.inline.hpp
duke@435 91 markSweep.cpp oop.inline.hpp
duke@435 92
duke@435 93 markSweep.hpp growableArray.hpp
duke@435 94 markSweep.hpp markOop.hpp
duke@435 95 markSweep.hpp oop.hpp
duke@435 96 markSweep.hpp timer.hpp
duke@435 97 markSweep.hpp universe.hpp
duke@435 98
duke@435 99 markSweep.inline.hpp collectedHeap.hpp
duke@435 100 markSweep.inline.hpp markSweep.hpp
duke@435 101
duke@435 102 mutableSpace.hpp immutableSpace.hpp
duke@435 103 mutableSpace.hpp memRegion.hpp
duke@435 104 mutableSpace.hpp copy.hpp
duke@435 105
duke@435 106 vmGCOperations.cpp vmGCOperations.hpp
duke@435 107 vmGCOperations.cpp dtrace.hpp
duke@435 108 vmGCOperations.cpp classLoader.hpp
duke@435 109 vmGCOperations.cpp gcLocker.inline.hpp
duke@435 110 vmGCOperations.cpp genCollectedHeap.hpp
duke@435 111 vmGCOperations.cpp handles.inline.hpp
duke@435 112 vmGCOperations.cpp init.hpp
duke@435 113 vmGCOperations.cpp instanceKlass.hpp
duke@435 114 vmGCOperations.cpp instanceRefKlass.hpp
duke@435 115 vmGCOperations.cpp interfaceSupport.hpp
duke@435 116 vmGCOperations.cpp javaClasses.hpp
duke@435 117 vmGCOperations.cpp jvmtiExport.hpp
duke@435 118 vmGCOperations.cpp oopFactory.hpp
duke@435 119 vmGCOperations.cpp preserveException.hpp
duke@435 120
duke@435 121 vmGCOperations.hpp vm_operations.hpp
duke@435 122 vmGCOperations.hpp heapInspection.hpp
duke@435 123 vmGCOperations.hpp handles.hpp
duke@435 124 vmGCOperations.hpp jniHandles.hpp
duke@435 125 vmGCOperations.hpp synchronizer.hpp

mercurial