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

Erik Osterlund erik.osterlund at oracle.com
Thu Sep 27 01:36:38 UTC 2018


Hi Roman,

Looks reasonable.

Thanks,
/Erik

> On 26 Sep 2018, at 13:26, Roman Kennke <rkennke at redhat.com> wrote:
> 
> Ping! This fixes two failing tests...
> 
> (also changed subject to remove [Testbug])
> 
> Thanks,
> Roman
> 
> 
>> Am 26.09.18 um 10:30 schrieb Roman Kennke:
>> 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
>> 
> 


More information about the hotspot-compiler-dev mailing list