RFR: JDK-8211129: [Testbug] compiler/whitebox/ForceNMethodSweepTest.java fails after JDK-8132849

Roman Kennke rkennke at redhat.com
Wed Sep 26 08:30:17 UTC 2018


Please review the following change:

Several tests fail because after forcing nmethod sweep via Whitebox API,
the sweeper doesn't actually kick in.

The reason is the changed heuristic in NMethodSweeper: before
JDK-8132849, we would scan stacks and mark nmethods at every safepoint,
during safepoint cleanup phase. This would subsequently trigger a sweep
cycle via _should_sweep. If no stack-scanning is performed, the sweeper
would skip sweeping because the CompiledMethodIterator _current has not
been reset.

I propose to change the following:

- In the sweep-loop, call into do_stack_scanning() whenever it's forced
(via WhiteBox API) or if should_sweep has been determined by other
heuristics (code-cache-change, time-since-last-sweep,..)

- Instead let do_stack_scanning() not set _should_sweep anymore.

Bug:
https://bugs.openjdk.java.net/browse/JDK-8211129
Webrev:
http://cr.openjdk.java.net/~rkennke/JDK-8211129/webrev.00/

Testing: Fixes previously failing:
compiler/whitebox/ForceNMethodSweepTest.java
jdk/jfr/event/compiler/TestCodeSweeperStats.java

Passes: hotspot/jtreg:tier1

-------------- next part --------------
A non-text attachment was scrubbed...
Name: pEpkey.asc
Type: application/pgp-keys
Size: 1761 bytes
Desc: not available
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20180926/7ceadf00/pEpkey-0001.asc>


More information about the hotspot-compiler-dev mailing list