RFR: 8301997: Move method resolution information out of the cpCache [v10]

Matias Saavedra Silva matsaave at openjdk.org
Wed Nov 15 16:44:18 UTC 2023


On Thu, 9 Nov 2023 22:48:59 GMT, Matias Saavedra Silva <matsaave at openjdk.org> wrote:

>> Matias Saavedra Silva has updated the pull request incrementally with two additional commits since the last revision:
>> 
>>  - PPC port
>>  - Improved load_resolved_method_entry_handle on x86 and aarch64
>
>> I have a version which works for PPC64: [TheRealMDoerr at 6bff392](https://github.com/TheRealMDoerr/jdk/commit/6bff39224e3129a898711a392b64c38b331d79a2)
>> 
>> Note that I have implemented a few things slightly differently:
>> 
>>     * `TemplateTable::load_resolved_method_entry_handle`: I'm loading the method at the end which avoids pushing and popping it on the expression stack which is not so nice IMHO. This works because I'm using a non-volatile register (asserted) for `cache` which is still valid after the C-call in `resolve_oop_handle`.
>> 
>>     * `TemplateTable::load_resolved_method_entry_interface` and `TemplateTable::load_resolved_method_entry_virtual`: I'm not putting values in registers depending on the flags because it doesn't fit nicely into the PPC64 design. I found myself scratching my head and thinking about what is in the register in which case. Instead of that, I'm loading the fields where they are needed which leads to a much cleaner design. I always know what is in which register this way.
>> 
>> 
>> Please take a look and take these differences into consideration for other platforms. Thanks!
> 
> Thank you for the port! I liked your recommendation with regards to invokehandle and added that change to x86 and aarch64 as well.

> Hi @matias9927, Please add s390-Port from here: [offamitkumar at 3f70174](https://github.com/offamitkumar/jdk/commit/3f7017467b1a4ae8fe70530c7183c2667cf2c7f2)

Thank you for the port Amit!

-------------

PR Comment: https://git.openjdk.org/jdk/pull/15455#issuecomment-1812883015


More information about the hotspot-dev mailing list