hg: jdk/submit: 8230706: Waiting on completion of strong nmethod processing causes long pause times with G1

thomas.schatzl at oracle.com thomas.schatzl at oracle.com
Thu Oct 24 09:08:47 UTC 2019


Changeset: 18c246ad2ff9
Author:    tschatzl
Date:      2019-10-24 11:08 +0200
URL:       https://hg.openjdk.java.net/jdk/submit/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-submit-changes mailing list