[jdk11u-dev] RFR: 8254072: AArch64: Get rid of --disable-warnings-as-errors on Windows+ARM64 build [v3]

Andrew Haley aph at openjdk.java.net
Fri Feb 11 16:38:11 UTC 2022


On Fri, 11 Feb 2022 00:55:47 GMT, Reka Kovacs <rkovacs at openjdk.org> wrote:

>> Despite its title, this patch only touches common code that's present before adding Windows/AArch64 support. Not a clean backport. Differences to the original commit:
>> 
>> - This is the first time we disable an MSVC warning for hotspot in 11, so in  `make/hotspot/lib/CompileJvm.gmk` this introduces a new `DISABLED_WARNINGS_microsoft` line.
>> - We disable the same warning in  `make/hotspot/lib/CompileGtest.gmk`.
>> - A tiny useless switch is removed from `src/hotspot/cpu/aarch64/aarch64.ad` that's no longer present on tip (probably not worth a separate PR).
>> - <s>Changes to `src/hotspot/cpu/aarch64/frame_aarch64.cpp` don't yet include the changes from #215.</s>
>> - The assert on line 1477 in `src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp` needed some adjustment to compile. (I'm not sure how it compiles on tip, as I don't see `-Wsign-compare` turned off there either, but the types seem to be the same.)
>> 
>> This is part of the Windows/AArch64 port.
>
> Reka Kovacs has updated the pull request incrementally with three additional commits since the last revision:
> 
>  - Use size_t in generate_disjoint_copy
>  - Explain disabled MSVC warning C4146 in comment
>  - Fix MSVC warning C4334: result of 32-bit shift implicitly converted to 64 bits

If you replace all of the `int` casts with `checked_cast<int>`, I'll approve this.

src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp line 1366:

> 1364:       __ push(RegSet::of(d, count), sp);
> 1365:     }
> 1366:     copy_memory(aligned, s, d, count, rscratch1, (int)size);

Suggestion:

    copy_memory(aligned, s, d, count, rscratch1, checked_cast<int>(size));

src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp line 1371:

> 1369:       __ pop(RegSet::of(d, count), sp);
> 1370:       if (VerifyOops)
> 1371:         verify_oop_array((int)size, d, count, r16);

Likewise use `checked_cast`.

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

PR: https://git.openjdk.java.net/jdk11u-dev/pull/280


More information about the jdk-updates-dev mailing list