RFR: 8308396: Fix offset_of conversion warnings in runtime code [v2]

Johan Sjölen jsjolen at openjdk.org
Fri May 19 12:39:55 UTC 2023


On Fri, 19 May 2023 11:55:34 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:

>> Please review this change to use ByteSize and byte_offset_of() to refer to offsets to metadata and other types that are used in generated code.  This avoids the int narrowing conversion warning for -Wconversion.  There were a couple that I just added an (int) cast instead because these offsets are either being used in other code currently being changed (in oopDesc) or there are too many (like displaced_header_offset_in_bytes) and should be their own change.
>> 
>> This change takes a  chunk out of the -Wconversion warnings - see CR for more info.
>> 
>> It might be easier and less tedious to review the commits separately.  One commit renames blah_offset_in_bytes to blah_offset, since in_bytes(blah_offset()) is typically used (except in Address constructor which has an overload for ByteSize).
>> 
>> Tested with tier1-4, x86 and aarch64, and built linux-x64-zero linux-x64-zero-debug linux-aarch64-debug linux-s390x-open linux-arm32-debug linux-ppc64le-debug linux-riscv64-debug locally.
>
> Coleen Phillimore has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Fix s390

Hi,

This looks good to me, with one small nit.

src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp line 4313:

> 4311:   ldr(holder, Address(method, Method::const_offset()));                      // ConstMethod*
> 4312:   ldr(holder, Address(holder, ConstMethod::constants_offset()));             // ConstantPool*
> 4313:   ldr(holder, Address(holder, ConstantPool::pool_holder_offset())); // InstanceKlass*

Nit: Alignment.

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

Marked as reviewed by jsjolen (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/14053#pullrequestreview-1434344338
PR Review Comment: https://git.openjdk.org/jdk/pull/14053#discussion_r1198908937


More information about the hotspot-dev mailing list