Consider to rewrite ILasm/ILdasm in C#
- Dominant language
- C#
- Stars
- 18.3k
- Forks
- 5.6k
- PR merge metrics
- PR metrics pending
Description
During the cleanup of PAL simulated I/O functions, ILasm/ILdasm are the remaining components that using them heavily. The codebase of these tools are already quite a mess that written in ancient style (C++ 9x). It appears that a complete rewrite can provide more benefit and clean up more utility code.
The benefits for using native code instead of managed code:
- Better support for source-build bootstrapping
- Use the same loading/emit code of runtime (DNMD in the future)
The plan is to rewrite one first (probably ildasm) and test round-tripping with counterpart of old version.
@jkotas @jkoritzinsky @AaronRobinsonMSFT Any thoughts? Do you think it's better to use native code or managed code?
Contributor guide
Assessment
This issue has not been assessed yet.