hg: jdk/sandbox: 8230706: Waiting on completion of strong nmethod processing causes long pause times with G1
chris.hegarty at oracle.com
chris.hegarty at oracle.com
Thu Oct 24 09:15:16 UTC 2019
Changeset: 18c246ad2ff9
Author: tschatzl
Date: 2019-10-24 11:08 +0200
URL: https://hg.openjdk.java.net/jdk/sandbox/rev/18c246ad2ff9
8230706: Waiting on completion of strong nmethod processing causes long pause times with G1
Summary: Instead of globally waiting for completion of strong nmethod processing during evacuation, synchronize the nmethods processing on a per-nmethod basis so that only one thread processes one nmethod at once using a state. This state indicates what work (strong/weak processing) needs to be done and what has already been done.
Reviewed-by: sjohanss, kbarrett
! src/hotspot/share/code/nmethod.cpp
! src/hotspot/share/code/nmethod.hpp
! src/hotspot/share/gc/g1/g1CodeBlobClosure.cpp
! src/hotspot/share/gc/g1/g1CodeBlobClosure.hpp
! src/hotspot/share/gc/g1/g1FullCollector.cpp
! src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp
! src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp
! src/hotspot/share/gc/g1/g1RootClosures.cpp
! src/hotspot/share/gc/g1/g1RootClosures.hpp
! src/hotspot/share/gc/g1/g1RootProcessor.cpp
! src/hotspot/share/gc/g1/g1RootProcessor.hpp
! src/hotspot/share/gc/g1/g1SharedClosures.hpp
! src/hotspot/share/gc/z/zRootsIterator.cpp
! src/hotspot/share/memory/iterator.cpp
! test/hotspot/jtreg/gc/g1/TestGCLogMessages.java
! test/jdk/jdk/jfr/event/gc/collection/TestG1ParallelPhases.java
More information about the jdk-sandbox-changes
mailing list