2017-08-21 15:34:15 +00:00
## Runtime
2017-04-10 11:41:01 +00:00
- Build managed parts
- Build language source to IL
- Compile IL assembly with ILC compiler
- Unix
- Runtime Unix PAL
- Assembly port
- Thread suspension - hijacking
- RyuJIT EH
- Define Runtime/Codegen contract
- Stack unwinding
- JIT: Produce platform-specific unwind info
- Runtime to consume the platform specific unwind info
- Managed/native transitions helpers (both pinvoke and reverse pinvoke)
- JIT: emit the right transition helpers
- Implement the transition helpers
- GC info encoding (for precise GC)
- Enable conservative GC
- Toolchain support to write the GCInfo into final binary
- Runtime to consume GCInfo produced by RyuJIT today for precise GC
2017-08-21 15:34:15 +00:00
## Toolchain
2017-04-10 11:41:01 +00:00
- Split compilation
- Design document
- Robust name mangling
- Generics (comdat foldable section, or special module)
- Implementation
- Phase 1 - Single obj for System.Private.CoreLib
- Phase 2 - Respective object file for everything else (1:1 Assembly:ObjectFile mapping)
- Produce complete EE types in the toolchain
- Stubs - Delegates, etc.
- Adjustments for RyuJIT / UTC difference
2017-08-21 15:34:15 +00:00
## Reflection
2017-04-10 11:41:01 +00:00
- Produce compact metadata in the final binary
- Produce mapping tables
- Runtime consumption
2017-08-21 15:34:15 +00:00
## Interop
2017-04-10 11:41:01 +00:00
- Move MCG [Marshaling Code Generator ](http://blogs.msdn.com/b/dotnet/archive/2014/06/13/net-native-deep-dive-debugging-into-interop-code.aspx ) to github
- Package MCG as standalone tool
- Integrate MCG with ILToNative toolchain
2017-08-21 15:34:15 +00:00
## Framework
2017-04-10 11:41:01 +00:00
- Move all .NET Native System.Private* libraries over to github
- Complete .NET Native specific libraries in corefx (build, port to Unix)
- Port to Win32/Unix
2017-08-21 15:34:15 +00:00
## Shared generics
2017-04-10 11:41:01 +00:00
- Toolchain - produce supporting tables and fixups
2017-08-21 15:34:15 +00:00
## CPPCodegen
2017-04-10 11:41:01 +00:00
- Complete IL to CPP codegenerator
- Portable EH