[riscv-port-jdk17u:riscv-port] RFR: 8295270: RISC-V: Clean up and refactoring for assembler functions

Xiaolin Zheng xlinzheng at openjdk.org
Mon Apr 10 03:43:11 UTC 2023


On Sat, 8 Apr 2023 03:55:31 GMT, Gui Cao <gcao at openjdk.org> wrote:

> Please review this backport to riscv-port-jdk17u.
> Backport of [JDK-8295270](https://bugs.openjdk.org/browse/JDK-8295270).
> [JDK-8295270](https://bugs.openjdk.org/browse/JDK-8295270) not clean,origin patch has no eden_allocate, which removed with [JDK-8290706](https://bugs.openjdk.org/browse/JDK-8290706)
> 
> Testing:
> 
> Tier1-3 passed without new failure on unmacthed (release).

src/hotspot/cpu/riscv/assembler_riscv.hpp line 496:

> 494:               "only internal_word_type relocs make sense here");            \
> 495:     relocate(InternalAddress(dest).rspec());                                \
> 496:     IncompressibleRegion ir(this);  /* relocations */

Here we have an `IncompressibleRegion` thing to keep instructions in `INSN_ENTRY_RELOC` from being compressed by the C extension, for relocations are here. But after moving to different locations in this patch, the `IncompressibleRegion` is missing. Please see the below comments.

src/hotspot/cpu/riscv/macroAssembler_riscv.hpp line 491:

> 489:     guarantee(rtype == relocInfo::internal_word_type,                       \
> 490:               "only internal_word_type relocs make sense here");            \
> 491:     relocate(InternalAddress(dest).rspec());

Suggestion:

    relocate(InternalAddress(dest).rspec());                  \
    IncompressibleRegion ir(this); /* relocations */

src/hotspot/cpu/riscv/macroAssembler_riscv.hpp line 653:

> 651:     guarantee(rtype == relocInfo::internal_word_type,                       \
> 652:               "only internal_word_type relocs make sense here");            \
> 653:     relocate(InternalAddress(dest).rspec());

Suggestion:

    relocate(InternalAddress(dest).rspec());                  \
    IncompressibleRegion ir(this); /* relocations */

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

PR Review Comment: https://git.openjdk.org/riscv-port-jdk17u/pull/38#discussion_r1161407899
PR Review Comment: https://git.openjdk.org/riscv-port-jdk17u/pull/38#discussion_r1161408118
PR Review Comment: https://git.openjdk.org/riscv-port-jdk17u/pull/38#discussion_r1161408202


More information about the riscv-port-dev mailing list