mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-26 14:24:46 +02:00
6786503: Overflow list performance can be improved
Avoid overflow list walk in CMS & ParNew when it is unnecessary. Fix a couple of correctness issues, including a C-heap leak, in ParNew at the intersection of promotion failure, work queue overflow and object array chunking. Add stress testing option and related assertion checking. Reviewed-by: jmasa
This commit is contained in:
parent
8109aa4a16
commit
f031c45430
7 changed files with 294 additions and 78 deletions
|
@ -721,12 +721,6 @@ ReferenceProcessor::process_phase3(DiscoveredList& refs_list,
|
|||
iter.obj(), iter.obj()->blueprint()->internal_name());
|
||||
}
|
||||
assert(iter.obj()->is_oop(UseConcMarkSweepGC), "Adding a bad reference");
|
||||
// If discovery is concurrent, we may have objects with null referents,
|
||||
// being those that were concurrently cleared after they were discovered
|
||||
// (and not subsequently precleaned).
|
||||
assert( (discovery_is_atomic() && iter.referent()->is_oop())
|
||||
|| (!discovery_is_atomic() && iter.referent()->is_oop_or_null(UseConcMarkSweepGC)),
|
||||
"Adding a bad referent");
|
||||
iter.next();
|
||||
}
|
||||
// Remember to keep sentinel pointer around
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue