RFC: JEP JDK-8221828: New Invoke Bindings

Stefan Reich stefan.reich.maker.of.eye at googlemail.com
Fri Oct 11 11:02:01 UTC 2019


 > The proposal for invokevirtual calls is to flatten the vtable to have
direct code pointers at a negative offset from the class pointer. This
allows dispatching with a single indirect branch (compared to two direct
branches for dynamically monomorphic calls today).

Isn't that even independent from the rest of the proposal? Sounds like a
smart thing to do. Would there be any downside to putting the vtable
directly in the klass structure?

Hey, we'd be back to Turbo Pascal speeds where the vtable WAS the class (I
believe).

Stefan

On Fri, 11 Oct 2019 at 11:01, <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



--
Stefan Reich
BotCompany.de // Java-based operating systems


More information about the hotspot-dev mailing list