RFR: 8307352: AARCH64: Improve itable_stub
Boris Ulasevich
bulasevich at openjdk.org
Tue Jun 20 13:37:03 UTC 2023
On Tue, 20 Jun 2023 08:39:02 GMT, Andrew Haley <aph at openjdk.org> wrote:
>> Yes, there are similar calls to lookup_interface_method stubs from TemplateTable::invokeinterface and from VtableStubs::create_itable_stub. Unfortunately, the instructions in between the lookup_interface_method calls are different, making it difficult to create a common stub for them. Performance is not an issue for the interpreter. I think the dilemma is: (1) create a new but complicated common stub vs. (2) add a faster implementation for VtableStubs, and leave the TemplateTable implementation intact. At the moment, I prefer the second way. Let me create a JBS issue with the idea of switching TemplateTable::invokeinterface (both aarch and x86 impl) to a new implementation if anyone encounters the problem of TemplateTable::invokeinterface performance.
>
>> Yes, there are similar calls to lookup_interface_method stubs from TemplateTable::invokeinterface and from VtableStubs::create_itable_stub. Unfortunately, the instructions in between the lookup_interface_method calls are different, making it difficult to create a common stub for them. Performance is not an issue for the interpreter.
>
> Really? if performance were not an issue for the interpreter we'd all use the C++ interpreter.
What I am trying to say is that I have not found any benchmark or application where a performance impact of TemplateTable::invokeinterface is visible. I would be happy to rework it as well once we see a benchmark which clearly demonstrates the gain, and the gain is substantial to justify the code complexity.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/13792#discussion_r1235278771
More information about the hotspot-dev
mailing list