RFR: 8367692: RISC-V: Align post call nop [v5]

Hamlin Li mli at openjdk.org
Fri Sep 26 13:32:24 UTC 2025


On Thu, 25 Sep 2025 12:44:01 GMT, Robbin Ehn <rehn at openjdk.org> wrote:

>> Hi please, consider.
>> 
>> As ziccif require instructions to natural aligned to be atomic the 4 byte post call nop must be aligned.
>> But I don't want to add a c.nop(2b) to align the nop(4b) which means the jal(r) must also be algined.
>> As we have no utility to aligned the end of an instruction sequence the call it self is aligned and uses only 4 byte instructions. Only in the case where we could use an two c-instruction we may loose space.
>> 
>> Thanks, Robbin
>
> Robbin Ehn has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Use relocation spec as marker.

There is an assert here: https://github.com/openjdk/jdk/blob/master/src/hotspot/cpu/riscv/macroAssembler_riscv.cpp#L4998

  if (entry.rspec().type() != relocInfo::runtime_call_type) {
    assert_alignment(call_pc);
  }

It's only asserted if it's not `runtime_call_type`, should this condition be adjusted/removed?

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

PR Comment: https://git.openjdk.org/jdk/pull/27467#issuecomment-3338741225


More information about the hotspot-dev mailing list