16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #include "precompiled.hpp"
26 #include "gc/g1/g1CollectedHeap.inline.hpp"
27 #include "gc/g1/g1ConcurrentMark.inline.hpp"
28 #include "gc/g1/g1CardLiveData.inline.hpp"
29 #include "gc/g1/suspendibleThreadSet.hpp"
30 #include "gc/shared/workgroup.hpp"
31 #include "logging/log.hpp"
32 #include "memory/universe.hpp"
33 #include "runtime/atomic.hpp"
34 #include "runtime/globals.hpp"
35 #include "runtime/os.hpp"
36 #include "utilities/bitMap.inline.hpp"
37 #include "utilities/debug.hpp"
38
39 G1CardLiveData::G1CardLiveData() :
40 _max_capacity(0),
41 _cards_per_region(0),
42 _gc_timestamp_at_create(0),
43 _live_regions(NULL),
44 _live_regions_size_in_bits(0),
45 _live_cards(NULL),
46 _live_cards_size_in_bits(0) {
47 }
48
49 G1CardLiveData::~G1CardLiveData() {
50 free_large_bitmap(_live_cards, _live_cards_size_in_bits);
51 free_large_bitmap(_live_regions, _live_regions_size_in_bits);
52 }
53
54 G1CardLiveData::bm_word_t* G1CardLiveData::allocate_large_bitmap(size_t size_in_bits) {
55 size_t size_in_words = BitMap::calc_size_in_words(size_in_bits);
|
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #include "precompiled.hpp"
26 #include "gc/g1/g1CollectedHeap.inline.hpp"
27 #include "gc/g1/g1ConcurrentMark.inline.hpp"
28 #include "gc/g1/g1CardLiveData.inline.hpp"
29 #include "gc/g1/suspendibleThreadSet.hpp"
30 #include "gc/shared/workgroup.hpp"
31 #include "logging/log.hpp"
32 #include "memory/universe.hpp"
33 #include "runtime/atomic.hpp"
34 #include "runtime/globals.hpp"
35 #include "runtime/os.hpp"
36 #include "utilities/align.hpp"
37 #include "utilities/bitMap.inline.hpp"
38 #include "utilities/debug.hpp"
39
40 G1CardLiveData::G1CardLiveData() :
41 _max_capacity(0),
42 _cards_per_region(0),
43 _gc_timestamp_at_create(0),
44 _live_regions(NULL),
45 _live_regions_size_in_bits(0),
46 _live_cards(NULL),
47 _live_cards_size_in_bits(0) {
48 }
49
50 G1CardLiveData::~G1CardLiveData() {
51 free_large_bitmap(_live_cards, _live_cards_size_in_bits);
52 free_large_bitmap(_live_regions, _live_regions_size_in_bits);
53 }
54
55 G1CardLiveData::bm_word_t* G1CardLiveData::allocate_large_bitmap(size_t size_in_bits) {
56 size_t size_in_words = BitMap::calc_size_in_words(size_in_bits);
|