RFR: 8313564: Fix -Wconversion warnings in classfile code [v2]
David Holmes
dholmes at openjdk.org
Wed Aug 2 23:42:21 UTC 2023
On Wed, 2 Aug 2023 13:40:12 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:
>> This patch fixes various -Wconversion warnings in classfile code. I broke the change into commits so the changes are easier to see.
>> Tested with tier1-4.
>
> Coleen Phillimore has updated the pull request incrementally with one additional commit since the last revision:
>
> Missed a case that gets -Wconversion warning for ContendedPaddingWidth. prefetch_data_size() returns uint, so added a checked_cast<> to catch the case where it would return greater than signed int max.
A couple of queries/comments but overall seems reasonable.
Thanbks.
src/hotspot/share/classfile/loaderConstraints.cpp line 498:
> 496: for (int i = 0; i < len; i++) {
> 497: LoaderConstraint* probe = set.constraint_at(i);
> 498: sum += (int)sizeof(*probe) + (probe->num_loaders() * (int)sizeof(ClassLoaderData*));
Can't you just cast the final result to int?
src/hotspot/share/classfile/stringTable.cpp line 891:
> 889:
> 890: _shared_table.reset();
> 891: CompactHashtableWriter writer((int)_items_count, ArchiveBuilder::string_stats());
This makes me question why `Items_count` Is a size_t, when we treat it as an int.
src/hotspot/share/runtime/flags/jvmFlagConstraintsRuntime.cpp line 59:
> 57: if ((value % BytesPerLong) != 0) {
> 58: JVMFlag::printError(verbose,
> 59: "ContendedPaddingWidth (%u) must be "
Why %u when it is an int?
-------------
Marked as reviewed by dholmes (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/15111#pullrequestreview-1559971126
PR Review Comment: https://git.openjdk.org/jdk/pull/15111#discussion_r1282505262
PR Review Comment: https://git.openjdk.org/jdk/pull/15111#discussion_r1282505740
PR Review Comment: https://git.openjdk.org/jdk/pull/15111#discussion_r1282506266
More information about the hotspot-dev
mailing list