RFC: JEP JDK-8221828: New Invoke Bindings

Vitaly Davidovich vitalyd at gmail.com
Fri Oct 11 11:24:02 UTC 2019


Hi Erik,

This sounds like a great idea! You touch on this in the JEP, but avoiding
global safepoints for ICStub patching would be great.
http://openjdk.5641.n7.nabble.com/InlineCacheBuffer-GuaranteedSafepointInterval-td229138.html
is a few years old but I think largely still true today.

How confident are you that hardware’s branch target buffer (BTB) will
neutralize the loss of direct jumps? In large applications, with lots of
code and deep call graphs, I’d be concerned that BTB is exhausted due to
sheer number of entries needed.  Of course this is just speculation.

Thanks

On Fri, Oct 11, 2019 at 5:03 AM <erik.osterlund at oracle.com> wrote:

> Hi,
>
> I prepared a new JEP [1], about rewriting the method invocation
> mechanisms in HotSpot. In particular, the aim is to remove inline
> caches, in an effort to make our code more robust and maintainable
> (remove 3 nmethod states, ~10000 LOC concurrent code patching stuff,
> make redefinition and unloading much more straight forward). Instead, it
> is to be replaced with a table driven approach, leaving speculation
> machinery to the hardware instead of software. More details are in the
> JEP description.
>
> Feedback is more than welcome.
>
> Thanks,
> /Erik
>
> [1] https://bugs.openjdk.java.net/browse/JDK-8221828
>
-- 
Sent from my phone


More information about the hotspot-dev mailing list