2026年08月のダイジェスト

dotnet/runtimeにマージされたPull RequestをAIで日本語要約

← アーカイブ一覧へ戻る

このページは、dotnet/runtimeリポジトリにマージされたPull Requestを自動的に収集し、その内容をAIが要約した内容を表示しています。そのため、必ずしも正確な要約ではない場合があります。

655
PR 数(Total)
477
PR 数(Community)
72
PR 数(AI Agent)
106
PR 数(Bot)
103
ラベルタイプ数
30
更新日数

日別 Pull Request 数

日付をクリックするとその日のセクションへ移動します。

ラベル別 Pull Request 数(上位10)

ラベル別 Pull Request 数の上位10 上位10件の合計509件を100%とした内訳です。各スライスの番号は凡例の番号に対応します。ラベルごとの件数は凡例を参照してください。 1. Servicing-approved — 112 PRs (22.0%) 2. area-CodeGen-coreclr — 73 PRs (14.3%) 3. area-codeflow — 58 PRs (11.4%) 4. community-contribution — 56 PRs (11.0%) 5. arch-wasm — 47 PRs (9.2%) 6. area-Infrastructure — 47 PRs (9.2%) 7. area-Diagnostics-cdac — 37 PRs (7.3%) 8. area-VM-coreclr — 34 PRs (6.7%) 9. area-ReadyToRun — 23 PRs (4.5%) 10. area-System.Net — 22 PRs (4.3%)
  1. Servicing-approved112 PRs22.0%
  2. area-CodeGen-coreclr73 PRs14.3%
  3. area-codeflow58 PRs11.4%
  4. community-contribution56 PRs11.0%
  5. arch-wasm47 PRs9.2%
  6. area-Infrastructure47 PRs9.2%
  7. area-Diagnostics-cdac37 PRs7.3%
  8. area-VM-coreclr34 PRs6.7%
  9. area-ReadyToRun23 PRs4.5%
  10. area-System.Net22 PRs4.3%
上位10件で全966件中509件(52.7%)を占めます。ラベルは1つの Pull Request に複数付くため、比率は PR 数ではなくラベル付与の延べ数に対するものです。

各 Pull Request の概要

この月にマージされた 655 件を新しい日から順に並べています。タイトルをクリックするとその日のページの該当箇所へ移動します。Bot が作成した 106 件はタイトルのみにして、各日の最後にまとめています。

2026年08月31日 (19 PRs)うち Bot 2 件 この日のページ →

#132963 [LoongArch64] Fix the GCReg update for the relocation case (pcalau12i + addi.d/ld.d) of NativeAOT, the GCReg should update after calculation completed.

@LuckyXu-HF・GitHub・area-CodeGen-coreclrcommunity-contributionarch-loongarch64

LoongArch64プラットフォーム上のNativeAOTにおいて、pcalau12i + addi.d/ld.d命令のリロケーションケースでGCRegの更新タイミングが誤っていた問題を修正します。GCRegは計算完了後に更新される必要があります。この修正により、NativeAOTテストSmokeTests/DynamicGenericsの間欠的なGCクラッシュが解決されます。

#132933 Reduce COFF relocation allocation overhead

@awakecoding・GitHub・community-contributionarea-NativeAOT-coreclr

NativeAOT のCOFF リロケーション処理におけるメモリ割り当てオーバーヘッドを削減します。CoffRelocationをヒープオブジェクトから12バイトの不変値型構造体に変更し、リロケーション列挙時にref readonlyで反復処理することで、数千万のリロケーションレコード処理時のメモリ使用量とGC圧力を大幅に軽減します。

#132931 Avoid slow parallel connect failures in SocketAsyncEventArgs test

@MihaZupan・GitHub・area-System.Net.Sockets

SocketAsyncEventArgsTest.Connect_Parallel_FailsテストがmacOSで30秒のタイムアウトを超える問題を修正。バインドされているが待機していないソケットへの接続がmacOSで保留状態のままになる代わりに、テストスイートの予約済み未使用ポートを使用することで、OS依存の遅い動作を回避しながら並列IPv4/IPv6接続エラーをテストしています。

#132925 Align CoreCLR GS cookie protection with NativeAOT

@steveisok・GitHub・area-VM-coreclr

CoreCLRのGS Cookie保護をNativeAOTに合わせて調整し、Apple macOS arm64でLLDB内部でのホストが失敗する問題(coreclr_initializeが0x8007000Cを返す)を修正します。Apple、WebAssembly、OpenBSDでは読み取り専用ページ保護機能を無効化し、これらのプラットフォームの不変セグメント制限に対応します。

#132921 Preserve side effects in SIMD classification helpers

@tannergooding・GitHub・area-CodeGen-coreclr

SIMD分類ヘルパー関数(IsInfinityなど)がコンパイル時に定数にフォールドされる際に、オペランドの副作用(例外など)が失われる問題を修正しました。9つの分類操作すべてが対象です。Vector128.WithElementの例外生成オペランドを使用した回帰テストを追加し、x64とWASMの共有インポート形状をカバーしています。

#132889 Add R2R knob to force value of TargetAllowsRuntimeCodeGeneration

@BrzVlad・GitHub・area-ReadyToRun

Read-Ahead (R2R) コンパイルにおいて、--target-allows-runtime-code-generation オプションを追加し、ランタイムコード生成を強制的に無効化できるようにしました。これにより iOS のような動的コード生成が禁止される環境の設定をシミュレートできます。ランタイムが dynamiccodecompiled false でビルドされた場合、corelib も同じ設定でビルドされるようになり、corerun と testhost がこの設定を確実に遵守します。

#132796 [EventPipe] Add non-lossy Block-mode functional tests

@mdh1418・GitHub・area-Tracing-coreclr

EventPipeの非ロッシーBlockバッファリングモード向けのエンドツーエンド機能テストカバレッジを追加します。vendored診断クライアント(Microsoft.Diagnostics.NETCore.Client)とIpcTraceTestインフラストラクチャをdotnet/diagnosticsと再同期し、CollectTracing3~6プロトコル、バッファリングモード選択、イベント損失検証機能に対応させています。

#132780 Reduce Unix Process.Start path resolution allocations

@Copilot・GitHub・area-System.Diagnostics.Processtenet-performance

Unix環境でのProcess.Startのパス解決処理を最適化し、メモリ割り当てを削減するPRです。FindProgramInPathをUnix実装に移動し、ValueStringBuilderを使用して実行ファイル候補を構築し、成功時のみ文字列を確保するようにしました。また、spanベースのUTF-8 interopを活用して実行ファイルチェックを行います。

#132735 Improvements to native AOT method debug information

@MichalStrehovsky・GitHub・area-NativeAOT-coreclr

Native AOTで生成されるデバッグ情報(CodeView/PDB)の改善により、デバッガがメソッドおよびパラメータの型情報をスタックトレースに表示できるようになります。主な改善点は以下の通りです:

  • メソッドの型情報をCodeView記号に含める(methodTypeIndexを非ゼロ値で設定)
  • VS デバッガのようなC#形式のメソッド名を表示(マングルされたシンボル名の代わり)
  • 暗黙的なthisパラメータを適切に命名(デバッガが署名に含めないようにするため)

修正前はパラメータint nが表示されず、修正後は正しく表示されます。

#132728 Add custom error handling to LibraryImport source generation

@davidwrighton・GitHub・area-System.Runtime.InteropServices

LibraryImport ソースジェネレータに、メソッドレベルの ErrorHandlerAttribute(メタデータ名で認識)を使用したカスタムネイティブエラーハンドリング機能を追加しました。エラー値の取得元として、ネイティブ戻り値、最終マネージ型の out/ref パラメータ、隠れた最終ネイティブパラメータ、隠れた戻り値をサポートします。エラー変換は論理的な戻り値と通常の出力変換の前に実行され、エラーマーシャラーが無効なネイティブ出力を読む前に例外をスローできます。SetLastError=true の場合、システムエラーはネイティブ呼び出し直後にキャプチャされ、成功後に復元されます。

[CustomMarshaller(typeof(NativeError), MarshalMode.Default,
    typeof(NativeErrorMarshaller))]
static class NativeErrorMarshaller
{
    public static NativeError ConvertToManaged(int error)
    {
        if (error < 0) throw new NativeErrorException(error);
        return new NativeError(error);
    }
}

[LibraryImport("NativeLibrary")]
[ErrorHandler(typeof(NativeErrorMarshaller), ErrorLocation.ReturnValue)]
static partial void Invoke();

#132539 JIT/Interp: Remove MAYBENULL TypeHandle -> RuntimeType Helper uses

@adamperlin・GitHub・area-CodeGen-coreclr

MAYBENULL TypeHandle → RuntimeType ヘルパー関数を廃止し、null チェックをインライン化するように変更します。JIT と Interpreter の両方で、(handle == 0) ? default(RuntimeTypeHandle) : CORINFO_TYPEHANDLE_TO_RUNTIMETYPEHANDLE(handle) 相当のチェックを直接生成します。Interpreter には maybe-null 引数を持つヘルパー呼び出しを処理するための新しいオペコードが追加されました。

#132098 Use nearest prime sizing for collection trimming

@tannergooding・GitHub・area-System.Collectionstenet-performance

Dictionary<TKey, TValue>とHashSet<T>のTrimExcessメソッドが、成長指向のキャッシュ済みプライム数を使用する代わりに、最も近い有効なプライム数を選択するように改善されました。これにより、トリミング後の保持ストレージが最大約19%削減されます。構築、EnsureCapacity、自動成長時には既存のキャッシュ済みプライム動作を維持します。プライム選択ロジックはlibraries/Commonに統合され、重複実装が排除されました。

#131932 Fix nested readonly collection ctor parameters

@rosebyte・GitHub・area-Extensions-Configurationsource-generator

Configuration Binder ソースジェネレータが、読み取り専用コレクション型のコンストラクタパラメータを持つネストされたメンバーの初期化に失敗する問題を修正しました。修正前は参照型はnullに、値型はdefaultに暗黙的にバインドされていましたが、リフレクションバインダーとの動作の乖離がありました。

public record Inner(IReadOnlyList<string> Values);
public class Outer
{
    public Inner? Nested { get; set; }  // 修正前: null, 修正後: 正しく初期化
}

#131732 Skip making empty loops for collections of non-bindable elements

@rosebyte・GitHub・area-Extensions-Configurationsource-generator

ConfigurationBinder ソースジェネレータが、要素型を構築できない非辞書コレクション(例:抽象クラスの要素型)に対して空の BindCore メソッドを生成しないように修正します。インターセプタの動作(引数検証、非サポートオプションの例外スロー)は保持されます。

修正前の問題コード例:

// 非バインド可能な要素型に対して空のループが生成される
public static void BindCore(IConfiguration configuration, ref EndPointCollection instance, bool defaultValueIfNotFound, BinderOptions? binderOptions)
{
    foreach (IConfigurationSection section in configuration.GetChildren())
    {
    }
}

#131161 [cDAC] WebAssembly: captured R2R stack-walk fixture validation

@lewing・GitHub・area-VM-coreclr

WebAssemblyのReadyToRun (R2R)スタックウォーク機能に対するcDAC(Compact Diagnostic Access Component)テストを強化します。空のFunctionTableIndexRangeListケースの検証と、実際のディスパッチング複合R2Rイメージから取得した完全なランタイム関数テーブルを使用した統合テストを追加します。また、XML コメントで WASM フレームレイアウトのネイティブソース参照を修正します。

2026年08月29日 (3 PRs)うち Bot 1 件 この日のページ →

#132899 [release/11.0] Re-enable Helix Job Monitor

@mmitche・GitHub・area-Infrastructure

release/11.0ブランチで、一時的に無効化されていたHelixジョブモニター機能を再度有効化するPullRequest。#132880で無効化された後、固定パッケージ(11.0.0-beta.26427.10)が#132869で利用可能になったため、条件付きステージの動作を維持しながら再有効化を行うもの。

#132846 Use rolling Windows queue for latest Windows tests

@agocke・GitHub・area-Infrastructure

Helix CI/CDパイプラインのWindows テストキュー設定を更新し、最新のWindows x64 公開エイリアス (helix_windows_x64_latest) を、バージョン固定のWindows 11クライアントキューから、ローリング実行時キュー (Windows.Amd64.Open.rt) に変更。CoreCLRおよびライブラリのパイプラインを、中央集中管理されたキュー変数(Windows x64/CET/ARM64)を使用するよう統一。

2026年08月28日 (37 PRs)うち Bot 7 件 この日のページ →

#132906 [wasm] Carry R2R function names in a name section, not the export table

@lewing・GitHub・arch-wasmarea-ReadyToRun

WebAssembly エンジンの effective type-size limit を超える問題を解決するため、WebCil wasm object writer がすべての定義関数をエクスポートするのをやめ、代わりに関数名を name カスタムセクションで保持するようにしました。エクスポートテーブルはホストが呼び出すスタブ関数のみに限定されます。

フレームワーク規模(181アセンブリ + corelib)での効果:

  • 関数数:232,673(不変)
  • エクスポート数:232,675 → 4
  • エクスポートセクション:29.0 MB → 65 bytes
  • 検証結果:❌ effective type size exceeds 1000000 → ✅ valid

#132896 Avoid unnecessary JIT data section constants

@tannergooding・GitHub・area-CodeGen-coreclr

JIT コンパイラのデータセクション管理を最適化し、重複する定数の参照やアライメント対応を改善。各データエントリに論理オフセット(dsOffset)を割り当て、重複する定数は同じアライメント済みロケーションを参照するようにすることで、不要なデータセクションエントリの生成を削減。SIMD整数除算コード生成では、符号付き除算でのみオーバーフロー検査に必要な全ビット1の定数を生成するよう最適化。

#132884 Exclude Helix Job Monitor stages when toggled off

@premun・GitHub・area-Infrastructure

Azure Pipelines YAMLの定義を更新し、enableHelixJobMonitor変数がオフの場合にHelix Job Monitor ステージを除外するようにしました。helix-job-monitor.ymlジョブテンプレートの挿入を${{ if eq(variables['enableHelixJobMonitor'], true) }}条件でガードすることで、パイプライン実行時の不要なステージ生成を防ぎます。

#132882 Correctly exclude the Helix Job Monitor stage in coreclr outerloop

@premun・GitHub・area-Infrastructure-coreclr

CoreCLR outerloop Azure Pipelines定義を更新し、Helix Job Monitorステージを条件付きで含める変更です。enableHelixJobMonitorパラメータが有効な場合のみJob Monitorテンプレートをインクルードするよう修正されました。デフォルトはenableHelixJobMonitor: falseのままなので、このパイプラインではモニタージョブは除外されます。

#132878 Fix WebProxy treating hosts with non-ASCII dot separators as local

@thaildhe172591・GitHub・area-System.Netcommunity-contribution

WebProxyが非ASCII文字のドット区切り文字(U+3002、U+FF0E、U+FF61など)を含むホスト名を正しく処理していない問題を修正しました。従来はUri.HostのASCIIドットのみを検索していたため、intranet。corpのような名前がローカルホストと判定され、BypassProxyOnLocal設定時のプロキシ迂回動作が不正確でした。修正後はUri.IdnHostを使用することで、すべてのIDN区切り文字を.に正規化して処理します。

#132870 [wasm] Fail hard when the engine rejects a Webcil R2R image

@lewing・GitHub・arch-wasmarea-Host

CoreCLR-on-wasmで、Webcil R2R画像(.wasmファイル)がWebAssemblyエンジンに拒否された場合の処理を改善しました。従来は例外を無視して通常のフォールバックと同じく無言で解釈実行に切り替わっていましたが、今後は明示的にエラーをスローするようにしました。これにより、R2R画像が存在しない場合と存在但し無効な場合を区別できるようになり、問題の可視化が向上します。

#132857 Fix crossgen2 rejecting input files with uppercase .DLL/.EXE extensions

@Copilot・GitHub・area-ReadyToRun

crossgen2が大文字の.DLL/.EXE拡張子を持つアセンブリを拒否する問題を修正しました。この問題はファイルシステムやネットワークシェア(WinFsp/virtiofs など)で大文字に正規化されるケースで発生し、PublishReadyToRunビルドを破損させていました。Microsoft.NETCore.App.Crossgen2 10.0.5 → 10.0.9でのリグレッションです。

#132854 Gate Composite ML-DSA CNG tests on NCrypt support

@PranavSenthilnathan・GitHub・area-System.Security

Composite ML-DSA CNG テストの Windows プラットフォーム対応判定を改善しています。Windows ビルド + UBR に基づいた Composite ML-DSA サポート検出と、NCrypt サポートに基づいた CNG テストのゲーティングを追加しました。BCrypt サポートがあっても対応する NCrypt サポートがない場合、CNG テストをスキップするようになります。

#132838 Fix wrong element types (bytes vs chars) in Base64/Base64Url XML docs

@Copilot・GitHub・area-System.Buffers

Base64/Base64Url APIのXML doc コメントにおける誤った要素型の記述を修正します。主な問題として、Base64Url.EncodeToCharsが返す値をバイト数ではなく文字数として正しく記載すること、UTF-8エンコーディング向けと文字向けのメソッドで異なる戻り値型の記述を統一すること、およびデコード操作での説明誤りを修正しています。動作変更なし。

var dest = new char[10];
int written = Base64Url.EncodeToChars("fff"u8, dest); // 4 chars, not bytes

#132833 Clarify documentation for BackgroundServiceExceptionBehavior.StopHost

@svick・GitHub・area-Extensions-Hosting

BackgroundServiceExceptionBehavior enum の XML ドキュメントを改善し、IHost が BackgroundService の障害時にどのように動作するかをより明確に説明します。<remarks> タグは Learn.Microsoft.com の API ドキュメント生成時に表示されないため、重要な詳細情報を <summary> タグの複数段落に移動することで、生成されたドキュメントに確実に表示されるようにしました。

#132826 Allow async variants of ComImport methods

@jakobbotsch・GitHub・area-ReadyToRunruntime-async

CLR→COM スタブが transient IL として生成される(#131494)ようになったことに伴い、COM インターフェイスメソッドの async バリアント対応に関する特殊ケース処理が不要になったため、その処理を削除します。これにより async 変種の COM メソッドが通常の marshalling IL から直接コンパイルされるようになります。

#132766 Throw JsonException for duplicate JsonObject properties

@PranavSenthilnathan・GitHub・area-System.Text.Json

JsonSerializerOptions.AllowDuplicatePropertiesがfalseの場合、JsonObjectコンバーターが重複プロパティに対してArgumentExceptionを発生させていた問題を修正。ドキュメントに従ってJsonExceptionを発生させるように改善しました。JsonObject.Addの代わりにTryAddと既存の重複プロパティ処理ヘルパーを使用し、他のSystem.Text.Jsonコンバーターの動作と統一します。

#132765 Increase spinning/polling aggressiveness in the thread pool in low-saturation scenarios

@VSadov・GitHub・area-System.Threading

スレッドプール内の低飽和度シナリオにおいてレイテンシを改善するため、ワーカースレッドの駐車(parking)戦略を調整するPRです。以前の変更でスピニング削減により高飽和度シナリオでの効率を向上させましたが、低飽和度では不要な遅延が発生していました。本変更では、ワーカー数が少ない場合には過度な駐車を避け、適度なスピニングを許容することでバースト型ワークロードのレイテンシを改善します。

#132751 Reset bFallingBack and iRecursionCount on 0 return

@dovydenkovas・GitHub・area-Infrastructure-librariescommunity-contribution

EncoderReplacementFallbackBuffer_InternalGetNextChar 関数でnull文字 \0 を返す際に、bFallingBack 状態フラグと iRecursionCount カウンタがリセットされていない問題を修正しました。この問題により、エンコーダーが置換完了後も fallback 状態に留まり、アサーション失敗を引き起こしていました。

#132739 [browser] Generate the Wasm.Build.Tests Helix class list at build time

@maraf・GitHub・arch-wasmtest-enhancementarea-Infrastructure-mono

Wasm.Build.TestsのHelix実行クラスリストを、手動メンテナンスの代わりにビルド時に自動生成するようにしました。新しいGenerateXunitTestClassListタスクがテストアセンブリから[Fact]/[Theory]/[ConditionalFact]/[ConditionalTheory]属性を持つパブリック非抽象クラスを自動検出し、カテゴリフィルタ(no-workload、IgnoreForCI、failingなど)を適用してリストを生成します。これにより、手動リストの漏れやドリフト(CoreCLR向けで7クラスが実行されていなかった問題など)を防ぎます。

#132665 Remove the uniprocessor (non-TLS) allocation helpers

@EgorBo・GitHub・area-GC-coreclr

シングルプロセッサ構成用のWindows x86/x64 uniprocessor allocation helpers (RhpNewFast_UP等)を削除し、すべてのメモリ割り当てをスレッドローカル割り当てコンテキスト経由に統一する変更です。ほぼ到達不可能(GetSystemInfo()が正確に1プロセッサを報告する必要)で、既知のバグ(GCStress時のヒープ破損)があり、テストされていない最適化のため削除されます。

#132527 Add a SuperPMI collection over the Aspire CLI (NativeAOT)

@EgorBo・GitHub・area-CodeGen-coreclr

Aspire CLIのNativeAOT実装を対象とした新しいSuperPMI collection を追加します。ローカルに構築されたILCコンパイラを使用して、実環境で実際にAOT コンパイルされているサードパーティ製アプリケーション上での包括的なテストカバレッジを実現します。新しいコレクションは54,051のコンテキストを生成し、898MBのサイズとなり、既存のsmoke_tests.nativeaot(34,532コンテキスト、453MB)より多くのカバレッジを提供します。

#132473 Handle Unicode scalars in UTF-8 parsing and formatting

@tannergooding・GitHub・area-System.Numerics

UTF-8解析とフォーマッティングにおけるUnicodeスカラ処理の改善。U+0020(空白)、U+00A0(NBSP)、U+202F(NNBSP)を同等のセパレータとして扱い、UTF-16とUTF-8間でのパリティを向上。さらに、サロゲートペアを正しくUTF-8の4バイトスカラとして出力し、ペアのないサロゲートはU+FFDに置換される。これにより、数値、日時、TimeSpan、BigIntegerの解析・フォーマッティングで一貫性が得られる。

#132348 Normalize X509Chain App/Cert policies across OSes

@bartonjs・GitHub・area-System.Security

X509Chain のポリシー処理を Windows/OpenSSL/Apple/Android 間で正規化し、ApplicationPolicy/CertificatePolicy の処理と無効/デコード不可能なポリシー関連拡張の評価・報告をプラットフォーム間で一貫させます。コンテキストトラストの導入後に書き直された従来のポリシー処理コードを、より充実したテストに基づいて統一化します。

#132275 Add configurable SSE parser buffer limit

@Copilot・GitHub・area-System.Net

SSE(Server-Sent Events)パーサーにバッファサイズの設定機能を追加しました。新しい SseParserOptions<T> クラスを導入し、呼び出し元が MaxBufferSize プロパティでパーサーのバッファ上限を構成できるようにします。デフォルトは -1(内部デフォルト値を使用)です。

var parser = SseParser.Create(stream, new SseParserOptions<string>(
    static (_, bytes) => Encoding.UTF8.GetString(bytes))
{
    MaxBufferSize = 1024 * 1024
});

#132190 Report CoreCLR Write Barriers And Code-Heap Stubs In Traces

@brianrob・GitHub・area-Diagnostics-coreclr

ETW/EventPipeおよびPerfMapトレースにおいて、通常のJITメソッド外で生成された実行可能コード(コピーされたwrite barrier、スタブ、コード断片ブロック)のシンボル解決範囲を改善します。これにより、トレース内の未解決シンボルが大幅に減少します。

CodeHeapIteratorがヒープ終了をスナップショットし、スタブ範囲を識別して報告する機能が追加されました。コピーされたwrite barrierの報告はJITヘルパーテーブル設定から導出されます。

#131655 Build vararg support only where it is reachable

@jkoritzinsky・GitHub・area-VM-coreclr

vararg呼び出し規約はWindows上でのみサポートされているため、このPRはFEATURE_VARARGSフィーチャーフラグを導入し、vararg関連のインフラストラクチャをサポート対象プラットフォーム(主にWindows)上でのみビルドするように変更しました。これにより、Unix/ARM/loongarch64/riscv64/wasmなどの非対応プラットフォーム上で到達不可能なスタブ、cookie管理、マーシャリングヘルパーなどをコンパイルから除外できます。

Windows上のビヘイビアは変わりません。ConvToJitSigはプラットフォーム固有のチェックを単一のFEATURE_VARARGS定義で統一し、プラットフォーム間での齟齬を防ぎます。

#130870 Fix LargestVectorSize and buffer size in ARM HW intrinsic tests

@t-mustafin・GitHub・area-CodeGen-coreclrcommunity-contributionarm-sve

ARM Hardware IntrinsicsテストでLargestVectorSizeがARM上のVector<T>サイズ(128ビット=16バイト)と一致していないことと、バッファサイズ計算式が不十分であることに起因するバッファオーバーフロー問題を修正しています。armel環境ではGC構造体の破損とGCアサーション例外につながる問題です。

2026年08月27日 (23 PRs)うち Bot 8 件 この日のページ →

#132847 Temporarily disable Helix Job Monitor

@garath・GitHub・area-Infrastructure

Azure DevOps(ADO)の負荷軽減を目的として、複数のAzure PipelinesテンプレートでenableHelixJobMonitorフラグをtrueからfalseに変更し、Helix Job Monitorを一時的に無効化します。この変更はビルド・テスト実行時のモニタリング機能に影響を与えます。

#132818 Fix "Bad IL range" when applying a hot reload update without FEATURE_REJIT

@rolfbjarne・GitHub・area-Diagnostics-coreclr

JIT非搭載プラットフォーム(iOS、tvOS、Mac Catalyst、WASM)でFEATURE_REJITが無効な場合、ホットリロード(Edit and Continue)時にILコード版の解決が失敗し、"Bad IL range"例外が発生する問題を修正します。CodeVersionManager::GetILCodeVersion()が常にデフォルトILバージョンを返していたため、EnC で作成された非デフォルトバージョンを正しく検出できていませんでした。

#132795 JIT: Fix empty-block cycle hang

@AndyAyersMS・GitHub・area-CodeGen-coreclr

JIT最適化処理で無限ループが発生する問題を修正しました。fgOptimizeBranchToEmptyUnconditionalが2ブロックの空サイクルのみを検出していた制限を解除し、エッジリダイレクト前に任意のサイズの空の無条件サイクルを検出するように改善しました。これにより、フロー最適化が正常に終了するようになります。

#132781 Remove redundant s_calls counter in async regression test

@jakobbotsch・GitHub・area-VM-coreclr

非同期リグレッションテスト Runtime_132017 で使用されていた冗長な s_calls カウンターを削除します。このカウンターは await の後でインクリメントされるため、fire-and-forget の Print と await された Print が非アトミックなインクリメントで競合し、間欠的なテスト失敗を引き起こしていました。テストの意図する動作は既に存在する s_log の順序付けられたアサーションで十分に検証されています。

#132764 Add message template formatting to DataAnnotations validation attributes

@ViveliDuCh・GitHub・area-System.ComponentModel.DataAnnotations

DataAnnotations検証属性に新しい公開API ValidationAttribute.FormatMessage を追加し、呼び出し元が外部でローカライズされた複合形式文字列を供給できるようにしました。各検証属性は自身のプレースホルダー引数の提供を担当し、既存の FormatErrorMessage の動作は変わりません。

public virtual string FormatMessage(
    [StringSyntax("CompositeFormat")] string format, 
    string name)

#132737 Fix ConcurrentQueue.TryDequeue spuriously reporting empty during a segment freeze

@kafka1991・GitHub・area-System.Collectionscommunity-contribution

ConcurrentQueue.TryDequeueが、セグメントフリーズ時にストアの順序による競合状態により、実際には要素を含むセグメントを誤って空と報告する問題を修正しました。修正により、Tailの更新をフラグの公開前に実行することで、デキュー時の三つの可能なペアリングすべてにおいて正確な判定を保証します。

#132487 JIT: relaxed early ir checks

@AndyAyersMS・GitHub・area-CodeGen-coreclr

JITコンパイラの初期段階(最初の5フェーズ)でIRフラグ検証を有効化し、「緩和」セマンティクスを導入しています。余分なフラグは許容しつつ不足しているフラグではアサーション発生させます。また、フラグが適切に伝播していなかった箇所を修正し、NewObjArrayArgsローカル変数のリサイズ時にGTF_USE_ASGフラグが必要になる問題に対応しています。

#132271 Fix JSON schema nullability for readonly properties

@Youssef1313・GitHub・area-System.Text.Json

System.Text.JsonのJsonSchemaExporterにおけるnullability推論を修正しました。読み取り専用プロパティやreadonly フィールドのスキーマnullability判定が、存在しないアクセッサ(getterやsetter)を不正にnullableとして扱っていた問題に対応しています。スキーマnullabilityは利用可能なアクセッサ(getter/setter)のみを考慮するように調整されました。

#131746 Arm64-SVE: Fixes for returning Vector<T> through the return buffer

@snickolls-arm・GitHub・area-CodeGen-coreclrcommunity-contributionarm-sve

ARM64-SVE環境におけるVector<T>の戻り値処理を修正するもので、以下の2つの改善を行います:

  1. 戻り値バッファがTYP_SIMDの場合、デバッグ情報を無効化(AOT環境でのスタックオフセット計算が不正確になるため)
  2. ローカル変数がTYP_SIMDの場合、隠れた戻り値バッファ最適化を無効化(フルベクトル呼び出し規約サポート時に不要になるため先制的に対応)

#131494 Migrate CLR->COM stubs to transient IL

@jkoritzinsky・GitHub・area-Interop-coreclr

CLR→COMスタブをTransient IL技術に移行し、メモリとパフォーマンスを改善。従来はCOM importメソッドごとに独立したILStubResolverとDynamicMethodDescを割り当てていたのに対し、本変更ではマーシャリングILをCLRToCOMCallMethodDescに直接生成してJIT後に破棄。これにより秘密引数の必要性が消滅し、スタックフレームが削減される。

2026年08月26日 (16 PRs)うち Bot 6 件 この日のページ →

#132793 JIT: don't truncate 64-bit constants in IsConstantInt32Assertion

@EgorBo・GitHub・area-CodeGen-coreclr

JITコンパイラのIsConstantInt32Assertion()メソッドが64ビット定数を誤ってint32と判定していた問題を修正しました。O2K_CONST_INTはssize_tを格納するため、TYP_LONG定数もマッチしていました。これにより範囲推論時に64ビット定数がint32にキャストされ、誤った最適化が行われていました。修正によりFitsIn<int>チェックを追加し、メソッド名が実装と一致するようにしました。

#132741 Fix RISC-V JIT opcode format mismatch

@Copilot・GitHub・area-CodeGen-coreclrarch-riscv

RISC-V JIT のコンパイル時に Clang が printf の書式指定エラー(-Wformat)を検出していた問題を修正します。%d フォーマット指定子に対して強い型付けの enum class である MajorOpcode を渡していたため、明示的に int にキャストして型チェックを満たします。

printf("MajorOpcode: %d\n", static_cast<int>(GetMajorOpcode(code)));

#132715 [browser][coreclr] Flow property values from runtime build to relink

@maraf・GitHub・arch-wasmarea-Build-monoos-browser

CoreCLR browser-Wasm アプリケーションがネイティブ再リンク時に必要な場合、ランタイムパック構築時の設定値をWebAssembly SDK のMSBuild ターゲットを通じて伝播させる機構を実装しました。JSON トランスポート機構をパッケージ化された .props/.targets ロジックに置き換え、アプリケーション構築時に設定値の不一致を検出します。

#132693 Add WASM PerfMap support: OS/arch constants and correct R2R offsets

@pavelsavara・GitHub・arch-wasmarea-ReadyToRun

WebAssembly(Browser/WASI)ターゲット向けのReadyToRun PerfMap(.ni.r2rmap)生成を有効化するPRです。2つの主要な問題を解決しています:

  1. PerfMapOSTokenにBrowser/Wasiメンバーが、PerfMapArchitectureTokenにWasmメンバーが不足していた
  2. Wasm向けのR2Rメソッドオフセット計算が不正確だった(LEB128圧縮後のセクションオフセットにミスマッチ)

#132604 forbid cache entry size changes after it's disposed

@rosebyte・GitHub・area-Extensions-Caching

MemoryCacheのキャッシュエントリサイズ不正による会計ドリフトの問題を修正します。エントリが破棄された後にICacheEntry.Sizeプロパティが書き込まれると、キャッシュが追跡する合計サイズとの不一致が永続化していた問題を解決するため、破棄後のサイズ変更時にInvalidOperationExceptionをスローするようにしました。

#132236 [Wasm RyuJIT] Mark SP/FP delta computation helpers as unused

@adamperlin・GitHub・arch-wasmarea-CodeGen-coreclr

WebAssembly RyuJITバックエンド向けにスタックポインタ/フレームポインタのデルタ計算ヘルパーメソッドを実装しました。これまでのNYI(Not Yet Implemented)スタブを置き換え、フレーム相対オフセット計算(アンワインド/スタックレイアウトロジック用)が正常に機能するようになります。

具体的な変更内容:

  • genCallerSPtoInitialSPdelta() を実装(固定線形メモリフレームサイズに基づく)
  • genCallerSPtoFPdelta() を実装(既存のデルタ関係を利用)
  • genSPtoFPdelta() は0を返すように実装(Wasmフレームモデルに準拠)

2026年08月25日 (19 PRs)うち Bot 2 件 この日のページ →

#132749 Fix TlsSessionTests TLS resume flakiness by using a unique SNI

@rzikm・GitHub・area-System.Net.Security

TLSセッションレジューム機能のテストで並列実行時のフレーキネスを修正しました。複数テストが共有するOpenSSLセッションキャッシュに対する競合状態を解決するため、クライアントのSNI(TargetHost)をテスト実行ごとに一意な値に変更します。テスト分離バグであり、製品コード上の問題ではありません。

#132748 Update exception handling in SslStreamDisposeTest

@rzikm・GitHub・area-System.Net.Security

テスト SslStreamDisposeTest.Dispose_ParallelWithHandshake_ThrowsODE の例外ハンドリングロジックを更新しました。StreamBuffer.WriteAsync がインライン化される可能性があるため、スタックトレースから StreamBuffer.WriteAsync の代わりに ConnectedStreams.* の存在を確認するように変更することで、インライン化によるスタックトレース変化に対して堅牢になりました。

#132712 Enable PAL test result publishing token

@jkoritzinsky・GitHub・area-Infrastructure

PALTestsのHelix送信ステップでテスト結果の公開を有効化し、Azure Pipelinesレポーターが正常に動作するようにする変更です。publishTestResults: trueを渡すことで、共通のsend-to-helix-step.ymlテンプレートがSYSTEM_ACCESSTOKENを正しく注入できるようになり、Helixワークアイテムのキューイング前に失敗していた問題を解決します。

#132711 Reduce cDAC contract descriptor parser size

@max-charlamb・GitHub・area-Diagnostics-cdac

cDAC(CoreDAC)のコントラクト記述子パーサーを、ソース生成型の JsonSerializer から直接 Utf8JsonReader を使用した実装に置き換え、バイナリサイズを削減します。コンパクト記述子形式、コメント、末尾のカンマ、入力検証、柔軟な数値解析などの機能は保持されます。

#132704 Fix cDAC server GC free region enumeration

@max-charlamb・GitHub・area-Diagnostics-cdac

Server GC の cDAC(Compact Data Access Contract)モデルにおいて、GCHeapSVR.FreeRegions フィールドの取扱いを修正するPRです。

従来は free_regions をポインタとして扱っていたため、インライン配列の最初の要素の num_free_regions がアドレスとして誤解釈され、無効なメモリ読み取りが発生していました。このPRでは [FieldAddress] 属性を使用してインライン配列の基底アドレスを正しく取得するように変更します。

#132703 Remove commented ActiveIssue from SslKeyLogFile test

@rzikm・GitHub・area-System.Net.Security

System.Net.Securityの機能テストにおけるSslKeyLogFileテストから、不要になったコメント化されたアクティブIssueアトリビュートを削除するテストコードの整理です。OpenSSLがSSLKEYLOGFILE サポートを継続することが確認されたため、テストケースを無効化したままにすることが最適な対応方針となりました。

#132670 Delete JIT_GetDynamic{GC,NonGC}StaticBase_SingleAppDomain asm helpers

@EgorBo・GitHub・area-VM-coreclr

動的静的フィールドへのアクセスヘルパー(JIT_GetDynamic{GC,NonGC}StaticBase_SingleAppDomain)のアセンブリ実装をamd64/arm64/loongarch64/riscv64から削除し、すべてのプラットフォームで管理コード実装(StaticsHelpers)に統一しました。この変更により、コード重複を排除し、LoongArch64とRISC-Vのバグ(ビット0チェックの誤り)を同時に修正します。

#132626 [release/10.0] Fix transition from monomorphic to polymorphic VSD

@AndyAyersMS・GitHub・Servicing-approvedarea-VM-coreclr

arm64およびその他のアーキテクチャにおいて、Virtual Stub Dispatch (VSD)の単形から多形への遷移ロジックをx64と同じ実装に統一。arm64では共有ミスプリディクションカウンタの書き込みによるキャッシュコヒーレンスオーバーヘッドが高く、マルチコアマシンでスケーリングが大幅に制限されていた問題を修正。

#132528 Add R2R fixup for referencing a type via a method it declares

@davidwrighton・GitHub・area-ReadyToRun

メソッドがC#コンパイルとR2Rコンパイル間で派生クラスから基底クラスに移動され、基底クラスがモジュール内で参照不可の場合、型をシグネチャにエンコードできない問題を解決します。新しいREADYTORUN_FIXUP_DeclaringTypeHandleエンコーディングでは、エンコード不可な型シグネチャの代わりにメソッドシグネチャを使用し、そのメソッドを宣言する型に解決されます。

#132351 Fix X509 reference leak in SslStream extra chain certificates on Unix

@glima・GitHub・area-System.Securitycommunity-contribution

Unix環境のSslStreamにおけるX509参照リークの修正です。CryptoNative_SslAddExtraChainCertのOpenSSL呼び出しが不正な所有権セマンティクス(add1)を使用していたため、接続ごとに中間証明書の参照がリークしていました。SSL_CTRL_CHAIN_CERTの引数を1から0に変更し、add0セマンティクス(OpenSSLが呼び出し元の参照を取得)に統一することで修正します。

#132339 Implement ReadyToRun for CoreCLR browser-wasm

@pavelsavara・GitHub・arch-wasmarea-ReadyToRunos-browser

CoreCLR向けブラウザ-wasm(実験的・オプトイン)にReadyToRun(R2R)実装を追加します。R2Rイメージはwebcil-in-wasmモジュール(アセンブリのECMAメタデータとcrossgen2生成のR2Rネイティブコード含有)として機能します。フレームワークの事前ビルドR2Rイメージ(181共有フレームワークアセンブリ)とアプリ固有の動的R2Rの両方をサポート。PublishReadyToRunはブラウザ-wasmでデフォルト無効です。

関連Issue: #121257、#132466

#132247 Add proposal doc for specifying load context for native hosting

@elinor-fung・GitHub・area-Host

ネイティブホスティングAPIで複数のコンポーネント(カスタムホスト、COM、C++/CLI)を非デフォルトAssemblyLoadContext(ALC)にグループ化できるようにするための設計提案ドキュメントを追加しました。現在のホスティングデリゲートはデフォルトALCまたは分離ALCのみをサポートしており、複数コンポーネント間での共有ALC利用ができない課題に対応します。

#132099 Add TARGET_HAS_MULHI and TARGET_MASKS_SHIFTS flags to jit lowering

@dhartglassMSFT・GitHub・area-CodeGen-coreclr

JIT低レイヤーの処理をクリーンアップするため、2つの新しいターゲットフラグを追加するもの。PR #131909の後続作業として、TARGET_HAS_MULHI(乗算上位ビット命令のサポート)とTARGET_MASKS_SHIFTS(マスク・シフト命令のサポート)フラグを導入し、ターゲットアーキテクチャ別に定義します。

#131969 Update Helix Job Monitor and turn it on for the runtime pipeline

@mmitche・GitHub・area-Meta

Helix Job Monitor ツールを 11.0.0-beta.26424.2 にアップデートし、runtime パイプラインで有効化します。このアップデートは dotnet/arcade#17331 からのスケーラブルな結果処理の書き直しを取り込み、ビルドスコープの検出、並列インクリメンタル結果アップロード、リトライ対応の状態管理、レート制限処理、最終ドレイン/ステータス報告を実装します。並列処理能力を 48 に設定し、パスフィルタリングされたビルドで Helix 投入がない場合もサポートします。

#131913 Remove unsafe code from number parsing and formatting

@tannergooding・GitHub・area-System.Numericsreduce-unsafe

数値解析・フォーマット処理全体におけるポインタベースのunsafeコードをSpan/ReadOnlySpanベースの実装に置き換えた大規模なセーフティ改善。NumberBuffer、数値型、DateTime、TimeSpan、Decimal浮動小数点型、BigIntegerなどのコア処理からポインタ操作を排除し、メモリ安全性を向上させながらパフォーマンスを維持・改善。

#131866 Enable browser-wasm runtime tests that require native library relinking

@radekdoulik・GitHub・arch-wasmarea-Interop-coreclr

WebAssemblyではネイティブライブラリの動的ロードがサポートされていないため、テストがネイティブライブラリを持つ場合、browser-wasmで実行できていませんでした。このPRは、テスト固有のcorerun.js/corerun.wasmを生成して、ネイティブライブラリを静的リンクすることで、browser-wasmランタイムテストの実行を可能にします。12個のプロジェクトで新たに18個のテストメソッドが実行されるようになります。

2026年08月24日 (25 PRs)うち Bot 1 件 この日のページ →

#132716 Fix ComWrappers ICustomQueryInterface exception handling

@jkoritzinsky・GitHub・area-Interop-coreclr

ICustomQueryInterface.GetInterface実装で例外が発生した際のComWrappersの例外処理が不正だった問題を修正しました。ネイティブコードに対して呼び出し成功を示す0が返されていたため、*ppvObjectがnullのままでもネイティブ側でアサート失敗が発生していました。修正により、例外時は-1(TryInvokeICustomQueryInterfaceResult.FailedToInvoke)を返し、ネイティブコードが正しく呼び出し失敗として処理し、フォールバックするようになりました。

#132685 Ensure async validation tasks are cleaned up during initialization

@ViveliDuCh・GitHub・area-System.ComponentModel.DataAnnotations

System.ComponentModel.AnnotationsのValidatorクラスにおいて、非同期検証タスクのライフタイム管理を強化しました。部分的に開始された検証タスクが失敗時やアーリーエクスイト時にキャンセルおよび待機されることを保証し、検証呼び出しから漏れ出したバックグラウンドワークを防ぎます。

#132676 JIT: fix SIMD12 relocatable-address containment check in ContainCheckIndir

@Copilot・GitHub・area-CodeGen-coreclr

SIMD12(Vector3)の間接参照(indir)操作における再配置可能アドレス定数のコンテインメント判定が誤っていた問題を修正しました。条件判定をaddr->TypeIs(TYP_SIMD12)からnode->TypeIs(TYP_SIMD12)に変更し、アドレス演算子ではなく間接参照ノードの型に基づいて判定するように修正します。

#132675 Fix broken private reflection in ArrayPool stress test

@ApparentlyPlus・GitHub・area-System.Bufferstest-enhancementcommunity-contribution

ArrayPoolストレステスト内で破損していたプライベートリフレクションを修正するPR。ThreadLocalIsCollectedUnderHighPressureテストがGetMemoryPressureメソッドを誤ったインスタンス型から検索していたためnullが返され、テスト実行時にNullReferenceExceptionが発生していた問題を解決。正しい内部型(System.Buffers.Utilities)から検索するよう修正し、型・メソッドの解決に失敗した際に明示的なアサーション失敗を行うよう改善。

#132674 Let native test libraries pick their own library type

@radekdoulik・GitHub・area-Infrastructure

ネイティブテストライブラリのビルド時に、既存の ${TEST_LIB_TYPE} CMake変数を活用して、プラットフォームごとに動的/静的ライブラリの選択を柔軟に行えるようにする機械的な変更です。現在はSHAREDにハードコードされていますが、この変更により WASM環境での静的ライブラリビルドが可能になります(後続のPR #131866で活用予定)。

#132644 Fix profiler GC heap enumeration on external threads

@Copilot・GitHub・area-Diagnostics-coreclr

プロファイラーのGCヒープ列挙時に、外部スレッド(非管理スレッド)と中断スレッドの両方がnullptrの場合、外部スレッドが誤ってサスペンション所有者として識別される問題を修正しました。修正により、null同士の比較がサスペンション所有者の条件を満たさないようになります。

bool suspendedByThisThread =
    pCurrentThread != nullptr &&
    ThreadSuspend::GetSuspensionThread() == pCurrentThread;

#132625 JIT: turn MEASURE_NOWAY off by default

@jakobbotsch・GitHub・area-CodeGen-coreclr

JIT コンパイラの MEASURE_NOWAY 機能をデフォルトで無効化する変更です。従来は DEBUG ビルドで常に有効化されており、すべての noway_assert に対して無条件に RecordNowayAssertGlobal の呼び出しが展開されていました。この変更により、測定が必要な場合にのみ手動で MEASURE_NOWAY を 1 に定義する方式に変更されます。

#132624 JIT: remove duplicate node uniqueness check

@jakobbotsch・GitHub・area-CodeGen-coreclr

JITコンパイラの Phase::PostPhase でノード一意性チェック(fgDebugCheckNodesUniqueness)が重複実行されていた問題を修正しました。CHECK_UNIQUE は importation 前に有効になり、CHECK_IR は morph 後のみ有効なため、fgDebugCheckLinks() 内の呼び出しは冗長です。この重複チェックを削除することで、JIT コンパイルのパフォーマンスを向上させます。

#132615 JIT: remove duplicate fgDebugCheckLinks calls

@jakobbotsch・GitHub・area-CodeGen-coreclr

JITコンパイラの重複するデバッグチェック呼び出しを削除し、パフォーマンスを改善する変更です。Phase::PostPhaseがすべてのフェーズ後にfgDebugCheckLinksを実行するため、4箇所の直接呼び出しは冗長でした。検出ロジックは変わらず、フェーズ中盤で導入された破損は現在フェーズ終了時に報告されます。

#132612 JIT: check LIR unused values in the post-phase checks

@jakobbotsch・GitHub・area-CodeGen-coreclr

JITコンパイラの低位中間言語(LIR)検証ロジックを改善する変更です。CheckLIRのcheckUnusedValuesチェックが複数の場所で個別に呼び出されていた冗長性を排除し、CHECK_LIR_UNUSED_VALUESフラグを導入してラショナライゼーションからレジスタ割り当てまで一貫して有効化します。6つの直接呼び出しを削除し、fgDebugCheckLinks経由で統一的に処理することで保守性と効率を向上させます。

#132597 Allow trimming of TerminalFormatStrings

@Copilot・GitHub・area-System.Console

Unix環境でのコンソール機能で使用されるTerminalFormatStringsのトリミング対応を実施し、"Hello world"プログラムでLinuxにおいて約8kBのサイズ削減を実現します。ConsolePalの遅延初期化プロパティを削除し、一元化されたインスタンスアクセス方式に統合することで、NativeAOTのサイズ削減に貢献します。

#132594 Don't build all JIT flavors for clr.aot

@MichalStrehovsky・GitHub・area-NativeAOT-coreclr

NativeAOT (clr.aot) ビルドにおいて、デフォルトで必要なホスト/ターゲットシナリオ向けの単一JITフレーバーのみをビルドするよう変更します。従来のすべてのクロスターゲットJITフレーバーのビルド (clr.alljits) はオプトイン方式になり、ビルド時間の短縮が期待されます。

#132445 JIT: Avoid narrowing a retyped AND operand in fgOptimizeEqualityComparisonWithConst

@Copilot・GitHub・area-CodeGen-coreclr

JIT最適化処理で、暗黙的byrefパラメータのアドレスを取得してアラインメントテストを行う場合に、型の不一致によるアサーションエラーが発生していた問題を修正しました。

MODからANDへの書き換えが前処理で実行される際、暗黙的byrefパラメータがTYP_BYREFに再型化されても、AND操作は依然としてTYP_LONGとして扱われたため、optNarrowTreeの型チェックアサーションが失敗していました。

修正により、TYP_BYREF型の操作数に対する狭窄化を避け、代わりにCAST<int>でラップすることで、変換を継続適用しながら正しい型チェックを行うようにしました。

サンプルコード:

static bool TestAlignment(Vector128<float> test)
{
    return ((nint)(&test) % 16) == 0;
}

#132428 Add WasmRelocatableObjectWriter to ILCompiler.Compiler

@jtschuster・GitHub・area-ReadyToRun

WASM モジュールをランタイム WASM モジュールとリンク可能な形式で出力するための WasmRelocatableObjectWriter クラスを ILCompiler に追加します。基本的な実装で、すべてのリロケーションは完全に実装されておらず、.reloc カスタム WASM セクションはまだ出力されません。あわせて WASM ファイルのスタイル警告も修正されています。

#131961 [release/10.0] Fix InlinedCallFrameMarker bit-0 check on 64-bit platforms in DAC stack walk

@jkotas・GitHub・Servicing-approvedarea-Diagnostics-coreclr

64ビットプラットフォームでのDAC スタックウォーク処理において、InlinedCallFrame::m_Datum フィールドのビット判定ロジックを修正しました。アンマネージ calli ターゲットが奇数アドレスに配置された場合、ビット0を確認せずにビット1を検査していたため、例外処理ヘルパーマーカーが誤って認識されてフレームがスキップされる問題を解決しました。

#131654 Implement convertPInvokeCalliToCall for CoreCLR

@jkoritzinsky・GitHub・area-VM-coreclr

CoreCLRのアンマネージ calli 呼び出しの処理メカニズムを刷新し、レガシーな実行時ヘルパー(GenericPInvokeCalliHelper)からJIT時のILスタブ生成への移行を実装しました。これによりNativeAOTと同じ convertPInvokeCalliToCall JIT-EEパスを使用するようになります。

変更により、アンマネージ calli は呼び出し元のJITコンパイル時にスタブメソッドを作成・キャッシュし、初回呼び出し時にJITコンパイルされます。ターゲットアドレスはシークレットレジスタの代わりに通常の末尾パラメータとして渡されます。

#131548 Disable ReentrantWaitFromSyncContextTest test on Mono

@eduardo-vp・GitHub・area-System.Threadingruntime-mono

Mono ランタイムでの ReentrantWaitFromSyncContextTest テストを無効化する変更です。Mono では Monitor.Wait がネイティブ実装のままで、CoreCLR のようにマネージド実装に移行していないため、SynchronizationContext.Wait へのフォワーディングが行われず、このテストの検証対象シナリオが実行されません。

#131526 Avoid cctor check if we provably executed it

@MichalStrehovsky・GitHub・area-NativeAOT-coreclr

AOT RyuJit JIT-EE インターフェースを改善し、静的フィールドアクセス時にクラスコンストラクタ(cctor)チェックが既に実行されたことが証明できる場合、そのチェックをスキップするようにしました。初期化分析(initClass)を活用することで、不要なcctorチェックを削除し、コード生成を最適化します。

#131024 Use WASM CoreLib when compiling crossgen2 WASM unit tests

@jtschuster・GitHub・arch-wasmarea-ReadyToRun

crossgen2 WASM単体テストをコンパイルする際に、ホストマシンのcorelib(System.Private.CoreLib)ではなく、WASM専用のcorelbを使用するように変更するもの。これにより、crossgen2がWASM固有のcorelib機能に依存する場合でも失敗しなくなります。また、Windows/ARM/iOS-arm64などのプラットフォーム固有の問題も同様に解決されます。テストは対象アーキテクチャ・OSと互換性のあるものだけが実行されるようになります。

#130505 Fail fast when FirstChanceExceptionEventArgs allocation fails

@Copilot・GitHub・area-ExceptionHandling-coreclr

FirstChanceExceptionEventArgsの割り当て失敗時の例外発生処理を改善するPRです。メモリ不足時にイベント引数の割り当てに失敗しても、無限再帰やスタックオーバーフローを防ぐため、fail-fast処理で確定的に終了するようにしました。同時に、AppDomain.FirstChanceExceptionハンドラの再入を防ぐスレッドローカルガードを追加しました。

// 割り当て失敗時はfail-fastで終了
OBJECTREF eventArgs = AllocateObject(g_pFirstChanceExceptionEventArgsClass);
if (eventArgs == NULL)
{
    EEPOLICY_HANDLE_FATAL_ERROR(COR_E_OUTOFMEMORY);
}

#130023 Add compile-time and run-time methods to obtain Vector<T> byte length

@snickolls-arm・GitHub・area-CodeGen-coreclrcommunity-contribution

Vector<T>のバイト長を取得するメソッドを再編成し、コンパイル時評価と実行時評価を分離しました。getVectorTByteLengthをgetCompileTimeVectorTByteLengthにリネームし、新たにgetRuntimeVectorTByteLengthを追加します。特にArm64のSVE対応で、ISA機能のみではVector<T>のサイズを予測できない場合に、実行時にキャッシュされたクラスハンドルから正確なサイズを取得できるようになります。

2026年08月23日 (1 PRs) この日のページ →

#130696 Fix concurrent Reflection.Emit TypeLoadException (#129230)

@steveisok・GitHub・area-VM-coreclr

PR #125536で追加されたメタデータ更新により、Reflection.Emitパスにおいてプロパティ/イベント親ルックアップテーブルへの追加が重複するようになった問題を修正します。この重複により、並行読み取り時にルックアップテーブルが不正な状態となり、TypeLoadExceptionが発生していました。本PRでは重複した追加処理を削除し、ルックアップテーブルの更新をCMiniMdRW::AddPropertyToPropertyMap/AddEventToEventMapの単一の場所に統一します。

2026年08月22日 (10 PRs)うち Bot 8 件 この日のページ →

#132388 Simplify CoreCLR Thread interop

@Copilot・GitHub・area-System.Threading

CoreCLR のスレッド相互運用性を簡素化するPRです。現在のスレッドに対する QCall(SetWaitSleepJoinState、ClearWaitSleepJoinState、CheckForPendingInterrupt)をマネージドスレッドハンドルの受け渡しから GetThread() による現在のネイティブスレッド取得に変更し、冗長なハンドル所有権管理コードを削除します。また ThreadNative_GetOSHandle でハンドル複製に失敗した際の例外処理を厳密化します。

#130694 Remove dead net8 code

@xtqqczze・GitHub・area-System.Text.Json

.NET 8向けの互換性コードを削除するクリーンアップです。PR #121853以降、最小サポートバージョン(NetCoreAppMinimum)が.NET 10に引き上げられたため、.NET 8固有の条件分岐やポリフィルコードが不要になりました。

2026年08月21日 (38 PRs)うち Bot 13 件 この日のページ →

#132607 Remove cDAC fallback testing mode

@noahfalk・GitHub・area-Diagnostics-cdac

cDAC検証モードの強化に伴い、cDAC fallbackテスト用パイプラインを削除し、fallback動作を明示的なallowlist方式のみに統一するPRです。dotnet/diagnostics側の変更後、cDAC_verifyが唯一の「レガシーDACとの比較」テストモードとして機能します。

#132601 Mark ProcessArchitecture as NonVersionable

@LE0-Lin・GitHub・area-System.Runtime.InteropServicescommunity-contribution

RuntimeInformation.ProcessArchitectureプロパティのgetterにNonVersionableAttributeを付与し、ReadyToRun(R2R)のクロスモジュールインライニングでアーキテクチャ固有の分岐をフォルドできるようにします。これにより、コンパイル時にプロセッサアーキテクチャに基づく条件分岐を最適化できます。

#132589 Restore TPA duplicate precedence to keep managed DLLs over native EXEs

@Copilot・GitHub・area-VM-coreclr

CoreCLR アセンブリバインディングの回帰を修正し、TRUSTED_PLATFORM_ASSEMBLIES (TPA) 内で同じ簡易名を持つ重複エントリの解決ロジックを改善しました。修正前は「最後のエントリが優先」されマネージド .dll が ネイティブ .exe に上書きされていましたが、修正後は .dll を優先し、同等優先度の場合は最初のエントリを保持するようになります。

#132544 Fix transition from monomorphic to polymorphic VSD

@AndyAyersMS・GitHub・area-VM-coreclr

インターフェイス呼び出しサイトが単一の受信者型から複数の受信者型への遷移に失敗する問題を修正しました。ARM、ARM64、LoongArch64、RISC-V64において、ディスパッチカウンター満了時にSDF_ResolveBackPatchフラグを設定した後、インライン解決キャッシュをプローブしていたため、キャッシュヒット時にバックパッチ処理をスキップしていました。本修正により、カウンター満了時に遅延解決パスに進入してバックパッチが正常に行われるようにしました(x64の既存動作に統一)。

#132536 JIT: Mark GT_LCLHEAP with GTF_CALL and GTF_GLOB_REF

@EgorBo・GitHub・area-CodeGen-coreclr

GT_LCLHEAP(スタック割り当て)ノードにサイドエフェクトフラグ(GTF_CALLとGTF_GLOB_REF)を追加し、条件付きlocalloc が無条件に実行されるように最適化されるのを防ぐ修正です。if-conversion最適化により、サイズチェック前にスタック溢れが発生する可能性があった問題を解決します。

// 問題の例
byte* buffer = null;
if (size <= 261) { byte* tmp = stackalloc byte[size]; buffer = tmp; }
return (nint)buffer;   // サイズチェック前にstackalloc実行でスタック溢れ

#132530 Fix LibraryImport QCall signature mismatches

@davidwrighton・GitHub・area-VM-coreclr

LibraryImport宣言とそのQCall実装の間の署名不一致を修正しました。boolを返すと宣言されていながら、実装ではvoidを返すメソッドを正します。また、スレッド静的ヘルパー、アセンブリロードトレース、ThreadPool I/Oキューイベントで[MarshalAs(UnmanagedType.Bool)]パラメータを4バイトのネイティブBOOLパラメータに合わせました。これらの不一致により、ターゲットアーキテクチャと呼び出し規約によって、未定義の戻り値を読み込むか、異なるサイズのブール値をマネージド/ネイティブABIを超えて渡す可能性がありました。

#132529 Replace debugger PAL waits with cross-platform wait types

@jkoritzinsky・GitHub・area-Diagnostics-coreclr

デバッガーが非Windowsプラットフォームで使用していた従来のPAL多重待機を、デバッガー所有のクロスプラットフォーム待機プリミティブに置き換える変更です。新しいWaitHandle、WaitEvent、WaitLatchの抽象化を導入し、ネイティブハンドルをWindowsに限定します。また、minipalに相互排除とCondition Variable機構を追加し、System.Native のLowLevelMonitorで利用します。

#132455 Don't report unsupported types for never bound properties

@rosebyte・GitHub・area-Extensions-Configuration

Configuration Binder ソースジェネレータが、バインドされない属性([ConfigurationIgnore]修飾やpublicアクセッサなし)に対して不適切にSYSLIB1100/SYSLIB1101診断を報告する問題を修正します。修正により、除外された属性のタイプはジェネレータの型インデックスに登録されなくなり、不要な診断が抑制されます。

#132439 Fix NativeAOT RVA field handle scanning

@jkoritzinsky・GitHub・area-NativeAOT-coreclr

NativeAOT の IL スキャナーが RVA フィールドハンドルのメタデータ依存関係を不正に削除していた問題を修正します。RuntimeHelpers.InitializeArray と CreateSpan<T> の組み込み関数展開を証明する専用の RvaIntrinsicPatternAnalyzer を導入し、これらの場合にのみ反射メタデータ依存関係を抑制するようにしました。その他の RVA ldtoken は正常なメタデータ依存関係を保持し、コンパイル時の KeyNotFoundException クラッシュを防ぎます。

#132395 JIT: fix switch peeling stealing the wrong operand of its compare

@EgorBo・GitHub・area-CodeGen-coreclr

JITコンパイラのfgPeelSwitch関数における正確性バグを修正しました。ステートメント作成後に比較式のオペランドを再アタッチしていたため、シーケンシング処理で定数オペランドが交換され、スイッチが誤った値(dominant case定数)に基づいて分岐していました。特にループアンローリング時にスイッチ値が定数化される場合に問題が顕在化していました。修正内容は、ステートメント作成前に比較式を完全に構築することです。

#132373 Make LegacyPropagator list sort linear

@martincostello・GitHub・area-System.Diagnostics.Tracingcommunity-contribution

LegacyPropagatorがbaggage headerから解析したキーのリストを反転させる際のアルゴリズムを改善しました。従来のO(n²)のInsert操作から、O(n)のAdd+Reverse操作に変更し、W3CPropagatorの実装と統一しています。大規模なヘッダ(16KB以上)では最大11.9倍のパフォーマンス向上が期待できます。

#132230 Fix synchronous cancellation race in Channels

@steveisok・GitHub・area-System.Threading.Channels

System.Threading.ChannelsのAsyncOperationにおいて、キャンセルトークン登録中に同期的なキャンセルが発生した場合、完了時の原子的予約が行われないため二重完了が発生する競合状態を修正しました。これによりRendezvousChannelのリンクリスト破損やアイテム喪失が発生していた問題を解決しています。

キャンセル可能性を不変な_isCancelableフィールドとして構築時に初期化することで、登録コールバック実行時の競合を排除します。

#132082 Remove unneeded DebuggerU2MCatchHandleFrames

@jkoritzinsky・GitHub・area-VM-coreclr

unmanaged-to-managed (U2M)のトランジション時に、管理コード側で既にtry-catch ブロックで保護されるようになったため、不要になったDebuggerU2MCatchHandlerFrameを削除し、関連コードを簡潔化するPR。また、ComWrappersのInterop呼び出しパスで例外を不要にrethrowするパターンを排除し、例外を out-parameterで直接取得する方式に変更。

#131686 Add reproZero NativeAOT compiler project

@jtschuster・GitHub・wasm-aot-testarea-NativeAOT-coreclr

NativeAOT コンパイラの bring-up シナリオ(特に WebAssembly 対応)をサポートするため、完全な .NET ランタイムを必要としない「runtime-less」repro プロジェクト reproZero を追加します。最小限の in-source「system module」(zerosharp.cs) を提供し、ILC(IL Compiler)を直接呼び出すための .rsp ファイルを生成します。

#131278 [release/10.0] Fix handling of non-ASCII data in CBOR indefinite strings

@bartonjs・GitHub・Servicing-approvedarea-System.Formats.Cbor

CBOR形式の不定長テキスト文字列読み込み時に、非ASCII文字データを含む場合の処理を修正します。TryReadTextStringメソッドが書き込み位置をUTF-8バイト数ではなく書き込まれた文字数だけ進めるよう修正し、バッファサイズ検証エラーを解決します。.NET 5以来の既存の不具合です。

#131184 Clean up ifdef in vxsort

@MichalStrehovsky・GitHub・area-GC-coreclr

vxsort(ガベージコレクション内のベクトル化されたソート実装)のプリプロセッサ条件分岐を整理し、clang-clのようなClangベースのツールチェーン(__GNUC__を定義しない)でも#pragma clang attributeターゲット有効化が機能するように修正しました。__GNUC__の入れ子条件を#if defined(__clang__) ... #elif defined(__GNUC__) ...構造に変更し、vxsortヘッダーとコード生成テンプレート両方に適用しています。

2026年08月20日 (29 PRs)うち Bot 7 件 この日のページ →

#132550 Remove the Number static constructor

@tannergooding・GitHub・area-System.Numerics

System.Number型の静的コンストラクタを削除するリファクタリング。RVAバックのReadOnlySpan<byte>にプリミティブデータを移動し、必要な小さな定数はオンデマンド計算、キャッシュは別の型に隔離することで、未使用データのトリミング効率を向上させます。フォーマッティングパターンは管理された文字列配列から switch-selected RVAバイトスパンに変更。ベンチマーク結果では currency -1.9%、number -1.2%、percent +0.2%の差異で、メモリアロケーションは変わらず。

#132549 Fix TypeMap failure in CI

@jtschuster・GitHub・area-Interop-coreclr

TypeMapテスト(blob-only scenario)でプロキシマッピングのクエリ方向を修正しました。TypeMapAssociation属性が定義する「source type → proxy type」の方向に統一し、NativeAOT trimmingで適切なエントリが保持されるようにnew Lib5Type1().GetType()を使用しています。

#132541 Dedup ci-fix PRs by KBE branch prefix

@Copilot・GitHub・area-Infrastructure

CI失敗フィッサーがKBE(Known Build Error)に対して重複した[ci-fix] PRを開くことを防ぐため、PRの重複排除(dedup)ロジックを改善しました。GitHub検索のトークン化により、タイトル/本文マッチングが信頼できないため、ブランチプレフィックスマッチングを権限のあるdedup keyとして使用するようにしました。

#132540 Strip KBE dedup search suffix noise

@Copilot・GitHub・area-Infrastructure

KBE(Known Build Error)スキャナーが実行時の細微な違い(スクリプトランナーのサフィックスや終了コード/シグナルテキスト)のみ異なるCoreCLR ランタイムテストの重複報告を避けるため、既存のKBE検索ガイダンスを更新します。.cmd、.dll、.sh、.exeの拡張子およびexit 134、SIGABRTなどの終了コード/シグナル記述子を検索時にストリップする仕様です。

#132535 Remove legacy FAULT contract logic and annotations

@AaronRobinsonMSFT・GitHub・area-VM-coreclr

CoreCLR の契約(Contract)システムから廃止された FAULT 関連のインフラストラクチャを完全に削除するコミットです。FORBID_FAULT、STATIC_CONTRACT_*FAULT*、INJECT_FAULT(...)、FAULT_NOT_FATAL() などのマクロと注釈を VM、utilcode、GC、デバッグコード全体から削除し、不要になった CONTRACT_VIOLATION マスクを簡潔にします。

#132521 Implement SocketsHttpHandler.InitialHttp2MaxConcurrentStreams

@MihaZupan・GitHub・area-System.Net.Http

SocketsHttpHandlerに新しいプロパティInitialHttp2MaxConcurrentStreamsを追加し、HTTP/2接続で最初のSETTINGSフレーム受信前にサーバーが開くことができるストリーム数を制限できるようにします。デフォルト値は100で、1以上の値が必須です。既存のSETTINGS_MAX_CONCURRENT_STREAMSの動作も調整され、設定されたキャップを尊重するようになります。

#132513 JIT: stop validating the whole flow graph after every block compaction

@jakobbotsch・GitHub・area-CodeGen-coreclr

JITコンパイラのブロック圧縮後に毎回フローグラフ全体の検証を実施していた処理を削除しました。checked buildで一部フェーズが基本ブロック数に対して二次計算量になっていた問題を解決します。フローグラフの検証はフェーズ後の検証処理(fgDebugCheckBBlist)で実施するため、ブロック圧縮後の検証は不要です。

#132509 SuperPMI: speed up reportMetadata metric lookup

@jakobbotsch・GitHub・area-CodeGen-coreclr

SuperPMIのメタデータメトリクス検索アルゴリズムの最適化。従来の二次時間計算量の検索を、前回の検索位置から開始する線形探索に変更。SuperPMIとJITがメトリクスの順序に合意しているため、実際には線形時間での処理が可能になります。

リリースモード SuperPMI で 2.8%、チェック済みモード SuperPMI で約 0.5% の実行時間短縮を実現。

#132502 [mono][interp] Intrinsify Vector128.Store/StoreUnsafe on wasm

@lewing・GitHub・arch-wasmarea-Codegen-Interpreter-mono

Mono インタプリタで Vector128.Store と Vector128.StoreUnsafe を PackedSimd 命令にインライン化します。これらのメソッドは以前、パラメータ順序が逆であるため管理コードにフォールバックしていました。結果として、ドキュメント上は高速なAPIが PackedSimd 同等品より約6倍遅延していました。パラメータ順序の反転に対応するため、intrinsics テーブルに追加し、IL→IR生成時に sreg(ソースレジスタ)を交換します。

#132483 Improve StringBuilder.ToString() exception message for inconsistent state

@aw0lid・GitHub・area-System.Runtimecommunity-contribution

StringBuilder.ToString() が内部チャンク境界の不整合(主に並行修正による)を検出した際の例外メッセージを改善しました。互換性のため例外型は ArgumentOutOfRangeException のままですが、メッセージとパラメータ名を修正し、架空のメソッドパラメータ名ではなく、内部状態破損を示す専用のリソース文字列を使用するようにしました。

#132478 [browser] Run Wasm.Build.Tests on CoreCLR the same way as Mono

@maraf・GitHub・arch-wasmtest-enhancementarea-Build-monoos-browser

WebAssembly on CoreCLRテストのHelix実行方式をMonoと統一し、カスタムペイロル配信を廃止するPR。wasm-toolsワークロードがCoreCLRに対応したため、従来の特殊な環境変数/ペイロール経由の設定から、標準的なワークロード/ランタイムパック機構に移行する。CoreCLRはMonoと同じワークロード/no-workload/fingerprinting/bundler-friendlyの4レーンを実行するようになる。

#132469 JIT: replace fgWalkTree callbacks with GenTreeVisitor implementations

@jakobbotsch・GitHub・area-CodeGen-coreclr

JIT コンパイラの IR ツリー走査機構を刷新し、レガシーな fgWalkTree* 関数ポインタ コールバック機構を GenTreeVisitor の直接実装に置き換えるリファクタリング。間接呼び出しの排除により、インライン化とControl Flow Guard の多重ディスパッチ効率が向上する。また、gtHasCatchArg を gtFindNodeInTree ベースに再実装し、副作用フラグによる枝刈り最適化を実現。

#132465 Fix confusing exception message in Dictionary.CopyTo when index exceeds array length

@aw0lid・GitHub・area-System.Collectionscommunity-contribution

Dictionary<TKey, TValue>のCopyToメソッドにおいて、指定されたインデックスがターゲット配列の長さを超える場合の例外メッセージを改善します。従来の誤解を招く「Non-negative number required」メッセージの代わりに、ThrowHelper.ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException()を使用して、より明確なメッセージを生成します。例外の型はArgumentOutOfRangeExceptionのままです。

#132096 Make DegreesToRadians and RadiansToDegrees correctly rounded

@tannergooding・GitHub・area-System.Numerics

DegreesToRadiansとRadiansToDegreesの正確な丸めを実現する改修。従来のx * (pi / 180)は2度の丸め誤差で最大~1 ulpの精度低下を招き、floatでは37.9%の入力が誤ったリジルト、0.042%が2 ulp誤差していました。マルチリム定数を導入して単一の丸めで計算し、スカラー・SIMD(Vector64/128/256/512)・Vector<T>・Decimal型すべてで正確丸めを達成します。

#126968 Convert Marshal test Variant usage to ComVariant with stack-local variant handling

@Copilot・GitHub・area-System.Runtime.InteropServicestest-enhancement

System.Runtime.InteropServices.Tests の GetNativeVariantForObjectTests において、テスト用ローカルヘルパー Variant から、ランタイムがサポートする ComVariant への移行を実施しました。これにより、テストコードが公開API層と一貫性のあるVARIANT interop実装を使用するようになります。

2026年08月19日 (51 PRs)うち Bot 15 件 この日のページ →

#132523 JIT: Guard named intrinsic lookup

@AndyAyersMS・GitHub・area-CodeGen-coreclr

JIT コンパイラの名前付きintrinsic検索を保護する変更です。impIntrinsic で named intrinsic の検索が実行されるのは、有効なメタデータメソッドハンドルを持つユーザー呼び出し(CT_USER_FUNC)のみに限定されます。これにより、無効なハンドルの使用によるintrinsic検出時のエラーを防止します。

#132500 [mono][interp] Fix mis-sorted SIMD intrinsic tables making entries unreachable

@lewing・GitHub・arch-wasmarea-Codegen-Interpreter-mono

Mono インタプリタの SIMD 内部関数検索がバイナリサーチ時にテーブルが ASCII順でないため一部エントリに到達できない問題を修正します。lookup_intrins() は mono_binary_search で厳密なソート順序を要求しており、sri_vector128_methods では AsVector4 が、packedsimd_alias_methods では Subtract、SubtractSaturate、Store、StoreUnsafe が到達不可になっていました。修正後、これらの操作は マネージド実装へのフォールバックではなく、ネイティブ SIMD 命令に直接コンパイルされるようになります。

#132499 [mono][interp] Intrinsify Vector128 GetElement/WithElement on wasm

@lewing・GitHub・arch-wasmarea-Codegen-Interpreter-mono

Mono インタープリタで Vector128<T>.GetElement と Vector128<T>.WithElement の intrinsify を実装し、browser-wasm での性能を大幅に改善します。これらの API は System.Numerics で頻繁に使用されており(GetElement ~120、WithElement ~66箇所)、従来は 16 バイトベクトルのスタックコピーを伴うマネージド実装にフォールバックしていました。既存の PackedSimd ExtractScalar/ReplaceScalar SIMD intrinsics を活用し、新しい MINT オペコードや追加のヘルパー関数は不要です。

// GetElement/WithElement は以下のように最適化されます
Vector128<float> v = Vector128.Create(1f, 2f, 3f, 4f);
float element = v.GetElement(2);  // intrinsified (constant index only)
v = v.WithElement(2, 5f);         // intrinsified (constant index only)

#132498 Fix some AES-KWP tests

@vcsjones・GitHub・area-System.Securitytest-bug

AES-KWP(パディング付きキーラップ)の既存テストにおける検証ロジックの問題を修正します。空の暗号文に対するDecryptKeyWrapPadded(byte[])オーバーロードのカバレッジ向上、デクリプト重複テストの誤った呼び出しカウント検証の修正、および誤解を招くエラーメッセージの改善が含まれます。

#132496 [mono][wasm] Intrinsify Vector128.MultiplyAddEstimate in the interpreter

@lewing・GitHub・area-Codegen-Interpreter-mono

Mono インタプリタと Browser/WASM Jiterpreter で Vector128<float>.MultiplyAddEstimate を直接 SIMD イントリンシックとして認識するように改善しました。これにより、マネージドな Vector64 フォールバック経由のインライン化を回避し、利用可能な場合は WebAssembly の f32x4.relaxed_madd を、そうでない場合は f32x4.mul + f32x4.add を発行します。

#132495 Fix browser-wasm sfx pack NU5118 collision from stale prior Mono build artifacts

@lewing・GitHub・arch-wasmarea-Build-mono

browser-wasm ランタイムパック生成時に、同一ワークツリー内での Mono ビルド後の stale native artifacts が CoreCLR パック入力と衝突し、NU5118 重複ファイルエラーを引き起こす order-dependent なビルド失敗を修正します。eng/liveBuilds.targets に TargetOS=browser && RuntimeFlavor=CoreCLR の条件付き除外リストを追加し、Mono ビルドで残された 13 個のネイティブライブラリファイルをパック対象から除外します。

#132491 Disable ContextualReflection test on browser wasm

@davidwrighton・GitHub・area-System.Reflection

CoreCLR ブラウザ WASM ターゲットにおける Loader/ContextualReflection テストの失敗に対応するため、該当テストプロジェクトを一時的に無効化します。CLRTestTargetUnsupported プロパティを設定することで、ブラウザターゲットのみでのテストビルド/実行を防ぎ、他のプラットフォームやランタイムフレーバーには影響を与えません。

#132482 [CoreCLR] Protect exception object across funclet callbacks

@steveisok・GitHub・area-ExceptionHandling-coreclr

CoreCLRの例外処理におけるGC安全性のバグを修正します。プロファイラー、デバッガー、ETWコールバック中にGCが発生する可能性がある際に、CallFilterFuncletとCallCatchFunclet内で例外オブジェクト(OBJECTREF)を保護するため、GCPROTECT_BEGIN/ENDマクロを追加します。これにより、例外監視が有効な場合のチェックドビルドのアサート失敗を防止します。

#132474 Fix EventPipe method events on CoreCLR WASM and harden the Blazor EventPipe test

@pavelsavara・GitHub・arch-wasmarea-Diagnostics-coreclr

CoreCLR/WASMプラットフォームでEventPipeメソッドイベント収集時にランタイムクラッシュが発生する問題を修正。未登録のJITマネージャーに対応するコードアドレスからのETWメソッドイベント発行を保護し、Blazor EventPipeテストをハードニングして、ランタイムトラップを確実にテスト失敗として報告するようにします。併せてCoreClRのemsdkパス取得ロジックを修正。

#132440 Add Composite ML-KEM base APIs

@PranavSenthilnathan・GitHub・area-System.Security

Composite ML-KEM(ポスト量子暗号アルゴリズム)の基本的な公開API を System.Security.Cryptography に追加します。アルゴリズム識別子、OID配線、インポート/エクスポート機能を含みます。現在は全プラットフォームで NotSupported 実装となっており、プラットフォーム固有の実装は後続予定です。

#132437 Fix codegen of NotMask on x64

@dhartglassMSFT・GitHub・area-CodeGen-coreclr

x64のAVX-512マスク命令で、NotMaskが8レーン未満のマスクに対して不正なコード生成を行う問題を修正しました。knotb実行後に未使用ビットが設定されたままになり、後続のkmovb+popcntで誤った結果が返されていました。修正として、コード生成時にシフト命令で未使用ビットをクリアするロジックを追加し、マスク反転パターンの最適化変換も導入しました。

#132435 Avoid unnecessary allocations in single-file app bundle launch

@elinor-fung・GitHub・tenet-performancearea-Host

シングルファイルアプリの起動時に、バンドルに含まれるアセット(非抽出)に対して不要なネイティブメモリアロケーションを削減する最適化です。バンドルマニフェストアクセサでの参照返却、パス構築の遅延化、プローブフローの簡素化により、起動時間を2.50%削減し、ネイティブヒープ割り当てカウントを57.09%削減しました。

#132434 Select latest installed Xcode 26 in macOS CI

@agocke・GitHub・area-Infrastructure

macOS CI環境でXcode 26を優先的に選択するよう Azure Pipelines ワークフローを更新します。macOS-15ホストイメージに含まれるXcode 26をランタイムで検出し、DEVELOPER_DIR環境変数を通じて後続タスクに公開することで、バージョン番号をハードコーディングせずにXcode 26でのビルドをサポートします。

#132362 Adds metadata reference validation to ILVerify.

@pkuyo・GitHub・area-Tools-ILVerificationcommunity-contribution

ILVerifyにメタデータ参照の検証機能を追加しました。ILVerifyは型やメソッド検証の前に、サポートされているメタデータ参照の検証を実行します。各参照は独立して解決され、使用されていない無効な参照も報告されます。P/Invoke ModuleRefはネイティブライブラリを参照するためスキップされます。新しい --metadata-references-only オプションで、メタデータ参照検証のみを実行できます。

#132335 Remove multi-level lookup completely

@elinor-fung・GitHub・area-Host

マルチレベルルックアップ(Multi-Level Lookup: MLL)機能をネイティブホスティングレイヤーから完全に削除するPRです。関連Issue #131555 を解決します。

フレームワークと共有ストアの探索を単一のdotnet_rootのみに限定し、グローバルロケーション、DOTNET_MULTILEVEL_LOOKUP環境変数、TFMベースの互換性ゲーティングを削除しています。

#132306 [mono][wasm][AOT] Pin OP_MOVE destinations in the GC pin area

@pavelsavara・GitHub・arch-wasmarea-Codegen-AOT-mono

WebAssembly上のMono LLVM-AOT環境で、OP_MOVE命令の宛先が不正に収集される問題を修正しました。アドレスを取得されたローカル変数をエイリアスすると、再代入時に元のオブジェクトへの参照がGCピン領域から削除され、GCによる移動時に宙吊り参照が生じていました。条件付きでピン留めを行うmove_needs_gc_pin関数を導入し、ソースが単一定義でアドレス取得されていない場合のみスキップすることで修正します。

修正対象となるソースコードのパターン:

GcRootBox cur = MakeGcRootBox(0);
TouchGcRootBox(ref cur);        // アドレス取得
for (int i = 1; i <= 128; i++) {
    GcRootBox alias = cur;      // OP_MOVE - エイリアス化
    cur = MakeGcRootBox(i);     // 元の参照を上書き
    GC.Collect();               // GC実行 - aliasが不正に収集される可能性
}

#132289 Add standalone runtime test repro skills

@jkoritzinsky・GitHub・area-skills

Runtime CI障害の再現を容易にするため、GitHub Copilot skills を通じてマネージド src/tests テストをスタンドアロン コンソール アプリケーションに抽出し、corerun で直接実行可能にする仕組みを追加しました。ラッパーパス/完全修飾メソッド名から対応するプロジェクトとソースメソッドを解決し、シナリオ環境変数とプロジェクト環境変数をマージして生成します。

#132224 Calibrate copilot-instructions for non-Opus models

@tannergooding・GitHub・area-Infrastructure

dotnet/runtimeリポジトリのCopilot動作ガイドライン(.github/copilot-instructions.md)を更新し、自動選択される弱いモデルの失敗パターンに対応しました。新たに4つのルール(タスク完了まで中断しない、発見事項を報告する、全ての質問に答える、ツール/スキル名を文字列ではなく機能として扱う)を追加し、既存の4つのルールを明確化しました。特に「Tool and skill names are capabilities, not literals」ルールは、リポジトリ内のスキル呼び出しが文字列マッチに依存するため重要です。

#132131 Upgrade Vally eval tooling to 0.14

@vitek-karas・GitHub・area-skills

Vally eval toolingを0.7.0から0.14.0にアップグレードし、評価ワークフローを最新スキーマに対応させました。LLM判定基準をstimulus rubricsに移行し、trajectory/diffエビデンスを提供。ツールコール検査をLinux/Windows間で互換性を持たせ、ローカルセットアップ要件を文書化しました。

#132090 Move IidParameterIndexMarshallerResolver into Microsoft.Interop.SourceGeneration default resolvers

@Copilot・GitHub・area-System.Runtime.InteropServices

IidParameterIndexMarshallerResolverをComInterfaceGenerator専用から共有ソース生成インフラストラクチャの既定リゾルバーへ移動することで、Microsoft.Interop.SourceGenerationを使用する任意のジェネレーターから利用可能にします。マーシャリング動作自体に変更はなく、リゾルバーの登録場所の再構成のみです。

#132040 Reduce the GC handle cost of every RCW in ComWrappers

@Sergio0694・GitHub・tenet-performancearea-Interop-coreclrcommunity-contribution

ComWrappersが作成するRCW(Runtime Callable Wrapper)ごとのGCハンドルコストを削減します。従来は2つのWeakハンドル(WeakとWeakTrackResurrection)をプロキシオブジェクトに割り当てていましたが、新しいRuntimeHelpers.ObjectHasFinalizerを使用してファイナライザーがないプロキシに対しては1つのハンドルに削減します。また、強い型付けのWeakGCHandle<T>を使用してハンドル操作を最適化します。

// ファイナライザーなしの場合は1つのハンドルで十分
bool hasFinalizer = RuntimeHelpers.ObjectHasFinalizer(comProxy);
if (!hasFinalizer)
{
    _proxyHandle = GCHandle.Alloc(comProxy, GCHandleType.WeakTrackResurrection);
    // 追加の resurrection tracking ハンドルは不要
}

#131970 Use ubuntu-slim for trivial GitHub Actions

@vcsjones・GitHub・area-Meta

GitHub Actionsのメタタスク用ワークフロー2つを、ubuntu-latestからubuntu-slimランナーに変更します。リポジトリのクローンを必要としないメンテナンス作業に対して、起動時間が短く費用効率の良い軽量ランナーを使用することで、パイプライン効率を改善します。

#131957 [browser][CoreCLR] Gate remaining priority-1 outerloop failures

@radekdoulik・GitHub・arch-wasmarea-Infrastructure-coreclr

CoreCLRブラウザビルドの優先度1の外部ループテスト失敗を対処するPRです。ブラウザ環境がProcess.GetCurrentProcessとプロセスPIDベースの診断クライアント収集をサポートしないため、4つのEventPipeイベント検証プロジェクトをゲートします。また、ContextualReflectionインタープリタ失敗を追跡済みActiveIssueで一時的に抑制し、Server GCがコア設計によってブラウザで無効化されていることを明確化します。

#131778 Move shared WASM logic to base writer

@jtschuster・GitHub・area-ReadyToRun

WebAssemblyオブジェクトライターの共通ロジックをリファクタリングするもので、動作上の変更はありません。セクションマッピング、シンボル管理、セクション生成順序の共通処理を新しいWasmObjectWriter基底クラスに抽出し、WebCIL固有のロジックはWebCilObjectWriterに留めます。これにより、将来的に複数のWebAssemblyオブジェクトライターで共有可能な汎用実装の基盤が整備されます。

#131745 Arm64-SVE: Fixes for passing Vector<T> by reference in reflection calls

@snickolls-arm・GitHub・area-VM-coreclrcommunity-contributionarm-sve

ARM64 SVE(Scalable Vector Extension)対応において、reflection経由でVector<T>を参照渡しする際の引数分類と戻り値フラグの処理を修正しました。従来のサイズチェック(単なるポインタサイズ判定)の代わりに、IsArgPassedByRef()を使用することで、スケーラブルなVector<T>が正しく参照渡しとして処理されるようになり、segmentation faultの発生を防ぎます。

#131610 Fix CrossGen2 TypeMap blob-only type references

@jkoritzinsky・GitHub・area-ReadyToRun

CrossGen2/ReadyToRun コンパイルで、カスタム属性のブロブ内にのみ参照される型(TypeRef 行や AssemblyRef 行がない)に対応するため、TypeMap ペイロード生成を修正しました。System.Type 値がカスタム属性ブロブ内にのみ存在する場合でも必要なトークンを生成できるようにし、このメタデータ形状をカバーする回帰テストを追加しています。

#131552 Enable contracts for new holders and refactor Crst initialization

@AaronRobinsonMSFT・GitHub・area-VM-coreclr

EE(Execution Engine)コントラクト検証をホルダー(holder)の解放パスで有効化し、CoreCLR、GC、NativeAOT、スタンドアロンILツール全体でコントラクト使用法を統一します。主な変更は、Crst初期化の標準化(InitNoThrow廃止)、ENABLE_EE_CONTRACTSゲートの導入、IsIPInModuleをutilcodeからVMに移動することです。

#131244 Populate PrivateMemorySize64 on macOS

@nwoolls・GitHub・area-System.Diagnostics.Processcommunity-contribution

macOS上でProcess.PrivateMemorySize64が常に0を返していた問題を修正しました。proc_pid_rusage(RUSAGE_INFO_V3)のri_phys_footprintフィールドを使用してプライベートメモリサイズを取得し、Activity Monitorのメモリ列と同じ値を報告するようになります。権限チェックは既存のproc_pidinfoと同じ動作に従い、他のユーザーのプロセスに対してはEPERMで適切に失敗します。

#131231 Widen the internal Number.BigInteger buffer to nuint

@tannergooding・GitHub・area-System.Numerics

内部のNumber.BigInteger(浮動小数点の解析、フォーマット、丸め処理で使用)とSystem.Numerics.BigIntegerCalculatorのブロック幅をuintからnuintに拡張し、64ビットプラットフォーム上でレジスタの上半分を有効活用します。同時に、重複していた算術カーネル(加減算、乗除算)を新しい共有実装BigIntegerCalculator.Shared.csに統一し、約1300行のコード削減を実現します。

2026年08月18日 (17 PRs)うち Bot 1 件 この日のページ →

#132484 Fix ILLink.Tasks output path in source-only builds

@akoeplinger・GitHub・linkable-frameworkarea-Tools-ILLink

ソースのみビルド(/p:DotNetBuildSourceOnly=true)時に、ILLink.Tasksの出力パスが誤ってnetframeworkサフィックスを付与される問題を修正します。NetFrameworkToolCurrentが空の場合、外部ビルドのパス条件が誤って真と評価されていました。条件をガードしてNetFrameworkToolCurrentが非空であることを確認するようにしました。

#132452 [System.Text.Json] Fix ARM64 Utf8JsonReader regression

@jozkee・GitHub・area-System.Text.Json

ARM64環境でのUTF8JSONリーダーのパフォーマンス回帰を修正するため、Utf8JsonReader.TryGetNumber内の数値終端チェック(.、E、eの判定)をパターンマッチング形式から明示的な比較演算子に置き換えました。セマンティクスは等価ですが、ARM64での実装がより効率的なコード生成を行います。

#132432 [System.Management] Make generated WMI wrappers disposable

@Macromullet・GitHub・area-System.Managementcommunity-contribution

System.Management の生成される強型 WMI ラッパーが IDisposable を実装するように改善しました。生成されるコレクションラッパーとエネレーターラッパーが、基になる ManagementObjectCollection と ManagementObjectEnumerator の Dispose を転送するようになり、COM ベースの WMI リソースを確定的に解放できるようになります。

#132424 Rename WasmObjectWriter to WebCilObjectWriter

@jtschuster・GitHub・area-ReadyToRun

WasmObjectWriterをWebCilObjectWriterに名前変更し、空の基本クラスWasmObjectWriterを作成するリファクタリングです。WebCilモジュールとNativeAOT形式の共通基盤として使用されるため、将来の抽出作業でgitが移動を正しく認識できるよう、名前変更を抽出作業と分離しています。

#132421 [Build] Fix minipal build on Apple targets

@mdh1418・GitHub・area-System.Threading

Mono の Apple ビルド環境でminipal の thread 関連機能が hidden になってしまう問題を修正するPR。_XOPEN_SOURCE が定義されている場合、Apple SDK の pthread.h が Darwin 固有の pthread_threadid_np と pthread_setname_np 宣言を隠してしまう問題を、_DARWIN_C_SOURCE を先に定義することで解決。iossimulator-arm64 での Release Mono ビルドで動作検証済み。

#132397 Fix CompareInfo.IsPrefix/IsSuffix with CompareOptions.IgnoreSymbols not ignoring leading/trailing symbols

@HarnageaGabriel・GitHub・area-System.Globalizationcommunity-contribution

ICUバックエンド環境で、CompareInfo.IsPrefix/IsSuffixがCompareOptions.IgnoreSymbolsを使用する場合に先頭/末尾のシンボル文字を正しく無視していなかった問題を修正しました。

例:

// 修正前:false(不正)
CultureInfo.InvariantCulture.CompareInfo.IsPrefix("''Tests", "Tests", CompareOptions.IgnoreSymbols);

// 修正後:true(正常)
CultureInfo.InvariantCulture.CompareInfo.IsPrefix("''Tests", "Tests", CompareOptions.IgnoreSymbols);

#132349 Implement AES-KW

@vcsjones・GitHub・area-System.Securitycryptographic-docs-impact

RFC 3394に準拠したAES Key Wrap (AES-KW)の実装を追加します。新しいパブリックAPI Aes.EncryptKeyWrap*/Aes.DecryptKeyWrap* と GetKeyWrapLength を導入し、マネージド実装を基本としながら、Apple (CryptoKit)とOpenSSLでは自動的にネイティブ実装を使用します。Windowsはマネージド実装を使用します。

// 使用例
byte[] keyToWrap = ...;
byte[] kek = ...; // Key Encryption Key
byte[] wrapped = aes.EncryptKeyWrap(keyToWrap, kek);
byte[] unwrapped = aes.DecryptKeyWrap(wrapped, kek);

#132332 Match versioned OS platform attributes in CoreCLR PInvokeCollector, add regression test

@Copilot・GitHub・area-Build-mono

CoreCLR PInvokeCollectorがバージョン付きOSプラットフォーム属性(例:[SupportedOSPlatform("browser1.0")])を正しく認識できていない問題を修正します。既存コードは属性値を完全一致で比較していたため、バージョン情報を含む属性は対象OSと一致しないと扱われていました。MatchesTargetOSヘルパーメソッドを導入して、バージョンプレフィックスを無視した比較を実装します。

#132321 Fix hang in InvalidClientRequestTests by guarding oversized Content-Length cases to managed implementation

@alinpahontu2912・GitHub・area-System.Net.Http

InvalidClientRequestTests内の2つの新規テストケースが超過サイズのContent-Lengthを拒否するテストを実施していますが、Windows上でのネイティブhttp.sysパス経由で実行されるとこれらが同じ方法で拒否されず、Helixタイムアウトまでハングが発生していました。本修正では、これらのテストをHelpers.IsManagedImplementationで保護し、マネージド実装のHTTPパーサーのみを対象とするようにします。

#132318 [ci-scan-feedback] Add fixer freshness/live-leg gate to stop already-fixed & retired-leg PRs

@Copilot・GitHub・area-Infrastructure

ci-failure-fix ワークフローが既に修正されたまたは廃止されたビルド構成に対して不要なPRを開き続ける問題を解決するため、修正試行前に3つのゲートチェック(最近の発生確認、ライブレグ確認、既存の修正確認)を追加します。これらのチェックのいずれかに該当する場合、PRを作成せずに処理をスキップします。

#132293 Improve NRBF ArrayRecord.GetArray(allowNulls: false) perf

@Copilot・GitHub・tenet-performancearea-System.Formats.Nrbf

NRBF(.NET Remoting Binary Format)のArrayRecord.GetArray(allowNulls: false)メソッドのパフォーマンス最適化。メソッド呼び出し時に、結果配列の割り当て前にLengthとRecords.Countを比較して、複数のNull Recordが存在する場合は即座に例外をスローすることで、大規模メモリ割り当てを回避します。

#132167 Merge JIT Generics tests into explicit runners

@jkoritzinsky・GitHub・area-CodeGen-coreclr

JIT Genericsテスト群をグローブベースのランナーから6つの明示的なランナーに統合し、ビルド構成を明確化。212個の個別プロジェクトラッパーを廃止し、C#テストソースを直接ランナーアセンブリにコンパイルすることでテストインフラを簡素化。Windows専用テストはプラットフォームフィルタリングで対応。

2026年08月17日 (17 PRs)うち Bot 1 件 この日のページ →

#132427 [release/11.0-rc1] Add structural union type classifier

@eiriktsarpalis・GitHub・Servicing-approvedarea-System.Text.Json

C# Union型のSTJ(System.Text.Json)対応を完成させるための重要なコンポーネントとして、JsonUnionTypeStructuralClassifier の公開API実装を.NET 11-RC1へバックポートしています。このAPIにより、すべてJSONオブジェクトとしてシリアライズされるUnion型ケースについて、オブジェクトのプロパティ名に基づいた構造的な判別が可能になります。

#132426 Clarify that runtime-async suspension points are forbidden in handlers, not try blocks

@pcshrosbree・GitHub・area-VM-coreclrcommunity-contribution

docs/design/specs/runtime-async.mdの制限事項に関する曖昧な表現を明確化するドキュメント更新です。

変更前の記述「Suspension points may not appear in exception handling blocks」は、保護されたtryブロック全体を指すと誤読される可能性がありましたが、意図は例外ハンドラー(catch/filter/finally/fault)内のみを対象としています。

変更により、tryブロック内のawaitは許可され、catch/finallyハンドラー内のawaitのみが禁止されることが明確になります。ランタイム自体のテスト(simple-eh.cs)でもtry内でのawaitが使用されており、SDKの実装でも同様に対応されています。

#132411 [System.Text.Json] Add structural union type classifier

@eiriktsarpalis・GitHub・area-System.Text.Json

System.Text.Jsonに公開API JsonUnionTypeStructuralClassifier を追加し、JSONトークン種別と同一レベルのオブジェクトプロパティ名に基づいてユニオン型のケースを分類します。分類器の構築時に曖昧または非サポートの設定を拒否し、ランタイムとソースジェネレータの変換メタデータと診断を統一します。最大64を超えるオブジェクトケースを含むマルチステージの候補除外を備えた包括的なエンドツーエンドカバレッジが実装されています。

#132408 NativeAOT: remove BOM from generated source/response files

@corngood・GitHub・community-contributionarea-NativeAOT-coreclr

NativeAOT のソースコードおよびレスポンスファイルから BOM(Byte Order Mark)を削除する変更です。レスポンスファイルが BOM で始まり、その後にフラグが続く場合、clang がそれをファイル名として解釈し、no such file or directory: '<feff>-fuse-ld=bfd' というエラーが発生していました。WriteLinesToFile が UTF-8 BOM なしを使用するように修正されています。

#132402 Use stable net/netframework folders for the mono SDK tasks

@akoeplinger・GitHub・area-Build-mono

Mono/WebAssembly SDK のタスク アセンブリを、TFM バージョン固有のフォルダ(tasks/net11.0、tasks/net472 など)から安定した version-independent フォルダ(.NET Core は net、.NET Framework は netframework)へ移行するもの。これにより、.NET Core TFM バージョンアップ時の調整作業が不要になります。対象は WasmAppBuilder、WasmBuildTasks、MonoAOTCompiler、MonoTargetsTasks、LibraryBuilder、MobileBuildTasks、AppleAppBuilder、AndroidAppBuilder、HelixTestTasks、WorkloadBuildTasks の 10 プロジェクト。

#132376 Upgrade gh-aw compiler to v0.86.2

@vitek-karas・GitHub・area-skills

gh-awコンパイラとセットアップアクションをv0.85.4からv0.86.2にアップグレードしました。主な目的は、Copilot CLIツールキャッシュヒット時のPATH解決の問題を修正することです。v0.85.4では絶対パス/usr/local/bin/copilotが呼び出されていましたが、キャッシュ時には存在せずエラーが発生していました。v0.86.2ではPATHからcopilotを解決し、${RUNNER_TEMP}/gh-aw/bin/copilot下にステージングして実行するように改善されました。

#132367 Make the Nullable<T>.Value exception message actionable

@jeffhandley・GitHub・area-System.Runtime

Nullable<T>.Value プロパティアクセス時に値がない場合にスローされる例外メッセージを改善しました。メッセージを「Nullable object must have a value.」から「Cannot read the Value property of a Nullable object that has no value. Check HasValue before reading Value.」に変更し、問題の根本原因(.HasValue チェック不足)と解決方法を明確に示すようにしました。

#132274 Fix DeflateEncoder.GetMaxCompressedLength conservative bound

@BrzVlad・GitHub・area-System.IO.Compression

DeflateEncoderのGetMaxCompressedLengthメソッドが不正確な上限を返していた問題を修正しました。従来のcompressBound()ベースの実装は、デフォルト設定での圧縮を想定していましたが、.NETの実装は品質レベルやウィンドウサイズなどのカスタム設定をサポートしています。zlib-ngのdeflateBound()に由来するマネージド実装に置き換え、すべてのサポート対象の圧縮設定に対応する保守的な上限を計算するようにしました。

#132259 JIT: fill two gaps in wasm codegen

@AndyAyersMS・GitHub・arch-wasmarea-CodeGen-coreclr

WebAssembly JIT バックエンドにおける2つのコード生成ギャップを修正しました。genReturnSuspendでretbuf戻り値とVector128戻り値の処理を追加し、genEmitHelperCallの管理スロー ヘルパーシグネチャテーブルを拡張して、未サポート組み込み関数と範囲外イミディエートパスから到達可能な全ヘルパーに対応させています。

#132168 Merge SIMD test sources into grouped runners

@jkoritzinsky・GitHub・area-CodeGen-coreclr

SIMDテストを複数の個別プロジェクトから最適化/非最適化の統合ランナーアセンブリに統合。ソースglob経由でC#ソースを両ランナーに直接コンパイルし、テスト数を削減しつつ機能を保持。従来のコンパイル時TARGET_32BIT分岐をプラットフォーム条件付きVectorConvertテストに置き換えて、テスト構造を簡潔化。

#131771 Add typed self-counting WASM sections

@jtschuster・GitHub・area-ReadyToRun

WASM オブジェクトライター実装の第2段階として、型安全な自己カウント機能を持つWASMセクション機構を導入します。共有機能をSectionDataEmitterに統合し、imports、functions、globals、exports、elements用の型付きベクトルセクションを追加。エントリの追加時に自動的にセクションのカウントを追跡し、手動でのカウンター管理を排除します。

#129853 fix shutdown tests

@rosebyte・GitHub・area-Extensions-Hosting

Helix環境におけるシャットダウン機能テストの信頼性を向上させるため、プロセス起動とシャットダウン処理を強化します。主な改善点は、dotnetホストをPATHに依存せずアクティブなtesthost レイアウトから解決する、プロセス起動の再試行ロジック(3回、短い遅延)を追加する、未起動のProcessオブジェクト処理を堅牢化することです。

2026年08月16日 (2 PRs) この日のページ →

#131867 Fix macOS crash in NetworkChange when the run loop thread already exited

@isaacisland・GitHub・area-System.Netcommunity-contribution

macOS の NetworkChange.StopRunLoop() において、run loop スレッドが既に終了している場合に null ポインタを dereference してクラッシュ(EXC_BAD_ACCESS)する問題を修正します。Release ビルドでは Debug.Assert が削除されるため、s_runLoop が null のまま CFRunLoopIsWaiting() に渡されていました。本修正では、s_runLoop が既に zero の場合に早期リターンすることで、クラッシュを防止します。

実績:この問題により約5週間で13,497件のクラッシュが報告されており、特に長時間稼働するデーモンで NetworkAddressChanged への購読/購読解除を繰り返す場合に発生していました。

#130835 Buffer consecutive text nodes when loading XContainer to avoid O(n^2)

@StephenMolloy・GitHub・area-System.Xml

XContainer の XML ロード処理における O(n²) パフォーマンス問題を修正しました。XmlReader が単一の論理的なテキスト値を複数の小さな連続したテキストノードとして返す場合(例:DataContractSerializer がストリーム上で読み込む場合)、AddStringSkipNotify による個別の不変文字列連結がボトルネックになっていました。連続するテキストノード(Text/SignificantWhitespace/Whitespace)を StringBuilder にバッファリングし、一度に処理することで線形時間に改善します。

2026年08月15日 (5 PRs) この日のページ →

#132345 Restore Windows Arm64 support for CPUs without LSE

@tannergooding・GitHub・area-VM-coreclr

Windows Arm64ランタイムにおいて、LSE(Large System Extensions)をオプション機能として扱い、基本CPU要件をArmv8-Aに戻します。これにより、LSEなしのNXP i.MX 8プロセッサを搭載したWindows 10 IoTデバイスでの実行をサポートしながら、ReadyToRunの基準はArmv8.2-A + RCPCのままとします。LSEなしのハードウェアではR2Rイメージが拒否され、JITにフォールバックします。

#132342 Skip GitHub_130545 on NativeAOT

@agocke・GitHub・area-TypeSystem-coreclr

NativeAOT環境でGitHub_130545回帰テストがジェネリック制約メタデータの解決時にTypeLoadExceptionで失敗するため、NativeAOT上でのみテストをスキップします。CoreCLRおよびMonoでのテストカバレッジは維持され、基盤となるNativeAOT反射メタデータバグはIssue #132030で追跡継続します。

#132302 Add locking for cDAC APIs

@rcj1・GitHub・area-Diagnostics-cdac

cDAC(Common Data Access)APIs が同じ Target を共有する場合、複数スレッドからの同時アクセスを防ぐため、per-Target の ApiLock を導入しました。COM エントリーポイント全体にMonitorベースのロック機構を実装し、スレッド間の再入性を防ぎます。この変更は内部実装(Legacy COM インターフェース層)に限定され、公開 API への直接的な影響はありません。

#132248 [wasm] Encode struct alignment in thunk signatures

@davidwrighton・GitHub・area-ReadyToRun

WebAssembly上で16バイト境界にアラインされた構造体の値渡しをサポートするPull Requestです。JIT インターフェイスのアラインメント計算を統合し、遷移thunkでアラインメント要件を検出する仕組みを導入しました。新たなエンコーディング(A<size>)を追加して16バイトアラインメント構造体を区別し、crossgenおよびWasm R2Rテストで検証しています。

#132033 Partition the ComWrappers RCW cache into per-processor buckets

@Sergio0694・GitHub・area-System.Runtime.InteropServicestenet-performancecommunity-contribution

ComWrappers の RCW(Runtime Callable Wrapper)キャッシュをプロセッサ数に基づいて複数のバケットに分割し、単一の ReaderWriterLockSlim による競合を軽減する変更です。キャッシュエントリを WeakGCHandle<NativeObjectWrapper> に置き換え、型安全性と処理効率を向上させます。ネイティブ・マネージド間の遷移は非常にホットパスであり、特にファイナライザスレッドによる書き込みとアプリケーションスレッドによる読み込みの競合を解消することで、大幅なパフォーマンス向上が期待できます。

2026年08月14日 (38 PRs)うち Bot 2 件 この日のページ →

#132337 [R2R] Handle missing virtual method signatures

@agocke・GitHub・area-ReadyToRun

crossgen2/R2R のコンパイル時に、インターフェース仮想メソッドの署名解決に失敗する場合(例:参照アセンブリが見つからない場合)の耐性を向上させます。InheritedVirtualMethodsNode で TypeSystemException をキャッチし、解決失敗前に発見された依存関係を保持することで、影響を受けるコードがランタイム JIT へフォールバックできるようにします。

#132326 JIT: Do not skip reference prolog zero inits in async methods

@jakobbotsch・GitHub・area-CodeGen-coreclrruntime-async

JIT最適化 optRemoveRedundantZeroInits がランタイム非同期メソッドでGC報告可能なローカル変数のプロローグゼロ初期化をスキップしていた正確性バグを修正します。非同期メソッドの再開パスが初期化前のストアをスキップするため、GCが無効なスタック参照をスキャンしてランタイムクラッシュが発生していました。非同期メソッドでこの最適化を無効化し、回帰テストを追加します。

#132313 JIT: Fix VN map select cache inconsistency on budget exhaustion

@jakobbotsch・GitHub・area-CodeGen-coreclr

JIT のバリューナンバリング(VN)機能で、MapSelect操作のキャッシュ一貫性を損なわせるバグを修正しました。予算枯渇時に再帰的評価の確認を適切な順序で行わず、異なるVNが同じキーに対してキャッシュされていました。修正により、再帰的な再入時にはRecursiveVNを返すようになります。

#132307 Accept canonical NaN in BFloat16 explicit conversions on WASM

@pavelsavara・GitHub・arch-wasmarea-System.Numerics

WebAssembly環境(特にV8エンジン)でNaN値を正規化する動作に対応するため、BFloat16の明示的変換テストを修正しました。以前はWASM+Monoでテストをスキップしていましたが、CoreCLR+WASM環境での実行開始に伴い失敗するようになったため、WASM環境では正規化されたNaN値(sign | 0x7FC0)の受け入れを許容する方式に変更しました。これにより、全てのWASM実行環境でNaN検証を実施しつつ、他のプラットフォームではビット厳密な検証を維持します。

#132300 [mono][wasm] Handle versioned OS platform P/Invoke attributes

@Sieluna・GitHub・arch-wasmarea-Build-monocommunity-contribution

Mono WebAssembly P/Invoke収集機能において、バージョン付きOSプラットフォーム属性(例:browser1.0)をバージョンなしのTargetOS(例:browser)と一致するものとして扱うように修正しました。これにより、net11.0-browserライブラリのSupportedOSPlatform("browser1.0")属性を持つ有効なP/Invokeが誤ってフィルタリングされる回帰を解決します。

#132295 Update NuGet restore sources for HttpStress project

@BrennanConroy・GitHub・area-System.Net.Http

HttpStressストレステストプロジェクトのNuGet復元ソース設定を更新し、nuget.orgから直接復元する代わりに、内部のdotnet-publicフィード(nuget.orgミラー)を使用するよう変更します。公開ギャラリーで利用できないパッケージ(System.CommandLineなど)についてはdotnet-librariesフィードを併用します。

#132287 [QUIC] Fix receive race.

@ManickaP・GitHub・area-System.Net

QUIC ストリームの受信ループにおけるレースコンディションを修正します。HandleEventReceive と ReadAsync 間で _receiveTcs が二重にアンブロックされる問題を解決し、FINを受信していないのに ReadAsync が0バイト読み取りを返してしまい、不正なストリーム破棄につながるケースを防ぎます。

#132281 JIT: don't use a jump-threaded block's sharpened predicate for dominator-based inference

@EgorBo・GitHub・area-CodeGen-coreclr

Jump-Thread-Based Optimization (RBO) によってブロックがリスレッドされた際、シャープン化された述語(predicate)が正しく機能しないバグを修正します。リスレッドされたエッジを通じて到達可能なブロックでも述語が有効であると誤認識され、不正な分岐削除が発生していました。特に isinst 結果の null チェック削除に伴う NullReferenceException を引き起こしていました。

#132277 Compile UpdateOptions_ServerCertificateContextProvided test on desktop only

@rzikm・GitHub・area-System.Net.Securityos-tvos

Apple-mobile CoreCLR(tvOS等)におけるSystem.Net.Security.Unit.Testsの起動時クラッシュを解決するPR。UpdateOptions_ServerCertificateContextProvided_DoesNotDisposeCallerContextテストがSslStreamCertificateContext.Createで汎用Dictionaryをインスタンス化し、ReadyToRun合成イメージからILが削除されるため、テスト検出前にアプリが落ちる問題に対応。全テストプロジェクトを無効化せず、問題のあるテストのみをモバイルビルドから除外する戦略を採用。

#132269 JIT: Strip GC/reloc flags from the size in arm64 instGen_Set_Reg_To_Imm

@jakobbotsch・GitHub・area-CodeGen-coreclr

ARM64 JITコードジェネレータで、即値エンコーディング時にGC/relocフラグを削除していない問題を修正します。instGen_Set_Reg_To_Imm関数が、リロケーション有効時にbyref定数をEA_BYREFのままヘルパー関数に渡し、アサーション失敗やmovz/movk命令生成時の不正な処理につながっていました。CrossGen2/NativeAOT等のAOTコンパイル時にのみ再現します。

#132234 Package reusable cDAC usage graph analyzer

@max-charlamb・GitHub・area-Diagnostics-cdac

cDAC(Contract Data Access Components)使用グラフアナライザーを再利用可能なコンポーネントとしてパッケージ化し、CoreCLR固有の分析エントリーポイントを設定可能なUsageGraphAnalysisOptionsに置き換えます。プロジェクトパスと登録型の名前を外部から指定でき、デフォルト値を返す構造体登録にも対応させています。

#132216 Enable DnsResolver tests on all Unix platforms

@rzikm・GitHub・area-System.Net

#129846で追加されたDnsResolverの管理スタブリゾルバー実装を、Unix系プラットフォーム全体でテスト可能にするフォローアップです。System.Net.NameResolutionは共有の-unixターゲットフレームワークを使用しており、macOS、BSD、illumos、Haiku、iOS、tvOS、MacCatalyst、Androidは既にLinuxと同じ管理リゾルバーをコンパイルしています。本PR では、プラットフォーム固有のPAL実装不要なプラットフォーム上でテストを実行可能にし、[UnsupportedOSPlatform]属性を追加してサポート外プラットフォーム(Android、Browser、WASI)を適切にマークしました。

#132197 Use minipal timers directly in GC

@Copilot・GitHub・area-GC-coreclr

GCランタイムのタイマー実装をminipalライブラリに統一することで、プラットフォーム固有のタイマー処理を一元化する変更です。GCToOSInterfaceのタイマーラッパーを削除し、GCの呼び出し側をminipal_lowres_ticks()、minipal_hires_ticks()、minipal_hires_tick_frequency()に置き換えます。

#132153 [mono][wasm] Box gsharedvt Nullable<T> via a wrapper-free runtime helper

@pavelsavara・GitHub・arch-wasmarea-Codegen-AOT-mono

Mono WASM のミニマル gsharedvt (llvmonly/WASM) 環境で、Nullable<T> をボックス化する際に発生していた "function signature mismatch" エラーを修正します。corelib が AOT コンパイルされ、消費側アセンブリがインタプリタ実行される場合に、per-T ボックスラッパーが不在となり、非ジェネリック IEnumerator.Current を通じた Nullable<T> のボックス化がトラップしていました。

新しい mono_helper_box_nullable icall を導入し、既存の mono_nullable_box ヘルパーをラップして、値をアドレス経由で渡し rgctx から具体的な Nullable<T> クラスを取得します。これにより per-T ボックスラッパーが不要になり、トラップを回避しつつメソッドの AOT コンパイル状態を保持できます。

#131911 Suppress interface generic dataflow warnings under RUC

@sbomer・GitHub・linkable-frameworkarea-Tools-ILLink

型がRequiresUnreferencedCodeで直接アノテートされている場合、インターフェース実装時のジェネリック型引数に関するIL2026/IL2091警告を抑制します。一方、リンカーとNativeAOTのデータフロー解析は実行継続して、インターフェース実装に必要なメンバーは保持されます。これにより基本型の既存動作に合わせながら、警告抑制をインターフェース解析に限定します。

#131908 Fix XmlSerializer UnknownAttribute perf regression

@StephenMolloy・GitHub・area-Serialization

XmlSerializerの属性処理パフォーマンスの回帰を修正しました。要素に属性がない場合の属性列挙を回避し、UnknownNode/UnknownAttributeイベントハンドラが登録されていない場合の不要な列挙を削減します。リフレクションベース、生成C#、RefEmitの各シリアライザー実装全体で一貫性を確保しました。

#131538 JIT: Support general inlining in runtime async

@jakobbotsch・GitHub・area-CodeGen-coreclrPriority:1runtime-async

JITコンパイラの非同期メソッドインライン機能を拡張し、await文を含むメソッドの一般的なインラインに対応します。新しいランタイムヘルパーメソッド、JIT↔EE API (getAwaitAwaiterInContinuationCall)、および包括的なテストとドキュメントが追加されました。この機能は現在検証段階で、.NET 11への統合を目指しており、デフォルトで無効化される可能性があります。

#131225 Populate RetryAfter on SlidingWindowRateLimiter

@nwoolls・GitHub・area-System.Threadingcommunity-contribution

SlidingWindowRateLimiterの失敗したリースがRetryAfterメタデータを常に返していなかった問題を修正します。これまで静的シングルトンのFailedLeaseがretryAfter: nullで構成されていたため、TryGetMetadata(RetryAfter)は常にfalseを返していました。本修正はFixedWindowRateLimiterで既に実装されている修正と同様のアプローチです。スライディングウィンドウでは、固定ウィンドウと異なり全体をリセットせず1セグメント単位で許可を解放するため、推定リトライ遅延は_requestsPerSegmentを次のセグメント以降走査して十分な許可が得られるまで計算します。

#130263 [OptionsValidator] source generator: emit ValidateAsync() for IAsyncValidateOptions<T>

@ViveliDuCh・GitHub・area-Extensions-Optionssource-generator

[OptionsValidator] ソースジェネレータに非同期オプション検証のサポートを追加します。IAsyncValidateOptions<T> を実装するバリデータに対して ValidateAsync(string?, TOptions, CancellationToken) メソッドを生成します。同期的な Validate メソッドは常に保持され、両方の検証パスがサポートされます。新しい公開API は追加されず、ジェネレータの動作とラッパイアティクスのみが変更されます。

#128980 Prevent corrupted SMTP headers when MailAddress.DisplayName contains CR/LF

@Copilot・GitHub・area-System.Net

MailAddressのDisplayNameにCR/LFが含まれていた場合、SMTPのFrom:/To:ヘッダーが破損する脆弱性を修正しました。呼び出し側が指定したDisplayNameに含まれるCR/LFはFormatExceptionを投げて拒否し、アドレス文字列から解析されたDisplayNameのCR/LFはRFC 5322に従いアンフォールド(削除)します。

// 修正前:破損したSMTPヘッダーを生成していた
// new MailAddress("user@example.com", "Display Name\r\n");

// 修正後:FormatExceptionをスロー
new MailAddress("user@example.com", "Display Name\r\n"); // FormatException

#128675 Enable sccache for macOS CoreCLR legs

@steveisok・GitHub・area-Infrastructure-coreclr

macOS CoreCLR CI レグに sccache コンパイル キャッシング を導入し、Linux/FreeBSD での実装パターン (#128065) をミラーリングするもの。8つの macOS CI ジョブ(CoreCLR_Libraries、Libraries_CheckedCoreCLR、NativeAOT など、arm64/x64)で native コード構築時にキャッシュを有効化。macOS 固有の -Xarch_* フラグと -include 引数の書き換えを処理する新しいラッパースクリプトを追加し、CMake コンパイラランチャー注入を共有化する。

#128504 [XmlSerializer] Avoid IList/Array.GetValue path for array item serialization in reflection writer

@Copilot・GitHub・area-Serialization

XmlSerializerのリフレクションパスでの配列要素シリアライゼーションを最適化しました。従来は配列をIListとして扱うことでArray.GetValueを呼び出していましたが、明示的な配列パスを追加して直接列挙することで、ループ内のオーバーヘッドを削減します。シリアライゼーション出力の動作は変わりません。

Array? choiceArray = choiceSources as Array;

if (o is Array array)
{
    IEnumerator e = array.GetEnumerator();
    int c = 0;
    while (e.MoveNext())
    {
        object ai = e.Current;
        object? choiceSource = choiceArray?.GetValue(c++);
        WriteElements(ai, choiceSource, elements, text, choice, true, true);
    }
    return;
}

2026年08月13日 (28 PRs)うち Bot 2 件 この日のページ →

#132270 Fix TryParsePartial under-reporting charsConsumed for leading whitespace

@Copilot・GitHub・area-VM-coreclr

INumberBase<T>.TryParsePartial が、フォーマットプロバイダーのサイン記号が "+"/"-" 以外の場合(sv-SE、fi-FI、アラビア語/ヘブライ語ロケールなど約96の言語)に、先頭の空白を charsConsumed に含めずに報告していたバグを修正します。この問題により、呼び出し元が返された消費文字数で位置を進めると、既に読み込んだ数値の途中に巻き戻ります。

int.TryParsePartial(" 5", NumberStyles.Integer, new CultureInfo("sv-SE"), out int v, out int consumed);
// 修正前: v = 5, consumed = 1 (期待値: 2)
// 修正後: v = 5, consumed = 2

#132257 Wasm: don't zero-pad the caller's return buffer in the interp-to-R2R thunk

@AndyAyersMS・GitHub・arch-wasmarea-ReadyToRun

WebAssembly interp-to-R2R thunkノードが呼び出し元の戻り値バッファを不適切にゼロパディングしていた問題を修正しました。pRet バッファがインタプリタ自身のリターンスロットではなく、呼び出し元のバッファやCallDescrData用バッファである場合、パディングがバッファサイズを超えて次のフレームスロットに書き込み、メモリ破損を引き起こしていました。12バイト構造体の場合、後続フレームの参照フィールドをゼロ上書きして NullReferenceException を発生させていました。

#132229 Fix RISC-V unwind scope calculations

@Copilot・GitHub・area-Diagnostics-cdac

RISC-V64スタックアンワインダーのスコープ計算をハーフワード単位で統一し、エピログスコープサイズ計算時に最終エピログ命令を考慮するよう修正しました。リターン命令でのアンワインディング時にスタック調整が誤って再適用されないことを検証するリグレッションテストを追加しています。

#132223 JIT: Add an inlining stress mode for general runtime async inlining

@jakobbotsch・GitHub・area-CodeGen-coreclr

JIT インライニングのストレステストモード JitStressAsyncInlining を追加するもので、async メソッドの呼び出しを通常のサイズ・予算・採算性ヒューリスティクスを無視して積極的にインラインします。インライン深度と候補インデックスに応じて確率が減衰し、一つのメソッド内の多数の async 呼び出しが全てインラインされることを防ぎます。DEBUG ビルドのみの機能です。

#132217 Fix extraction of password-protected ZIP archives with empty files

@Copilot・GitHub・area-System.IO.Compression

パスワード保護されたZIPアーカイブに空のファイルが含まれる場合、抽出に失敗する問題を修正しました。根本原因は、暗号化されたエントリがローカルファイルヘッダーを書き込む前に暗号化ストリームを終了していたため、暗号化メタデータ(ZipCrypto、AES)とローカルヘッダーの順序が逆になり、かつ中央ディレクトリとの記述内容が矛盾していたことです。修正では、空のエントリでも暗号化を考慮した通常のパスでローカルファイルヘッダーを先に書き込み、その後暗号化ストリームを終了するように変更しました(同期・非同期両対応)。

#132210 Add SslStream legacy path compatibility switch

@rzikm・GitHub・area-System.Net.Security

SslStreamのハンドシェイク処理において、新しい互換性スイッチを追加し、TlsSession経由の新しいパスをバイパスして従来のGenerateToken実装にフォールバックできるようにしました。このスイッチはデフォルトで無効(新しいパスを使用)であり、既存の動作は変わりません。

スイッチの制御方法:

  • AppContext: System.Net.Security.UseLegacySslStreamHandshake
  • 環境変数: DOTNET_SYSTEM_NET_SECURITY_USELEGACYSSLSTREAMHANDSHAKE

#132173 Fix FileNotFoundException in NativeAOT test

@Copilot・GitHub・area-Infrastructure-libraries

NativeAOT テスト Runtime_101046 における FileNotFoundException を修正するPRです。C# 版と IL 版のプロジェクトが同じ名前を共有していたため出力ディレクトリが競合し、NativeAOT ビルド時に TestLibrary 参照がなくなり、ラッパー生成時に例外が発生していました。C# 版をリネーム(Runtime_101046_1)し、TestLibrary 依存の ActiveIssue ゲートをネイティブアセット用の CLRTestTargetUnsupported ゲートに置き換えることで解決します。

#132146 Enable hardware intrinsics for ExtractMostSignificantBits test

@tannergooding・GitHub・area-CodeGen-coreclr

ExtractMostSignificantBits JITテストプロジェクトにおいて、jitstress_isas_nohwintrinsic ストレステスト実行時にハードウェアイントリンシクスを強制的に有効にするための設定を追加しました。このテストはARM64ハードウェアイントリンシク コード生成を検証するディスアセンブリアサーションを含んでいるため、グローバルレベルのハードウェアイントリンシクス無効化を回避する必要があります。

#132113 Deduplicate minipal header helpers

@mdh1418・GitHub・area-PAL-coreclr

minipalヘッダーヘルパー関数の重複定義を排除するリファクタリング。パフォーマンス非重視の関数(minipal_getexepath、minipal_get_current_thread_id_no_cache、minipal_set_thread_name)を専用の.cファイルに移動し、out-of-line実装として提供。パフォーマンス重視の関数はinlineをヘッダーに保持しつつ、コンパイラが非インライン化する場合のため外部フォールバック定義を配置。

#131988 Add Runtime Async profiler API coverage

@tommcdon・GitHub・area-Diagnostics-coreclr

Runtime Async プロファイラー機能のテストカバレッジを拡充するPRです。新たに2つのマネージドテストプロジェクト(runtimeasyncapis、runtimeasynctypes)と対応するネイティブプロファイラー実装を追加し、以下の機能をカバーしています:

  • メタデータレス継続と配列の ClassLoad コールバック
  • GetClassIDInfo/GetClassIDInfo2/GetClassLayout の拒否動作
  • JIT コールバックと FunctionID/ネイティブIP の相互往来、IL-ネイティブマッピング
  • 例外検索、アンワインド、キャッチャーのコールバック
  • GC 参照トラバーサル

Windows x64 および Linux x64 で検証済みです。

#131976 [LoongArch64] Fix some crash CoreRoot tests under --gcstresslevel=4 like Methodical_{r2|d2}.

@LuckyXu-HF・GitHub・area-CodeGen-coreclrcommunity-contributionarch-loongarch64

LoongArch64アーキテクチャにおいて、GCストレステスト(--gcstresslevel=4)実行時にコアランタイムテストがクラッシュする問題を修正しました。JIT エミッター内の命令範囲チェックと、エピログ処理における大型フレームのREG_FPBASEアンワインドデータ記録の不正確さを改正し、併せてネイティブAoT実装の時代遅れのコードとコメントを更新しました。

#131783 Replace SHA-1/RSA-1024 test data with SHA-256/RSA-2048 equivalents

@joshuajyue・GitHub・area-System.Security

Fedora/CentOS Streamなどの環境がSHA-1署名の検証を拒否するため、PKCS#7テストデータをSHA-1/RSA-1024からSHA-256/RSA-2048へ移行するPRです。これにより、29個のテストが[ConditionalFact(SupportsRsaSha1Signatures)]による条件付きスキップから解放され、全プラットフォームで実行可能になります。SHA-1検証の互換性テストは新たに2つの明示的なテストケースで担保されます。

#131197 Unify sync/async Options validation contract

@oroztocil・GitHub・area-Extensions-Options

Microsoft.Extensions.OptionsとMicrosoft.Extensions.Hostingの同期/非同期オプション検証を統一するPRです。IAsyncValidateOptions<TOptions>をIValidateOptions<TOptions>から派生させることで、両方の検証方式を単一のバリデータコレクションで管理します。スタートアップ検証はIStartupValidator(互換性ルート)とIAsyncStartupValidator(新規の非同期専用)で独立した経路を保持します。

#130097 Diagnose LibraryImport/[GeneratedComInterface] with restricted CCW/RCW options

@Copilot・GitHub・area-Interop-coreclr

[LibraryImport]および[GeneratedComInterface]でマーシャリング方向に対応しないComInterfaceOptionsが指定された場合、コンパイル時に診断エラーSYSLIB1051を発行するようにしました。従来は無言でランタイムエラーが発生していましたが、ビルド時に問題を検出できるようになります。

// 例: RCW(ComObjectWrapper)が必要ですが、ManagedObjectWrapperのみ指定
[LibraryImport("dxgi")]
public static partial void CreateDXGIFactory2(uint flags, in Guid riid, out IDXGIFactory6 ppFactory);

[GeneratedComInterface(Options = ComInterfaceOptions.ManagedObjectWrapper)]
[Guid("...")]
public partial interface IDXGIFactory6 { }
// エラー: SYSLIB1051 - ComObjectWrapperが指定されていません

2026年08月12日 (42 PRs)うち Bot 2 件 この日のページ →

#132226 [cDAC] Fix LoongArch64 epilog scope sizing

@rcj1・GitHub・area-Diagnostics-cdac

LoongArch64のエピログスコープサイジングの計算ロジックを修正し、cDAC スタックウォーキング時のアンワインド動作を改善します。エピログの最終命令を含めることで、実行がエピログ戻り命令にある場合を正確に検出でき、既に完了したスタック調整の重複適用を防ぎます。

#132222 JIT: Do not mark an async call no-return because its callee has no ret

@jakobbotsch・GitHub・area-CodeGen-coreclr

JITのインライン候補スキャン処理で、非同期呼び出し(async call)がcalleeのILに戻りブロックがないという理由だけで"no-return"としてマークされることを防止します。非同期呼び出しの場合、calleeの中断処理(suspension)により呼び出し元のasync中断・継続コードが実行されるため、不正なno-return伝播を回避します。

#132206 Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 3045920

@dotnet-bot・GitHub・area-Infrastructure-libraries

OneLocBuildタスクによる自動生成PRです。ローカライズパイプラインから返却された翻訳ファイル(.lcl)に基づいて生成されたローカライズ済みリソースファイル(XLFファイル)をチェックインします。System.Runtime.InteropServices.genとSystem.Text.Json.genライブラリの多言語リソース文字列を更新します。

#132187 [cDAC] Fix ARM64 save_any opcode decoding

@rcj1・GitHub・area-Diagnostics-cdac

ARM64 unwind-code decoding における save_any opcode のデコーディングバグを修正しました。cDAC(Compact DAC)のスタックアンワインディング処理で、ビットフィールド抽出が誤ったバイト位置から行われていた問題を解決し、単体テストを追加しています。

#132186 Crossgen2: don't mutate getCallInfo token

@AndyAyersMS・GitHub・area-ReadyToRun

Crossgen2のJIT呼び出し解決時に、getCallInfoが呼び出し元のCORINFO_RESOLVED_TOKENトークンを内部的に変更してしまう問題を修正しました。これにより、SuperPMIが正しくないルックアップキーを記録していました。解決策として、getCallInfoの開始時にトークンをコピーし、そのコピーを内部処理全体で使用するようにしています。

#132183 [cDAC] Fix ARM unwind implementation

@rcj1・GitHub・area-Diagnostics-cdac

ARM 32ビット向けのcDAC(Diagnostic Address Checker)のARMUnwinderにおけるアンワインド処理の不具合を修正しています。具体的には、コンパクトアンワインドのエピログ処理において、Ret==0の場合にPC(プログラムカウンタ)をポップするべき処理が正しく行われていなかった点を修正し、呼び出し元のコンテキストが適切に復元されるようにしました。

#132177 Remove redundant / too-strict asserts in LoadAssembly

@elinor-fung・GitHub・area-AssemblyLoader

AppDomain::LoadAssembly*メソッド内の過度に厳密なデバッグアサーションを削除するPRです。これらのアサーションは、部分的な読み込み(デッドロック制限による読み込みレベルなど)の正当なシナリオで発火し、既存のコメントおよび意図された動作と矛盾していました。既存の機能的なガード(ThrowIfError、EnsureLoadLevel、RequireLoadLevel)により、正確性は引き続き保証されます。

#132172 Fix WASM R2R virtual IP initialization

@davidwrighton・GitHub・area-ReadyToRun

WASM Ready-to-Run (R2R) 環境における仮想IP初期化のタイミング問題を修正しました。Eager fixups実行前に仮想IP範囲が登録されていなかったため、R2Rエントリポイントが仮想IPベースなしでマップされ、後続のスタックウォークルックアップが失敗していました。この修正により、仮想IP範囲をeager fixupsより前に登録し、複合コンポーネント間で最小仮想IPを共有し、使用前に初期化アサーションを追加します。

#132171 [release/10.0] Implement a workaround for ld-prime hitting an assert on large addends

@agocke・GitHub・Servicing-approvedarea-NativeAOT-coreclr

Apple プラットフォーム上で NativeAOT がリンク時にアサート失敗する問題を修正するバックポートです。Mach-O オブジェクトライターにおいて、RELPTR32 リロケーションの大きなアディエンドが ld-prime の符号付き 20 ビット インラインエンコーディングの制限を超えた場合、セクション相対リロケーションアンカーシンボルを導入して対応します。各アンカーをサブトラクタベースとして選択することで、すべてのアディエンドがインライン範囲内に収まるようにします。

#132169 [cDAC] Fix bugs in x86 unwinder

@rcj1・GitHub・area-Diagnostics-cdac

cDAC(Common Data Access Components)のx86スタックアンワインダーにおける複数のバグを修正します。ESP フレームのプロローグでのレジスタ追跡順序、EBPフレームのポインタ計算、命令デコーディングロジックの不正確さを是正し、スタックアンワインド時のレジスタ/スタック再構成の精度を向上させます。

#132166 Revert "JIT: cache the wasm image base in a local"

@adamperlin・GitHub・area-CodeGen-coreclr

PR #131369で導入されたWebAssembly イメージベースのローカル変数キャッシング機能を元に戻すもの。PR #132029でグローバルインデックスをそのサイズまで縮小した結果、global.get <imageBase>とlocal.get <cached image base>のコスト(どちらも2バイト)が同じになったため、キャッシング機能は不要になった。

#132158 Preserve the V1 async-profiler stitch boundary

@steveisok・GitHub・area-System.Threading.Tasks

async-profiler V1の「stitch boundary」コントラクトを強化するPRです。AsyncProfilerAsyncStateMachineBox<TStateMachine>.MoveNextAsDispatcherにMethodImplOptions.NoInlining属性を追加して物理スタックフレームの保持を保証し、テストを拡張して命名要件と非インライン要件の両方を検証します。また、スタックベースのアサーション失敗時の診断情報を改善しています。

#132150 Enable Helix job monitor across test pipelines

@akoeplinger・GitHub・area-Infrastructure

Azure DevOps テストパイプライン全体で Helix Job Monitor パターンを有効化し、Helix 提出タスクの同期待機を解消する変更。各パイプラインに monitor ジョブを追加し、useHelixMonitor パラメータを使用して out-of-band モニタリングを opt-in する。共有テンプレートの互換性を保つため、デフォルトでは enableHelixJobMonitor: false に設定。

#132148 Limit buffer size for CommandStream

@iremyux・GitHub・area-System.Net

CommandStreamのFTP制御チャネル応答バッファに上限を設定し、サーバーからの過度に長い応答に対して早期に失敗するようにします。MaxResponseLength(4KB)の制限を導入し、超過時にWebExceptionStatus.ServerProtocolViolationをスロー することで、無制限のバッファリングを防止します。

#132141 Fix interpreter delegate calls through shuffle thunks

@BrzVlad・GitHub・area-CodeGen-Interpreter-coreclr

インタープリタのデリゲート呼び出し時に、shuffle thunks経由で渡されたアドレスがNonVirtualEntry2MethodDescでアサーション失敗を起こす問題を修正しました。StubLinker生成のwrapperスタブとshuffle thunksをJITコードマネージャーで追跡できるようになったため、これらのスタブ種類を認識して適切にnullを返すようにしました。

#132136 Fix Unix file descriptor assertion

@Copilot・GitHub・area-System.IO

Unixファイルディスクリプタのアサーションが可変的なソフト開きファイル制限(RLIMIT_NOFILE)を有効性チェックの上限として使用していた問題を修正します。非負値チェックのみを保持し、ソフトリミット変更後のハンドル操作を正しく処理できるようにしました。

#132134 DispatchResolve: Avoid clobbering t1 in RhpInterfaceDispatch

@maximmenshikov・GitHub・community-contributionarea-NativeAOT-coreclrarch-riscv

RISC-V 64ビット環境で RhpInterfaceDispatch のスタブコード内における tail 疑似命令の使用を修正しました。tail 疑似命令の展開時に t1 レジスタが上書きされていたため、ディスパッチセルアドレスが破壊されていた問題を解決しています。t2 レジスタを経由した手動のテイルジャンプに変更することで、RhpInterfaceDispatchSlow の実装と一貫性を保っています。

#132126 Disable Runtime_129681 CrossGen2 testing

@kkokosa・GitHub・area-ReadyToRun

GCリグレッション テスト Runtime_129681 が CrossGen2 での R2R コンパイル時に失敗する問題を修正します。このテストは 64 MiB の GC ヒープ ハード リミットを設定していますが、CrossGen2 は 6 GiB のリージョン予約が必要となるため競合が発生します。CrossGen2 のopt-out により、R2R CI ジョブではリグレッション テストを実行し続けながらコンパイル時の失敗を回避します。

#132124 Use CRLF for chunked response framing test

@Copilot・GitHub・area-Infrastructure

HTTP/1.1パーサーが厳密なCRLF準拠を行うようになったため、チャンク応答フレーミングテストを更新しました。テストが生成していた不正なLF区切り文字をCRLFに統一し、RFC準拠のパーサー動作に対応させます。チャンクサイズと読み込みパスのカバレッジは維持されます。

#132122 Type definitions are loaded by IDE out of the box

@ilonatommy・GitHub・arch-wasmarea-Build-mono

WebAssembly SDK の TypeScript 型定義ファイル(dotnet.d.ts)の配置先を変更し、IDE の型解決を改善するもの。従来は wwwroot 直下に配置されていたため IDE が自動解決できなかったが、ランタイムアセット(dotnet.js)と同じ wwwroot/_framework ディレクトリに配置することで、IDE が即座に型定義を認識できるようになります。

#132112 Move GB18030 tests to feature test projects

@jozkee・GitHub・area-Meta

GB18030準拠テストをスタンドアロンのCompliance.Testsプロジェクトから、テスト対象機能の専用テストプロジェクトへ移動しました。これにより、NativeAOT Mobile設定でGB18030正規表現テストがRoslyn依存関係をコンパイランス専用アプリケーションに持ち込むことを防ぎ、各機能のテストプロジェクトの既存プラットフォーム設定を継承できるようになります。

#132101 Modernize JIT Directed merged runners

@jkoritzinsky・GitHub・area-CodeGen-coreclr

Directed JIT テストの merged runners を最新化するリファクタリング。広範な glob パターンで分割されていた Directed_1、Directed_2、Directed_3 を、コンパイル設定に基づいた 5 つの明示的な build 変種(Directed_1、Directed_d、Directed_do、Directed_r、Directed_ro)に統合。プロセス分離が不要な C# ソースを runner に直接マージし、プロセス分離やメタデータが必要なプロジェクトは保持。テスト構成の透明性向上とインクリメンタルマージの効率化が目的。

#132079 Fix SslStream client certificate credential caching

@rzikm・GitHub・area-System.Net.Security

Windows上のSslStreamにおいて、ClientCertificateContextを通じて提供されたクライアント証明書の認証情報が、意図せず匿名認証情報キャッシュに格納される脆弱性を修正しました。匿名認証情報の取得中にClientCertificateContextを一時的に切り離し、取得完了後に復元することで、後続の接続が誤ったキャッシュ認証情報を再利用するのを防ぎます。

#132076 Restore isolation for GC Collect tests

@kkokosa・GitHub・area-GC-coreclr

PR #126108で削除されたGCテストのプロセス分離機能を復元します。Collect、Collect0、Collect1テストは世代別アサーション検証のため、プロセス全体のGC状態が他のテストの影響を受けない分離状態を必要としています。ピン留めハンドルの累積によるテスト失敗(#131721、#131893)を解決するため、アウトプロセス実行に戻します。

#132011 Fix agentic workflow markers removed from safe outputs

@vitek-karas・GitHub・area-skills

GitHub Actions agentic workflowsが、安全な出力を投稿する際にHTML コメントが削除されることに対応したマーカー方式の変更です。従来のHTML コメント(<!-- ... -->)ベースの識別子を、safe-outputs.data構造化データまたは安定した表示用Markdownフィールドに置き換えました。これにより、複数回実行されるワークフロー間での信頼性の高い識別と重複排除が可能になります。

#131738 Zip centraldirectory Hardening

@alinpahontu2912・GitHub・area-System.IO.Compression

ZIPファイルの中央ディレクトリヘッダ解析時の検証を強化し、不正な形式のメタデータから保護します。シーク可能なストリームで、ファイル名/拡張情報/コメントの可変長データが残り容量を超える場合に早期終了することで、不要なメモリ確保を防ぎます。

#131492 [wasm] Pass Int128, Decimal128 and wide vectors by value

@lewing・GitHub・arch-wasmarea-crossgen2-coreclr

WebAssemblyでInt128/UInt128、Decimal128、Vector256<T>、Vector512<T>を値渡しで正しく扱うため、署名エンコーディングを変更しました。これらの型をwasm C ABIの規約に従い複数のwasmパラメータで渡すようにします。従来のS<N>エンコーディングは曖昧で(Int128とGuidが同じS16になる)、クラウドコンパイラでの誤コンパイルを引き起こしていました。

新しいエンコーディング規格:

  • l2 = Int128/UInt128/Decimal128(16バイト)
  • V2 = Vector256<T>(32バイト)
  • V4 = Vector512<T>(64バイト)

#131209 [release/8.0-staging] Skip empty iOS NativeAOT Helix submission

@davidnguyen-tech・GitHub・Servicing-approvedarea-Infrastructure

.NET 8 servicing ブランチの iOS NativeAOT ビルドにおいて、テストプロジェクトが IgnoreForCI で無効化されたことに伴い、空の Helix 送信ステップが MSB4184 エラーで失敗していた問題を修正します。iOS NativeAOT ビルド自体は継続し、Helix 送信ステップのみを条件付きでスキップするようにします。tvOS には影響なし。

2026年08月11日 (23 PRs)うち Bot 4 件 この日のページ →

#132100 JIT: fold wasm local address frame offsets into store memargs

@AndyAyersMS・GitHub・area-CodeGen-coreclr

WebAssembly対象のJITコンパイラにおいて、ローカル変数へのストア操作でフレームオフセットをメモリアドレスに統合する最適化を実装しました。レジスタ割り当て不可のローカル変数へのストアをSTOREIND命令に書き直す際に、オフセットをメモリアドレスに組み込むことで、フレームポインタのみをコード化し、ストア命令がオフセットを追加するようにしています。

この最適化により、SPC R2Rコード領域が15,820,359バイトから14,953,402バイトに削減されています(-5.48%)。

#132097 Remove and clarify PEAssembly constructor parameters

@elinor-fung・GitHub・area-AssemblyLoader

PEAssemblyクラスのコンストラクタとAPIを簡潔にして、クラスの2つの使用モード(AssemblyBinderで束縛される場合とreflection emitの動的な場合)を明確に区別します。冗長なPEAssembly::Openオーバーロードと関連するコンストラクタパラメータを削除し、コンストラクタに前提条件アサートを追加して、束縛モードか動的モードかを明確化します。

#132086 Add regression test for tuple swap with implicit indexer references

@sbomer・GitHub・linkable-frameworkarea-Tools-ILLink

Issue #117122で報告されたクラッシュ(VisitImplicitIndexerReference内のDebug.Assert失敗)の回帰テストを追加します。このクラッシュは、Index演算子(^)でアクセスされるSpan<T>要素を含むタプルスワップのデコンストラクション代入を分析する際にILLink Roslyn Analyzerで発生していました。

Span<int> span = stackalloc int[4];
(span[^1], span[^2]) = (span[^2], span[^1]);

#132083 Signal GC suspension pending during NativeAOT thread suspension

@Copilot・GitHub・area-NativeAOT-coreclr

NativeAOT のスレッド停止機構における GC 停止ペンディング状態の更新漏れを修正しました。スレッド停止時に RhpTrapThreads を設定する際、GC 停止ペンディング状態を更新していなかったため、バックグラウンド GC の allow_fgc() がフォアグラウンド GC のスレッド停止中に処理を譲らず、BGC スレッドが数十~数百ミリ秒間スピンロックし続ける問題を解決します。

#132065 Disable DnsResolverTest.ResolveAddresses_NonExistent_ReturnsNxDomain on Windows Server 2025

@rzikm・GitHub・area-System.Net

Windows Server 2025環境でのDNS解決テストの不安定性に対応しました。DnsResolverTest.ResolveAddresses_NonExistent_ReturnsNxDomainテストは、Windows Server 2025のCI環境で予期されたNxDomainの代わりにServerFailureを返すため、当該プラットフォームでのみスキップされるようになります。他のWindows バージョンでは継続して実行されます。

#132029 [crossgen2][wasm] Shrink Code Section Relocs

@adamperlin・GitHub・area-ReadyToRun

WasmObjectWriterにおけるコードセクションの再ロケーション最適化実装。JITが生成するWasmコード内の全再ロケーションは現在、最大32ビットULEB長である5バイトにパディングされていますが、実際の値はより短い場合が多くあります。このPRではコードセクション内の再ロケーションを最小長に書き換える手続きを実装し、対応するLEB長を更新します。非コードセクションの動作は変わりません。結果としてSystem.Private.CoreLibで約5%のサイズ削減を実現します。

#132023 System.IO: Make text and sequence streams non-seekable

@jozkee・GitHub・area-System.IO

複数のStream実装(ReadOnlySequenceStream、StringStream、メモリ向けStream)を意図的に非シーク可能な設計に統一し、セキュリティと性能を改善するPRです。後方移動は記述の再実行やセグメント走査が必要になり、悪意あるセグメンテーションやO(N)の最悪ケース動作につながるため、これらのStreamはシーク不可とします。

#132010 Don't validate/materialize HTTP headers when logging them

@Copilot・GitHub・area-Extensions-HttpClientFactory

HTTP ロギング時のヘッダー値の検証・解析を回避する変更。HttpHeadersLogValue が HttpHeaders.NonValidated を使用するように変更され、TryAddWithoutValidation() で追加されたヘッダーがログ出力時に再シリアライズされる問題を解決します。

// 修正前: ログ出力時にヘッダーが再シリアライズされていた
request.Headers.TryAddWithoutValidation("Accept", "application/vnd.example+json;version=1");
// sent as: Accept: application/vnd.example+json; version=1 (値が改変)

// 修正後: NonValidated を使用してヘッダーが改変されない

#131991 Deduplicate minipal thread ID TLS cache.

@lateralusX・GitHub・area-System.Threading

minipal_get_current_thread_id()で使用されるスレッドID TLSキャッシュの重複を排除しました。関数がinternal linkageを持つため、以前は翻訳単位ごとに異なる8バイトのTLSスロットが生成されていました。in-process crash reporterの有効化により、Linux ARM64のglibc静的TLS割り当てを超過し、_dl_tlsdesc_dynamicによる動的解決のオーバーヘッドが発生していました。この変更により、単一の共有TLS変数を使用することでTLSフットプリントを削減し、ランタイムパフォーマンスを改善します。

#131968 Remove unused OpenSSL Interop

@vcsjones・GitHub・area-System.Security

Unix上のSystem.Security.Cryptography.Nativeから未使用のOpenSSL相互運用メソッドとP/Invoke宣言を削除し、ネイティブサーフェスエリアとデッドコードを削減するクリーンアップです。削除対象はCryptoNative_X509Duplicate、CryptoNative_SetCiphers、CryptoNative_BioCtrlPending、CryptoNative_BigNumFromBinaryおよびそれらの対応する管理側のインターオップ宣言です。

#131828 Don't attach code-fix locations from outside the analyzed compilation

@sbomer・GitHub・linkable-frameworkarea-Tools-ILLink

DynamicallyAccessedMembers アナライザーが、参照プロジェクト内のシンボルに対して診断を報告する際に、Roslyn検証エラー(AD0001)でクラッシュする問題を修正します。根本原因は、別のコンパイレーション内の宣言に指すコード修正ロケーションを AdditionalLocations に追加していたことです。修正は Compilation.ContainsSyntaxTree() で検証を厳密化し、分析対象外のロケーション添付を防ぎます。

#131821 [CrashReporter] Enable InProc CrashReporter for crashing GC threads

@mdh1418・GitHub・area-Diagnostics-coreclr

InProc CrashReporterがGCスレッドのクラッシュ時にマネージドスレッドの列挙を可能にする変更です。サスペンション所有権を追跡することで、クラッシングスレッドが既存のサスペンションを再利用したり、独自のサスペンションを確立・再開したりできるようになります。これにより、特定のGCシナリオでスタックウォーキングの精度が向上します。

#131764 Avoid redundant Java GC bridge graph computation

@steveisok・GitHub・area-GC-coreclr

AndroidのJava GC bridge処理において、クライアントが既に前回の結果を処理中の場合、不要なクロスリファレンス計算をスキップする最適化を実装しました。新しいインターフェースメソッドIGCToCLR::IsClientBridgeProcessingActive()を追加し、GCがクライアント処理状態をチェックしてから計算を開始するようになります。これにより、特にAndroidのUI Thread ブロッキングに由来するドロップフレーム問題を軽減します。

#130688 Avoid rooting cryptography through ZipArchive on browser

@Copilot・GitHub・arch-wasmarea-System.IO.Compressionos-browser

browser-wasm プラットフォームで ZipArchive 使用時に不要な System.Security.Cryptography の参照を排除し、トリミングされたアプリケーションサイズを削減します。WinZip AES(browser で未サポート)をブラウザ固有のスタブに置き換え、ZipCrypto は暗号化ライブラリ依存なしに対応させます。

2026年08月10日 (34 PRs)うち Bot 14 件 この日のページ →

#132078 [browser][coreCLR] corerun: hard-exit Node on explicit process exit (#131937)

@pavelsavara・GitHub・arch-wasmarea-Hostos-browser

browser-wasm CoreCLR checked-legにおいて、Environment.Exit()呼び出し時にEmscriptenのExitStatus例外がCLRインタプリタフレーム経由でアンワインドされ、不正な終了コードとなるバグを修正します。Node環境で_proc_exitをインターセプトし、ランタイム非keepalive時にprocess.exit(code)で直接終了させることで、CLRフレームのアンワイン中に発生するstrerror呼び出しを回避します。

#132067 Enable GitHub MCP tools in CI evals

@vitek-karas・GitHub・area-skills

CI評価実行でGitHub MCPサーバーを有効化し、/ci-scan evalなどの評価がGitHubの問題検索を実行できるようにします。これにより重複するKnown Build Error (KBE)の検索がより堅牢になります。信頼されたVally評価仕様にGitHub MCPサーバーを接続し、ワークフロージョブのread-scopedトークンで認証します。

#132027 JIT: Fix async analysis filter dataflow

@jakobbotsch・GitHub・area-CodeGen-coreclr

CoreCLR JITのасync解析において、フィルタハンドラーの例外フロー前処理を正しく考慮していなかった問題を修正します。データフロー解析でBlockPredsWithEHを使用することで、例外フローを忠実にモデル化し、default-value解析とpreserved-value解析の正確性を向上させます。

#132013 Improve PaxTarEntry construction performance

@rzikm・GitHub・area-System.Formats.Tar

PaxTarEntry コンストラクタのパフォーマンスを改善するため、PAX拡張属性の検証・挿入時に既知の属性値をキャプチャし、標準ヘッダフィールド適用時の繰り返される辞書ルックアップを削減します。検証、重複キー処理、パース例外順序、GNU sparse動作は保持されます。

#131996 Refresh agentic workflows to gh-aw v0.83.5

@vitek-karas・GitHub・area-skills

dotnet/runtimeリポジトリのagentic GitHub Actions workflows を gh-aw v0.82.6 から v0.85.4 へアップグレードします。6つのワークフローのロックファイルと共有アクションピンを再生成し、safe-output data ペイロードの使用を有効化します。また、v0.85.4でサポートされるエンジンに合わせて信頼できるエージェント構成パスを更新します。

#131978 JIT: fold wasm address modes into the load/store memarg

@AndyAyersMS・GitHub・area-CodeGen-coreclr

WebAssembly JITでbase + constantアドレス指定モードを認識し、LEA命令を間接参照に含めることで、定数がmemargオフセットとして折り畳まれ、別のi32.const; i32.addシーケンスを回避するようにしました。

折り畳みはGC型ベースで非負かつ再配置不可能なオフセットに限定されており、加算がオーバーフローできないことを証明しています。SIMD12間接参照と書き込みバリア格納は全アドレスが必要なため除外されています。

SPC R2Rコード領域で-1.96%(16,139,362 → 15,823,756バイト) のサイズ削減を実現しました。

#131909 Fix for out of range rotate amount during lower

@dhartglassMSFT・GitHub・area-CodeGen-coreclrPriority:1

ARM64の下位レイヤ処理中にrotate命令のamountが範囲外の値でアサート発生する問題を修正しました。JIT内で回転カウント(ROR、ROL)に対して明示的なマスキング(AND op (CNS_INT 63)など)を追加し、シフト処理と同様に下位レイヤ処理時にマスクを削除するようにしました。さらにインポーターの呼び出しで非定数の回転カウントをノードで許可し、一部でRORの呼び出しを生成できるようになりました。

#131904 System.IO: Fix StringStream reads with empty encoder fallback

@jozkee・GitHub・area-System.IO

StringStream.Readでエンコーダがバイトを生成せずに文字を消費した場合に、誤ってEOF(ファイル終端)と判断される問題を修正しました。UTF-8とエンコーダ置換フォールバックの組み合わせで、無効なUTF-16文字が消費されてもバイト出力がゼロになる場合があり、その後の有効な文字がバイトを生成する可能性があってもストリーム読み込みが0を返していました。修正により、バイトが生成されるか、エンコーダが進捗を失うまで変換を継続します。

#131879 Always match union payloads through the Value property pattern

@eiriktsarpalis・GitHub・area-System.Text.Json

System.Text.Json の Union 型デシリアライザーのソース生成で、union payloadをマッチングする際に Value プロパティパターンを常に使用するよう修正しました。これにより、再帰的な union や self-referential な場合において、union インスタンス自体ではなくそのペイロードを正しくバインドできるようになります。修正前は暗黙的な変換の場合に沈黙するバグがあり、間違ったJSON出力またはスタックオーバーフローを招いていました。

// 修正後の生成コード例
{ Value: T caseValue } => (typeof(T), (object?)caseValue)

#131858 Freeze .NET 11 data contracts

@noahfalk・GitHub・area-Diagnostics-cdac

.NET 11 RC準備として、データコントラクトのバージョンを凍結し、診断ツール互換性を確保します。物理データディスクリプタのヘッダーバージョンを2に引き上げ、cDACは以前のバージョンを厳密に拒否するようになります。これにより、開発・プレビュービルド中の意図しない互換性破壊を防止します。

#131696 Reduce false sharing in MemoryCache

@EgorBo・GitHub・area-Extensions-Caching

MemoryCache でキャッシュラインの誤共有を低減する最適化。CoherentState._cacheSize が頻繁に更新されるカウンタで、その直後の _stringEntries/_nonStringEntries は TryGetValue で頻繁に読み込まれています。これらが同一キャッシュラインに配置されることで誤共有が発生していました。_cacheSize を専用のキャッシュラインに移動することで、マルチスレッド環境でのパフォーマンスを改善します。

#131671 Fix Environment.GetCommandLineArgs()[0] to report the host invocation name

@xoofx・GitHub・area-Hostcommunity-contribution

Environment.GetCommandLineArgs()[0] がネイティブホストの呼び出し名(argv[0])を報告するように修正しました。従来は管理対象アセンブリパスまたはシングルファイル結合パスを報告していましたが、本変更により、シンボリックリンク経由で起動されたapphostの場合も元の呼び出しパスが保持されます。新しいホストランタイムプロパティ HOST_INVOCATION_NAME を導入し、hostpolicyからCoreClrに流します。

// 例:シンボリックリンク経由での実行
// ../bar/special_foo.exe 1 2 3  
// 結果: GetCommandLineArgs()[0] = "../bar/special_foo.exe"

#131653 [wasm][R2R] Implement JIT_PollGC rare path

@pavelsavara・GitHub・arch-wasmarea-VM-coreclr

WebAssemblyランタイムのJIT_PollGCヘルパーを実装しました。これまでPORTABILITY_ASSERTスタブだったため、CoreLibをR2Rコンパイルした際のクラスコンストラクタのGC polls処理で実行時エラーが発生していました。本変更は他のアーキテクチャと同様に、GC-safe poll points(ループバックエッジ、呼び出しサイト)でのスレッド安全なGC遷移を実現します。

#131234 Fix up core count detection logic on android

@eduardo-vp・GitHub・area-System.Threadingos-android

Android上でのCPUコア数検出ロジックを修正しました。/sys/devices/system/cpu/presentファイルをカンマ区切りのCPUリスト形式(単一インデックスと範囲を含む)として解析するように改善し、Monoの既存ロジックをCoreCLRとNative AOTにも拡張します。従来は連続した0~(n-1)の範囲のみを想定していましたが、非連続な範囲にも対応しました。

#130512 Accelerate System.Half arithmetic and conversions with FP16

@tannergooding・GitHub・arch-arm64arch-x86area-CodeGen-coreclrPriority:2

System.Half の算術演算と型変換を FP16 ハードウェア命令で高速化する JIT 最適化を実装します。ABI 互換性を維持したまま(Half は ABI 境界で ushort として扱う)、x64(AVX10.1/F16C)と Arm64(FEAT_FP16 + ベースライン FCVT 変換)で scalar FP16 命令を有効にします。新規公開 API や ABI 変更はなく、NI_Fp16_* / NI_ArmBase_Convert* は JIT 内部専用です。

2026年08月09日 (2 PRs) この日のページ →

#132043 [cDAC] Disable Helix job monitor on XPlat dump generation

@rcj1・GitHub・area-Diagnostics-cdac

cDAC クロスプラットフォームダンプ生成の Helix Job Monitor を無効化し、同期的な動作を復元するもの。PR #129690 で Helix Job Monitor がグローバルに有効化されたことにより、SendHelixJob が即座に復帰するようになり、cDAC ダンプ生成フローに必要な DownloadFilesFromResults が実行されない問題に対応する。

2026年08月08日 (9 PRs)うち Bot 1 件 この日のページ →

#132028 Don't attempt to unload cdac

@rcj1・GitHub・area-Diagnostics-cdac

cDAC(NativeAOT ライブラリ)はUnix環境で安全にアンロードできないため、FreeLibraryの呼び出しを#ifndef HOST_UNIXガードで保護し、Unixプラットフォームでのアンロード試行を明示的に防止します。これは#131960の変更と連携し、実際のアンロードを防ぐ意図を明確にするものです。

#132020 [cDAC] Fix x86 stackwalking bug

@rcj1・GitHub・area-Diagnostics-cdac

cDAC(Common Data Access Component)のx86 GCInfo デコーダーにおけるスタックウォーキングのバグを修正しました。マネージド実装がネイティブのgc_unwind_x86.inlの動作に合わせるよう、EBP フレーム内の最外層ベースフレームポインタ計算時に、callee-saved レジスタのスピル領域を含めた完全なスタックフレームサイズを使用するようになりました。

#132014 JIT: rewrite Runtime_131713 without the XML serializer

@AndyAyersMS・GitHub・area-CodeGen-coreclr

JIT回帰テスト Runtime_131713 を XmlSerializer の依存性を排除するように書き直したもの。XML シリアライザーの代わりに、列挙子/ボックス化パターンを直接運用する専用の再現ループを実装することで、トリミング/NativeAOT環境下での問題を回避しながら、元のバグをキャッチできることを検証しています。

#131960 Ensure that Native AOT libraries are not unloaded

@rcj1・GitHub・area-NativeAOT-coreclr

Native AOT共有ライブラリがアンロードされるのを防ぐため、Unix PALにRTLD_NODELETEフラグを使用したモジュール固定機能を実装しました。macOSではランタイム初期化時にdlopenで追加参照を取得し、Linux ELFプラットフォームではリンカオプション-z,nodeleteを使用してアンロード不可にします。また、NativeAOT SharedLibraryスモークテストをUnixでdlclose呼び出しを行うよう更新し、アンロード試行シナリオを実際に検証するようにしました。

#131894 Remove the fallback binder from PEAssembly and AssemblySpec

@elinor-fung・GitHub・area-AssemblyLoader

CoreCLRのアセンブリバインディングで曖昧だった「fallback binder」の概念を廃止し、動的アセンブリ(ref-emit)とAssemblySpecのバインダー所有関係を明確化するリファクタリング。バインダーの意図を「初期バインダー」(GetInitialBinder())と「実際にバインドされたバインダー」(GetBinder())に区別しました。

#131876 Stabilize configuration polling reload tests

@svick・GitHub・area-Extensions-FileSystem

PollingFileChangeTokenがファイルの上書き検出時にタイムスタンプの変更に依存するため、高速なテスト書き込みで前回のタイムスタンプが保持され変更が検出されない問題を修正します。アクティブポーリング使用時に、上書き前に区別可能なタイムスタンプまで待機し、各上書きでタイムスタンプが確実に変更されることを保証します。

#131624 Add dataflow support for deconstruction assignments

@sbomer・GitHub・linkable-frameworkarea-Tools-ILLink

ILLink Roslyn Analyzerのデータフロー分析にIDeconstructionAssignmentOperationのサポートを追加します。これにより、分解代入(deconstruction assignments)を通じて流れる値に対してRequiresUnreferencedCodeおよびDynamicallyAccessedMembersの診断が正しく適用されるようになります。修正前は、分解代入やforeachループ内の分解を含むデータフロー経路が暗黙的にスキップされていました。

2026年08月07日 (30 PRs)うち Bot 2 件 この日のページ →

#132021 Add ILLink Copilot instructions

@sbomer・GitHub・area-Infrastructurelinkable-framework

ILLink/ILC/ILLinkアナライザー/ILTrimに関連する共有トリミングテストの変更に対して、GitHub Copilotガイダンスを提供するためのパス範囲指定インストラクションファイルを追加しました。このPRは、トリミング関連の変更がILLink、ILC、ILLinkアナライザー、ILTrimの4つのコンポーネントに対応していることを確認するよう貢献者をガイドします。

#131986 Remove OpenBSD system tools support

@am11・GitHub・area-Infrastructurecommunity-contributionos-openbsd

OpenBSD システム上での混合ツールチェーンの非互換性問題を解決するため、OpenBSD のプリインストール ツール サポートを削除し、ユーザーに llvm パッケージの明示的なインストール(pkg_add llvm)を要求するようにしました。OpenBSD では OS 付属の nm(独自実装)、LLVM の ar/ranlib、GNU の strings/objcopy が混在しており、これらの互換性を維持するための複雑な回避策を避けることが目的です。

#131971 Consolidate libraries Helix submissions

@agocke・GitHub・area-Infrastructure-libraries

Helix Job Monitor有効時に、ライブラリのHelix送信を独立したテスト実行ジョブから統合CoreCLR/librariesビルドジョブへ移動します。これにより、13個のアーティファクト専用テスト実行ジョブを削除し、ライブラリテストアーティファクトの発行とダウンロードのオーバーヘッドを回避します。プラットフォームマトリックス、Helixキュー、条件、実行時構成、テスト実行名は維持されます。

#131963 Harden async-profiler dispatcher/wrapper frame name contract for callstack stitching.

@lateralusX・GitHub・area-System.Runtime.CompilerServices

非同期プロファイラーのdispatcher/wrapperフレーム名契約を強化し、コールスタック結合の堅牢性を向上させます。V1ディスパッチフレームに[StackTraceHidden]属性を追加し、V2と一貫性を持たせます。同時に、診断ツールが依存するメソッド/型名を名前契約コメントで明示し、環境変数DOTNET_AsyncProfilerEventSource_EventBufferSizeをDOTNET_AsyncProfiler_EventBufferSizeにリネームします。

#131962 createdump: fix macOS arm64 thread IDs in LLDB

@max-charlamb・GitHub・area-Diagnostics-coreclr

macOS arm64環境におけるcreatedumpの thread-info 領域をLLDB互換の形式で生成するよう修正しました。LLDB の process metadata LC_NOTE 形式を使用してOS thread IDを出力し、既存の SpecialThreadInfo セグメントも保持することで段階的な移行をサポートします。

Apple Silicon LLDBが従来の合成セグメント(0x7fffffff00000000)を拒否する問題に対応し、SOS がLLDB スレッドとランタイムのOS thread IDを正しく関連付けられるようにします。

#131958 Fix documentation signatures for nested type references

@sbomer・GitHub・linkable-frameworkarea-Tools-ILLink

ネストされた型参照のドキュメンテーション署名フォーマッティングを修正し、クロスアセンブリ参照でのIL1012クラッシュを防止します。通常のネストされた型では宣言型のTypeReferenceを直接使用し、ネストされたジェネリック型ではジェネリックパラメータの数を正確に解決することで、各レベルが自身のパラメータのみを受け取るようにします。

#131955 Disable timing out EncryptedXml encoded-DTD tests

@Copilot・GitHub・area-System.Security

EncryptedXmlのエンコードされたDTD変換チェーンテストのタイムアウト問題に対応したテスト無効化対応です。ワークロード削減後も継続してタイムアウトしている問題に対して、特定のテストケースを無効化しながら、デフォルト制限による拒否カバレッジは保持しています。

#131947 Fix AV in gc_heap::init_heap_segment

@janvorli・GitHub・area-GC-coreclr

GCヒープ初期化時のアクセス違反(AV)を修正するPull Requestです。gc_heap::get_card_table_element_layoutおよびget_card_table_commit_layoutに存在するバグにより、バックグラウンドGCが無効化されている場合にseg_mapping_table_elementの最後のページがコミットされていませんでした。修正は、サイズが0の要素であってもそのレイアウト要素の開始オフセットをアラインメント要件に従うようにすることで、共有ページが含まれるようにしています。

#131903 Unify StubLinker stub memory management with JIT code allocator

@Copilot・GitHub・area-VM-coreclr

StubLinkerが生成するスタブのメモリ管理を、専用のLoaderAllocator::m_pStubHeapからJITコード割り当て機構へ統合します。これにより、StubLinkerスタブ(shuffle thunksを含む)がJITコードと同じExecutionManager::AllocCodeFragmentBlock経由で実行可能メモリを割り当てるようになります。

// Before
Stub *Link(LoaderHeap *heap, DWORD flags, const char *stubType);

// After
Stub *Link(LoaderAllocator *pLoaderAllocator, DWORD flags, const char *stubType);

#131884 JIT: home dead-at-entry wasm GC register params reported to the GC

@AndyAyersMS・GitHub・arch-wasmarea-CodeGen-coreclr

WebAssemblyターゲットのJIT先頭コード生成(prolog)において、メソッド開始時に使用されていない(dead-at-entry)GCパラメータについて、GCに報告するためにスタックホーミングを強制する変更です。Wasmではフレーム上のすべてのGCローカルがGCに追跡されないまま報告されるため、deadなGCパラメータであっても安全なスタックスロットを確保する必要があります。

#131832 Fix thread-count runaway in GC/Scenarios/THDChaos test

@Copilot・GitHub・area-System.Threading

GC/Scenarios/THDChaos テストでスレッド数が制御不能に増殖し、Arm32環境でOutOfMemoryExceptionが発生する問題を修正します。スレッド生成の上限チェックが競合状態にあり、意図した数を超えるスレッドが起動されていました。Interlocked.Incrementを使用した原子的なカウント管理と、Arm32での上限値設定によって、リソース枯渇を防止します。

#131806 Fix validated part uri equality

@alinpahontu2912・GitHub・area-System.IO

ValidatedPartUri の object.Equals/GetHashCode オーバーライドを削除し、System.Uri との互換性を復元しました。HashSet/Dictionary での混在利用時に不正な検索結果となる問題を解決します。一方、ValidatedPartUri の SortedList での大文字小文字非感応比較機能は IComparable/IEquatable ロジックで維持されます。

#131779 Use released TFM for cDAC projects where supported

@hoyosjs・GitHub・area-Diagnostics-cdac

cDAC(Compact Diagnostic and Debugging Access)プロジェクト全体のターゲットフレームワーク選択を統一する変更です。新たにCDacTfmプロパティを導入し、デフォルトで$(NetCoreAppMinimum)(リリース版TFM)をターゲットします。source-buildおよびNativeAOTツールチェーンが未対応なプラットフォームでは$(NetCoreAppToolCurrent)にフォールバックします。実行可能な出力に対してはRollForward=LatestMajorを設定し、リポジトリ環境の最新ランタイムで実行可能にします。

#131740 [Release 10.0] Support hardware with more than 1024 CPUs

@janvorli・GitHub・Servicing-approvedarea-GC-coreclr

1024個を超えるCPUを搭載するLinuxマシンでの.NETランタイム初期化失敗を解決するバックポート。固定サイズのcpu_set_t(最大1024CPU対応)から動的サイズのCPUセットに切り替え、GCのアフィニティ/ヒープマッピングコードを更新して、CPU制限とヒープ制限の混同を解消します。コンテナ環境で1024個以上のCPUを持つホスト上で制限されている場合も対応。

#131658 [wasm] Emit webcil payloadSize/tableSize into boot config for streaming instantiation

@pavelsavara・GitHub・arch-wasmarea-Host

WebAssemblyの動的インスタンス化を最適化するため、ビルドパイプラインからブートコンフィグへwecbil形式アセットのペイロードサイズ(全アセット)とテーブルサイズ(ReadyToRun画像のみ)を記録します。これにより、JSローダーはバイトバッファリングやデータセクション解析なしでストリーミングインスタンス化を実行できます。

#131352 Round-trip TimeZoneInfo.ToSerializedString on Unix (#19794)

@tarekgh・GitHub・area-System.DateTime

Unix プラットフォームで TimeZoneInfo.ToSerializedString() / FromSerializedString() がラウンドトリップできない問題を修正します。Unix の調整ルールが Windows 形式では表現できない情報を保持している場合(サマータイム遷移なし、UTC 種別の日付境界、分未満のオフセット、複数年にわたる内部ルールなど)、逆シリアライズされたインスタンスが元のオブジェクトと一致していませんでした。

修正では、従来のルール リスト終了後に完全性を保証した内部調整ルールのコピーを追加することで、下位互換性を保ちながら正確なラウンドトリップを実現します。

#131342 Remove boxing for awaited custom awaiters

@jakobbotsch・GitHub・area-CodeGen-coreclrPriority:1runtime-async

カスタム struct awaiterの呼び出しで発生していたボックス化を排除する最適化です。awaiterを継続オブジェクト内に格納し、JITが計算したオフセットで後に抽出してからUnsafeOnCompletedを呼び出すことで、ボックス化を回避します。新たにGT_CONTINUATION_MEMBER_OFFSETノードを導入し、オフセットが確定するまで象徴的に参照してから定数に置換します。

マイクロベンチマークでは約10%のパフォーマンス改善が確認されています。

// 最適化により、struct awaiterの格納と抽出がボックス化なしで行われます
await new CustomStructAwaiter(value);

#131177 Remove queue-subdispatching pattern to the ThreadPool global queue

@VSadov・GitHub・area-System.Net.Socketsarea-System.Threading

Socket/IO完了イベントのThreadPool派遣パターンを変更します。従来の「キュー+ポンピングワークアイテム」パターンを廃止し、プール化されたワークアイテムをバランス二分木で束ねてバッチ送信する方式に置き換えます。これにより、グローバルキューへの負荷軽減、メモリ境界設定、p99レイテンシの大幅な改善を実現します。

#118075 Add Compliance tests for GB18030-2022

@jozkee・GitHub・area-Meta

GB18030-2022(中国の文字セット標準)に対する包括的なコンプライアンステストスイートを追加します。テストデータファイルとともに、文字列、ファイル、ディレクトリ、エンコーディング、正規表現、コンソール出力などの多様な領域でGB18030エンコーディングの正確性を検証するテストを実装します。

2026年08月06日 (29 PRs)うち Bot 2 件 この日のページ →

#131918 Fix GetGeneration GC API test failure under interpreter

@Copilot・GitHub・area-CodeGen-Interpreter-coreclr

GetGeneration GC APIのテストがインタープリータモードで失敗する問題を修正します。インタープリータ互換性チェックが正しく機能していなかったため、RequiresProcessIsolationプロパティを調整し、インタープリータガード機能とOutOfProcessTestマーカーが正しく生成されることを確認しました。

#131901 [cDAC] Add stackwalk DAC flags

@rcj1・GitHub・area-Diagnostics-cdac

cDAC の IXCLRDataTask.CreateStackWalk API にスタックウォークフラグを追加し、フレーム列挙時にどのフレームを対象とするかを制御できるようにする変更です。新しい CLRDataStackWalkFlag enum を導入し、このフラグを ClrDataStackWalk に連携させることで、「レガシー互換」なフレームをフィルタリングして表示します。

#131896 [cDAC] Make AMD64 unwinding breakpoint-aware

@max-charlamb・GitHub・area-Diagnostics-cdac

AMD64アンワインダーがデバッガーブレークポイント(int3)によって上書きされたエピローグ命令を正しく認識できない問題を修正します。デバッガーパッチテーブルをデータディスクリプタ経由で公開し、cDACが元の命令バイトを読み取れるようにすることで、ブレークポイント設定時でも正確なスタックウォークを実現します。

#131862 [System.Net] Fix IPNetwork.Contains for mapped IPv4 addresses

@wfurt・GitHub・area-System.Net

IPNetwork.Contains メソッドが IPv4 マップドアドレスを使用する際の比較ロジックを修正しました。従来は照会アドレスのアドレスファミリーから比較パスを選択していましたが、ネットワークアドレスのアドレスファミリーから選択するように変更。これにより、IPv6 ネットワークに対する IPv4 マップドアドレスの照会が正しく IPv6 セマンティクス(128ビットプレフィックス)を使用するようになりました。

#131860 Fix integer overflow infinite loop in WriteStateInfoBase.EnsureSpaceInBuffer

@Copilot・GitHub・area-System.Net

WriteStateInfoBase.EnsureSpaceInBufferメソッドのバッファサイズ計算時の整数オーバーフロー問題を修正します。バッファサイズが約1GB に近づくと、int型でのサイズ倍化がオーバーフローして負の値になり、ループ終了条件が永遠に真となってスレッドがハングする不具合を解決します。

修正内容:バッファサイズ計算をlong型で行い、ループ条件が正しく機能するようにしてから、checkedキャストでintに変換。実際のメモリ割り当て時にサイズが範囲外の場合はOverflowExceptionで即座に失敗させます。

#131855 Feature/cdac contract renumber to v1

@noahfalk・GitHub・area-Diagnostics-cdac

cDAC(Common Data Access Contract)の契約バージョンを1から開始するよう再番号付けするもの。開発段階のみのバージョンを統合し、PrecodeStubs、ExecutionManager、DebugInfoの実装をc1に統一し、古いバージョンの実装を削除します。これにより契約体系をシンプル化し、CoreCLRの契約登録、テスト、仕様ドキュメントを更新します。

#131841 JIT: fix three wasm R2R codegen bugs

@AndyAyersMS・GitHub・area-CodeGen-coreclr

WebAssembly ReadyToRun (R2R) コンパイル時のJIT codegen不具合を修正するパッチです。wasm向けのテスト実行で発見された3つのバグに対応しています:

  1. ValueNum offset peeling時のメモリサイズ読み込み誤り
  2. Vector.GetElement/WithElement で範囲外定数インデックス処理
  3. wasm try/catchヘッダーのエッジ反転による不具合

#131834 Skip CooperativeBlockingCanCreateThreadsFaster on Debug runtimes

@Copilot・GitHub・area-System.Threading

ThreadPoolTests.CooperativeBlockingCanCreateThreadsFasterテストがDebugランタイム上で時間的に不安定になる問題を修正するテスト専用変更です。Debugランタイムが遅すぎるためテストのタイミング仮定が成り立たなくなるため、Debugランタイムではテストをスキップし、Release/Checkedでのみ実行するようにします。

public static bool IsThreadingAndRemoteExecutorSupportedAndNotDebugRuntime =>
    IsThreadingAndRemoteExecutorSupported && !PlatformDetection.IsDebugRuntime;

#131803 Fix link-layer address enumeration on macOS

@wfurt・GitHub・area-System.Net

macOS上のリンク層アドレス列挙でバッファオーバーフロー脆弱性を修正するPRです。ネットワークインターフェース列挙時にリンク層アドレス(AF_LINK/sockaddr_dl)が従来の8バイトバッファを超えた場合の安全な処理を実装しています。

#131788 Share crashing thread id gate between in-proc crash report and createdump.

@lateralusX・GitHub・area-PAL-coreclr

CoreCLR PALのクラッシュ診断シリアライゼーションを統一し、out-of-proc createdump パスと in-proc クラッシュレポート間で g_crashingThreadId をキーとした単一の共有ゲート(TryEnterCrashDumpGate/ExitCrashDumpGate)を導入。CrashDumpSerializeMode {None, NoWait, WaitInfinite} を新たに定義し、両メカニズムのシリアライゼーションをPALで一元管理し、複数のクラッシュ診断メカニズムの競合を防止。

#131776 [cDAC] Use precise EnC IL

@rcj1・GitHub・area-Diagnostics-cdac

cDAC(Common Data Access)の ClrDataMethodDefinition を更新し、Edit-and-Continue(EnC)編集が有効な場合に、最新のEnC IL ヘッダーを優先的に使用するようにしました。これにより、デバッグスタック内の他の部分との動作が統一されます。

#131770 Extract WASM section model

@jtschuster・GitHub・arch-wasmarea-ReadyToRun

WASM オブジェクトライターのセクション処理をリファクタリングし、セクション関連の型を専用ファイルに抽出するPRです。WasmSection、WasmDataSection、WasmDataSegment、WebcilSectionを個別ファイルに移動し、セクション管理を統一するWasmSectionsヘルパークラスを導入します。これはNativeAOTとReadyToRunの間で共有されるベースWasmObjectWriterの抽出に向けた4PR構成の第1段階です。

#131630 Improve Apple CryptoKit performance for AesGcm and ChaCha20Poly1305

@vcsjones・GitHub・area-System.Security

Apple CryptoKitを使用したAesGcmとChaCha20Poly1305のパフォーマンスを改善するPRです。ネイティブSymmetricKeyのキャッシング、空のAAD(Associated Authenticated Data)パラメータの省略、新しいAppleプラットフォーム(v26以降)での不要なデータコピーの削除により、暗号化・復号化操作の呼び出しオーバーヘッドを削減します。

#131582 Fix HTTP/2 Pings not being sent/enforced in multiple scenarios

@MihaZupan・GitHub・area-System.Net.Http

HTTP/2接続のkeep-alive ping送信・検証が、接続がコネクションプール内で「利用可能」な状態でなくなる複数のシナリオ(ストリーム上限到達、GOAWAY受信、ハンドラー破棄)で停止する問題を修正しました。修正により、ハートビートタイマーの寿命を延長し、プール内で不要になった接続やハンドラー破棄後でも進行中のリクエストのpingを継続します。

#130459 Add deterministic NativeAOT regression smoke test for GC restricted reverse P/Invoke assert path

@Copilot・GitHub・area-NativeAOT-coreclr

NativeAOTランタイムにおいて、GC制限されたリバースP/Invoke呼び出しパスの回帰テストを追加します。背景GCがマネージド[UnmanagedCallersOnly]コールバックを呼び出す際に、Thread::InlineTryFastReversePInvokeの断言エラーを引き起こしていた問題に対応します。テストのみの変更で、製品動作は修正されていません。

// テストで強制的に並行Gen2 GCを駆動
GC.Collect(2, GCCollectionMode.Forced, blocking: false, compacting: false);

// トラッカーGCコールバック登録中に並行Gen2を確認
if (GC.GetGCMemoryInfo().Generation == 2 && GC.GetGCMemoryInfo().Concurrent)
{
    // #110683の対象となる回帰テストシナリオ
}

#130447 Fix cDAC GC info for argument types not yet loaded

@max-charlamb・GitHub・area-Diagnostics-cdac

cDAC(Compact Debugger Address Consumer)のGC情報レポート機能における、メソッド引数のシグネチャに含まれる未ロード型の処理を修正します。PrestubMethodFrame実行中など、型がまだ完全にロードされていない時点でのサンプリングで、参照型引数の省略やbyref-like型のジェネリックフィールドのGCRefMapエントリ喪失が発生していた問題を解決します。

#129863 Move Ubuntu Helix queues to bare 24.04/26.04 VMs

@richlander・GitHub・area-Infrastructure

Ubuntu 26.04および24.04 Helix VMが利用可能になったため、テストインフラストラクチャをコンテナベースのAzureLinux環境からベアUbuntu VMに移行します。Ubuntu 22.04 VMを廃止し、最も古いテストスロットを24.04に更新します。これにより、ポリシーで求められるベアVM上でのテストを復元します。

#129846 Implement DnsResolver for Linux

@rzikm・GitHub・area-System.Net

.NET 9で導入された新しいDnsResolver / Dns.Resolve* DNS クエリAPIのLinux/Unix向けマネージド実装を追加します。UDP with TCP fallback方式によるDNSリゾルバー、/etc/resolv.confからのサーバー自動検出、DNS wire形式のクエリ/レスポンス解析を実装します。

2026年08月05日 (32 PRs)うち Bot 2 件 この日のページ →

#131883 [browser][CoreCLR] Restore R2R coverage and gate unsupported priority-1 tests

@radekdoulik・GitHub・arch-wasmarea-Infrastructure-coreclr

PR #131110で有効化されたCoreRLR browser-WASM out-of-processランタイムテストにおける8つのテスト失敗に対処するPRです。4つはWebCIL/ReadyToRun複合エラーで、PR #131354のfix後にActiveIssueアノテーションとCrossgen2バイパスを削除してR2Rカバレッジを復元します。残り4つのテストについては、ブラウザ環境のマルチスレッド非対応やServer GC非対応に対応した選別的ゲートを適用します。

#131865 Fix broken relative links in docs

@kutsibalci・GitHub・area-Metacommunity-contribution

ドキュメント内の相対パスリンク8箇所を修正するドキュメント更新です。すべてのリンクターゲットはリポジトリに存在していますが、相対パスの指定が誤っていました。例えば、ディレクトリ階層の誤算や、ファイル名のスペルミス(アンダースコアとハイフンの混在)、Windowsバックスラッシュの使用などが原因でした。

#131864 Bump the Helix Job Monitor

@premun・GitHub・area-codeflow

Helix Job Monitor依存ライブラリをより新しいArcade buildバージョンに更新するPRです。依存メタデータ、ローカルdotnetツールマニフェスト、プロパティ定義を同期し、重複したプロパティ定義も削除しています。

#131863 [browser] Package CoreCLR browser-wasm native relink headers in the runtime pack

@pavelsavara・GitHub・arch-wasmarea-Hostos-browser

browser-wasm向けのCoreClR native relink機能が、復元/パッケージ化されたSDKから正常に動作するよう、VM/minipalヘッダーファイル(callhelpers.hpp、minipal/entrypoints.h、minipal/utils.h)をランタイムパックに正しく含める修正です。

前回のPR #131646では、ヘッダーはホスト共有フレームワークに配置されたものの、ランタイムパックへの収集メカニズムが不足していたため、パッケージに含まれていませんでした。本PRでは、標準的な収集メカニズム(LibrariesRuntimeFilesとCopyWasmNativeFiles)を使用してヘッダーをランタイムパックに正しく含めます。

#131857 Keep accepted sockets alive in TlsSession tests

@wfurt・GitHub・area-System.Net.Security

TlsSessionテストにおいて、受け入れたサーバーSocketをusing宣言で管理し、対応するTlsSocketSessionのライフタイム全体で確定的に破棄されるようにしました。これにより、macOSで報告されていた断続的なリセット問題の根本原因と考えられるソケットのライフタイム管理の問題を解決します。

#131845 Fix integer overflow in BufferBuilder.EnsureBuffer size calculation

@Copilot・GitHub・area-System.Net

BufferBuilder.EnsureBufferのバッファサイズ計算で符号付き整数のオーバーフローが発生していた問題を修正します。約1.5GB以上のバッファサイズで計算がオーバーフローし、割り当てサイズが不足して診断困難な例外が発生していました。符号なし整数演算に切り替え、倍化処理をArray.MaxLengthでクランプすることで、オーバーフローを防止します。

修正前後の計算ロジック:

// 修正前:符号付きint演算でオーバーフロー可能
byte[] newBuffer = new byte[((_buffer.Length * 2) > (_buffer.Length + count)) ? (_buffer.Length * 2) : (_buffer.Length + count)];

// 修正後:uint演算 + Array.MaxLength制限
byte[] newBuffer = new byte[Math.Max((uint)_buffer.Length + (uint)count, Math.Min((uint)Array.MaxLength, 2 * (uint)_buffer.Length))];

#131844 Fold clr.featuremultithreading.props into clr.featuredefines.props; use ConditionalFact for FeatureMultithreading test skips

@Copilot・GitHub・area-Infrastructure-coreclr

CoreCLRのマルチスレッド機能定義をMSBuild設定に統合し、テストスキップをMSBuild時からランタイムチェックに移行するリファクタリングです。clr.featuremultithreading.propsを削除してclr.featuredefines.propsに統合し、テストの条件付きスキップをConditionalFact属性またはMainメソッド内のランタイムチェックに置き換えました。

#131837 [cDAC] Unwrap legacy AppDomain for method enumeration

@rcj1・GitHub・area-Diagnostics-cdac

cDAC(Common Data Access Component)の診断パスで、IXCLRDataProcess.StartEnumMethodInstancesByAddressを呼び出す際に、cDAC側のClrDataAppDomainラッパーを適切にアンラップし、基盤となるレガシーIXCLRDataAppDomain実装をレガシーDACに渡すようにしました。これにより、メソッドインスタンスの列挙時にレガシー検証が正しく機能することを保証します。

#131836 [cDAC] Preserve basic object type input

@rcj1・GitHub・area-Diagnostics-cdac

GetBasicObjectInfoメソッドのpObjTypeDataパラメータをin/outパラメータとして正しく扱うよう修正しました。無効なオブジェクト参照など失敗時に、呼び出し元が提供した構造体の内容を保持するようにしました。この修正は内部診断テストのアサーションを通じて発見されました。

#131830 Fix handling of inability to get free region in thread_final_regions

@janvorli・GitHub・area-GC-coreclr

ガベージコレクタのリージョンスレッド処理において、get_free_regionがNULLを返す場合のエラーハンドリングを改善しました。デバッグビルドのアサートではなくFATAL_GC_ERRORを使用することで、リリースビルドでも一貫した失敗処理(fail-fast)を実現します。この変更により、メモリ不足(OOM)による回復不可能なエラーを適切に報告します。

#131829 Exclude rundownvalidation from crossgen tests

@jtschuster・GitHub・area-ReadyToRun

rundownvalidationテストをCrossGen2/ReadyToRun(R2R)コンパイルから除外するための設定変更です。このテストはMethodILToNativeMapランダウンイベントを必要とし、このイベントはJIT コンパイルされたメソッドに対してのみ発行されます。完全なcomposite ReadyToRunフレームワークではtiered compilationが無効な場合にJIT フォールバックが発生しないため、テストの信頼性が損なわれます。テスト アセンブリをIL状態で保つことで、JIT-onlyイベントの検証を確実に実行できます。

#131819 Improve watchdog child exit status check

@janvorli・GitHub・area-Infrastructure

watchdog(監視プロセス)がシグナルで終了した子プロセスの状態を適切に検出できない問題を修正します。従来はWIFEXITED(正常終了)のみチェックしており、SIGKILLなどのシグナルで終了した場合はタイムアウトになっていました。本修正によりWIFSIGNALED(シグナルで終了)も処理し、シグナル受信時に意味のあるステータス値(128 + signal)を返すようにします。またwaitpid失敗時の診断情報(errno)の出力も追加します。

#131816 Disable GetGeneration test under interpreter (InterpreterIncompatible)

@Copilot・GitHub・area-CodeGen-Interpreter-coreclr

インタープリタ実行時の不正確なローカル変数レポーティングによるテスト失敗に対応するため、GetGenerationテストにインタープリタ互換性フラグを追加しました。テストが期待するオブジェクトのジェネレーション昇格後の検証が、インタープリタではローカル変数がピン留めとして報告されることでジェネレーション0に降格されるため実行できなくなります。

#131797 Suppress union ambiguity warning when a global classified is specified at compile time

@eiriktsarpalis・GitHub・area-System.Text.Json

System.Text.Json ソースジェネレーターの共用体(Union)曖昧性警告ロジックを更新しました。オプションレベルで指定されたグローバル型分類器(JsonSourceGenerationOptionsAttribute.TypeClassifiers)を設定済みの分類器サポートとして扱うことで、SYSLIB1227診断が不適切に発行される問題を修正します。

#131790 Remove development-only contract versions

@noahfalk・GitHub・area-Diagnostics-coreclr

開発段階でのみ使用されていたデータコントラクト(Data Contracts)の複数バージョン(c2、c3)を削除し、各コントラクトを単一バージョン(c1)に統一する変更です。PrecodeStubs、DebugInfo、ExecutionManager、StressLogなど複数のコントラクトについて、最新のセマンティクスをc1実装に移行し、開発用バージョンを廃止します。これはコントラクト仕様の確定化に向けた準備作業です。

#131786 [clr-interp] Fix DAC access to interpreter frame data

@matouskozak・GitHub・area-CodeGen-Interpreter-coreclr

DAC(Data Access Component)がインタープリタフレームのGC参照を列挙する際に発生していたポインタマーシャリングエラーを修正します。InterpreterFrame::m_continuationのホストメモリへのアクセス方法とInterpMethodContextFrameのターゲットメモリアクセス方法を改正し、DAC境界を正しく超えるようにしました。

#131780 Add cDAC runtime version information

@noahfalk・GitHub・area-Diagnostics-coreclr

cDAC (Component Data Access Contract) の RuntimeInfo コントラクトを拡張し、ランタイムのビルド/バージョン情報(ファイルバージョンコンポーネント、プロダクトバージョン文字列)を公開する新しいメソッドを追加しました。これにより、ランタイムのバージョン情報を表示したり、出荷後に発見されたランタイムバグの対応に活用できます。

#131753 Invalidate metadata table lookup hashes when an EnC delta adds records

@dr1rrb・GitHub・area-Diagnostics-coreclrcommunity-contribution

Edit and Continue (EnC) でメタデータテーブルのルックアップハッシュが無効化されないバグを修正。EnCデルタが行を追加した際、ハッシュテーブルが再構築されずに、追加された行がメタデータ検索で見落とされる問題を解決します。特にFieldRVAテーブルで問題が顕著で、生成2以降のホットリロードが失敗していました。

#131729 Run large array test exclusively

@kkokosa・GitHub・area-GC-coreclr

largearraytestをGC merged runnerから分離し、独立したmerged-runner work itemとして実行するようにテストインフラストラクチャを調整。これにより、メモリ消費量の大きいこのテストが他のGCテストとのメモリ競合を避けられます。

#131723 Fix CMAKE_LINKER definition

@am11・GitHub・area-Infrastructurecommunity-contribution

Unix環境におけるCMAKE_LINKERの定義を修正するPRです。linkコマンドはファイルシステムのハードリンクツールであり、llvm-linkはLLVMのビットコードリンカーであるため、いずれも正しいリンカーではありません。本来のCMAKE_LINKERはldまたはld.lldであり、これは既にinit-compiler.shで設定されています。NativeAOTで最近追加された回避策を削除し、またOpenBSDでのネイティブマシンビルド対応(llvmプレフィックスなしのツール)も修正しています。

#131719 Audit CoreLib for members that stay safe under unsafe-v2

@EgorBo・GitHub・area-System.Runtime.InteropServiceslinkable-framework

unsafe-v2マイグレーションへの準備として、System.Private.CoreLibをメンバーの安全性監査で装備するPRです。<safety> XML文書コメントとsafe修飾子(明示的/拡張レイアウト構造体のフィールド、およびexternメソッド)を追加し、マイグレーションツールが不要なunsafeを自動付与するのを防ぎます。

#131645 interp: don't alias a call's return buffer with its own arguments

@AndyAyersMS・GitHub・area-CodeGen-Interpreter-coreclr

インタープリタのスタックレイアウトバグを修正しました。呼び出しの戻り値バッファが別の呼び出しの引数領域とメモリ上で重複する問題を解決します。戻り値バッファは、コンパイル済みの呼び出し先によってスクラッチメモリとして扱われる可能性があり、重複時に引数を破損させていました。

#131468 Use native SDK for arm64 Apple simulator tests

@matouskozak・GitHub・area-Infrastructure-mono

Apple シミュレータおよび Mac Catalyst テストが arm64 をターゲットとする場合に、ネイティブな osx-arm64 .NET SDK を使用するように Helix テストジョブの SDK 選択を更新しました。これにより、arm64 Helix マシン上で MSBuild および crossgen2 が Rosetta エミュレーション下で実行されることを回避できます。x64 シミュレータと物理 iOS/tvOS デバイステストは Intel Helix ホストのため osx-x64 SDK を使い続けます。

#131354 [wasm][R2R] Request flat layout for composite image on WebAssembly

@lewing・GitHub・arch-wasmarea-VM-coreclr

WebAssembly環境でのComposite R2R(Ready-to-Run)イメージ読み込みを改善。WebAssemblyはフラットレイアウトのみをサポートするため、NativeImage::OpenでComposite イメージのレイアウト取得時に明示的にLAYOUT_FLATをリクエストするよう修正。これにより、LAYOUT_LOADEDをリクエストした際に発生していたアサーション失敗を回避します。

#131138 Strictly require CRLF when parsing HTTP/1.1 chunked encoding lines

@Copilot・GitHub・area-System.Net.Http

RFC 9112に準拠するため、HTTP/1.1チャンク転送エンコーディングのパース処理を厳密化しました。これまでSocketsHttpHandlerはチャンクサイズ行とチャンク終端に単一のLF(改行のみ)を許容していましたが、仕様によりCRLF(改行+キャリッジリターン)を厳密に要求するように変更しました。

2026年08月04日 (43 PRs)うち Bot 2 件 この日のページ →

#131825 Add cordbdi_universal static library with MSCORDBI_LINKS_PRIVATE_PAL defined

@hoyosjs・GitHub・area-Infrastructure-coreclr

MSCORDBI_LINKS_PRIVATE_PAL マクロ定義が最終的な mscordbi_universal ターゲットのみに適用されていため、プリコンパイル済みの cordbdi 静的ライブラリ内の cordb.cpp に到達していなかった問題に対応。Unix固有の cordbdi_universal 静的ライブラリを定義を有効にして新規ビルド・リンクし、CoreCLRCreateCordbObject3 が正しくプライベートPAL初期化パスを実行するように修正。既存の cordbdi はDACを通じてPALが必要なため変更なし。

#131808 Fix incorrect checks for CreateThread failure

@janvorli・GitHub・area-VM-coreclr

Windows APIのCreateThreadの失敗判定が複数箇所で誤っていた問題を修正しました。CreateThreadは失敗時にINVALID_HANDLE_VALUEではなくNULLを返すという仕様に合わせて、CoreCLR VMおよびPALテストコードの失敗判定を正しく修正しています。この誤りはメモリ制限環境でのテスト実行時に発見されました。

#131807 Change VOLATILE_MEMORY_BARRIER for x64 Unix

@janvorli・GitHub・area-VM-coreclr

x64 Unix環境において、VOLATILE_MEMORY_BARRIERマクロの実装を変更しました。従来の asm volatile ("" : : : "memory") から __atomic_signal_fence(__ATOMIC_SEQ_CST) に置き換えることで、HndWriteBarrier周辺でclangが生成していた不要なダミージャンプ命令を排除します。この変更はコンパイラバリアのみであり、副作用を回避しています。

#131791 Avoid unbounded MemoryStream allocation when copying tar entry data

@Copilot・GitHub・area-System.Formats.Tar

System.Formats.Tarライブラリにおいて、copyData: true時にTarHeader.GetDataStreamCoreAsyncがtar headerの_sizeフィールドを検証せずにMemoryStreamを割り当てていた問題を修正しました。攻撃者が意図的に巨大なサイズを指定したmalformed tar entryを作成することで、OutOfMemoryExceptionを引き起こす可能性がありました。本修正により、seekableなストリームの場合、実際に利用可能なバイト数(archiveStream.Length - archiveStream.Position)と宣言されたサイズを比較し、超過時にはInvalidDataExceptionを即座にスローするようになります。

#131781 [release/10.0] JIT: fix bit-test switch lowering when the bit table is inverted

@EgorBo・GitHub・Servicing-approvedarea-CodeGen-coreclr

JIT の TryLowerSwitchToBitTest 関数における x64/xarch での miscompile を修正します。64ビット bit テーブルを 32ビット immediate に収めるため invert する際に、エッジスワップの位置が不正で、条件付きブランチが誤った successor にワイヤされていた問題を解決します。特に 64 ケースの switch で発生し、async state-machine dispatch(61 awaits/yields の async IAsyncEnumerable<T> など)で容易に再現される問題です。

修正前は iterator body が何百万回も再入され、frameless NullReferenceException が発生していました。

#131769 Restore stress guards on process-isolated IL tests

@EgorBo・GitHub・area-CodeGen-coreclr

プロセス分離で実行されるILテストに対して、[SkipOnCoreClr]属性では適切に機能しなかったJIT最適化とGCストレス保護を復元するための修正です。PR #126108でMSBuildプロパティから属性への移行が行われましたが、<RequiresProcessIsolation>を持つILテストではこの保護が無視されていました。該当する2つのテストに<JitOptimizationSensitive>と<GCStressIncompatible>のMSBuildプロパティを復元し、属性との併用により保護を確保しています。

#131762 JIT: bail out of CEA cloning if alloc block has multiple successors

@AndyAyersMS・GitHub・area-CodeGen-coreclr

JIT の Conditional Escape Analysis (CEA) クローニング時に、アロケーションブロックが複数の後続ブロックを持つ場合にベイルアウトするガードを追加しました。Tiered PGO 最適化時にアロケーションブロックが定義ブロックと融合し、クローニング処理が正しく動作しないケースに対応します。Issue #131713 で報告されたオブジェクトスタックアロケーションの失敗を修正します。

#131759 Accept moving write buffers for socket-bound TLS sessions

@rzikm・GitHub・area-System.Net.Security

ソケットバウンドの TlsSocketSession で、GC によるバッファ再配置時に write 再試行が失敗する問題を修正します。OpenSSL の SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER モードを fd-バウンドの SSL オブジェクトで有効化し、SSL_write の再試行時にメモリアドレス変更に対応できるようにします。

// 修正前の問題シナリオ:
// 1. SSL_write が WANT_WRITE (DestinationTooSmall) を返す
// 2. GC がバッファを再配置
// 3. 再試行時に "bad write retry" エラーで失敗

// 修正後:
// SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER を有効化することで
// アドレス比較をスキップし、再試行に成功

#131758 Fix SslAuthenticationOptions incorrectly disposing unowned IntermediateCertificates

@Copilot・GitHub・area-System.Net.Security

SslAuthenticationOptions.UpdateOptionsメソッドのバグを修正しました。呼び出し元が提供したServerCertificateContextで以前の自己所有コンテキストを置き換える際に、OwnsCertificateContextフラグをfalseにリセットしていなかったため、後続のDispose()呼び出しで呼び出し元のコンテキストが誤って破棄され、中間証明書が削除されるという問題がありました。

#131757 [release/10.0] Fix flaky MalformedPacketsDuringHandshake test

@rzikm・GitHub・Servicing-approvedarea-System.Net.Securitytest-bug

release/10.0ブランチのMalformedPacketsDuringHandshakeテストの不安定性を修正するバックポートです。テストをTLS 1.2の再交渉シナリオに固定し、オフラインCI環境での証明書チェーン検証による失敗を回避するよう改善しました。mainブランチで既にマージ済みの修正(#130756)と同一の変更です。

#131755 Disable TLS resume in SslStreamServer_RejectsClientCert_ClientObservesAlert

@rzikm・GitHub・area-System.Net.Security

SslStreamServer_RejectsClientCert_ClientObservesAlert(protocol: Tls12) テストのCI flakiness(月間44回の失敗)を修正するため、TLSセッション再開を無効化して完全ハンドシェイクを強制するもの。セッション再開時は証明書交換がなくなるため、クライアント側の例外タイミングが変わる問題を解消しています。

#131754 JIT: Avoid unnecessary argument spills in indirect call transformer

@jakobbotsch・GitHub・area-CodeGen-coreclr

JITコンパイラの間接呼び出し変換ロジックを改善し、ガード付き変換で呼び出しを分割する際に、不変な引数(定数、GT_LCL_ADDR、GT_FTN_ADDR)を一時変数にスピルしないようにします。これにより、GT_LCL_ADDRなどの引数がGT_LCL_VAR一時変数に書き換えられるのを防ぎ、ダウンストリームの形状期待に合わせてアサート失敗を回避します。

#131749 JIT: Handle op1 struct-values in commas in physical promotion

@jakobbotsch・GitHub・area-CodeGen-coreclr

JIT の物理的昇格(Physical Promotion)において、コンマ式の op1(左オペランド)が構造体ローカル変数の場合、そのローカル変数は効果的なユーザーを持たないため処理をスキップするよう改善。また、インポーター(importer)で副作用のないオペランドに対する不要な gtUnusedValNode の生成を回避します。

#131739 [Mono]: Fix InvalidCastException for enum nested in a generic type on Mono

@lateralusX・GitHub・area-VM-meta-mono

Mono ランタイムで、ジェネリック型にネストされたEnum(例:GenericClass<T>.NestedEnum)に対する InvalidCastException を修正しました。当該Enumはインフレート型で byval_arg->type が MONO_TYPE_GENERICINST になるため、従来の MONO_TYPE_VALUETYPE チェックのみでは認識されず、Array.Copy、Array.SetValue、Enum.GetValues<T>() が失敗していました。クラスフラグと mono_class_enum_basetype_internal を利用してEnum判定を拡張し、MONO_TYPE_GENERICINST にも対応しました。

#131736 JIT: fix bit-test switch lowering when the bit table is inverted

@EgorBo・GitHub・area-CodeGen-coreclr

JITのビットテストスイッチ最適化において、ビットテーブルが反転される場合の制御フロー処理のバグを修正しました。反転時に分岐ターゲットのスワップが不完全だったため、条件分岐が誤ったブロックへ接続されていました。修正により、エッジを正しくスワップしてからブロックを再導出するように改善しました。

#131728 Fix MemoryCache concurrency tests

@rosebyte・GitHub・area-Extensions-Caching

MemoryCacheの3つの競合状態テスト(GetAndSet_AreThreadSafe_AndUpdatesNeverLeavesNullValues、OvercapacityPurge_AreThreadSafe、AddAndReplaceEntries_AreThreadSafe)を修正し、2022年以来無効化されていたテストを再度有効化します。

問題の根本原因は、非同期オーバーキャパシティコンパクション中に期待値がスナップショット化されてしまい、再試行ループで再評価されなかった点です。修正では、AssertEventuallyヘルパーメソッドを追加し、再試行時に毎回すべての値を再読み込みするようにしました。

#131690 [cDAC] Implement IXCLRDataValue APIs

@rcj1・GitHub・area-Diagnostics-cdac

cDAC(Compact DAC)の IXCLRDataValue インターフェースを拡張し、値の検査に関連する複数のAPIを実装します。配列データに関連して、IObject.GetArrayData コントラクトを修正し、配列の次元長と下限値を返すように変更しました。これにより、デバッガツールが配列構造をより詳細に検査できるようになります。

#131688 JIT: elide redundant wasm Virtual IP updates

@AndyAyersMS・GitHub・arch-wasmarea-CodeGen-coreclr

WebAssembly JITコンパイラにおいて、Virtual IP(仮想命令ポインタ)のフレームストア操作を最適化します。同一の例外処理(EH)領域内の連続ブロックでは冗長な更新が発生していたため、前向きデータフロー解析を実施して、必要な場合のみストアを発行するように改善。System.Private.CoreLibのWasm R2Rコードセクションを約1.76 MB削減(約9.7%削減)。

#131683 Remove ClassSupportsIClassX which always returns true

@Copilot・GitHub・area-Interop-coreclr

ClassSupportsIClassX関数は常にTRUEを返すスタブであり、全ての呼び出しサイトがデッドコードまたはノーオペレーションになっていました。この関数と関連するenum_SupportsIClassX列挙値を削除し、呼び出しサイトを簡潔に整理しました。COM相互運用性レイヤーの不要なコード削減を目的とした内部実装の整理です。

#131681 Fix profiler ReJIT of Runtime Async method bodies

@tommcdon・GitHub・area-Diagnostics-coreclrruntime-async

ランタイムの非同期メソッドに対するプロファイラーのReJIT機能が機能していない問題を修正しました。非同期メソッドのmdMethodDefがTask返却用のサンク(thunk)に解決されるため、実際に実行される非同期バリアント(async variant)のネイティブコードが再発行されず、ReJITが効果を持たなかった問題を解決しています。修正後、プロファイラーが既にJITされた非同期メソッドをReJITして戻り値の文字列を書き換えると、正しく再コンパイルされた新しい値が返されるようになります。

#131672 Fix Tar cleanup one-liners

@alinpahontu2912・GitHub・area-System.Formats.Tar

System.Formats.Tarライブラリにおける2つのバグ修正:

  1. TarEntry.Windows.csのExtractAsBlockDevice/ExtractAsCharacterDeviceメソッド内のDebug.Assert文が常に同じ型をアサートしていた不具合を修正
  2. TarHeader.Write.csのGetTotalDataBytesToWrite()メソッドの可視性をpublicからinternalに変更し、内部APIとして統一

#131668 Wasm: stop R2R stack walk at reverse-pinvoke frames

@AndyAyersMS・GitHub・arch-wasmarea-VM-coreclr

WASM環境におけるR2R(Ready2Run)スタックウォークがリバースP/Invoke境界を超えて管理対象外メモリを走査する問題を修正しています。リバースP/Invoke呼び出し(ネイティブコードから管理コードへの呼び出し)の境界で、スタックウォークを適切に終了させることで、ネイティブ呼び出し元のスタックポインタを管理対象フレームとして誤って解釈することを防ぎます。

#131634 Fix mono handling of SwiftError

@vcsjones・GitHub・area-Codegen-JIT-mono

MonoランタイムのSwiftError呼び出し規約処理に関するバグを修正します。x64ではスタック溢れ時にSwiftErrorのスタック位置を誤認識し、ARM64では最初のスタック引数をレジスタ渡しと誤認識していました。修正内容は、SwiftErrorが元々レジスタで渡されたかをフラグで記録することで、スタックオフセット値からの推測ではなく明示的に位置を判定します。x64ではスタック渡しのSwiftErrorに対してフレームポインタ省略を無効化し、スタックスロットがアドレス指定可能に保ちます。

#131623 Add JsonPolymorphicAttribute.InferClosedTypePolymorphism

@eiriktsarpalis・GitHub・area-System.Text.Json

JsonPolymorphicAttributeに新しいプロパティInferClosedTypePolymorphismを追加し、型レベルでの多態性推論を制御できるようにします。既存の全局的なJsonSerializerOptions.InferClosedTypePolymorphismと異なり、この属性プロパティは特定の型宣言のみに推論を適用でき、ライブラリが消費者に全局スイッチを強制することなく自身の階層に推論を採用できます。

[JsonPolymorphic(InferClosedTypePolymorphism = true)]
closed record Shape
{
    public record Circle(double Radius) : Shape;
    public record Square(double Length) : Shape;
}

#131593 Add getter-only configuration binding parity tests

@svick・GitHub・area-Extensions-Configuration

Configuration Bindingのgetter-only プロパティに対する共有リフレクション/ソースジェネレータのパリティテストを追加します。getter-only のネストされたオブジェクト、コレクション、抽象型プロパティを対象に、既存値が非null/nullの両シナリオで、既存インスタンスへのバインディングが機能し、nullプロパティが無視されることを検証します。

#131588 Enforce required Negotiate mutual authentication

@wfurt・GitHub・area-System.Net.Security

NegotiateAuthentication クラスに RequireMutualAuthentication が明示的に有効な場合の相互認証検証を実装しました。NTLM は一貫して相互認証されていないと報告されるようになり、Windows 上の SSPI が不正なコンテキストフラグを公開する場合にも対応します。NegotiateStream は保護されたセッションの相互認証要求は継続しますが、交渉結果を受け入れることで NTLM フォールバック互換性を維持します。

#131578 Exclude reverse P/Invoke stubs from profiler code-transition callbacks.

@lateralusX・GitHub・area-Diagnostics-coreclr

Reverse P/Invoke マーシャリングスタブから不要なプロファイラコード遷移コールバックを削除します。従来、これらのスタブは管理対象ターゲットへの呼び出しを ManagedToUnmanagedTransition/UnmanagedToManagedTransition でラップしていましたが、実際にはネイティブ境界を越えていないため、誤った方向の不要なコールバックペアを発出していました。本変更により、Reverse P/Invoke を既に適切に処理されていた Reverse COM/delegate スタブと一貫性を持たせます。

#131133 Fix AV in ICorProfilerInfo2::GetClassLayout for Runtime Async continuation types

@UtkarshBandekar・GitHub・area-Diagnostics-coreclrcommunity-contribution

ICorProfilerInfo2::GetClassLayout()がRuntime Async Continuationの動的生成型(メタデータなし)に対して呼び出されるとアクセス違反でクラッシュする問題を修正しました。メタデータを持たない継続型の場合、FieldDesc::GetMemberDef()をnullポインタに対して呼び出していることが原因です。修正では、メタデータなし継続型の早期チェック を追加し、CORPROF_E_DATAINCOMPLETEを返すようにしました。

#131110 Enable out-of-process tests for CoreCLR browser WASM

@radekdoulik・GitHub・arch-wasmarea-Infrastructure-coreclr

CoreCLR browser-WASMではforkと管理されたプロセス生成が利用できないため、プロセス分離が必要なテスト(RequiresProcessIsolation)が実行されていませんでした。このPRは、ホスト側のBashまたはBatchスクリプトで既存のテストラッパーを子シェルで実行し、その結果を統合ランナーに取り込むことで、管理コード側にNode固有のAPI追加なしにこれらのテストを有効化します。

実行モデルは3段階です:(1) 計画: 統合ランナーが実行対象アセンブリのパスを記録、(2) 実行: ホストが既存の.sh/.cmdラッパーを実行して出力・終了コード・パス/スキップ状態を記録、(3) 取込: 統合ランナーが計算済みの子結果をxUnitレポートにインポート。

#130640 Add ILLink coverage for unused virtual method annotations

@Copilot・GitHub・area-Infrastructurelinkable-framework

ILLinkのトリマーが仮想メソッドのアノテーション不一致を検証する際に、実際に保持されている実装のみを対象とし、未使用コードからのIL2046/IL2092警告ノイズを回避するためのテストカバレッジを追加します。完全に未使用な実装、型のみの参照、警告が必要な使用実装、および未使用の兄弟実装を持つ使用インターフェースの4つのシナリオをカバーしています。

#130530 Reuse typical instantiation DispatchMap for generic instantiations

@davidwrighton・GitHub・area-VM-coreclr

CoreCLRの型ローダーにおけるジェネリック型読み込みの2つの最適化を実装しています。

1. DispatchMapの再利用: 非典型的なジェネリック型インスタンス化(List<int>など)でのDispatchMap構築を最適化。典型的なインスタンス化で一度構築したDispatchMapを再利用することで、PlaceInterfaceMethodsの重複実行を削減します。

2. 仮想静的スロットテーブルのサイズ計算最適化: インターフェースメソッドのカウントループを削減。配列を単純にインターフェースのメソッド数で事前割り当てします。

#129968 Add FreeBSD/powerpc64le (ppc64le) PAL and platform support

@pkubaj・GitHub・os-freebsdarea-PAL-coreclrarch-ppc64le

FreeBSD/powerpc64le (ppc64le) プラットフォームでの CoreCLR + BCL のビルドと実行をサポートするための PAL(Platform Abstraction Layer)とプラットフォーム検出機能を追加します。PowerPC には RyuJIT バックエンドがないため、マネージドコードはインタープリタで実行されます。このPRは PAL とプラットフォームレイヤーのみで、コード生成器は含まれていません。

2026年08月03日 (21 PRs)うち Bot 1 件 この日のページ →

#131763 Make custom IData initializers lazy

@max-charlamb・GitHub・area-Diagnostics-cdac

cDAC(Common Data Access Component)の IData カスタム初期化方式を、単一の eager OnInit フックから名前付きの遅延初期化メソッド([CustomInit] 属性経由)へリファクタリングしました。プロパティへのアクセス時にのみ初期化ロジックが実行され、結果がメモ化されます。これにより、不要な初期化処理を回避し、パフォーマンスを改善します。

// 従来の方式(削除)
public void OnInit() { /* 全プロパティの初期化ロジック */ }

// 新方式(追加)
[CustomInit(nameof(InitializeProperty))]
public required string Property { get; init; }

private string InitializeProperty() { /* 当該プロパティのみの初期化ロジック */ }

#131761 [cDAC] Fix bug in exception contract

@rcj1・GitHub・area-Diagnostics-cdac

cDAC(Compact Data Access Contract)のExceptionコントラクトにおいて、x64ターゲットでのスタックフレーム列挙時に初フレームのIP(命令ポインタ)補正バグを修正します。ランタイムが既にIPを調整していない場合、初フレームのIPをx64のみで1減じる処理を追加しました。内部診断テスト中に発見されたバグ修正です。

#131731 JIT: Treat the indicator variable as transition-preserved

@jakobbotsch・GitHub・area-CodeGen-coreclr

OSR(On-Stack Replacement)およびEnC(Edit and Continue)関数における非同期の「resumed?」インジケータローカル変数の処理を改善しました。インジケータを他の遷移保持状態と同様に扱い、安定したスタックスロットを保持領域に割り当て、OSRパッチポイント情報を通じてティア0フレームオフセットを通信するようにしました。これにより、OSRでのインジケータ再計算の必要性が排除され、EnCでの状態保持がより一貫性を持つようになります。

#131724 [cDAC] Fix bug in GC contract

@rcj1・GitHub・area-Diagnostics-cdac

GC cDAC契約のフラッシュ動作に関するバグを修正するPRです。GC_1.FlushメソッドのシグネチャをIContract.Flush(FlushScope)インターフェースに準拠させることで、Target.Flush(...)呼び出し時にGC契約キャッシュが正しくクリアされるようにしました。内部診断テスト中に発見されました。

#131708 [release/10.0] Fix GC hole when method return is hijacked for GC suspension

@steveisok・GitHub・Servicing-approvedarea-VM-coreclr

.NET 10でのリグレッションであるGC hole(未追跡オブジェクト参照)を修正します。非x86アーキテクチャで、メソッド戻り値がGC中断用にhijackされる際、呼び出し元がCallDescrWorkerInternal(手書きアセンブリで GC情報なし)である場合に、戻り値レジスタのobjectrefが追跡・更新されない問題を解決します。

#131684 Emit a resolvable type name for Runtime Async continuations in GC heap dumps

@tommcdon・GitHub・area-Diagnostics-coreclr

Runtime Async continuationの型情報がGCヒープダンプで解決不可能になる問題を修正します。メタデータレスの継続型はTypeHandle::UpCastTypeIfNeeded()を使用してベース型(System.Runtime.CompilerServices.Continuation)として出力することで、dotnet-gcdumpなどのEventPipeリーダーが正しい型名を表示できるようにします。

検証結果:

  • 修正前: 128個の継続オブジェクトがType(0x02000000)と表示
  • 修正後: System.Runtime.CompilerServices.Continuationとして正しく表示

#131637 [android] Skip internal arm device test sends

@matouskozak・GitHub・os-androidarea-Infrastructure-mono

内部CI(Continuous Integration)パイプラインでAndroid arm/arm64のテストペイロードをHelixに送信しないようにする変更です。ビルド自体は引き続き実行されますが、内部環境にはAndroidデバイスキューがなく、x86_64エミュレータキューでは実行できないため、テスト送信をスキップします。公開CI環境とAndroid x64エミュレータテストは影響を受けません。

#131587 Fix interpreter TraceCall GC mode

@matouskozak・GitHub・area-CodeGen-Interpreter-coreclr

インタープリタのReverse P/Invoke(UnmanagedCallersOnly)エントリーパスで、デバッガーのTraceCallフックを協調的GCスコープ内で実行するように修正しました。これにより、JIT Reverse P/Invokeヘルパーの順序と一致させ、Checked runtimeで契約違反エラーが発生する問題を解決しています。

#131583 Mark InteropServices.ObjectiveC APIs as available on all Apple platforms.

@rolfbjarne・GitHub・area-System.Runtime.InteropServices

.NET 11以降で全Apple プラットフォームでサポートされるようになったSystem.Runtime.InteropServices.ObjectiveC APIに対し、プラットフォーム属性を更新してサポート範囲を反映させます。macOSに限定されていたObjectiveCMarshalとObjectiveCTrackedTypeAttributeに、iOS、tvOS、Mac Catalyst向けの[SupportedOSPlatform]属性を追加します。

#131575 Fix NetworkInterface list on Windows

@wfurt・GitHub・area-System.Net

Windows上でのネットワークインターフェース列挙の動作を調整しました。.NET 9で導入されたGAA_FLAG_INCLUDE_ALL_INTERFACESフラグにより、トンネリングやVPN用の隠されたインターフェースが大量に列挙されるようになり、アプリケーションの動作に悪影響(特にGetIsNetworkAvailableの破損)を引き起こしていました。

本修正では、従来の「有用な」インターフェースリスト(.NET 8相当)を第1パスで取得し、その後で追加のNDISインターフェースをOperationalStatus.Unknownとして追加することで、互換性を維持しつつ問題を解決します。

#131455 Fix configuration binder dropping collection items with null constructor parameters

@rosebyte・GitHub・area-Extensions-Configuration

.NET 10で導入された回帰バグを修正します。コレクション内のポジショナルレコード(コンストラクタパラメータを持つレコード)にnull値を持つ設定をバインドしようとすると、該当エントリが無言で削除されていました。PR #116677によるnull値の取り扱い変更が根本原因で、BindParameterがnullを「バインド値がない」と誤釈するため例外が発生し、BindArrayの例外処理により削除されていました。

#130730 [cDAC] Hide module lookup map layout details

@max-charlamb・GitHub・area-Diagnostics-cdac

cDAC(Contracts Data Access Component)のモジュールルックアップマップアクセスをリファクタリングし、ネイティブルックアップマップレイアウトの詳細を消費者コードに公開しないようにします。ModuleLookupTablesレコードを廃止し、代わりにモジュール+種類ベースのルックアップ操作をLoaderコントラクト内に集約することで、APIの抽象化レベルを向上させます。

#130664 Fix TransactionManager DefaultTimeout/MaximumTimeout setter race condition

@Copilot・GitHub・area-System.Transactions

TransactionManager.DefaultTimeout および MaximumTimeout のセッターに競合状態が存在していた問題を修正しました。ゲッターが LazyInitializer.EnsureInitialized でロックを取得する一方、セッターが Interlocked.Exchange と平文の書き込みを使用していたため、別スレッドのゲッターが新しい値を上書きする可能性がありました。すべての処理をロック下で実行することで状態の一貫性を確保し、競合状態を排除しました。

#128776 Fix custom-attribute generic argument dataflow in the trimmer

@Copilot・GitHub・linkable-frameworkarea-Tools-ILLink

カスタム属性のジェネリック引数に対するデータフロー分析を修正し、new()制約を持つジェネリック属性がそのジェネリック引数のパラメータレスコンストラクタを確実に保持するようにしました。また、トリマーがIL2091を出力する際のNullReferenceException を防ぐため、null安全性を強化しました。

2026年08月02日 (8 PRs) この日のページ →

#131718 [cDAC] bug fix in DacDbi GetModulePath

@rcj1・GitHub・area-Diagnostics-cdac

cDAC(Compact Debugger Access Component)のGetModulePath APIを修正し、ディスク上に実際に存在するファイルパスのみを返すようにしました。メモリ内モジュールやダイナミックモジュール(LoaderがPath情報を返さない場合)について、FileName フォールバックを削除し、適切に"パスなし"を報告するようにします。

#131717 [cDAC] Fix bug in EnumerateInstantiationFields

@rcj1・GitHub・area-Diagnostics-cdac

cDAC(Common Data Access Component)の診断機能でのバグを修正しました。EnumerateInstantiationFieldsメソッドにおいて、approximate TypeHandleがnullの場合に例外を投げるように修正し、ネイティブ実装のDacDbiInterfaceImpl::GetTypeHandlesのセマンティクスに合わせています。

#131714 Avoid inlining Random.InternalSample

@AndyAyersMS・GitHub・area-System.Runtime

Random.InternalSample()メソッドに[MethodImpl(MethodImplOptions.NoInlining)]属性を追加し、メソッドのインライン化を抑止する変更です。このメソッドは予測不可能な分岐を含んでおり、ループ内でインライン化されるとif変換が行われずパフォーマンスが低下するため、スタンドアロンメソッドとして保持することを意図しています。

#131704 Remove temporary array allocations in ComVariant.As.

@teo-tsirpanis・GitHub・area-System.Runtime.InteropServicescommunity-contribution

ComVariant.As<T>()メソッド内の型チェック関数ThrowIfNotVarTypeを改善し、毎呼び出しで発生していた一時的な配列割り当てを削除しました。params VarEnum[]からparams ReadOnlySpan<VarEnum>に変更することで、RVAフィールドへの割り当てフリーな参照として最適化されるようになります。

#131585 Flush after each live enumerable write in SSE & JSON

@MihaZupan・GitHub・area-System.Net

非同期列挙可能のStreamへのシリアライズ時に、各要素/イベント出力後に明示的にFlushを実行することで、IISのようなバッファリング層を挟んでも"live"な出力が消費側から即座に観測可能になるようにします。KestrelやNetworkStreamは自動Flushするため問題ありませんが、バッファリングを行う実装に対応する必要があります。

2026年08月01日 (4 PRs) この日のページ →

#131685 Adopt issue-labeler v2.2.0 in runtime workflows

@jeffhandley・GitHub・area-Infrastructure

dotnet/issue-labelerツールのGitHub Actions ワークフローをv2.2.0にアップデートし、labeler-train.ymlで廃止予定ラベルの除外機能を追加しました。デフォルト除外ラベル(area-crossgen2-coreclr、area-AssemblyLoader-coreclr)を設定し、手動実行時に追加の除外ラベルをオプション入力(excluded_labels)で指定できるようにしました。

#131682 Exclude WebSocketException from BinaryFormatter blob ToString comparison

@jtschuster・GitHub・area-Serialization

WebSocketExceptionのネイティブエラーコードがスレッド状態に依存して変化するため、BinaryFormatterのテストにおいてToString()比較から除外する変更です。Win32Exceptionを継承するWebSocketExceptionはMarshal.GetLastPInvokeError()からNativeErrorCodeを設定するため、ライブテストオブジェクトと保存されたblobで異なる文字列表現を持つことがあります。同様の除外は既にSystem.Resources.Extensionsで実装されており、ここではそれをミラーリングします。

#131627 Fix cDAC DBI cleanup lifetime

@rcj1・GitHub・area-Diagnostics-cdac

cDAC(managed diagnostic access component)のライフタイム管理を修正し、DBI(Debugger Bind Interface)がDAC(Diagnostic Access Component)をアンロードする前に、cDAC管理下のCOM インターフェースをアンロードするための明示的なDestroy()メソッドを追加しました。これにより、caller所有のCOMオブジェクトの確定的なクリーンアップが可能になります。内部stackwalking cDAC テストの修正を含みます。

#131245 Support unsafe evolution in LibraryImportGenerator

@EgorBo・GitHub・area-System.Runtime.InteropServiceslinkable-frameworksource-generatorreduce-unsafe

[LibraryImport] 属性を使用するメソッドに対して、C# の unsafe evolution(更新されたメモリ安全性ルール)への対応を追加しました。新しいルールが有効な場合、すべての [LibraryImport] メソッドは明示的に safe または unsafe 修飾子を要求します。また、既存コードを移行するためのアナライザーとコード修正ツールが含まれています。

目次