RFR: 8343789: Move mutable nmethod data out of CodeCache [v3]

Boris Ulasevich bulasevich at openjdk.org
Tue Dec 10 22:51:39 UTC 2024


On Mon, 9 Dec 2024 23:14:31 GMT, Dean Long <dlong at openjdk.org> wrote:

>> Boris Ulasevich has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   a bit of cleanup and satisfying review suggestions
>
> src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp line 1419:
> 
>> 1417: 
>> 1418:   void ldr_patchable(Register dest, const Address &const_addr) {
>> 1419:     if (CodeCache::contains(const_addr.target())) {
> 
> Doesn't this cause us to generate LDR for oops outside the code cache, when what we need is the ADRP below?  The caller is still using a PC-relative dummy address.

(written above) in ldr_patchable adrp+ldr path is used.

Code generator encodes ldr to dummy address (real address is stored in oop_Relocation). During relocation, adrp+ldr are patched to a real address. This code only works for UseShenandoahGC and ldr_patchable only uses the adrp+ldr path.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/21276#discussion_r1879024114


More information about the hotspot-compiler-dev mailing list