8339399: ZGC: Remove unnecessary page reset when splitting pages
Reviewed-by: stefank, eosterlund, aboldtch
This commit is contained in:
parent
f2c992c5af
commit
a61860511f
@ -97,11 +97,6 @@ void ZPage::verify_remset_after_reset(ZPageAge prev_age, ZPageResetType type) {
|
|||||||
|
|
||||||
// Old-to-old reset
|
// Old-to-old reset
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case ZPageResetType::Splitting:
|
|
||||||
// Page is on the way to be destroyed or reused, delay
|
|
||||||
// clearing until the page is reset for Allocation.
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ZPageResetType::InPlaceRelocation:
|
case ZPageResetType::InPlaceRelocation:
|
||||||
// Relocation failed and page is being compacted in-place.
|
// Relocation failed and page is being compacted in-place.
|
||||||
// The remset bits are flipped each young mark start, so
|
// The remset bits are flipped each young mark start, so
|
||||||
@ -188,11 +183,9 @@ ZPage* ZPage::split(size_t split_of_size) {
|
|||||||
ZPage* ZPage::split_with_pmem(ZPageType type, const ZPhysicalMemory& pmem) {
|
ZPage* ZPage::split_with_pmem(ZPageType type, const ZPhysicalMemory& pmem) {
|
||||||
// Resize this page
|
// Resize this page
|
||||||
const ZVirtualMemory vmem = _virtual.split(pmem.size());
|
const ZVirtualMemory vmem = _virtual.split(pmem.size());
|
||||||
|
assert(vmem.end() == _virtual.start(), "Should be consecutive");
|
||||||
|
|
||||||
reset_type_and_size(type_from_size(_virtual.size()));
|
reset_type_and_size(type_from_size(_virtual.size()));
|
||||||
reset(_age, ZPageResetType::Splitting);
|
|
||||||
|
|
||||||
assert(vmem.end() == _virtual.start(), "Should be consecutive");
|
|
||||||
|
|
||||||
log_trace(gc, page)("Split page [" PTR_FORMAT ", " PTR_FORMAT ", " PTR_FORMAT "]",
|
log_trace(gc, page)("Split page [" PTR_FORMAT ", " PTR_FORMAT ", " PTR_FORMAT "]",
|
||||||
untype(vmem.start()),
|
untype(vmem.start()),
|
||||||
|
@ -44,8 +44,6 @@ enum class ZPageResetType {
|
|||||||
// Page was not selected for relocation, all objects
|
// Page was not selected for relocation, all objects
|
||||||
// stayed, but the page aged.
|
// stayed, but the page aged.
|
||||||
FlipAging,
|
FlipAging,
|
||||||
// The page was split and needs to be reset
|
|
||||||
Splitting,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class ZPage : public CHeapObj<mtGC> {
|
class ZPage : public CHeapObj<mtGC> {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user