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