Skip to content

Conversation

@am11
Copy link
Member

@am11 am11 commented Feb 1, 2026

  • Add src/tools/ildasm with CLI, library, and test projects
  • Implement all 218 IL opcodes in InstructionDisassembler
  • Add Options class and wire CLI arguments to library
  • Output basic assembly/module/type/method structure
  • Add TODOs for remaining work (token resolution, etc.)

- Add src/tools/ildasm with CLI, library, and test projects
- Implement all 218 IL opcodes in InstructionDisassembler
- Add Options class and wire CLI arguments to library
- Output basic assembly/module/type/method structure
- Add TODOs for remaining work (token resolution, etc.)
@github-actions github-actions bot added the needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners label Feb 1, 2026
@am11 am11 added area-ILTools-coreclr community-contribution Indicates that the PR has been added by a community member and removed needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners labels Feb 1, 2026
@am11 am11 requested a review from jkoritzinsky February 1, 2026 01:40
@dotnet-policy-service
Copy link
Contributor

Tagging subscribers to this area: @JulieLeeMSFT, @dotnet/jit-contrib
See info in area-owners.md if you want to be subscribed.

@jkoritzinsky
Copy link
Member

Let's wait on ildasm until we finish ilasm.

In any case, I was thinking that we should build ildasm on the managed type system and the ILImporter infrastructure over there so we can reuse a bunch of code and have less to maintain in the future.

@jkotas
Copy link
Member

jkotas commented Feb 1, 2026

build ildasm on the managed type system

Managed type system expects metadata for all dependencies that is not compatible with how ildasm works. You would be constantly fighting against that.

BTW: We have a little managed IL disassembler as a debugging aid: https://github.com/dotnet/runtime/blob/main/src/coreclr/tools/Common/TypeSystem/IL/ILDisassembler.cs . It was not built using ILImporter since it would make it a lot more complicated.

@am11
Copy link
Member Author

am11 commented Feb 1, 2026

I was able to rewire it with:
<Import Project="$(CoreClrProjectRoot)tools\ILVerification\ILVerification.projitems" />

https://github.com/am11/runtime/tree/feature/managed-ildasm2

It's a bit cleaner. Do you want this S.R.M version or push that one?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-ILTools-coreclr community-contribution Indicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants