Skip to content

[mono][aot] Enable direct call transformation where caller requires no initialization #82224

@kotlarmilos

Description

@kotlarmilos

Description

Direct call transformation emits a direct call for a patch instead of having a PLT entry. This is possible if a called method is in the same assembly and requires no initialization. In nollvm configuration, when a call is made through a PLT entry, it initializes the got slots used by the method and runs its class cctor if needed. In llvm configuration, methods initialize themselves and they can be called at any time.

The idea is to change nollvm methods to init themselves without a PLT entry. Method entry point should invoke class constructor and initialize all GOT entries used.

Tasks

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions