Skip to content

Comments

Publish AOT managed-ilasm and include in Core_Root#124600

Merged
jkoritzinsky merged 2 commits intodotnet:mainfrom
am11:feature/managed-ilasm
Feb 20, 2026
Merged

Publish AOT managed-ilasm and include in Core_Root#124600
jkoritzinsky merged 2 commits intodotnet:mainfrom
am11:feature/managed-ilasm

Conversation

@am11
Copy link
Member

@am11 am11 commented Feb 19, 2026

Haven't used it in round-trip test yet.

@am11 am11 force-pushed the feature/managed-ilasm branch from f277a9e to 52aae2e Compare February 19, 2026 14:49
@am11 am11 added area-ILTools-coreclr community-contribution Indicates that the PR has been added by a community member and removed area-crossgen2-coreclr labels Feb 19, 2026
@am11 am11 requested a review from jkoritzinsky February 19, 2026 14:50
@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.

@am11 am11 force-pushed the feature/managed-ilasm branch from 7092db3 to 5c45544 Compare February 19, 2026 16:22
@am11 am11 force-pushed the feature/managed-ilasm branch from b4e12fd to 9777c82 Compare February 20, 2026 01:09
@jkoritzinsky jkoritzinsky enabled auto-merge (squash) February 20, 2026 02:26
@jkoritzinsky jkoritzinsky merged commit c14a194 into dotnet:main Feb 20, 2026
172 of 180 checks passed
@am11 am11 deleted the feature/managed-ilasm branch February 20, 2026 09:47
@akoeplinger
Copy link
Member

@am11 @jkoritzinsky this causes a few prebuilts in dotnet/dotnet#5026

<AnnotatedUsages>
  <AnnotatedUsage Id="Antlr4.CodeGenerator" Version="4.6.6" File="artifacts/obj/runtime/project-assets-json/obj/ILAssembler/project.assets.json" IsDirectDependency="true" Project="artifacts/obj/" />
  <AnnotatedUsage Id="Antlr4.Runtime" Version="4.6.6" File="artifacts/obj/runtime/project-assets-json/obj/ILAssembler/project.assets.json" IsDirectDependency="true" Project="artifacts/obj/" />
  <AnnotatedUsage Id="Antlr4.Runtime" Version="4.6.6" File="artifacts/obj/runtime/project-assets-json/obj/ilasm/project.assets.json" Project="artifacts/obj/" />
  <AnnotatedUsage Id="Microsoft.NETCore.Platforms" Version="1.0.1" File="artifacts/obj/runtime/project-assets-json/obj/ILAssembler/project.assets.json" Project="artifacts/obj/" SourceBuildPackageIdCreator="source-build-reference-packages MicrosoftNETCorePlatformsVersion/5.0.0 windowsdesktop MicrosoftNETCorePlatformsVersion/11.0.0-ci" />
  <AnnotatedUsage Id="Microsoft.NETCore.Platforms" Version="1.0.1" File="artifacts/obj/runtime/project-assets-json/obj/ilasm/project.assets.json" Project="artifacts/obj/" SourceBuildPackageIdCreator="source-build-reference-packages MicrosoftNETCorePlatformsVersion/5.0.0 windowsdesktop MicrosoftNETCorePlatformsVersion/11.0.0-ci" />
  <AnnotatedUsage Id="NETStandard.Library" Version="1.6.0" File="artifacts/obj/runtime/project-assets-json/obj/ILAssembler/project.assets.json" Project="artifacts/obj/" />
  <AnnotatedUsage Id="NETStandard.Library" Version="1.6.0" File="artifacts/obj/runtime/project-assets-json/obj/ilasm/project.assets.json" Project="artifacts/obj/" />
</AnnotatedUsages>

@am11
Copy link
Member Author

am11 commented Feb 23, 2026

tunnelvisionlabs/antlr4cs#364 was never released.

Long term: we can request @sharwell and co. to publish a release, or fork that repo under dotnet/ org and publish that package in dotnet-eng.

Short term: add those prebuilds or conditionally disable managed ilasm for build from source:

image

@am11
Copy link
Member Author

am11 commented Feb 23, 2026

or fork that repo under dotnet/ org and publish that package in dotnet-eng.

tunnelvisionlabs/antlr4cs#381 (comment) suggests the path forward is https://github.com/antlr/antlr4 and https://www.nuget.org/packages/Antlr4.Runtime.Standard#dependencies-body-tab, which looks more "official". @jkoritzinsky, shall we migrate to it? At least, it will eliminate Microsoft.NETCore.Platforms and NETStandard.Library from new prebuilts requirement.

@akoeplinger
Copy link
Member

First off I'm a bit confused why nuget package pruning didn't get rid of the Microsoft.NETCore.Platforms/NETStandard.Library.

For the managed-ilasm: as far as I understand it's only used in tests so far and not planned to be shipped in the dotnet sdk for some time right? In that case I'd prefer to disable building it in the VMR completely, not just source-build

@am11
Copy link
Member Author

am11 commented Feb 23, 2026

The last update to that Antlr package on nuget.org was in 2018, so I guess NetStandard 1x are not pruned? Packages targeting NetStandard 2x are pretty common.

For the managed-ilasm: as far as I understand it's only used in tests so far and not planned to be shipped in the dotnet sdk for some time right? In that case I'd prefer to disable building it in the VMR completely, not just source-build

Yes, in short term, we don't need it. Once we are able to run round-trip tests with it, we can then just swap the binary in existing ilasm nuget pacakge with this new one. At that point we will need it. Basically code is completed + all the TODOs resolved. The next step is to run tests and fine-tune. (I am waiting for #124661 to be resolved first..)

@akoeplinger
Copy link
Member

The last update to that Antlr package on nuget.org was in 2018, so I guess NetStandard 1x are not pruned? Packages targeting NetStandard 2x are pretty common.

Ok looks like all the dependencies of NETStandard.Library 1.6.0 are pruned but not the meta-package itself. Not sure if this is intentional.

Yes, in short term, we don't need it. Once we are able to run round-trip tests with it, we can then just swap the binary in existing ilasm nuget pacakge with this new one. At that point we will need it.

Let's cross that bridge when we get there then :)

@jkoritzinsky
Copy link
Member

jkoritzinsky commented Feb 23, 2026

@am11 I agree, we should migrate to the new Antlr4.Runtime.Standard package.

In the meantime, we should disable building managed ilasm when building from source or in the VMR completely (I can hook up the rest of the infra across the stack to support it and then we can turn it back on).

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.

3 participants