RFR: 8289743: AArch64: Clean up patching logic [v9]

Andrew Dinn adinn at openjdk.org
Fri Jul 15 16:29:06 UTC 2022


On Fri, 15 Jul 2022 16:02:03 GMT, Andrew Haley <aph at openjdk.org> wrote:

>> The current logic for patching is a mess of if-then-elses. By rearranging the logic and using a switch we can make it both easier to understand and faster.
>
> Andrew Haley has updated the pull request incrementally with three additional commits since the last revision:
> 
>  - 8289743: AArch64: Clean up patching logic
>  - 8289743: AArch64: Clean up patching logic
>  - 8289743: AArch64: Clean up patching logic

src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp line 304:

> 302:     ptrdiff_t offset = target - insn_addr;
> 303:     if (inner) {
> 304:       instructions = 2;

inner will always be non null so assert instead of branch?

src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp line 313:

> 311:     }
> 312:     // movk has handled the upper bits. Now we extract the lower 19
> 313:     // bits of the signed offset field for the ADRP.

It's not always a movk though is it?

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

PR: https://git.openjdk.org/jdk/pull/9398


More information about the hotspot-dev mailing list