Skip to content

Refactorings to help with linker->AOT integration#2883

Merged
vitek-karas merged 4 commits intodotnet:mainfrom
vitek-karas:LinkAotSync3
Jul 9, 2022
Merged

Refactorings to help with linker->AOT integration#2883
vitek-karas merged 4 commits intodotnet:mainfrom
vitek-karas:LinkAotSync3

Conversation

@vitek-karas
Copy link
Copy Markdown
Member

Move CompilerGenerated* classes to the DataFlow directory. They sort of belong there anyway and they should be "shared" with AOT (and the entire DataFlow directory is "Shared").

Change how interprocedural state method tracking is initiated. For the parent method we track the "body", for everything else we add the method itself (and get the body inside the tracking). In AOT, getting a body of a method is more complicated and so having it in one place helps with factoring. Linker doesn't care either way so I made it symetric with AOT.

InterproceduralStateLattice in AOT has state (IL Provider) so it has to be instantiated for each scanner separately. Made a symetric change in linker.

Adds a test for nested local functions and data flow.

@vitek-karas vitek-karas merged commit 81c90bb into dotnet:main Jul 9, 2022
@vitek-karas vitek-karas deleted the LinkAotSync3 branch July 9, 2022 18:33
agocke pushed a commit to dotnet/runtime that referenced this pull request Nov 16, 2022
Move CompilerGenerated* classes to the DataFlow directory. They sort of belong there anyway and they should be "shared" with AOT (and the entire DataFlow directory is "Shared").

Change how interprocedural state method tracking is initiated. For the parent method we track the "body", for everything else we add the method itself (and get the body inside the tracking). In AOT, getting a body of a method is more complicated and so having it in one place helps with factoring. Linker doesn't care either way so I made it symetric with AOT.

InterproceduralStateLattice in AOT has state (IL Provider) so it has to be instantiated for each scanner separately. Made a symetric change in linker.

Adds a test for nested local functions and data flow.

Commit migrated from dotnet/linker@81c90bb
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants