mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 06:45:07 +02:00
6824570: ParNew: Fix memory leak introduced in 6819891
Allocate worker-local overflow stacks, introduced in 6819891, along with ParNewGeneration, rather than with the per-scavenge ParScanThreadState. Reviewed-by: jmasa
This commit is contained in:
parent
137a679446
commit
ce3f3161da
4 changed files with 48 additions and 17 deletions
|
@ -971,7 +971,7 @@ void Arguments::set_parnew_gc_flags() {
|
|||
} else {
|
||||
no_shared_spaces();
|
||||
|
||||
// By default YoungPLABSize and OldPLABSize are set to 4096 and 1024 correspondinly,
|
||||
// By default YoungPLABSize and OldPLABSize are set to 4096 and 1024 respectively,
|
||||
// these settings are default for Parallel Scavenger. For ParNew+Tenured configuration
|
||||
// we set them to 1024 and 1024.
|
||||
// See CR 6362902.
|
||||
|
@ -987,6 +987,16 @@ void Arguments::set_parnew_gc_flags() {
|
|||
if (AlwaysTenure) {
|
||||
FLAG_SET_CMDLINE(intx, MaxTenuringThreshold, 0);
|
||||
}
|
||||
// When using compressed oops, we use local overflow stacks,
|
||||
// rather than using a global overflow list chained through
|
||||
// the klass word of the object's pre-image.
|
||||
if (UseCompressedOops && !ParGCUseLocalOverflow) {
|
||||
if (!FLAG_IS_DEFAULT(ParGCUseLocalOverflow)) {
|
||||
warning("Forcing +ParGCUseLocalOverflow: needed if using compressed references");
|
||||
}
|
||||
FLAG_SET_DEFAULT(ParGCUseLocalOverflow, true);
|
||||
}
|
||||
assert(ParGCUseLocalOverflow || !UseCompressedOops, "Error");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue