git: openjdk/mobile: 8230706: Waiting on completion of strong nmethod processing causes long pause times with G1

duke duke at openjdk.java.net
Thu Oct 24 09:12:28 UTC 2019


Changeset: 5a21a8c4
Author:    Thomas Schatzl <tschatzl at openjdk.org>
Date:      2019-10-24 11:08:16 +0000
URL:       https://git.openjdk.java.net/mobile/commit/5a21a8c4

8230706: Waiting on completion of strong nmethod processing causes long pause times with G1

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 mobile-changes mailing list