InlineCacheBuffer + GuaranteedSafepointInterval
john.r.rose at oracle.com
Fri Jun 5 17:08:48 UTC 2015
On Jun 5, 2015, at 8:48 AM, Vitaly Davidovich <vitalyd at gmail.com> 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.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the hotspot-compiler-dev