-
Enhancement
-
Resolution: Unresolved
-
P3
-
None
-
25, 26
We're using nmethod entry barriers regardless of GC selection since JDK-8290025.
ZGC calls disarm(nm) in ZNMethod::register_nmethod(nmethod* nm). That disables the barrier for new nmethods before their first execution.
ShenandoahGC also calls a disarm function in ShenandoahNMethodTable::register_nmethod(nmethod* nm).
Such a disarm is missing for other GCs. That causes unnecessary execution of the barriers after new nmethods are installed into the code cache.
Total execution of nmethod entry barrier code and patching during concurrent execution can be reduced significantly.
ZGC calls disarm(nm) in ZNMethod::register_nmethod(nmethod* nm). That disables the barrier for new nmethods before their first execution.
ShenandoahGC also calls a disarm function in ShenandoahNMethodTable::register_nmethod(nmethod* nm).
Such a disarm is missing for other GCs. That causes unnecessary execution of the barriers after new nmethods are installed into the code cache.
Total execution of nmethod entry barrier code and patching during concurrent execution can be reduced significantly.
- blocks
-
JDK-8334247 [PPC64] Consider trap based nmethod entry barriers
-
- Open
-
- relates to
-
JDK-8290025 Remove the Sweeper
-
- Resolved
-
- links to
-
Review(master) openjdk/jdk/25982