Skip to content

Make relocation processing consistent across various compilation modes #22774

@dsouzai

Description

@dsouzai

See eclipse-omr/omr#7983 (comment) for context.

At present, external relocation records are generated in a metadata helper method of various instructions. These have been implicitly assumed to only matter for AOT compilations - that is, they may execute in a non-AOT compilation, but the generated relocation records are only processed under an AOT compilation.

However, under JITServer, the relocations are processed regardless of whether the compilation is AOT or not; happens because JITServer needs some subset of the relocation records for non-AOT compilations. However, as the code stands, this is problematic because not all relocation records are valid to process outside of an AOT compilation.

eclipse-omr/omr#7983 fixes one particular issue, but it is not a general solution. A general solution would involve potentially allowing relocation records to get generated during a compile, but only valid ones would be processed. For AOT, all relocations are valid, but for JITServer, only a subset would be valid.

This issue tracks this cleanup work.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions