RepoJournal
.NET

@dotnet

The .NET runtime, ASP.NET, and the C# tooling

Pick a date

The Wire · Showcase

JIT INTRINSICS BUG FIX UNBLOCKS STRESS TESTING, DEBUGGER FALLBACK RESTORED FOR NON-WINDOWS

By RepoJournal · Filed · About .NET

The runtime team patched a critical JIT assertion that was breaking stress-tailcall testing on methods with SuppressGCTransition calls, while simultaneously restoring managed debugging on non-Windows platforms.

The JIT compiler was incorrectly marking call+ret patterns for tail-call optimization before determining whether the callee was a named intrinsic [1]. When intrinsics like GC.KeepAlive get imported as non-CALL IR nodes, this left malformed return blocks that triggered assertions during GC poll insertion on methods containing SuppressGCTransition calls. That fix is now landed [2]. In parallel, the runtime team restored a critical fallback in the debugging layer that reconstructs register context from thread frame chains on platforms where ICorDebugDataTarget::GetThreadContext returns E_NOTIMPL [3]. This was removed in a previous commit and broke managed debugging stack walks on non-Windows platforms. The team caught it through internal Visual Studio testing. On the optimization side, the JIT now folds always-true isinst checks using PHI node analysis and improved type comparison logic [4], extending the reach of assertion-based optimizations. WinForms continues pulling codeflow updates from the main VMR [5] [6].

Action items

References

  1. [1] JIT: don't stress-tailcall named intrinsics (#122479) ↗ dotnet/runtime
  2. [2] JIT: don't stress-tailcall named intrinsics (#122479) (#128336) dotnet/runtime
  3. [3] Restore E_NOTIMPL fallback in DacDbiInterfaceImpl::GetContext (#128499) dotnet/runtime
  4. [4] JIT: fold isinst using reaching VNs and compareTypesForCast ↗ dotnet/runtime
  5. [5] [main] Source code updates from dotnet/dotnet ↗ dotnet/winforms
  6. [6] [main] Source code updates from dotnet/dotnet ↗ dotnet/winforms

FAQ

What changed in .NET on May 24, 2026?
The runtime team patched a critical JIT assertion that was breaking stress-tailcall testing on methods with SuppressGCTransition calls, while simultaneously restoring managed debugging on non-Windows platforms.
What should .NET teams do about it?
Test JIT stress modes on next runtime build to confirm intrinsic assertion fix • Verify managed debugging on non-Windows platforms with latest runtime changes • Monitor WinForms codeflow PR merges for any integration issues
Which .NET repositories shipped on May 24, 2026?
dotnet/runtime, dotnet/winforms

For your repos

The showcase is a teaser.
Your wire is the product.

Same engine. Different stack. Below: what changes when the wire is yours.

Showcase wire

  • 14 famous open source orgs
  • One wire per day
  • Public, generic
  • Read on the web, when you remember

Your wire

  • Up to 1,500 of your repos - orgs, deps, vendors
  • Morning and evening briefs
  • Action items routed to your team
  • Slack delivery, email, breaking-news CVE alerts

Want a hands-on demo first? Ask a current user for an invite link.