Repository navigation
JIT/EE interface cleanup - #136618
Merged
Merged
JIT/EE interface cleanup#136618
Conversation
jkotas
commented
Oct 29, 2026
Member
- Delete unused methodMustBeLoadedBeforeCodeIsRun and classMustBeLoadedBeforeCodeIsRun methods
- Add dedicated byref-like and shared-instantiation queries
- Normalize eeIsByRefLike casing
- Simplify async continuation capture checks.
Add dedicated byref-like and shared-instantiation queries across the VM, AOT tools, and SuperPMI. Normalize eeIsByRefLike casing and simplify async continuation capture checks. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Contributor
|
Tagging @dotnet/jit-contrib for JIT-EE GUID update |
|
Azure Pipelines: Successfully started running 6 pipeline(s). 10 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
Contributor
|
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Relying on IsStackOnly() alone can allow stress-generated layouts containing GC byrefs into continuations, violating ContinuationLayoutBuilder::Create’s assertion.
1 open issue
What changed in this PR
This PR streamlines the JIT–execution engine interface across CoreCLR, ahead-of-time compilers, and SuperPMI.
Changes:
- Removes unused class/method loading callbacks and updates interface versioning.
- Adds dedicated byref-like and shared-instantiation queries, including wrappers and SuperPMI recording/replay support.
- Normalizes
eeIsByRefLikecasing and simplifies async continuation capture checks.
| File | Description |
|---|---|
src/coreclr/vm/jitinterface.cpp |
Implements dedicated queries and removes obsolete callbacks. |
src/coreclr/tools/superpmi/superpmi/icorjitinfo.cpp |
Updates query replay and removes obsolete call recording. |
src/coreclr/tools/superpmi/superpmi-shim-simple/icorjitinfo_generated.cpp |
Updates generated forwarding methods. |
src/coreclr/tools/superpmi/superpmi-shim-counter/icorjitinfo_generated.cpp |
Updates generated call-counting wrappers. |
src/coreclr/tools/superpmi/superpmi-shim-collector/icorjitinfo.cpp |
Records new query results and removes obsolete callbacks. |
src/coreclr/tools/superpmi/superpmi-shared/methodcontext.h |
Declares query support and assigns packet identifiers. |
src/coreclr/tools/superpmi/superpmi-shared/methodcontext.cpp |
Implements query recording, dumping, and replay. |
src/coreclr/tools/superpmi/superpmi-shared/lwmlist.h |
Adds maps for the new queries. |
src/coreclr/tools/superpmi/superpmi-shared/crlwmlist.h |
Removes obsolete loading-call maps. |
src/coreclr/tools/superpmi/superpmi-shared/compileresult.h |
Removes obsolete recording declarations. |
src/coreclr/tools/superpmi/superpmi-shared/compileresult.cpp |
Removes obsolete recording implementations. |
src/coreclr/tools/Common/JitInterface/ThunkGenerator/ThunkInput.txt |
Updates the interface generator input. |
src/coreclr/tools/Common/JitInterface/CorInfoImpl.cs |
Implements managed queries and removes an unused callback. |
src/coreclr/tools/Common/JitInterface/CorInfoImpl_generated.cs |
Updates generated managed callbacks. |
src/coreclr/tools/aot/jitinterface/jitinterface_generated.h |
Updates generated native callback wrappers. |
src/coreclr/tools/aot/ILCompiler.RyuJit/JitInterface/CorInfoImpl.RyuJit.cs |
Removes the no-op class-loading callback. |
src/coreclr/tools/aot/ILCompiler.ReadyToRun/JitInterface/CorInfoImpl.ReadyToRun.cs |
Removes the handle-based class-loading overload. |
src/coreclr/jit/morph.cpp |
Updates byref-like helper casing. |
src/coreclr/jit/layout.cpp |
Updates byref-like helper casing. |
src/coreclr/jit/importercalls.cpp |
Updates the byref-like intrinsic query call. |
src/coreclr/jit/importer.cpp |
Updates byref-like helper call sites. |
src/coreclr/jit/ICorJitInfo_wrapper_generated.hpp |
Updates generated instrumented wrappers. |
src/coreclr/jit/ICorJitInfo_names_generated.h |
Updates the interface method-name list. |
src/coreclr/jit/ee_il_dll.hpp |
Routes helper queries through dedicated interface methods. |
src/coreclr/jit/compiler.h |
Renames the byref-like helper declaration. |
src/coreclr/jit/asyncanalysis.cpp |
Simplifies struct continuation-capture filtering. |
src/coreclr/inc/jiteeversionguid.h |
Changes the JIT/EE compatibility identifier. |
src/coreclr/inc/icorjitinfoimpl_generated.h |
Updates generated override declarations. |
src/coreclr/inc/corinfo.h |
Adds dedicated queries and removes obsolete interface methods. |
Review effort: Balanced
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
EgorBo
reviewed
Oct 29, 2026
EgorBo
approved these changes
Oct 29, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
