Skip to content

Consider to rewrite ILasm/ILdasm in C# #121847

@huoyaoyuan

Description

@huoyaoyuan

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?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions