src/share/vm/gc_implementation/includeDB_gc_parNew

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
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, 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.
coleenp@548 22 //
duke@435 23 //
duke@435 24
jmasa@698 25 asParNewGeneration.hpp adaptiveSizePolicy.hpp
jmasa@698 26 asParNewGeneration.hpp parNewGeneration.hpp
duke@435 27
jmasa@698 28 asParNewGeneration.cpp asParNewGeneration.hpp
jmasa@698 29 asParNewGeneration.cpp cmsAdaptiveSizePolicy.hpp
duke@435 30 asParNewGeneration.cpp cmsGCAdaptivePolicyCounters.hpp
jmasa@698 31 asParNewGeneration.cpp defNewGeneration.inline.hpp
coleenp@963 32 asParNewGeneration.cpp markOop.inline.hpp
coleenp@963 33 asParNewGeneration.cpp markSweep.inline.hpp
jmasa@698 34 asParNewGeneration.cpp oop.pcgc.inline.hpp
jmasa@698 35 asParNewGeneration.cpp parNewGeneration.hpp
duke@435 36 asParNewGeneration.cpp referencePolicy.hpp
jmasa@698 37 asParNewGeneration.cpp spaceDecorator.hpp
duke@435 38
duke@435 39 parCardTableModRefBS.cpp allocation.inline.hpp
duke@435 40 parCardTableModRefBS.cpp cardTableModRefBS.hpp
duke@435 41 parCardTableModRefBS.cpp cardTableRS.hpp
duke@435 42 parCardTableModRefBS.cpp java.hpp
duke@435 43 parCardTableModRefBS.cpp mutexLocker.hpp
duke@435 44 parCardTableModRefBS.cpp sharedHeap.hpp
coleenp@963 45 parCardTableModRefBS.cpp space.inline.hpp
duke@435 46 parCardTableModRefBS.cpp universe.hpp
duke@435 47 parCardTableModRefBS.cpp virtualspace.hpp
duke@435 48
duke@435 49 parGCAllocBuffer.cpp arrayOop.hpp
duke@435 50 parGCAllocBuffer.cpp oop.inline.hpp
duke@435 51 parGCAllocBuffer.cpp parGCAllocBuffer.hpp
duke@435 52 parGCAllocBuffer.cpp sharedHeap.hpp
duke@435 53
duke@435 54 parGCAllocBuffer.hpp allocation.hpp
duke@435 55 parGCAllocBuffer.hpp globalDefinitions.hpp
duke@435 56 parGCAllocBuffer.hpp threadLocalAllocBuffer.hpp
duke@435 57
duke@435 58 parNewGeneration.cpp adaptiveSizePolicy.hpp
duke@435 59 parNewGeneration.cpp ageTable.hpp
duke@435 60 parNewGeneration.cpp concurrentMarkSweepGeneration.hpp
duke@435 61 parNewGeneration.cpp copy.hpp
duke@435 62 parNewGeneration.cpp defNewGeneration.inline.hpp
duke@435 63 parNewGeneration.cpp genCollectedHeap.hpp
duke@435 64 parNewGeneration.cpp genOopClosures.inline.hpp
duke@435 65 parNewGeneration.cpp generation.hpp
duke@435 66 parNewGeneration.cpp generation.inline.hpp
duke@435 67 parNewGeneration.cpp globalDefinitions.hpp
duke@435 68 parNewGeneration.cpp handles.hpp
duke@435 69 parNewGeneration.cpp handles.inline.hpp
duke@435 70 parNewGeneration.cpp java.hpp
duke@435 71 parNewGeneration.cpp objArrayOop.hpp
coleenp@548 72 parNewGeneration.cpp oop.inline.hpp
duke@435 73 parNewGeneration.cpp oop.pcgc.inline.hpp
duke@435 74 parNewGeneration.cpp parGCAllocBuffer.hpp
duke@435 75 parNewGeneration.cpp parNewGeneration.hpp
duke@435 76 parNewGeneration.cpp parOopClosures.inline.hpp
duke@435 77 parNewGeneration.cpp referencePolicy.hpp
duke@435 78 parNewGeneration.cpp resourceArea.hpp
duke@435 79 parNewGeneration.cpp sharedHeap.hpp
duke@435 80 parNewGeneration.cpp space.hpp
jmasa@698 81 parNewGeneration.cpp spaceDecorator.hpp
ysr@969 82 parNewGeneration.cpp thread.hpp
duke@435 83 parNewGeneration.cpp workgroup.hpp
duke@435 84
duke@435 85 parNewGeneration.hpp defNewGeneration.hpp
duke@435 86 parNewGeneration.hpp parGCAllocBuffer.hpp
duke@435 87 parNewGeneration.hpp taskqueue.hpp
coleenp@548 88
coleenp@548 89 parOopClosures.hpp genOopClosures.hpp
coleenp@548 90
coleenp@548 91 parOopClosures.inline.hpp parNewGeneration.hpp
coleenp@548 92 parOopClosures.inline.hpp parOopClosures.hpp

mercurial