RFR: 8248404: AArch64: Remove uses of long and unsigned long [v4]
Andrew Haley
aph at openjdk.java.net
Tue Jan 11 16:20:24 UTC 2022
On Tue, 11 Jan 2022 16:04:00 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:
>> Tested with mach5 on linux-aarch64 and macosx-aarch64 on tier1-3 and below GHA for windows-aarch64 (once I open this PR).
>
> Coleen Phillimore has updated the pull request incrementally with one additional commit since the last revision:
>
> Add ULL
src/hotspot/cpu/aarch64/universalUpcallHandler_aarch64.cpp line 74:
> 72: // Capture prev stack pointer (stack arguments base)
> 73: __ add(rscratch1, rfp, 16); // Skip saved FP and LR
> 74: __ str(rscratch1, Address(sp, checked_cast<int>(layout.stack_args))); // x86 casts to int also
Suggestion:
__ Address slot = __ legitimize_address(Address(sp, checked_cast<int>(layout.stack_args)), wordSize, rscratch2);
__ str(rscratch1, slot); // x86 casts to int also
I think this is a real bug: the range of a stack arg from SP can exceed that of the maximum offset of a STR instruction!
Wherever there's a dubious cast there's probably a bug...
-------------
PR: https://git.openjdk.java.net/jdk/pull/7023
More information about the hotspot-dev
mailing list