Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

.NET10 CLR changes vs our profiler #4069

Open
Kielek opened this issue Feb 28, 2025 · 2 comments
Open

.NET10 CLR changes vs our profiler #4069

Kielek opened this issue Feb 28, 2025 · 2 comments

Comments

@Kielek
Copy link
Contributor

Kielek commented Feb 28, 2025

.NET 10 Preview 1 is out.

I have created branch with very based support for .NET10. It passed nuke Workflow on my Win11+Docker for Linux.

I do not see any problem, but new CLR brings 2 important changes:

Both changes seems to be working fine with out clr-profiler.

Status of the methods mentioned in dotnet/runtime#107152 (comment):

  • GetAppDomainsContainingModule
  • GetILFunctionBodyAllocator - il_rewriter.cpp
  • SetILFunctionBody - il_rewriter.cpp
  • SetILInstrumentedCodeMap
  • ForceGC
  • GetClassFromToken
  • GetClassFromTokenAndTypeArgs
  • GetFunctionFromTokenAndTypeArgs
  • GetAppDomainInfo - clr_helpers.cpp
  • RequestReJITWithInliners - commented out in rejit_handles.cpp - RejitHandler::RequestRejit method
  • GetReJITIDs
  • RequestReJIT - rejit_handles.cpp - RejitHandler::RequestRejit method
  • RequestRevert
  • EnumJITedFunctions2
  • EnumModules
  • EnumNgenModuleMethodsInliningThisMethod - rejit_handles.cpp - RejitHandlerModuleMethod::RequestRejitForInlinersInModule method
  • ApplyMetaData
@Kielek
Copy link
Contributor Author

Kielek commented Feb 28, 2025

@zacharycmontoya, could you please double check mentioned changes?

@zacharycmontoya
Copy link
Contributor

Yes this one looks fine as it only affects profilers that listen to Enter/Leave function hooks, which we do not use at all, as indicated by us not using SetEnterLeaveFunctionHooks.

This one also appears fine. There is only one call we make for the affected API GetFunctionInfo2 in continuous_profiler.cpp, and the breaking change only affects the pClassId argument which we do not use.

Overall, LGTM 👍🏼

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants