Skip to content

Move native AOT experiment to dotnet/runtimelab #4

@jkotas

Description

@jkotas

Directory mappings

Compiler

ILCompiler -> src\coreclr\src\tools\aot\...
ILCompiler.Build.Tasks -> src\coreclr\src\tools\aot\...
ILCompiler.Compiler -> src\coreclr\src\tools\aot\...
ILCompiler.MetadataTransform -> src\coreclr\src\tools\aot\...
ILCompiler.MetadataWriter -> src\coreclr\src\tools\aot\...
ILCompiler.RyuJit -> src\coreclr\src\tools\aot\...
ILCompiler.TypeSystem -> src\coreclr\src\tools\aot\...

Libraries

Runtime.Base - consider folding into src\coreclr\src\nativeaot\System.Private.CoreLib
System.Private.CoreLib -> src\coreclr\src\nativeaot\System.Private.CoreLib (consider unifying with src\coreclr\src\System.Private.CoreLib later)
System.Private.DeveloperExperience.Console -> src\coreclr\src\nativeaot\...
System.Private.Interop -> src\coreclr\src\nativeaot\... src\coreclr\src\nativeaot\System.Private.Interop (consider folding into System.Private.CoreLib)
System.Private.Reflection.Core -> src\coreclr\src\nativeaot\... (deduplicate with System.Reflection.MetadataLoadContext later)
System.Private.Reflection.Execution -> src\coreclr\src\nativeaot\...
System.Private.Reflection.Metadata -> src\coreclr\src\nativeaot\...
System.Private.StackTraceGenerator -> src\coreclr\src\nativeaot\...
System.Private.StackTraceMetadata -> src\coreclr\src\nativeaot\...
System.Private.TypeLoader -> src\coreclr\src\nativeaot...(consider factoring out USG support later)System.Private.DisabledReflection->src\coreclr\src\nativeaot... Test.CoreLib->src\coreclr\src\nativeaot...`

Unmanaged runtime

Native\Bootstrap -> src\coreclr\src\nativeaot\Bootstrap
Native\Common -> fold into src\libraries\Native\Unix\System.Native
Native\inc -> fold into src\coreclr\src\nativeaot\Runtime
Native\libunwind -> src\coreclr\src\nativeaot\libunwind (consider replacing with src\coreclr\src\pal\src\libunwind later)
Native\ObjWriter -> src\coreclr\src\tools\aot\ObjWriter
Native\Runtime -> src\coreclr\src\nativeaot\Runtime
Native\System.Private.CoreLib.Native -> fold into src\libraries\Native\Unix\System.Native

Infrastructure

BuildIntegration -> src\coreclr\src\nativeaot\BuildIntegration
Common -> distribute among src\libraries\common, src\coreclr\src\tools\common, src\coreclr\src\nativeaot\Common, etc.
Framework -> various

Existing directories

Native\Runtime\coreclr -> src\coreclr\src\inc,vm
System.Private.CoreLib\shared -> src\libraries\System.Private.CoreLib\src
Native\gc -> src\coreclr\src\gc
Native\jitinterface -> src\coreclr\src\tools\aot\jitinterface (rename crossgen2 to aot)
ILCompiler.DependencyAnalysisFramework -> src\coreclr\src\tools\aot\ILCompiler.DependencyAnalysisFramework
JitInterface -> src\coreclr\src\tools\Common\JitInterface

Phase 2 - more experimental components, potentially separate branch(es)

Native\System.Private.TypeLoader.Native - needed for USG only
System.Private.Interpreter
System.Private.Jit
ILCompiler.WebAssembly
ILCompiler.CppCodeGen

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-NativeAOT-coreclr.NET runtime optimized for ahead of time compilation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions