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:52:01 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:

>> 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.

Getting closer to giving up ...

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

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


More information about the hotspot-dev mailing list