RFR: 8248404: AArch64: Remove uses of long and unsigned long [v4]
Andrew Haley
aph at openjdk.java.net
Tue Jan 11 17:21:14 UTC 2022
On Tue, 11 Jan 2022 17:08:43 GMT, Andrew Haley <aph at openjdk.org> wrote:
>> It does seem pedantic which makes it really difficult, but it's important to get this right. These kinds of bugs are horrible to debug.
>
> OK, so if we have the `Address(reg_offset)` overloads for `int`, `int64_t`, and `uint64_t` we're good, and by calling the right overload we get rid of the need to cast the `layout.stack_args` offset to `int` here.
This is what I've got:
Address(Register r)
: _base(r), _index(noreg), _offset(0), _mode(base_plus_offset), _target(0) { }
Address(Register r, int o)
: _base(r), _index(noreg), _offset(o), _mode(base_plus_offset), _target(0) { }
Address(Register r, int64_t o)
: _base(r), _index(noreg), _offset(o), _mode(base_plus_offset), _target(0) { }
Address(Register r, uint64_t o)
: _base(r), _index(noreg), _offset(o), _mode(base_plus_offset), _target(0) { }
Address(Register r, ByteSize disp)
: Address(r, in_bytes(disp)) { }
-------------
PR: https://git.openjdk.java.net/jdk/pull/7023
More information about the hotspot-dev
mailing list