RFR: 8310948: Fix ignored-qualifiers warning in Hotspot
Daniel Jeliński
djelinski at openjdk.org
Thu Jun 29 05:04:54 UTC 2023
On Tue, 27 Jun 2023 12:22:43 GMT, Daniel Jeliński <djelinski at openjdk.org> wrote:
> Please review this attempt to fix ignored-qualifiers warning.
>
> Example warnings:
>
> src/hotspot/share/oops/method.hpp:413:19: warning: 'volatile' type qualifier on return type has no effect [-Wignored-qualifiers]
> CompiledMethod* volatile code() const;
> ^~~~~~~~~
>
>
> src/hotspot/share/jfr/periodic/jfrModuleEvent.cpp:65:20: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]
> 65 | event.set_source((const ModuleEntry* const)from_module);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
>
> The proposed fix removes the ignored qualifiers.
> In a few AD files I replaced `const` with `constexpr` where I noticed that the method is returning a compile-time constant, and other platforms use `constexpr` on the same method.
>
> Release, debug and slowdebug builds on Aarch64 / x64 and Mac / Linux complete without errors. Cross-compile GHA builds also pass.
I don't think that was the intention. There's a comment on `Method::_code` stating that the pointer can change at any point (so the pointer was supposed to be volatile), and `class CompiledMethod` does not have any `volatile` - qualified methods.
There are similar cases where `const` pointer to a class was returned involving `JavaThread`, `ReferenceProcessor`, `PSCardTable` and `ShenandoahHeapRegion`; I suppose we could review if `const` could be added to the returned class, but that's outside of the scope of this PR.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/14674#issuecomment-1612435102
More information about the hotspot-dev
mailing list