mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-17 17:44:40 +02:00
8146987: Improve Parallel GC Full GC by caching results of live_words_in_range()
A large part of time in the parallel scavenge collector is spent finding out the amount of live words within memory ranges to find out where to move an object to. Try to incrementally calculate this value. Reviewed-by: tschatzl, mgerdin, jmasa
This commit is contained in:
parent
ce491c9057
commit
4f42f17d9e
17 changed files with 180 additions and 81 deletions
|
@ -650,11 +650,11 @@ void oopDesc::pc_follow_contents(ParCompactionManager* cm) {
|
|||
klass()->oop_pc_follow_contents(this, cm);
|
||||
}
|
||||
|
||||
void oopDesc::pc_update_contents() {
|
||||
void oopDesc::pc_update_contents(ParCompactionManager* cm) {
|
||||
Klass* k = klass();
|
||||
if (!k->is_typeArray_klass()) {
|
||||
// It might contain oops beyond the header, so take the virtual call.
|
||||
k->oop_pc_update_pointers(this);
|
||||
k->oop_pc_update_pointers(this, cm);
|
||||
}
|
||||
// Else skip it. The TypeArrayKlass in the header never needs scavenging.
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue