107 wires and counting
$ status: archived — this briefing has stopped; the archive stays readable. browse live briefings →

$ status

wire 2026-05-17
stories 19

© 2026 RepoJournal Home Showcase How it works Privacy

$ the-wire · showcase

ROSLYN FIXES RAZOR DIRECTIVE SPANS, RUNTIME ELIMINATES DEAD GC CODE

By RepoJournal · Filed · About .NET · Composed from the cited sources · methodology

Roslyn's completion engine now correctly reports attribute parameter locations in Razor directives, fixing a precision bug that cascaded into performance work across webtools.

The Roslyn team closed a long-standing span computation bug where directive attributes like @bind-value:format were reported as only @bind-value, omitting the colon and parameter portion [1]. This fix extracts from a larger effort to reduce webtools dependence during completion for measurable performance gains. In parallel, the runtime team is aggressively pruning dead code paths: they deleted the unused WBF_NoBarrier_CheckNotHeapInDebug write barrier form and its associated JIT helper, which were never emitted by the garbage collector [2]. On the JIT side, folding optimizations for double not/neg operations moved earlier in the pipeline, eliminating trivially unnecessary nodes and showing measurable throughput improvements in SPMI benchmarks [4]. The cDAC work continues reshaping allocation-heavy APIs like GetHeapSegments into callback-based EnumerateHeapSegments to reduce native heap pressure [5]. ASP.NET Core shipped a critical fix to the quarantine workflow where external contributor PRs were silently filtered by DIFC integrity checks, causing re-quarantine detection to fail and tests to be incorrectly unquarantined [3].

Action items

References

  1. [1] Fix TryGetAttributeName nameLocation to include parameter name ↗ dotnet/roslyn
  2. [2] Delete unused WBF_NoBarrier_CheckNotHeapInDebug and CORINFO_HELP_ASSIGN_REF_ENSURE_NONHEAP (#128230) ↗ dotnet/runtime
  3. [3] Use deterministic pre-step for re-quarantine detection to bypass DIFC filtering ↗ dotnet/aspnetcore
  4. [4] Move the folding of double not/neg to gtFoldExpr ↗ dotnet/runtime
  5. [5] [cDAC] Reshape DacDbi API GetHeapSegments to EnumerateHeapSegments and implement in cDAC ↗ dotnet/runtime

Quick answers

What shipped in .NET on May 17, 2026?
Roslyn's completion engine now correctly reports attribute parameter locations in Razor directives, fixing a precision bug that cascaded into performance work across webtools. In total, 10 commits and 9 pull requests landed.
Who contributed to .NET on May 17, 2026?
4 developers shipped this update, including ToddGrun, wtgodbe, tannergooding, and Copilot.
What were the notable .NET updates?
Fix TryGetAttributeName nameLocation to include parameter name, Delete unused WBF_NoBarrier_CheckNotHeapInDebug and CORINFO_HELP_ASSIGN_REF_ENSURE_NONHEAP (#128230), and Use deterministic pre-step for re-quarantine detection to bypass DIFC filtering.