RFR: 8248404: AArch64: Remove uses of long and unsigned long [v4]

Coleen Phillimore coleenp at openjdk.java.net
Tue Jan 11 16:55:26 UTC 2022


On Tue, 11 Jan 2022 16:48:42 GMT, Andrew Haley <aph at openjdk.org> wrote:

>> Coleen Phillimore has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Add ULL
>
> src/hotspot/cpu/aarch64/assembler_aarch64.hpp line 418:
> 
>> 416:     : _base(r), _index(noreg), _offset(o), _mode(base_plus_offset), _target(0) { }
>> 417:   Address(Register r, unsigned long long o)
>> 418:     : _base(r), _index(noreg), _offset(o), _mode(base_plus_offset), _target(0) { }
> 
> This change looks wrong. For example, a call with `Address(Register, ptrdiff_t)` actually calls `Address(Register, int)`, silently truncating the 64-bit signed type to 32 bits.

Will it silently truncate?  I was getting errors with the unit64_t overloads, I was getting ambiguous calls with address or Register.  Maybe that's equally wrong.

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

PR: https://git.openjdk.java.net/jdk/pull/7023


More information about the hotspot-dev mailing list