RFR: 8332265: RISC-V: Materialize pointers faster by using a temp register [v6]

Ludovic Henry luhenry at openjdk.org
Thu May 23 10:55:36 UTC 2024


On Thu, 23 May 2024 10:52:35 GMT, Robbin Ehn <rehn at openjdk.org> wrote:

>> Hi, please consider!
>> 
>> Materializing a 48-bit pointer, using an additional register, we can do with:
>> lui + lui + slli + add + addi
>> This 15% faster both on VF2 and in CPU models, compared to movptr().
>> 
>> As we often materialize during calls there is free registers.
>> 
>> I have choose just a few spot to use it, many more can use.
>> E.g. la() with tmp register can use li48 instead of movptr.
>> 
>> Running tests now (so far so good), as if I screwed up IC calls it should be seen fast.
>> And benchmarks when hardware is free.
>
> Robbin Ehn has updated the pull request incrementally with two additional commits since the last revision:
> 
>  - Fixed more comments
>  - Fixed comments

src/hotspot/cpu/riscv/nativeInst_riscv.hpp line 386:

> 384:   void set_data(intptr_t x);
> 385: 
> 386:   void flush() {

why the removal?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/19246#discussion_r1611460178


More information about the hotspot-dev mailing list