8238999: Remove MemRegion custom new/delete operator overloads
Reviewed-by: kbarrett, jiangli, iklam
This commit is contained in:
parent
301a2e19c3
commit
28c630046e
@ -261,20 +261,15 @@ void G1CMMarkStack::set_empty() {
|
||||
}
|
||||
|
||||
G1CMRootMemRegions::G1CMRootMemRegions(uint const max_regions) :
|
||||
_root_regions(NULL),
|
||||
_root_regions(MemRegion::create_array(max_regions, mtGC)),
|
||||
_max_regions(max_regions),
|
||||
_num_root_regions(0),
|
||||
_claimed_root_regions(0),
|
||||
_scan_in_progress(false),
|
||||
_should_abort(false) {
|
||||
_root_regions = new MemRegion[_max_regions];
|
||||
if (_root_regions == NULL) {
|
||||
vm_exit_during_initialization("Could not allocate root MemRegion set.");
|
||||
}
|
||||
}
|
||||
_should_abort(false) { }
|
||||
|
||||
G1CMRootMemRegions::~G1CMRootMemRegions() {
|
||||
delete[] _root_regions;
|
||||
FREE_C_HEAP_ARRAY(MemRegion, _root_regions);
|
||||
}
|
||||
|
||||
void G1CMRootMemRegions::reset() {
|
||||
|
@ -51,30 +51,19 @@ CardTable::CardTable(MemRegion whole_heap, bool conc_scan) :
|
||||
_byte_map(NULL),
|
||||
_byte_map_base(NULL),
|
||||
_cur_covered_regions(0),
|
||||
_covered(NULL),
|
||||
_committed(NULL),
|
||||
_covered(MemRegion::create_array(_max_covered_regions, mtGC)),
|
||||
_committed(MemRegion::create_array(_max_covered_regions, mtGC)),
|
||||
_guard_region()
|
||||
{
|
||||
assert((uintptr_t(_whole_heap.start()) & (card_size - 1)) == 0, "heap must start at card boundary");
|
||||
assert((uintptr_t(_whole_heap.end()) & (card_size - 1)) == 0, "heap must end at card boundary");
|
||||
|
||||
assert(card_size <= 512, "card_size must be less than 512"); // why?
|
||||
|
||||
_covered = new MemRegion[_max_covered_regions];
|
||||
if (_covered == NULL) {
|
||||
vm_exit_during_initialization("Could not allocate card table covered region set.");
|
||||
}
|
||||
}
|
||||
|
||||
CardTable::~CardTable() {
|
||||
if (_covered) {
|
||||
delete[] _covered;
|
||||
_covered = NULL;
|
||||
}
|
||||
if (_committed) {
|
||||
delete[] _committed;
|
||||
_committed = NULL;
|
||||
}
|
||||
FREE_C_HEAP_ARRAY(MemRegion, _covered);
|
||||
FREE_C_HEAP_ARRAY(MemRegion, _committed);
|
||||
}
|
||||
|
||||
void CardTable::initialize() {
|
||||
@ -87,10 +76,6 @@ void CardTable::initialize() {
|
||||
HeapWord* high_bound = _whole_heap.end();
|
||||
|
||||
_cur_covered_regions = 0;
|
||||
_committed = new MemRegion[_max_covered_regions];
|
||||
if (_committed == NULL) {
|
||||
vm_exit_during_initialization("Could not allocate card table committed region set.");
|
||||
}
|
||||
|
||||
const size_t rs_align = _page_size == (size_t) os::vm_page_size() ? 0 :
|
||||
MAX2(_page_size, (size_t) os::vm_allocation_granularity());
|
||||
|
@ -1747,7 +1747,7 @@ void FileMapInfo::map_heap_regions() {
|
||||
|
||||
bool FileMapInfo::map_heap_data(MemRegion **heap_mem, int first,
|
||||
int max, int* num, bool is_open_archive) {
|
||||
MemRegion * regions = new MemRegion[max];
|
||||
MemRegion* regions = MemRegion::create_array(max, mtInternal);
|
||||
FileMapRegion* si;
|
||||
int region_num = 0;
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -102,19 +102,10 @@ MemRegion MemRegion::minus(const MemRegion mr2) const {
|
||||
return MemRegion();
|
||||
}
|
||||
|
||||
void* MemRegion::operator new(size_t size) throw() {
|
||||
return (address)AllocateHeap(size, mtGC, CURRENT_PC,
|
||||
AllocFailStrategy::RETURN_NULL);
|
||||
}
|
||||
|
||||
void* MemRegion::operator new [](size_t size) throw() {
|
||||
return (address)AllocateHeap(size, mtGC, CURRENT_PC,
|
||||
AllocFailStrategy::RETURN_NULL);
|
||||
}
|
||||
void MemRegion::operator delete(void* p) {
|
||||
FreeHeap(p);
|
||||
}
|
||||
|
||||
void MemRegion::operator delete [](void* p) {
|
||||
FreeHeap(p);
|
||||
MemRegion* MemRegion::create_array(uint length, MEMFLAGS flags) {
|
||||
MemRegion* result = NEW_C_HEAP_ARRAY(MemRegion, length, flags);
|
||||
for (uint i = 0; i < length; i++) {
|
||||
::new (&result[i]) MemRegion();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
@ -92,10 +92,9 @@ public:
|
||||
size_t word_size() const { return _word_size; }
|
||||
|
||||
bool is_empty() const { return word_size() == 0; }
|
||||
void* operator new(size_t size) throw();
|
||||
void* operator new [](size_t size) throw();
|
||||
void operator delete(void* p);
|
||||
void operator delete [](void* p);
|
||||
|
||||
// Creates and initializes an array of MemRegions of the given length.
|
||||
static MemRegion* create_array(uint length, MEMFLAGS flags);
|
||||
};
|
||||
|
||||
// For iteration over MemRegion's.
|
||||
|
Loading…
Reference in New Issue
Block a user