annotate src/share/vm/gc_implementation/g1/heapRegionSet.inline.hpp @ 12233:40136aa2cdb1

8010722: assert: failed: heap size is too big for compressed oops Summary: Use conservative assumptions of required alignment for the various garbage collector components into account when determining the maximum heap size that supports compressed oops. Using this conservative value avoids several circular dependencies in the calculation. Reviewed-by: stefank, dholmes
author tschatzl
date Wed, 11 Sep 2013 16:25:02 +0200
parents a2f7274eb6ef
children 992f62c457b0 58fc1b1523dc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2152
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
1 /*
6010
720b6a76dd9d 7157073: G1: type change size_t -> uint for region counts / indexes
tonyp
parents: 3860
diff changeset
2 * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
2152
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
4 *
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
5 * This code is free software; you can redistribute it and/or modify it
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
6 * under the terms of the GNU General Public License version 2 only, as
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
7 * published by the Free Software Foundation.
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
8 *
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
9 * This code is distributed in the hope that it will be useful, but WITHOUT
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
12 * version 2 for more details (a copy is included in the LICENSE file that
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
13 * accompanied this code).
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
14 *
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
15 * You should have received a copy of the GNU General Public License version
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
16 * 2 along with this work; if not, write to the Free Software Foundation,
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
18 *
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
20 * or visit www.oracle.com if you need additional information or have any
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
21 * questions.
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
22 *
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
23 */
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
24
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
25 #ifndef SHARE_VM_GC_IMPLEMENTATION_G1_HEAPREGIONSET_INLINE_HPP
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
26 #define SHARE_VM_GC_IMPLEMENTATION_G1_HEAPREGIONSET_INLINE_HPP
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
27
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
28 #include "gc_implementation/g1/heapRegionSet.hpp"
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
29
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
30 //////////////////// HeapRegionSetBase ////////////////////
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
31
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
32 inline void HeapRegionSetBase::update_for_addition(HeapRegion* hr) {
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
33 // Assumes the caller has already verified the region.
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
34
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
35 _length += 1;
6254
a2f7274eb6ef 7114678: G1: various small fixes, code cleanup, and refactoring
tonyp
parents: 6010
diff changeset
36 _region_num += hr->region_num();
2152
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
37 _total_used_bytes += hr->used();
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
38 }
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
39
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
40 inline void HeapRegionSetBase::add_internal(HeapRegion* hr) {
2361
1216415d8e35 7014923: G1: code cleanup
tonyp
parents: 2152
diff changeset
41 hrs_assert_region_ok(this, hr, NULL);
1216415d8e35 7014923: G1: code cleanup
tonyp
parents: 2152
diff changeset
42 assert(hr->next() == NULL, hrs_ext_msg(this, "should not already be linked"));
2152
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
43
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
44 update_for_addition(hr);
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
45 hr->set_containing_set(this);
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
46 }
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
47
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
48 inline void HeapRegionSetBase::update_for_removal(HeapRegion* hr) {
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
49 // Assumes the caller has already verified the region.
2361
1216415d8e35 7014923: G1: code cleanup
tonyp
parents: 2152
diff changeset
50 assert(_length > 0, hrs_ext_msg(this, "pre-condition"));
2152
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
51 _length -= 1;
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
52
6254
a2f7274eb6ef 7114678: G1: various small fixes, code cleanup, and refactoring
tonyp
parents: 6010
diff changeset
53 uint region_num_diff = hr->region_num();
2152
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
54 assert(region_num_diff <= _region_num,
6010
720b6a76dd9d 7157073: G1: type change size_t -> uint for region counts / indexes
tonyp
parents: 3860
diff changeset
55 hrs_err_msg("[%s] region's region num: %u "
720b6a76dd9d 7157073: G1: type change size_t -> uint for region counts / indexes
tonyp
parents: 3860
diff changeset
56 "should be <= region num: %u",
2152
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
57 name(), region_num_diff, _region_num));
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
58 _region_num -= region_num_diff;
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
59
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
60 size_t used_bytes = hr->used();
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
61 assert(used_bytes <= _total_used_bytes,
2361
1216415d8e35 7014923: G1: code cleanup
tonyp
parents: 2152
diff changeset
62 hrs_err_msg("[%s] region's used bytes: "SIZE_FORMAT" "
2152
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
63 "should be <= used bytes: "SIZE_FORMAT,
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
64 name(), used_bytes, _total_used_bytes));
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
65 _total_used_bytes -= used_bytes;
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
66 }
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
67
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
68 inline void HeapRegionSetBase::remove_internal(HeapRegion* hr) {
2361
1216415d8e35 7014923: G1: code cleanup
tonyp
parents: 2152
diff changeset
69 hrs_assert_region_ok(this, hr, this);
1216415d8e35 7014923: G1: code cleanup
tonyp
parents: 2152
diff changeset
70 assert(hr->next() == NULL, hrs_ext_msg(this, "should already be unlinked"));
2152
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
71
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
72 hr->set_containing_set(NULL);
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
73 update_for_removal(hr);
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
74 }
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
75
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
76 //////////////////// HeapRegionSet ////////////////////
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
77
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
78 inline void HeapRegionSet::add(HeapRegion* hr) {
2361
1216415d8e35 7014923: G1: code cleanup
tonyp
parents: 2152
diff changeset
79 hrs_assert_mt_safety_ok(this);
2152
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
80 // add_internal() will verify the region.
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
81 add_internal(hr);
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
82 }
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
83
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
84 inline void HeapRegionSet::remove(HeapRegion* hr) {
2361
1216415d8e35 7014923: G1: code cleanup
tonyp
parents: 2152
diff changeset
85 hrs_assert_mt_safety_ok(this);
2152
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
86 // remove_internal() will verify the region.
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
87 remove_internal(hr);
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
88 }
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
89
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
90 inline void HeapRegionSet::remove_with_proxy(HeapRegion* hr,
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
91 HeapRegionSet* proxy_set) {
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
92 // No need to fo the MT safety check here given that this method
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
93 // does not update the contents of the set but instead accumulates
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
94 // the changes in proxy_set which is assumed to be thread-local.
2361
1216415d8e35 7014923: G1: code cleanup
tonyp
parents: 2152
diff changeset
95 hrs_assert_sets_match(this, proxy_set);
1216415d8e35 7014923: G1: code cleanup
tonyp
parents: 2152
diff changeset
96 hrs_assert_region_ok(this, hr, this);
2152
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
97
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
98 hr->set_containing_set(NULL);
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
99 proxy_set->update_for_addition(hr);
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
100 }
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
101
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
102 //////////////////// HeapRegionLinkedList ////////////////////
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
103
2432
455328d90876 7029458: G1: Add newly-reclaimed regions to the beginning of the region free list, not the end
tonyp
parents: 2361
diff changeset
104 inline void HeapRegionLinkedList::add_as_head(HeapRegion* hr) {
455328d90876 7029458: G1: Add newly-reclaimed regions to the beginning of the region free list, not the end
tonyp
parents: 2361
diff changeset
105 hrs_assert_mt_safety_ok(this);
455328d90876 7029458: G1: Add newly-reclaimed regions to the beginning of the region free list, not the end
tonyp
parents: 2361
diff changeset
106 assert((length() == 0 && _head == NULL && _tail == NULL) ||
455328d90876 7029458: G1: Add newly-reclaimed regions to the beginning of the region free list, not the end
tonyp
parents: 2361
diff changeset
107 (length() > 0 && _head != NULL && _tail != NULL),
455328d90876 7029458: G1: Add newly-reclaimed regions to the beginning of the region free list, not the end
tonyp
parents: 2361
diff changeset
108 hrs_ext_msg(this, "invariant"));
455328d90876 7029458: G1: Add newly-reclaimed regions to the beginning of the region free list, not the end
tonyp
parents: 2361
diff changeset
109 // add_internal() will verify the region.
455328d90876 7029458: G1: Add newly-reclaimed regions to the beginning of the region free list, not the end
tonyp
parents: 2361
diff changeset
110 add_internal(hr);
455328d90876 7029458: G1: Add newly-reclaimed regions to the beginning of the region free list, not the end
tonyp
parents: 2361
diff changeset
111
455328d90876 7029458: G1: Add newly-reclaimed regions to the beginning of the region free list, not the end
tonyp
parents: 2361
diff changeset
112 // Now link the region.
455328d90876 7029458: G1: Add newly-reclaimed regions to the beginning of the region free list, not the end
tonyp
parents: 2361
diff changeset
113 if (_head != NULL) {
455328d90876 7029458: G1: Add newly-reclaimed regions to the beginning of the region free list, not the end
tonyp
parents: 2361
diff changeset
114 hr->set_next(_head);
455328d90876 7029458: G1: Add newly-reclaimed regions to the beginning of the region free list, not the end
tonyp
parents: 2361
diff changeset
115 } else {
455328d90876 7029458: G1: Add newly-reclaimed regions to the beginning of the region free list, not the end
tonyp
parents: 2361
diff changeset
116 _tail = hr;
455328d90876 7029458: G1: Add newly-reclaimed regions to the beginning of the region free list, not the end
tonyp
parents: 2361
diff changeset
117 }
455328d90876 7029458: G1: Add newly-reclaimed regions to the beginning of the region free list, not the end
tonyp
parents: 2361
diff changeset
118 _head = hr;
455328d90876 7029458: G1: Add newly-reclaimed regions to the beginning of the region free list, not the end
tonyp
parents: 2361
diff changeset
119 }
455328d90876 7029458: G1: Add newly-reclaimed regions to the beginning of the region free list, not the end
tonyp
parents: 2361
diff changeset
120
2152
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
121 inline void HeapRegionLinkedList::add_as_tail(HeapRegion* hr) {
2361
1216415d8e35 7014923: G1: code cleanup
tonyp
parents: 2152
diff changeset
122 hrs_assert_mt_safety_ok(this);
2152
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
123 assert((length() == 0 && _head == NULL && _tail == NULL) ||
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
124 (length() > 0 && _head != NULL && _tail != NULL),
2361
1216415d8e35 7014923: G1: code cleanup
tonyp
parents: 2152
diff changeset
125 hrs_ext_msg(this, "invariant"));
2152
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
126 // add_internal() will verify the region.
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
127 add_internal(hr);
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
128
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
129 // Now link the region.
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
130 if (_tail != NULL) {
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
131 _tail->set_next(hr);
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
132 } else {
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
133 _head = hr;
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
134 }
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
135 _tail = hr;
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
136 }
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
137
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
138 inline HeapRegion* HeapRegionLinkedList::remove_head() {
2361
1216415d8e35 7014923: G1: code cleanup
tonyp
parents: 2152
diff changeset
139 hrs_assert_mt_safety_ok(this);
1216415d8e35 7014923: G1: code cleanup
tonyp
parents: 2152
diff changeset
140 assert(!is_empty(), hrs_ext_msg(this, "the list should not be empty"));
2152
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
141 assert(length() > 0 && _head != NULL && _tail != NULL,
2361
1216415d8e35 7014923: G1: code cleanup
tonyp
parents: 2152
diff changeset
142 hrs_ext_msg(this, "invariant"));
2152
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
143
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
144 // We need to unlink it first.
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
145 HeapRegion* hr = _head;
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
146 _head = hr->next();
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
147 if (_head == NULL) {
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
148 _tail = NULL;
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
149 }
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
150 hr->set_next(NULL);
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
151
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
152 // remove_internal() will verify the region.
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
153 remove_internal(hr);
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
154 return hr;
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
155 }
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
156
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
157 inline HeapRegion* HeapRegionLinkedList::remove_head_or_null() {
2361
1216415d8e35 7014923: G1: code cleanup
tonyp
parents: 2152
diff changeset
158 hrs_assert_mt_safety_ok(this);
2152
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
159
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
160 if (!is_empty()) {
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
161 return remove_head();
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
162 } else {
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
163 return NULL;
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
164 }
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
165 }
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
166
0fa27f37d4d4 6977804: G1: remove the zero-filling thread
tonyp
parents:
diff changeset
167 #endif // SHARE_VM_GC_IMPLEMENTATION_G1_HEAPREGIONSET_INLINE_HPP