RFR: 8309685: Fix -Wconversion warnings in assembler and register code [v2]
Coleen Phillimore
coleenp at openjdk.org
Wed Jun 14 12:47:54 UTC 2023
On Wed, 14 Jun 2023 11:47:11 GMT, Gui Cao <gcao at openjdk.org> wrote:
>> Coleen Phillimore has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Improve checked_cast to tolerate sign extension so it can be used in assembler.hpp emit code.
>
> Hi, may I ask if it's OK to add fix for RISC-V please? I checked and found that this port has similar issue.
> ```diff
> diff --git a/src/hotspot/cpu/riscv/register_riscv.hpp b/src/hotspot/cpu/riscv/register_riscv.hpp
> index 7b547335cd0..7d25875fedd 100644
> --- a/src/hotspot/cpu/riscv/register_riscv.hpp
> +++ b/src/hotspot/cpu/riscv/register_riscv.hpp
> @@ -70,7 +70,7 @@ class Register {
>
> public:
> // accessors
> - constexpr int raw_encoding() const { return this - first(); }
> + constexpr int raw_encoding() const { return checked_cast<int>(this - first()); }
> constexpr int encoding() const { assert(is_valid(), "invalid register"); return raw_encoding(); }
> constexpr bool is_valid() const { return 0 <= raw_encoding() && raw_encoding() < number_of_registers; }
>
> @@ -187,7 +187,7 @@ class FloatRegister {
>
> public:
> // accessors
> - constexpr int raw_encoding() const { return this - first(); }
> + constexpr int raw_encoding() const { return checked_cast<int>(this - first()); }
> constexpr int encoding() const { assert(is_valid(), "invalid register"); return raw_encoding(); }
> constexpr bool is_valid() const { return 0 <= raw_encoding() && raw_encoding() < number_of_registers; }
>
> @@ -297,7 +297,7 @@ class VectorRegister {
>
> public:
> // accessors
> - constexpr int raw_encoding() const { return this - first(); }
> + constexpr int raw_encoding() const { return checked_cast<int>(this - first()); }
> constexpr int encoding() const { assert(is_valid(), "invalid register"); return raw_encoding(); }
> constexpr bool is_valid() const { return 0 <= raw_encoding() && raw_encoding() < number_of_registers; }
Thanks @zifeihan I added riscv too.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/14396#issuecomment-1591118914
More information about the hotspot-dev
mailing list