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