RFR: 8289743: AArch64: Clean up patching logic [v13]
Dean Long
dlong at openjdk.org
Thu Jul 21 20:20:08 UTC 2022
On Mon, 18 Jul 2022 13:36:46 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 one additional commit since the last revision:
>
> 8289743: AArch64: Clean up patching logic
> offset = offset << (64-21) >> (64-21);
My guess is that ADRP is being used for a target address that is too far away. The added line above fixes up the high bits so that the assert in spatch() won't fire, hiding the problem:
> 239 guarantee (chk == -1 || chk == 0, "Field too big for insn");
-------------
PR: https://git.openjdk.org/jdk/pull/9398
More information about the hotspot-dev
mailing list