Skip to content

Migrate away from ILLink custom steps #10842

Description

@sbomer

Background

dotnet/runtime#107211 proposes moving ILLink custom steps out of the trimmer process to enable ILLink to be published trimmed and AOT compiled, transition from Mono.Cecil to System.Reflection.Metadata, and reduce the ILLink API surface.

This issue tracks the work in dotnet/android to migrate all custom steps registered via _TrimmerCustomSteps.

Before MarkStep

During MarkStep

Remaining legacy LLVM IR type map steps

These steps remain registered via _TrimmerCustomSteps, but do not need to be migrated. They can be removed when the legacy LLVM IR type map is retired:

  • PreserveSubStepDispatcher / PreserveExportedTypes
  • MarkJavaObjects
  • PreserveJavaExceptions
  • PreserveApplications
  • PreserveRegistrations
  • PreserveJavaInterfaces

This step still needs to be supported with the trimmable type map:

After CleanStep

References

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Area: TrimmingIssues with ILLink or NativeAOT related to trimming.

Type

No type

Projects

  • Status
    No status

Relationships

None yet

Development

No branches or pull requests

Issue actions