annotate src/share/vm/gc_implementation/includeDB_gc_parNew @ 1091:6aa7255741f3

6906727: UseCompressedOops: some card-marking fixes related to object arrays Summary: Introduced a new write_ref_array(HeapWords* start, size_t count) method that does the requisite MemRegion range calculation so (some of the) clients of the erstwhile write_ref_array(MemRegion mr) do not need to worry. This removed all external uses of array_size(), which was also simplified and made private. Asserts were added to catch other possible issues. Further, less essential, fixes stemming from this investigation are deferred to CR 6904516 (to follow shortly in hs17). Reviewed-by: kvn, coleenp, jmasa
author ysr
date Thu, 03 Dec 2009 15:01:57 -0800
parents 5b39c489c39d
children c18cbe5936b8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1 //
a61af66fc99e Initial load
duke
parents:
diff changeset
2 // Copyright (c) 2007 Sun Microsystems, Inc. All Rights Reserved.
a61af66fc99e Initial load
duke
parents:
diff changeset
3 // DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
a61af66fc99e Initial load
duke
parents:
diff changeset
4 //
a61af66fc99e Initial load
duke
parents:
diff changeset
5 // This code is free software; you can redistribute it and/or modify it
a61af66fc99e Initial load
duke
parents:
diff changeset
6 // under the terms of the GNU General Public License version 2 only, as
a61af66fc99e Initial load
duke
parents:
diff changeset
7 // published by the Free Software Foundation.
a61af66fc99e Initial load
duke
parents:
diff changeset
8 //
a61af66fc99e Initial load
duke
parents:
diff changeset
9 // This code is distributed in the hope that it will be useful, but WITHOUT
a61af66fc99e Initial load
duke
parents:
diff changeset
10 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
a61af66fc99e Initial load
duke
parents:
diff changeset
11 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
a61af66fc99e Initial load
duke
parents:
diff changeset
12 // version 2 for more details (a copy is included in the LICENSE file that
a61af66fc99e Initial load
duke
parents:
diff changeset
13 // accompanied this code).
a61af66fc99e Initial load
duke
parents:
diff changeset
14 //
a61af66fc99e Initial load
duke
parents:
diff changeset
15 // You should have received a copy of the GNU General Public License version
a61af66fc99e Initial load
duke
parents:
diff changeset
16 // 2 along with this work; if not, write to the Free Software Foundation,
a61af66fc99e Initial load
duke
parents:
diff changeset
17 // Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
a61af66fc99e Initial load
duke
parents:
diff changeset
18 //
a61af66fc99e Initial load
duke
parents:
diff changeset
19 // Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
a61af66fc99e Initial load
duke
parents:
diff changeset
20 // CA 95054 USA or visit www.sun.com if you need additional information or
a61af66fc99e Initial load
duke
parents:
diff changeset
21 // have any questions.
113
ba764ed4b6f2 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 0
diff changeset
22 //
0
a61af66fc99e Initial load
duke
parents:
diff changeset
23 //
a61af66fc99e Initial load
duke
parents:
diff changeset
24
263
12eea04c8b06 6672698: mangle_unused_area() should not remangle the entire heap at each collection.
jmasa
parents: 113
diff changeset
25 asParNewGeneration.hpp adaptiveSizePolicy.hpp
12eea04c8b06 6672698: mangle_unused_area() should not remangle the entire heap at each collection.
jmasa
parents: 113
diff changeset
26 asParNewGeneration.hpp parNewGeneration.hpp
0
a61af66fc99e Initial load
duke
parents:
diff changeset
27
263
12eea04c8b06 6672698: mangle_unused_area() should not remangle the entire heap at each collection.
jmasa
parents: 113
diff changeset
28 asParNewGeneration.cpp asParNewGeneration.hpp
12eea04c8b06 6672698: mangle_unused_area() should not remangle the entire heap at each collection.
jmasa
parents: 113
diff changeset
29 asParNewGeneration.cpp cmsAdaptiveSizePolicy.hpp
0
a61af66fc99e Initial load
duke
parents:
diff changeset
30 asParNewGeneration.cpp cmsGCAdaptivePolicyCounters.hpp
263
12eea04c8b06 6672698: mangle_unused_area() should not remangle the entire heap at each collection.
jmasa
parents: 113
diff changeset
31 asParNewGeneration.cpp defNewGeneration.inline.hpp
528
37b3ca071522 6793825: Missing include dependancies for GCC without predefined headers
coleenp
parents: 263
diff changeset
32 asParNewGeneration.cpp markOop.inline.hpp
37b3ca071522 6793825: Missing include dependancies for GCC without predefined headers
coleenp
parents: 263
diff changeset
33 asParNewGeneration.cpp markSweep.inline.hpp
263
12eea04c8b06 6672698: mangle_unused_area() should not remangle the entire heap at each collection.
jmasa
parents: 113
diff changeset
34 asParNewGeneration.cpp oop.pcgc.inline.hpp
12eea04c8b06 6672698: mangle_unused_area() should not remangle the entire heap at each collection.
jmasa
parents: 113
diff changeset
35 asParNewGeneration.cpp parNewGeneration.hpp
0
a61af66fc99e Initial load
duke
parents:
diff changeset
36 asParNewGeneration.cpp referencePolicy.hpp
263
12eea04c8b06 6672698: mangle_unused_area() should not remangle the entire heap at each collection.
jmasa
parents: 113
diff changeset
37 asParNewGeneration.cpp spaceDecorator.hpp
0
a61af66fc99e Initial load
duke
parents:
diff changeset
38
a61af66fc99e Initial load
duke
parents:
diff changeset
39 parCardTableModRefBS.cpp allocation.inline.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
40 parCardTableModRefBS.cpp cardTableModRefBS.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
41 parCardTableModRefBS.cpp cardTableRS.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
42 parCardTableModRefBS.cpp java.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
43 parCardTableModRefBS.cpp mutexLocker.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
44 parCardTableModRefBS.cpp sharedHeap.hpp
528
37b3ca071522 6793825: Missing include dependancies for GCC without predefined headers
coleenp
parents: 263
diff changeset
45 parCardTableModRefBS.cpp space.inline.hpp
0
a61af66fc99e Initial load
duke
parents:
diff changeset
46 parCardTableModRefBS.cpp universe.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
47 parCardTableModRefBS.cpp virtualspace.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
48
a61af66fc99e Initial load
duke
parents:
diff changeset
49 parGCAllocBuffer.cpp arrayOop.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
50 parGCAllocBuffer.cpp oop.inline.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
51 parGCAllocBuffer.cpp parGCAllocBuffer.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
52 parGCAllocBuffer.cpp sharedHeap.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
53
a61af66fc99e Initial load
duke
parents:
diff changeset
54 parGCAllocBuffer.hpp allocation.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
55 parGCAllocBuffer.hpp globalDefinitions.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
56 parGCAllocBuffer.hpp threadLocalAllocBuffer.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
57
a61af66fc99e Initial load
duke
parents:
diff changeset
58 parNewGeneration.cpp adaptiveSizePolicy.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
59 parNewGeneration.cpp ageTable.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
60 parNewGeneration.cpp concurrentMarkSweepGeneration.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
61 parNewGeneration.cpp copy.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
62 parNewGeneration.cpp defNewGeneration.inline.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
63 parNewGeneration.cpp genCollectedHeap.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
64 parNewGeneration.cpp genOopClosures.inline.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
65 parNewGeneration.cpp generation.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
66 parNewGeneration.cpp generation.inline.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
67 parNewGeneration.cpp globalDefinitions.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
68 parNewGeneration.cpp handles.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
69 parNewGeneration.cpp handles.inline.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
70 parNewGeneration.cpp java.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
71 parNewGeneration.cpp objArrayOop.hpp
113
ba764ed4b6f2 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 0
diff changeset
72 parNewGeneration.cpp oop.inline.hpp
0
a61af66fc99e Initial load
duke
parents:
diff changeset
73 parNewGeneration.cpp oop.pcgc.inline.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
74 parNewGeneration.cpp parGCAllocBuffer.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
75 parNewGeneration.cpp parNewGeneration.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
76 parNewGeneration.cpp parOopClosures.inline.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
77 parNewGeneration.cpp referencePolicy.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
78 parNewGeneration.cpp resourceArea.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
79 parNewGeneration.cpp sharedHeap.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
80 parNewGeneration.cpp space.hpp
263
12eea04c8b06 6672698: mangle_unused_area() should not remangle the entire heap at each collection.
jmasa
parents: 113
diff changeset
81 parNewGeneration.cpp spaceDecorator.hpp
534
5cfd8d19e546 6786503: Overflow list performance can be improved
ysr
parents: 263
diff changeset
82 parNewGeneration.cpp thread.hpp
0
a61af66fc99e Initial load
duke
parents:
diff changeset
83 parNewGeneration.cpp workgroup.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
84
a61af66fc99e Initial load
duke
parents:
diff changeset
85 parNewGeneration.hpp defNewGeneration.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
86 parNewGeneration.hpp parGCAllocBuffer.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
87 parNewGeneration.hpp taskqueue.hpp
113
ba764ed4b6f2 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 0
diff changeset
88
ba764ed4b6f2 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 0
diff changeset
89 parOopClosures.hpp genOopClosures.hpp
ba764ed4b6f2 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 0
diff changeset
90
ba764ed4b6f2 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 0
diff changeset
91 parOopClosures.inline.hpp parNewGeneration.hpp
ba764ed4b6f2 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 0
diff changeset
92 parOopClosures.inline.hpp parOopClosures.hpp