InlineCacheBuffer + GuaranteedSafepointInterval

John Rose john.r.rose at
Fri Jun 5 17:08:48 UTC 2015

On Jun 5, 2015, at 8:48 AM, Vitaly Davidovich <vitalyd at> wrote:
> Thanks for the insight.  Do you know offhand the condition(s) that prevent updating IC call sites atomically?

If you look at the structure of an IC, you'll note it consists of a set-constant instruction and a jump instruction.
The jump can be patched atomically, but the set-constant cannot be part of the same transaction.
The resulting race conditions are made innocuous with lots of fiddling.  IC buffering helps do this.
The IC's can be un-buffered (to run at speed) only at safepoints.
— John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the hotspot-compiler-dev mailing list