RFR (XS): Enable UseCountedLoopSafepoints with Shenandoah

Aleksey Shipilev shade at redhat.com
Tue Dec 20 15:26:09 UTC 2016


Hi Lennart,

On 12/20/2016 04:18 PM, Lennart Börjeson wrote:
> We have recently encountered an issue with a commercial JVM which had elected
> to skip safepoint checks for all counted loops. This broke our product, since
> we have a crucial spin wait in a long-indexed loop.
> 
> (As you know, the JVM normally inserts safepoint checks in long-indexed, but
> not in int-indexed, counted loops.)
> 
> Such a change in behaviour is extremely hard to track down, and I regard it
> as a significant functional change.
> 
> I urge you, as I’ve urged the vendor in question, to keep the ”standard”
> behaviour as default.

I am a bit confused about the notion of "standard behavior". There is no
standard that mandates either putting safepoint checks into loops, or skipping them.

This Shenandoah change _inserts_ more safepoint checks, not eliminates them, so
this seems like something you want?

Thanks,
-Aleksey



More information about the shenandoah-dev mailing list