RFR: 8214257: IC cache not clean after cleaning assertion failure
tobias.hartmann at oracle.com
Thu Nov 29 08:07:21 UTC 2018
looks good to me. Please run at least hs-tier1,hs-tier2,hs-precheckin-comp before pushing.
On 27.11.18 14:00, Erik Österlund wrote:
> Back in 8212681, an abstract CompiledICLocker was introduce to protect inline caches from concurrent
> Unfortunately, not all patching of ICs started using the CompiledICLocker. There were still some
> callsites using the Patching_lock. Therefore, the assert may trigger sometimes saying the IC cache
> is not clean right after cleaning, due to other concurrent modifications under the Patching_lock.
> Also, in CompiledIC::set_to_clean(), the condition for safe_transition was altered incorrectly from
> is_at_safepoint() to CompiledICLocker::is_safe(), causing cleaning to not used transition, so I
> reinstated that in this patch.
> This patch depends on 8214338 by assuming that the CompiledICLocker does not use safepoint checks,
> as it is now used from leaf calls where safepointing is not allowed.
More information about the hotspot-dev