RFR: JDK-8290137: riscv: small refactoring for add_memory_int32/64
Aleksey Shipilev
shade at openjdk.org
Mon Jul 18 11:46:58 UTC 2022
On Mon, 18 Jul 2022 11:35:09 GMT, Fei Yang <fyang at openjdk.org> wrote:
>> src/hotspot/cpu/riscv/c1_LIRAssembler_arraycopy_riscv.cpp line 60:
>>
>>> 58: #ifndef PRODUCT
>>> 59: if (PrintC1Statistics) {
>>> 60: __ incrementw(ExternalAddress((address)&Runtime1::_generic_arraycopystub_cnt));
>>
>> Is it really `incrementw`, though? These counter fields are `int`-s, are they still 32-bit on RISC-V? If so, shouldn't it be `incrementl`?
>
> @shipilev : Yes, the type of _generic_arraycopystub_cnt is int and it occupies 32-bit in memory on Linux/RISC-V. That's why we use incrementw here which increments a 32-bit memory operand. Note that incrementl works for 64-bit memory operand. Hope that explains. Thanks.
Is this RISC-V specific postfix naming? On x86, there is `b`/`w`/`l`/`q` for 1/2/4/8-byte ops, respectively. This is just my curiosity, it does not block the integration.
-------------
PR: https://git.openjdk.org/jdk/pull/9461
More information about the hotspot-dev
mailing list