8380649: Parallel: Inline initialize_region_data and create_vspace of ParallelCompactData

Reviewed-by: iwalulya, tschatzl
This commit is contained in:
Albert Mingkun Yang 2026-03-31 15:01:10 +00:00
parent 8c38e725a5
commit e3a66f0170
2 changed files with 12 additions and 30 deletions

View File

@ -232,14 +232,10 @@ bool ParallelCompactData::initialize(MemRegion reserved_heap)
assert(region_align_down(_heap_start) == _heap_start,
"region start not aligned");
assert(is_aligned(heap_size, RegionSize), "precondition");
return initialize_region_data(heap_size);
}
PSVirtualSpace*
ParallelCompactData::create_vspace(size_t count, size_t element_size)
{
const size_t raw_bytes = count * element_size;
const size_t count = heap_size >> Log2RegionSize;
const size_t raw_bytes = count * sizeof(RegionData);
const size_t page_sz = os::page_size_for_region_aligned(raw_bytes, 10);
const size_t granularity = os::vm_allocation_granularity();
const size_t rs_align = MAX2(page_sz, granularity);
@ -253,7 +249,7 @@ ParallelCompactData::create_vspace(size_t count, size_t element_size)
if (!rs.is_reserved()) {
// Failed to reserve memory.
return nullptr;
return false;
}
os::trace_page_sizes("Parallel Compact Data", raw_bytes, raw_bytes, rs.base(),
@ -261,34 +257,23 @@ ParallelCompactData::create_vspace(size_t count, size_t element_size)
MemTracker::record_virtual_memory_tag(rs, mtGC);
PSVirtualSpace* vspace = new PSVirtualSpace(rs, page_sz);
PSVirtualSpace* region_vspace = new PSVirtualSpace(rs, page_sz);
if (!vspace->expand_by(_reserved_byte_size)) {
if (!region_vspace->expand_by(_reserved_byte_size)) {
// Failed to commit memory.
delete vspace;
delete region_vspace;
// Release memory reserved in the space.
MemoryReserver::release(rs);
return nullptr;
return false;
}
return vspace;
}
bool ParallelCompactData::initialize_region_data(size_t heap_size)
{
assert(is_aligned(heap_size, RegionSize), "precondition");
const size_t count = heap_size >> Log2RegionSize;
_region_vspace = create_vspace(count, sizeof(RegionData));
if (_region_vspace != nullptr) {
_region_data = (RegionData*)_region_vspace->reserved_low_addr();
_region_count = count;
return true;
}
return false;
_region_vspace = region_vspace;
_region_data = (RegionData*)_region_vspace->reserved_low_addr();
_region_count = count;
return true;
}
void ParallelCompactData::clear_range(size_t beg_region, size_t end_region) {

View File

@ -395,9 +395,6 @@ public:
#endif // #ifdef ASSERT
private:
bool initialize_region_data(size_t heap_size);
PSVirtualSpace* create_vspace(size_t count, size_t element_size);
HeapWord* _heap_start;
#ifdef ASSERT
HeapWord* _heap_end;