dotnet / dotnet/runtime

SPMI: Look into cleaning up relocation/diff handling

Open
#124,382 1 comment 0 reactions 1 assignee Claimed by @jakobbotsch View on GitHub
area-CodeGen-coreclr
Dominant language
C#
Stars
18.3k
Forks
5.6k
PR merge metrics
PR metrics pending

Description

When SPMI was originally written the JIT did not support writing code at a different location than it would be executed (beyond relocation handling). It means that SPMI has a ton complicated diff handling to resolve situations where base/diff instructions differ because of different base/diff addresses used in the compilation.

After W^X we gained that support and it means we should be able to simplify most of this since we can act as if the code will be executed from the original address we saw in the JIT execution, for both the base and diff compilations. This should make it much more straightforward to diff.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.