Skip to content

Commit d9fc8a3

Browse files
fixup: version profiles per .NET major, port minimal set to .NET 11
Move the profiles to fixup/<major>/profile/{minimal,perf}; patch_runtime.sh detects the major from eng/Versions.props of the cloned runtime and errors out clearly when the requested profile does not exist for that version (perf exists only for 10 so far). .NET 11 minimal set: fixups 11 and 14 apply unchanged. splitcodedata (20) is rewritten for v11, where upstream already provides everything the v10 fixup built by hand: the CorInfoReloc::RISCV64_PCREL_I/S paired relocations, their VM/superpmi handling, the ILC RelocType plumbing and the ElfObjectWriter R_RISCV_PCREL_HI20/LO12 emission with pcrel labels and RELA addends. What remains is the JIT policy: keep data chunks out of the hot code allocation in eeAllocMem (and report relocs for data with code pointers), stop marking emitIns_R_C instructions as bound, and emit auipc+ld/addi with zero immediates plus a RISCV64_PCREL_I relocation in emitOutputInstr_OptsRc. The stubdispatch fixup (22) is retargeted to the renamed RhpUniversalTransitionTailCall. All four apply cleanly on v11.0.100. Signed-off-by: Maxim Menshikov <maksim.menshikov@nethermind.io>
1 parent 117b797 commit d9fc8a3

23 files changed

Lines changed: 669 additions & 4 deletions

fixup/profile/minimal/11_riscv64_honor_isa_mode_asm.patch renamed to fixup/10/profile/minimal/11_riscv64_honor_isa_mode_asm.patch

File renamed without changes.

fixup/profile/minimal/14_riscv64_honor_isa_mode_atomic_asm.patch renamed to fixup/10/profile/minimal/14_riscv64_honor_isa_mode_atomic_asm.patch

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

fixup/profile/perf/24_inline_write_barrier_riscv64.patch renamed to fixup/10/profile/perf/24_inline_write_barrier_riscv64.patch

File renamed without changes.

fixup/profile/perf/25_stackalloc_aggressive_riscv64.patch renamed to fixup/10/profile/perf/25_stackalloc_aggressive_riscv64.patch

File renamed without changes.

fixup/profile/perf/26_inline_allocation_riscv64.patch renamed to fixup/10/profile/perf/26_inline_allocation_riscv64.patch

File renamed without changes.

fixup/profile/perf/27_drop_gcpoll_pinvoke_riscv64.patch renamed to fixup/10/profile/perf/27_drop_gcpoll_pinvoke_riscv64.patch

File renamed without changes.

0 commit comments

Comments
 (0)