← アーカイブ一覧へ戻る
このページは、dotnet/runtime リポジトリにマージされたPull Requestを自動的に収集し、その内容をAIが要約した内容を表示しています。そのため、必ずしも正確な要約ではない場合があります。
日別 Pull Request 数
日付をクリックするとその日のセクションへ移動します。
ラベル別 Pull Request 数(上位10)
ラベル別 Pull Request 数の上位10
上位10件の合計552件を100%とした内訳です。各スライスの番号は凡例の番号に対応します。ラベルごとの件数は凡例を参照してください。
1. area-CodeGen-coreclr — 100 PRs (18.1%)
2. community-contribution — 93 PRs (16.8%)
3. arch-wasm — 67 PRs (12.1%)
4. Servicing-approved — 66 PRs (12.0%)
5. area-Diagnostics-coreclr — 57 PRs (10.3%)
6. area-Infrastructure — 46 PRs (8.3%)
7. area-codeflow — 45 PRs (8.2%)
8. area-VM-coreclr — 31 PRs (5.6%)
9. linkable-framework — 26 PRs (4.7%)
10. area-NativeAOT-coreclr — 21 PRs (3.8%)
1
2
3
4
5
6
7
8
9
10
552
上位10件の合計
1 area-CodeGen-coreclr 100 PRs 18.1%
2 community-contribution 93 PRs 16.8%
3 arch-wasm 67 PRs 12.1%
4 Servicing-approved 66 PRs 12.0%
5 area-Diagnostics-coreclr 57 PRs 10.3%
6 area-Infrastructure 46 PRs 8.3%
7 area-codeflow 45 PRs 8.2%
8 area-VM-coreclr 31 PRs 5.6%
9 linkable-framework 26 PRs 4.7%
10 area-NativeAOT-coreclr 21 PRs 3.8%
上位10件で全1033件中552件(53.4%)を占めます。ラベルは1つの Pull Request に複数付くため、比率は PR 数ではなくラベル付与の延べ数に対するものです。
各 Pull Request の概要
この月にマージされた 673 件を新しい日から順に並べています。タイトルをクリックするとその日のページの該当箇所へ移動します。Bot が作成した 61 件はタイトルのみにして、各日の最後にまとめています。
2026年03月31日 (21 PRs) うち Bot 1 件 この日のページ →
@Copilot ・ GitHub ・ area-NativeAOT-coreclr
NativeAOT環境でVerify_ConstructDelegateFromFunctionPointerテストがPlatformNotSupportedExceptionで失敗する問題を修正します。NativeAOTは検証可能なデリゲート構築シーケンスの外でデリゲートコンストラクタを直接呼び出すことをサポートしていないため、[ActiveIssue]属性を追加してNativeAOT上でテストをスキップします。
続きを読む
@BrzVlad ・ GitHub ・ area-VM-coreclr
-dynamiccodecompiled false ビルドオプションでWindowsプラットフォーム上のビルドエラーを修正します。このオプションはTIERED_COMPILATION、VIRTUAL_STUB_DISPATCHを無効化し、STATICALLY_LINKEDを有効化する設定です。
@Copilot ・ GitHub ・ area-NativeAOT-coreclr
NativeAOT環境でスレッドがRhpUniversalTransition内で割り込まれる際のGCスタックウォーク中のクラッシュを修正します。問題は、スタックフレームイテレータが揮発性引数レジスタ(AMD64のpRcx、pRdx、pR8、pR9など)のセーブ位置をREGDISPLAYに設定せず、NULLのままにしていたため、GCが生きたレジスタ参照をスキャンする際にヌルポインタ参照エラー(0xC0000005)を引き起こしていました。
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
WebAssembly (Wasm) ターゲット向けに、複数のエントリポイントを持つtry領域を処理するためのRyuJIT基盤を整備するPRです。FlowGraphTryRegion記述子をDFSなしで構築可能にし、Wasm EH dispatch ブロックにおけるcatch resumption entryの検出とベイルアウト機能を追加します。現段階では複数エントリtry領域に対して未実装(NYI)として動作します。
続きを読む
@kg ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssembly RyuJIT バックエンドに genStructReturn の部分的な実装を追加し、構造体の戻り値処理に対応します。これにより、wasm crossgen実行時のアサート問題(#125756)に対応します。
現在は FIELD_LIST シナリオのみ実装されており、その他のシナリオは再現環境がないため未実装です。
続きを読む
@Copilot ・ GitHub ・ area-System.Diagnostics.Process
#126192のマージ後のレビューコメントに対応した改善。System.Diagnostics.ProcessのShellExecuteサポートをリファクタリングし、ShellExecuteHelper.csを削除してSafeProcessHandle.Windows.csにインライン化。ProcessStartInfo.UseShellExecuteを共有ファイルに統合し、トリミング用のフックを追加。ProcessIdプロパティでfieldキーワードを採用し、無効なハンドルでの検証テストを追加。
続きを読む
@MichalStrehovsky ・ GitHub ・ area-NativeAOT-coreclr
ILC(Intermediate Language Compiler)環境下でのARM32 thumb bitの二重カウント問題を修正します。RyuJITがmovw/movt命令にthumb bitを追加する際、ILCで既に定義されているシンボルのthumb bit(+1)と重複していました。修正により、RyuJITのthumb bit注入をReadyToRunとランタイムJITのみに限定し、ObjectWriterの補正ロジックを簡潔化します。
続きを読む
@rcj1 ・ GitHub ・ area-Diagnostics-coreclr area-Diagnostics-cdac
JIT動的書き込みバリア関数などのヘルパー関数に対して、実行時に割り当てられたIPアドレスから人間が読める名前を解決するための新しいcDAC契約(AuxiliarySymbols)を追加します。これにより、SOS DAC の GetJitHelperFunctionName API がディスアセンブリ時に動的JITヘルパーの人間が読める名前を返すことができるようになります。
@jtschuster ・ GitHub ・ area-Infrastructure
テストビルド時に使用される --tree 引数をテスト実行スクリプト(src/tests/run.[sh|cmd])に追加し、ビルドと同じ方法でテスト実行を制限できるようにしました。これにより、開発者は特定のディレクトリツリー配下のテストのみを実行でき、ワークフローを統一できます。
@adamperlin ・ GitHub ・ arch-wasm area-crossgen2-coreclr
RyuJIT Wasm ReadyToRun(R2R)コンパイラにおいて、WebAssemblyオブジェクトライターで使用される追加の再配置型(WASM_FUNCTION_INDEX、WASM_TABLE_INDEX、WASM_MEMORY_ADDR)をサポートします。これにより、R2R生成時にWasm符号化された即値の正しいパッチアップが可能になります。メモリアドレス再配置は__image_baseを基準にしたWebcilイメージ内のシンボルオフセットとして機能します。
続きを読む
@larkliy ・ GitHub ・ linkable-framework community-contribution area-NativeAOT-coreclr
ArrayValue.ToString()メソッドのコンマ配置ロジックを修正し、要素とネストされた値を正しく分離するようにしました。
@AndyAyersMS ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssembly(Wasm)JITにおいて、共有クラスコンストラクタ初期化の処理を改善するもの。Wasm固有の早期リターンを追加し、CORINFO_HELP_INITCLASSヘルパーを使用することで、他の共有静的フィールド初期化やReadyToRun(R2R)ヘルパーパスを回避する。
@Copilot ・ GitHub ・ area-CodeGen-coreclr
ReadyToRun (R2R) モードで TypeMapAssemblyTarget が解決不可能なアセンブリを参照する場合の処理を修正しました。CrossGen2 が解決に失敗した際に空のターゲットエントリを生成し、ランタイムがフォールバック処理をスキップしていた問題を解決し、適切に属性処理にフォールバックして FileNotFoundException をスローするようになります。
@Copilot ・ GitHub ・ area-Codegen-Interpreter-mono
[GeneratedComInterface]属性を持つ派生インターフェースが、unsafeメソッド(ポインタパラメータを含むメソッド)を持つ基本インターフェースから継承する場合、生成されるシャドウイング/フォワーディングメソッドにunsafe修飾子が不足し、コンパイルエラー(CS0214)が発生していた問題を修正します。生成される派生インターフェース宣言にunsafe修飾子を追加することで、ポインタ型を使用するメソッドをシャドウする際の構文エラーを解決します。
続きを読む
@Copilot ・ GitHub ・ area-System.Runtime.InteropServices
DownlevelLibraryImportGeneratorをリファクタリングし、LibraryImportAttributeとStringMarshalling型をRegisterPostInitializationOutput経由でコンパイルに直接注入するように変更しました。従来のeng/generators.targetsによる別ファイル配布方式から移行し、[Microsoft.CodeAnalysis.Embedded]属性を付与してCS0436警告を自動的に抑制します。これにより、源ファイルの#pragma warningディレクティブやダウンレベル向けの#if条件コンパイルが不要になります。
続きを読む
@janvorli ・ GitHub ・ area-GC-coreclr
GCが4MBリージョンを使用する際に、大量のピン留めシナリオでヒープサイズが増加する問題を修正したPRを再導入し、無限ループによるハング問題も同時に解決しました。大きなプラグ(0x3FFFD0サイズ)がリージョンに収まらない場合、フロントパディングを追加しないようにすることで、リロケーション時の無限リトライを防止します。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr runtime-async
JITコンパイラの非同期変換分析コードを機械的にリファクタリング。AsyncLivenessをAsyncAnalysisに名称変更し、非同期関連の分析を専用の翻訳単位(asyncanalysis.cpp)に統合。また、例外処理(EH)のtry-region連続性に関する命名と前提条件の明確化を行いました。
@Copilot ・ GitHub ・ area-CodeGen-Interpreter-coreclr
CoreCLRインタープリタのlocalloc実装が、スタック割り当てポインタをsizeof(void*)(4〜8バイト)にしか整列させていなかった問題を修正します。INTERP_STACK_ALIGNMENT(16バイト)への整列を保証することで、WASMなど16バイト整列が必須のプラットフォームでstackallocが正しく動作するようになります。
@Copilot ・ GitHub ・ area-AssemblyLoader-coreclr
NativeImage::Openメソッドの未使用の出力パラメータisNewNativeImageを削除するクリーンアップです。このパラメータは値が設定されていたにもかかわらず、唯一の呼び出し元であるAssemblyBinder::LoadNativeImageでは使用されていませんでした。
@lilinus ・ GitHub ・ area-System.Runtime community-contribution
UTF-16とUTF-8の検証APIを標準化するPRです。新たにUtf16.IsValidとUtf16.IndexOfInvalidSubsequenceメソッドをSystem.Text.Unicodeに追加し、併せてUtf8.IndexOfInvalidSubsequenceも追加します。これらの新しい公開APIで既存のカスタム検証ロジックを置き換えることで、コード重複を削減し検証処理を統一します。
続きを読む
2026年03月30日 (27 PRs) うち Bot 2 件 この日のページ →
@steveisok ・ GitHub ・ area-Diagnostics-coreclr
Diagnostics-cdac領域のオーナーを定義するため、docs/area-owners.mdと.github/policies/resourceManagement.ymlにarea-Diagnostics-cdacラベルを追加しています。オーナーはarea-Diagnostics-coreclrと同じく@steveisok、@tommcdon、@dotnet/dotnet-diagです。
@MichalStrehovsky ・ GitHub ・ area-CodeGen-coreclr
JIT形式に関する問題を修正するPull Requestです。PR #126282に関連した問題が発生していたため、それに対応しています。
@Copilot ・ GitHub ・ area-Infrastructure
PSEUDORANDOM_NOP_INSERTION(JIT Spraying対策)および関連する不要なコードを削除。部分信頼(Partial Trust)はランタイムに復帰しないため、数年前からコメントアウトされていたPSEUDORANDOM_NOP_INSERTION定義とそれに関連するGT_PINVOKE_PROLOG、GT_PINVOKE_EPILOG、GT_EMITNOPのGenTreeノード型を完全に削除。
続きを読む
@EgorBo ・ GitHub ・ area-System.Reflection.Metadata reduce-unsafe
System.Reflection.Metadata内のBlobUtilities.csからアンセーフコードと手動展開されたプリミティブ書き込みロジックを削除し、BinaryPrimitives/BitConverterAPIに統一します。ダウンレベルターゲット向けのPolyfillsを追加することで、既存の機能を保ちながらコード安全性を向上させます。
@saucecontrol ・ GitHub ・ area-CodeGen-coreclr community-contribution
JITのベースラインがSSE4.2に引き上げられたことに伴い、SSE2エミュレーション実装が到達不可能になったため、SIMD整数比較演算の古いフォールバック実装を削除しました。これにより、コンパイラの複雑性を低減し、保守性を向上させます。
@jkoritzinsky ・ GitHub ・ area-Diagnostics-coreclr
CoreCLR デバッグのスタックウォークにおけるアサーションを削除します。インタロップデバッギングが有効な場合、スタック全体がアンマネージドコード(C++など)で構成されているシナリオでは、アンマネージド「リターンフレーム」(Frame* フレーム)が存在しない可能性があるため、このアサーションは不正確でした。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
JITの最適化フェーズ終了後、フローグラフ修正時に到達不可能なブロック(特にEH関連エントリブロック)を削除する新しいパスを追加しました。これにより、後続のクリーンアップフェーズで到達不可能なtry領域をより効率的に処理できるようになります。
@sbomer ・ GitHub ・ area-NativeAOT-coreclr
NativeAOT の ILC (Intermediate Language Compiler) がandroidでビルド失敗する問題を修正しました。RuntimeFiles と LibrariesRuntimeFiles から発行されるアセットに対して、ファイル拡張子に基づいて正しい AssetType を割り当てるようにしました。従来は全ファイルに AssetType="runtime" が設定されており、.pdb、.so、.dbg、.dwarf などの非PE形式ファイルまで管理アセンブリとして扱われ、ILC に -r: 参照として渡されることで BadImageFormatException: Unknown file format が発生していました。
続きを読む
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
cDAC Helix ダンプテストにおいて、exitコマンドによるシェル強制終了を防ぎ、テスト後処理とxUnit結果報告が正常に実行されるよう修正しました。Windows では %ComSpec% /C exit <code> でサブシェルを使用し、Unix では set_return パターンで exit の代わりに return を使用することで、親シェルを保持しながら終了コードを伝播させます。
続きを読む
@larkliy ・ GitHub ・ community-contribution area-NativeAOT-coreclr
TypeEqualityPatternAnalyzerが、従来の短形式opcodeだけでなく、長形式(ldloc.s/ldarg.s)や他のバリアント(ldloc.0-3/ldarg.0-3など)のldloc/ldargオペコードにも対応するようになりました。これにより、様々な形式の型等値パターンが正しく認識されます。同時にファイルを現代的なC#パターンマッチングに更新しています。
@AristidesASm ・ GitHub ・ area-crossgen2-coreclr community-contribution
JsonDocument.Parse()で作成されたオブジェクトがスコープを抜ける際に破棄されていないハンドルリークを修正しました。文字列値の抽出後にJsonDocumentが不要になるため、usingステートメントで適切に破棄するようにしました。
@adamsitnik ・ GitHub ・ area-System.Diagnostics.Process
SafeProcessHandle に Start メソッドと ProcessId プロパティを導入し、プロセス起動とハンドル管理のロジックを再構成しました。プロセス起動に関するヘルパーメソッドを Process.[Unix/Win32/Windows].cs から ProcessUtils.$platform.cs に移動し、起動ロジックを SafeProcessHandle.StartCore に統合しました。
続きを読む
@Copilot ・ GitHub ・ area-crossgen2-coreclr
crossgen2_comparison.pyスクリプトにおいて、ベース出力に存在するがdiff出力に存在しないアセンブリに対するXML結果生成時に発生していたKeyErrorを修正しました。原因は、omitted_from_diff_dirループで誤ってdiff_results_by_name(該当データが存在しない辞書)を参照していたもので、base_results_by_nameへの参照に修正しました。
続きを読む
@jkoritzinsky ・ GitHub ・ area-Infrastructure
pri1テストビルドで失敗を引き起こしていた、マージされたランナー配下の重複するプロジェクト名をリネームする変更です。プロジェクト名の一意性を確保することでビルド失敗を解決しています。
@SingleAccretion ・ GitHub ・ area-CodeGen-coreclr community-contribution
x86アーキテクチャにおいて、隣接する複数のno-GC領域をコアレス(統合)することで、GCInfo サイズを約0.1%削減します。主な利点は、IGF_EXTEND IGs(透過的であるべき)による差分の導入を回避し、GCInfo生成の安定性を向上させることです。
@rjmurillo ・ GitHub ・ area-Extensions-Caching community-contribution
MemoryCache に OpenTelemetry メトリクスサポートを追加します。TrackStatistics = true の場合、キャッシュヒット/ミス、エビクション数、エントリ数、推定サイズを観測可能なインストルメントとして公開します。System.Net.Http の実装パターンに従い、IMeterFactory をサポートし、ファクトリが提供されない場合は SharedMeter にフォールバックします。
続きを読む
@cincuranet ・ GitHub ・ area-Extensions-FileSystem
Microsoft.Extensions.FileSystemGlobbingにおいて、ディレクトリトラバーサル時のステム(パス要素)の不正な累積を修正します。構造体フレームのコピー時に_stemItemsリストの参照が共有されていた問題を、フレームのクローン化により隔離することで解決します。
@Copilot ・ GitHub ・ area-CodeGen-coreclr
ARM64のJitDisasm出力において、間接呼び出し(blr/br_tail)命令にメソッド名のアノテーションコメントを追加する変更です。x64では既にcall [addr] ; MethodNameの形式でメソッド名が表示されていますが、ARM64では表示されていませんでした。メソッドハンドルはidMemCookieに格納されていたため、IF_BR_1Bの表示処理で読み込むようにしました。
変更例:
// Before:
blr x2
// After:
blr x2 // code for IndirectCallAnnotation:VirtualCallee():int
続きを読む
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
SuperPMI(コンパイラテスト用ツール)の記録・リプレイワークフローの3つの問題を修正します:
リプレイ時に保存されたコンパイル結果の再利用を防止(既存結果があるとrecAllocMemなど記録関数が動作不正)
-mch_filesオプションでディレクトリと.mcファイルの入力をサポート
成功したコンテキストがゼロの場合のdiffsレポート生成時の除算エラーを修正
続きを読む
@danmoseley ・ GitHub ・ area-System.Collections
Dictionary<TKey, TValue>.Removeメソッドの内部ループを値型キーと参照型キーのパスに分割し、JITのレジスタ割り当て最適化を改善します。FindValueやTryInsertで既に採用されている最適化パターンをRemoveに適用することで、値型キーの場合にスタックスピル/リロードを削減します。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
SuperPMI JITホスト設定の解析およびログ出力を修正するプルリクエストです。DOTNET_JitHashBreak=9b29601dのような16進数設定値がアサーションエラーを引き起こし、上位ビットが設定された値が受け入れられないという問題に対応しています。
@Copilot ・ GitHub ・ area-VM-coreclr
UnsafeAccessor(UnsafeAccessorKind.Constructor)がデリゲート型をターゲットとする場合、JIT最適化フェーズで不正なアサーションが発火する問題を修正します。マルチレベルインライニング後に関数ポインタ引数がGT_FTN_ADDRノードに変換される際、ldftnTokenがnullであってもtargetMethodHndが非nullになり得るケースに対応しました。
[UnsafeAccessor(UnsafeAccessorKind.Constructor)]
extern static Del Construct(object o, IntPtr p);
// 修正前: Assert failed 'targetMethodHnd == nullptr'
Construct(null, (nint)Resolver<Program>.Resolve())();
続きを読む
@Copilot ・ GitHub ・ area-System.IO
memcpy関連API(Buffer.MemoryCopy、Buffer.BlockCopy、Unsafe.Copy*)に渡されるサイズ計算でオーバーフローが静かに発生しないようにするため、checked contextを導入します。サイズ計算時のオーバーフローを検出して例外をスロー(fail fast)することで、メモリ安全性を強化します。
@Copilot ・ GitHub ・ area-Diagnostics-coreclr area-Diagnostics-cdac
ISOSDacInterface13の3つのメモリ領域列挙API(GetHandleTableMemoryRegions、GetGCBookkeepingMemoryRegions、GetGCFreeRegions)をcDACネイティブに実装しました。これらのAPIは従来はレガシーDACに委譲されるかE_NOTIMPLを返していました。SOSMemoryEnum実装パターンに従い、ハンドルテーブル、GCブックキープ、フリーリージョンのメモリ領域を効率的に列挙できます。
続きを読む
@hez2010 ・ GitHub ・ area-CodeGen-coreclr community-contribution
JIT コンパイラのValue Numbering(VN)を活用して、SequenceEqual操作の定数折りたたみを最適化します。異なる文字列定数の比較を、実行時の比較処理を省略して直接コンパイル時に計算結果に置き換えることで、コード生成を大幅に削減します。
示例のStr1.Equals(Str2) ("abcdef" vs "bcdefg") の比較では、生成されたアセンブリが50バイト・PerfScore 11.50から2バイト・PerfScore 0.25に削減されます。
続きを読む
2026年03月29日 (5 PRs) この日のページ →
@steveisok ・ GitHub ・ area-System.Security
Android環境でのCRL署名検証テストの不安定性に対処するため、CrlBuilderTests.DsaNotDirectlySupportedテストをAndroidプラットフォームで無効化しました。AndroidのHelix deviceプールに含まれるデバイスのBoringSSLバージョン差異とDSA署名の非決定性により、月間約25%の失敗率が発生していたため、[ActiveIssue]属性を追加してテストをスキップするように修正しています。
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
WebAssembly向けのRyuJIT JITコンパイラにおいて、INDEX_ADDR命令のコード生成を改善し、小さい型のインデックス処理を適切に扱うようにしました。
@stephentoub ・ GitHub ・ area-System.Text.RegularExpressions
Unicode 17.0アップデート後に追加された58個の新しい名前付きブロックのテストケースが、Unicode 4.0のブロックのみをサポートする.NET Frameworkで失敗していた問題を修正します。新しいブロックテストを!PlatformDetection.IsNetFrameworkガードで条件付き実行して、.NET Frameworkでの116個のouterloopテスト失敗を解決します。
続きを読む
@AaronRobinsonMSFT ・ GitHub ・ area-VM-coreclr
Apple Clang 21(Xcode最新版)でのビルド失敗に対応するパッチです。主な変更は、新しいClangの厳格な型チェック(特に-Wc++-keyword警告と暗黙的なvoid*変換)に対応するため、ネイティブライブラリ群に明示的なキャストを追加しています。ICUヘッダーの警告も抑制しています。
@stephentoub ・ GitHub ・ area-System.Text.RegularExpressions
NonBacktrackingサンプラーの無限ループバグと、ループバックトラッキング最適化における論理エラーを修正して、PatternsDataSet_GenerateInputsWithNonBacktrackingテストを再有効化します。
修正内容:
サンプラー無限ループ修正 :すべてのミンタームが行き止まり状態に到達する場合、UndoTransitionで状態が復元されても終了条件がトリガーされない問題をtransitionSucceededフラグで追跡して解決
バックトラッキング最適化バグ修正 :CanReduceLoopBacktrackingToSinglePositionで、後続シーケンスが完全にnullableの場合に不正な削減が発生していた問題を修正(iterateNullableSubsequentをtrueからfalseに変更)
続きを読む
2026年03月28日 (18 PRs) うち Bot 1 件 この日のページ →
@kg ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WASM JIT Loweringパスのデバッグビルド破損を修正するPRです。SetMultiplyUsed呼び出しで、デバッグ構成において必須の"reason"引数を渡すようにしました。マージ時の競合により、チェックを通り抜けてしまった変更を修正します。
@Copilot ・ GitHub ・ area-Infrastructure
RedirectedOutputDoesNotUseAnsiSequences テストの失敗を修正しました。xunitのバックグラウンド診断レポーター スレッドが、テスト実行中にリダイレクトされた Console.Out に対してテスト名を書き込み、キャプチャされた出力を汚染していたことが原因です。テスト本体を RemoteExecutor.Invoke() でラップして、xunitレポーター スレッドが干渉しない独立した子プロセスで実行するように修正しました。
続きを読む
@stephentoub ・ GitHub ・ area-System.Text.RegularExpressions
正規表現ソースジェネレータがXML doc コメント内でU+2028(行区切り文字)とU+2029(段落区切り文字)をリテラルで出力する際に、C#のコンパイラがコメント内の行終了と解釈してXML解析エラー(CS1519/CS1056)を引き起こす問題を修正しました。これらの文字をエスケープシーケンス(\u2028/\u2029)として出力することで問題を解決します。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
WebAssembly RyuJit構成におけるTARGET_64BITマクロの誤った使用を修正しています。WASM環境ではTARGET_64BITがfalseですが、longが分解されない場合がある点に対応するため、#ifndef TARGET_64BITを#if LOWER_DECOMPOSE_LONGSに置き換え、実際にlong分解を行うターゲット(x86/arm32など)でのみアサーション検証を実施するようにしました。
続きを読む
@danmoseley ・ GitHub ・ area-System.Text.RegularExpressions
#124628で導入されたRegexInterpreter.MatchStringの簡略化(char-by-charループをStartsWith/EndsWithに置換)をrevertします。この変更により、arm64環境で短い文字列を対象とした正規表現パターン(例:.{0,2}(Tom|Sawyer|Huckleberry|Finn))で7-11%のパフォーマンス低下が発生したため、元の実装に戻します。
続きを読む
@Copilot ・ GitHub ・ area-System.Numerics
32ビットプラットフォームでのFastReducer_AssertFailure_RegressionTestのテスト失敗に対するワークアラウンドです。[ActiveIssue]属性を追加して、32ビットプロセスで実行する際にこのテストをスキップします。
[Theory]
[MemberData(nameof(AssertFailureRegressionTest_InputData))]
[ActiveIssue("https://github.com/dotnet/runtime/issues/126212", typeof(PlatformDetection), nameof(PlatformDetection.Is32BitProcess))]
public static void FastReducer_AssertFailure_RegressionTest(...)
続きを読む
@kg ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssembly(Wasm)RyuJIT上でのint/longからfloat/doubleへのキャスト処理の基本的な実装を追加します。オーバーフロー確認が不要な場合に対応し、Wasm命令セット(f32/f64.convert_{s/u}_{i32/i64})を活用した効率的なコード生成を実現します。
@Copilot ・ GitHub ・ area-System.Diagnostics.Process
Unix プロセス起動時の argv と envp の構築に関わる中間的なマネージド割り当てを削除し、単一の連続したネイティブメモリブロックに直接エンコードするように最適化したものです。ProcessStartInfo.Environment 辞書を直接渡し、文字列連結や中間配列の割り当てを排除することで、メモリ効率を向上させます。
@AaronRobinsonMSFT ・ GitHub ・ area-Interop-coreclr
COM ライセンス認証の実装をリファクタリングするプルリクエストです。以前の部分的なリバートをリバートし、CoreCLR と管理側のライセンス相互運用グルーを [UnmanagedCallersOnly] 呼び出しパターンと BSTR マーシャリングを使用するように改善します。また、ネイティブテストの所有権バグを修正し、不要なシグネチャを削除します。
@Copilot ・ GitHub ・ area-System.Diagnostics.Process tenet-performance
macOS上でプロセス生成時にfork/execの代わりにposix_spawnを使用するよう変更しました。これにより、認証情報の設定が不要な場合のパフォーマンスと安全性が向上します。posix_spawnは認証情報設定に未対応のため、setCredentialsがtrueの場合は既存のfork/execパスにフォールバックします。
@AaronRobinsonMSFT ・ GitHub ・ area-ExceptionHandling-coreclr
clrex.cppにおける例外構築パスをMethodDescCallSite/CallDescrWorkerからUnmanagedCallersOnlyCallerパターンへ移行するもの。ArgumentException、TypeLoadException、FileLoadExceptionの3つの例外についてVM-to-managed間の呼び出しをReverse P/Invokeパターンに統一し、コール機構の現代化を図る。
続きを読む
@danmoseley ・ GitHub ・ area-System.Text.RegularExpressions
x86 checked coreclr上でSystem.Text.RegularExpressions.Testsの4つのテストがOutOfMemoryExceptionで失敗する問題を修正します。SourceGenerated正規表現エンジンはテスト時にRoslyn全体コンパイルを実行し、大量のパターン(最大~2,903パターン)が32ビットアドレス空間(~2GB)を枯渇させます。本変更により、32ビットプロセスではRoslyn呼び出しごとに最大200パターンに制限し、メモリ使用量を削減します。
続きを読む
@Copilot ・ GitHub ・ area-System.IO
NTFS マウントポイント操作の伝播に必要な時間を考慮していない固定遅延(300ms)が原因で、Directory_Delete_MountVolume および Directory_ReparsePoints_MountVolume テストが高負荷CI環境で不安定になっていた問題を修正。固定遅延をポーリングループに置き換え、マウントボリュームの削除完了を確実に待機するようにしました。
@rcj1 ・ GitHub ・ area-Diagnostics-coreclr
cDAC(Common Data Access Component)ダンプテストに対してR2R(Ready-To-Run)コンパイル検証機能を追加するPRです。ダンプテストがR2Rコンパイル版とJIT版(DOTNET_ReadyToRun=0で強制)の両構成でテストされるようになります。テスト構成はExecutionManagerおよびStackWalkダンプについてR2R vs JITの検証をカバーしています。
続きを読む
@kg ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssembly RyuJIT のブロックストア(GT_STORE_BLK)のローリング/コード生成に関する問題を修正します。Issue #125756 で報告されたクロスジェン/デバッグビルド時のアサート失敗に対応するため、memory.copy/memory.fill オペコードの operand 表現と containment 処理を改善します。
@Copilot ・ GitHub ・ area-Infrastructure-libraries linkable-framework
runtime-asyncをnet11.0以上の共有フレームワークソースプロジェクトで自動有効化し、設定用のRuntimeAsyncconfig knobを削除する変更です。プラットフォーム除外(browser、wasi、android、Apple mobile、Mono)とOOBパッケージの除外条件を設定し、RISC-VとLoongArchのリロケーションハンドリングを修正します。
@Copilot ・ GitHub ・ area-CodeGen-coreclr reduce-unsafe
XslNumber.csのConvertToDecimalメソッドをアンセーフコードからセーフコードに書き直しました。stackallocとポインタ演算を使用したunsafeブロックを、string.Createと境界チェック対応のforループに置き換えています。これにより、中間バッファのコピーを削減し、コード安全性を向上させます。
2026年03月27日 (27 PRs) うち Bot 1 件 この日のページ →
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
WebAssembly JIT Stackifierの一時ローカル変数再利用機構を、粗いWasmValueTypeではなく実際のJIT型(genActualType経由)でトラッキングするよう改善。これにより、GC追跡型(TYP_REF/TYP_BYREF)と非GC型を区別して一時変数を再利用できるようになります。
@rcj1 ・ GitHub ・ area-Diagnostics-coreclr
ARM32環境におけるThumbビット処理のバグを修正しました。cDACのExecutionManagerにおいて、メソッドRVA計算前にコードポインタを実アドレスに正規化することで、EH(例外処理)句のルックアップを正しく動作させます。
@am11 ・ GitHub ・ area-Extensions-Logging community-contribution
NativeAOT環境でRemoteExecutorがサポートされていないため、色環境変数に関連するテストが失敗していた問題を修正しました。DoesConsoleSupportAnsi_RespectsColorEnvVarsテストにRemoteExecutorSupported属性を追加し、RemoteExecutorが利用可能なプラットフォームでのみテストが実行されるようにしました。
@adamsitnik ・ GitHub ・ test-enhancement area-System.Formats.Nrbf
System.Formats.Nrbf.Tests.EdgeCaseTests.CanReadArrayOfAnySizeテストの不安定性を改善するため、前回の修正(#126006)を補完するPRです。Array.MaxLength(~2GB)テストケースがRELEASEビルドされたライブラリでのみ実行されるようにすることで、タイムアウトおよびflakiness問題を根本的に解決します。
@am11 ・ GitHub ・ community-contribution area-NativeAOT-coreclr
LLVM libunwind を 22.1.1 にアップデートします。このPRは3つのコミットで構成され、最初のコミットで libunwind ソースを更新、2番目で過去のパッチを cherry-pick、3番目でバージョンファイルを更新します。squash せずにマージすることが重要です(コミット参照を保持するため) 。
@jtschuster ・ GitHub ・ area-crossgen2-coreclr
NativeAOT/ReadyToRun コンパイル時に、メソッドの再コンパイル(クロスモジュールインライニングなど)によって同一ターゲットメソッドに対する重複した AsyncResumptionStub インスタンスが作成される問題を修正します。これにより依存グラフのソート時に TypeSystemComparer.Compare() の Debug.Assert が発火していました。CompilerTypeSystemContext に AsyncResumptionStubHashtable を追加し、(targetMethod, owningType) をキーとしてスタブをインターン化することで、重複作成を防止します。
続きを読む
@Copilot ・ GitHub ・ area-VM-coreclr
PR #119863でCoreCLR例外処理(EH)の第2パス処理がネイティブコードに移行された際に、不要となったLastReportedFuncletInfo構体の定義が残されていたため、これを削除するクリーンアップです。削除対象の構体はコード内に全く参照されていない完全な孤立した定義です。
@AndyAyersMS ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssembly (Wasm RyuJit) コンパイラで GT_INDEX_ADDR ノードから直接bounds checksを発行できるようにする機能追加です。特にminoptsでは GT_INDEX_ADDR が明示的な GT_BOUNDS_CHECK ツリーに展開されないため、この対応により配列要素アクセス時の境界チェック生成が改善されます。
@pavelsavara ・ GitHub ・ arch-wasm area-System.Runtime.InteropServices.JavaScript os-browser
Browser/CoreCLR JS ホストサーフェスをクリーンアップするPRです。文字列/UTF-8ヘルパー関数をBrowserUtilsExportsに統合し、相互運用呼び出しサイトを更新しています。主な変更点は、utf8ToStringRelaxedとviewOrCopyをクロスモジュール交換に移行、ReceiverShouldFreeの処理を追加、WASM初期化失敗時のエラーハンドリングを改善、SharedArrayBuffer使用時のバッファコピーに対応しています。
続きを読む
@Copilot ・ GitHub ・ area-System.Diagnostics.Process test-enhancement os-android
System.Diagnostics.ProcessのAndroidプラットフォーム向けテストスイートを実装しました。モバイルプラットフォームではRemoteExecutorがサポートされていないため、これまでテストカバレッジがゼロでした。本PRではlsとsleepコマンドを使用したAndroid固有の5つのテストを追加し、基本的なプロセス操作(起動、標準出力リダイレクト、プロセス終了、終了コード、ハンドルベースのIO)をカバーしています。
続きを読む
@Copilot ・ GitHub ・ area-System.Security
CoseMessage.DecodeSign1がCBORヘッダーラベルまたは重要なヘッダー値にInt32をオーバーフローするような大きな整数が含まれている場合、CryptographicExceptionの代わりに生のOverflowExceptionをスローしていた問題を修正します。新しい拡張メソッドReadInt32ForCryptoを導入し、OverflowExceptionを適切にCryptographicExceptionでラップします。
// Before: OverflowException escapes to caller
CoseMessage.DecodeSign1(malformedData); // throws OverflowException
// After: properly wrapped
CoseMessage.DecodeSign1(malformedData); // throws CryptographicException (inner: OverflowException)
続きを読む
@Copilot ・ GitHub ・ area-VM-coreclr
CoreCLR COM相互運用性(IDispatch)のサポートをリファクタリングし、IDispatch関連のマネージドヘルパーメソッドをStubHelpersから専用のSystem.Runtime.InteropServices.IDispatchHelpersクラスに移動します。これに伴い、MethodDescCallSiteをUnmanagedCallersOnly(UCO)に変換し、VM呼び出しサイトを更新して新しいエントリポイントを使用するようにします。
続きを読む
@danmoseley ・ GitHub ・ area-Infrastructure
Helix Linux コンテナでテストプロセスが終了コード137(SIGKILL/OOM)で終了する際、dmesgがCAP_SYSLOG権限不足で失敗するため、特別な権限を必要としない/sys/fs/cgroup/memory.events(cgroup v2)から OOM 情報を取得するフォールバックを追加します。プロセス固有の cgroup パスは /proc/self/cgroup から導出され、ルート cgroup へのフォールバックも試行します。
続きを読む
@Copilot ・ GitHub ・ test-enhancement area-System.Formats.Nrbf
System.Formats.Nrbf.Tests.EdgeCaseTests.CanReadArrayOfAnySizeテストがChecked CoreCLRで14分以上タイムアウトする問題を修正しました。2GB配列テストケースを対象に、Checked/Debug RuntimeおよびNon-64bitプロセスでのみスキップするランタイムチェックを追加しています。小規模なテストケース(100、64,001、127,000要素)は全プラットフォームで実行継続されます。
[ConditionalTheory]
[InlineData(100)]
[InlineData(64_001)]
[InlineData(127_000)]
[InlineData(2147483591)] // Array.MaxLength
public void CanReadArrayOfAnySize(int length)
{
if (length == 2147483591 && (!PlatformDetection.Is64BitProcess || !PlatformDetection.IsReleaseRuntime || !PlatformDetection.IsNetCore))
{
throw new SkipTestException("It would take too much time to execute.");
}
// ...
}
続きを読む
@krwq ・ GitHub ・ area-System.Security
CngPropertyコンストラクタにReadOnlySpan<byte>オーバーロードを追加しました。これにより、バイト配列をコピーせずに安全にプロパティ値を設定でき、メモリ効率と利便性が向上します。
@kotlarmilos ・ GitHub ・ area-Infrastructure-mono
dotnet/runtime#125771で無効化されたiOS/tvOS CI ジョブを再度有効化するリバート PR です。ランタイム パイプラインマトリックスにおいて、ios_arm64 と tvos_arm64 プラットフォームの CI ジョブを復活させます。
@Copilot ・ GitHub ・ area-System.Diagnostics.Tracing
BasicEventSourceTests の ETW テストが CI ストレス環境(PGO、jitstress)で断続的に NullReferenceException で失敗する問題を修正。原因は EtwListener.ApplyEventSourceCommand が文字列ベースの EnableProvider を使用していたため、Windows API の TdhEnumerateProviders が負荷下で一時的に失敗し、null プロバイダー辞書を返していた。修正として、GUID ベースの EnableProvider オーバーロードに切り替え、プロバイダー GUID をアルゴリズム的に計算することで Windows API 呼び出しを排除。
// 変更前
_session.EnableProvider(eventSourceName, (TraceEventLevel)options.Level, (ulong)options.Keywords, ...);
// 変更後
var providerGuid = TraceEventProviders.GetEventSourceGuidFromName(eventSourceName);
_session.EnableProvider(providerGuid, (TraceEventLevel)options.Level, (ulong)options.Keywords, ...);
続きを読む
@vcsjones ・ GitHub ・ area-System.Security
RFC 9881の公開に伴い、ML-DSA X.509 PKI関連のAPIを安定化させるため、ExperimentalAttributeを削除するPRです。PublicKey、X509Certificate2、X509CertificateKeyAccessorsのML-DSA関連メンバー、およびML-DSA SPKI/PKCS#8インポート/エクスポートAPIから実験的属性を削除します。なお、External-MuおよびSignPreHashメンバーは引き続き実験的状態です。
続きを読む
@stephentoub ・ GitHub ・ area-System.Numerics
System.Numerics.BigIntegerの内部実装をuintリムからnuint(ネイティブ幅)リムへ書き直しました。64ビットプラットフォームではリム数が半減し、マルチリム算術のスループットが向上します。公開APIは変更されていません。
主な改善:
64ビットプラットフォームで各リムが64ビットを保持(32ビットから倍増)
Montgomery乗算とREDCをModPow用に追加し、奇数法での除算ベース削減を排除
スライディングウィンドウ指数演算でModPowの乗算回数を削減
ビット演算での2の補数演算を融合し、アロケーション削減
10のべき乗テーブルをキャッシュして計算コスト削減
続きを読む
@Copilot ・ GitHub ・ area-Microsoft.Win32
SignalsUserPreferenceEventsAsynchronouslyテストがJITストレス環境で不安定だった問題を修正します。OSから予期しないWM_SETTINGCHANGEメッセージ(wParam=0、カテゴリGeneral)がハンドラー登録とテストメッセージ処理の間に送信される競合状態が原因でした。非同期パスではメッセージ反映までにラグがあるため、JITストレスによる遅延がこの競合ウィンドウを拡大します。
修正内容:changingHandlerとchangedHandlerの両方に、e.Category == expectedCategoryのガード条件を追加し、予期しないOS生成イベントを無視するようにしました。
// 修正後
UserPreferenceChangingEventHandler changingHandler = (o, e) =>
{
if (e.Category == expectedCategory)
{
changingArgs = e;
changing.Set();
}
};
続きを読む
@eiriktsarpalis ・ GitHub ・ area-System.Text.Json
System.Text.JsonでF#の判別共用体(discriminated unions)のシリアライゼーション/デシリアライゼーション機能が実装されました。フィールドなしの共用体は JSON文字列として、フィールド付きはJSON オブジェクト($type型判別子付き)としてシリアライズされます。
type Shape =
| Point
| Circle of radius: float
| Rectangle of height: float * length: float
let json = JsonSerializer.Serialize(Circle 3.14)
// -> {"$type":"Circle","radius":3.14}
続きを読む
@adamperlin ・ GitHub ・ area-crossgen2-coreclr
WasmObjectWriter に WebCIL エンベロープサポートを実装しました。RyuJIT Wasm AOT コンパイラが WebAssembly バイナリ内に PE/CLI ヘッダーとデバッグディレクトリデータを配置できるようになります。
WebCIL ペイロードは、WebCIL 仕様に従って 2 つの Wasm データセグメントとして出力されます:
(data "\0f\00\00\00") ;; データセグメント 0: ペイロードサイズ(4バイト LE uint32)
(data "payload\cc") ;; データセグメント 1: webcil ペイロード(4バイト境界に整列)
続きを読む
@pavelsavara ・ GitHub ・ arch-wasm area-VM-coreclr linkable-framework size-reduction os-browser
Browser WASM向けのCoreCLRランタイムビルドをトリミングするため、非Windows環境でCOM相互運用、SEH例外、Windows固有のコードパスを条件付きコンパイルで除外します。また、ComActivatorの逆P/Invokeサンク生成をスキップし、WASM PInvokeCollectorにBrowser非サポート型のコールバック処理をスキップさせる機能を追加します。
@Copilot ・ GitHub ・ area-System.Console
FORCE_COLOR環境変数(force-color.orgで定義されるスタンダード)のサポートを追加し、標準出力がリダイレクトされていても強制的にANSIカラー出力を有効にします。これによりdotnet watchなどでリダイレクトされた子プロセスにおいても色付き出力が保持されます。DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTIONは従来の動作を保つレガシーエイリアスとなり、優先順位は①FORCE_COLOR/DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION(任意の非空値で色ON) → ②NO_COLOR(任意の非空値で色OFF) → ③リダイレクト検査となります。またNO_COLOR=""は仕様に基づき無視されるようになります。
続きを読む
@stephentoub ・ GitHub ・ area-System.Runtime
IEEE 754形式の16進浮動小数点数のパース・フォーマット機能をdouble、float、Half、BFloat16に追加しました。新しいNumberStyles.HexFloat複合スタイルと"x"/"X"フォーマット指定子により、16進浮動小数点数の入出力が可能になります。
// パース例
double d = double.Parse("0x1.8p+3", NumberStyles.HexFloat); // 12.0
// フォーマット例
double d = 12.0;
string hex = d.ToString("x"); // "0x1.8p+3"
続きを読む
@a74nh ・ GitHub ・ area-System.Runtime.Intrinsics community-contribution
SVE(Scalable Vector Extension)のCreateWhile APIを拡張し、既存の符号なし型対応APIを明確に名前付けし直すとともに、符号付き型およびDouble/Single型に対応する新しいバリアント関数を追加しました。
2026年03月26日 (26 PRs) うち Bot 3 件 この日のページ →
@danmoseley ・ GitHub ・ disabled-test area-Infrastructure-coreclr os-android
Android CoreCLR エミュレータ上で System.Security.Cryptography.Tests が メモリ不足(OOM)により確定的に失敗するため、スモークテストから除外します。暗号テストスイートが約2GBのメモリ上限に達して lowmemorykiller により強制終了されており、個別テストの無効化では根本的な解決にならないため、プロジェクト全体を除外することで対応します。
続きを読む
@MichalStrehovsky ・ GitHub ・ area-Build-mono
CoreCLR WebAssembly ビルド/実行ドキュメントを更新し、CORERUN_IN_BROWSER 変数によるブラウザワークフロー有効化の説明を追加しました。また、ファイルコピーが dotnet-serve 実行前に必要となるため、ドキュメント内の手順を再構成しています。
@eduardo-vp ・ GitHub ・ area-System.Threading
ReentrantWaitFromSyncContextTestのMonoランタイムにおけるActiveIssue属性の参照先をより新しい追跡Issueに更新し、テストのスキップ/トリアージを現在の調査状況と整合させるためのメタデータ更新です。
@radekdoulik ・ GitHub ・ arch-wasm area-Infrastructure-coreclr
シングルスレッド WASM 環境でマルチスレッド型初期化子(circular cctor)テストがデッドロック/クラッシュするため、ConditionalFact(IsMultithreadingSupported) 属性を追加して、マルチスレッド対応環境でのみ実行するように修正しました。
@danmoseley ・ GitHub ・ area-System.Text.RegularExpressions
正規表現の解析時ツリーリダクション処理を改善する2つの変更を実施します。
冗長なAtomicラッパーの削除 : バックトラック不可能な単一ノード(One/Notone/Set/Multi)から不要なAtomic((?>...))ラッパーを削除。383パターン(2.2%)に影響。
ExtractCommonPrefixTextの修正 : 非テキストブランチが存在する場合、処理を中断せず継続することで、後続する共通プレフィックスを持つテキストブランチのファクタリングを可能に。1,090パターン(6.3%)に影響。
続きを読む
@stephentoub ・ GitHub ・ area-System.Text.RegularExpressions
正規表現エンジンの固定カウント単一文字リピーター(例:\d{N})に対して、アンロール展開とベクトル化操作の選択基準となるMaxUnrollSize閾値を16から8に低下させました。ベンチマーク結果から、カウント8以上ではベクトル化操作(ContainsAnyExceptなど)が全ての文字クラス型で有効であることが確認されています。
@am11 ・ GitHub ・ area-PAL-coreclr community-contribution
コミット 0b42ec71bfc 以降、未使用となっていた PAL_VirtualUnwind 関数の contextPointers 引数を削除しました。この変更は、PAL(Platform Abstraction Layer)の例外ハンドリング機能の内部実装の簡潔化を目指しています。
@pavelsavara ・ GitHub ・ arch-wasm area-System.Runtime.InteropServices.JavaScript os-browser
ブラウザ環境での setEnvironmentVariable ランタイムAPIの廃止・削除。CoreCLR向けブラウザランタイムからは完全に削除し、Mono向けブラウザランタイムでは非推奨化する。環境変数の設定には withEnvironmentVariable() またはホストビルダーベースの構成を使用すべき。
@am11 ・ GitHub ・ area-VM-coreclr community-contribution
AppDomain::ExceptionUnwindメソッドは不要な空実装(no-op)であるため、削除されました。このメソッドはランタイムの例外処理フレームワーク内で何の機能も果たしていませんでした。
@jeffhandley ・ GitHub ・ area-Infrastructure
.github/labeler-readme.md ファイルを workflows フォルダから移動させ、GitHub Actions のエージェント型ワークフロー(gh aw コマンド)に誤認識されるのを防ぐ変更です。
@radekdoulik ・ GitHub ・ arch-wasm area-Infrastructure-coreclr
WebAssembly/CoreCLRプラットフォーム上で、ネイティブテストアセットが利用できない環境におけるstructinreg P/Invokeテストの実行を無効化するもの。テストが[DllImport("jitstructtests_lib")]を使用するため、ネイティブリンクの準備が完了するまでテストをスキップします。
@danmoseley ・ GitHub ・ area-Infrastructure
MSBuild がクラッシュした際の診断ファイル(MSBuild_*.failure.txt)を CI パイプラインで保持するため、グローバルビルドジョブテンプレートに MSBUILDDEBUGPATH 環境変数を追加します。
これまで一部のコンポーネント固有のビルドスクリプトのみが診断ファイルを artifacts/log/<config>/MsbuildDebugLogs に出力していましたが、トップレベルのビルドパイプラインではデフォルトのシステム一時ディレクトリが使用され、エージェントのクリーンアップ時に失われていました。
続きを読む
@Copilot ・ GitHub ・ Servicing-approved area-System.Numerics test-bug
release/8.0ブランチのSystem.Runtime.Numerics.TestsのOuterLoopテストがLinux環境でOOM(メモリ不足)によるSIGKILL(終了コード137)で失敗していた問題を修正します。LargeValueLogTestsとDoubleExplicitCastFromLargeBigIntegerTestsでBigIntegerをint.MaxValue / 10ビット単位でシフトしていたため、反復ごとに107MBのメモリを消費していました。この変更により、シフト量を1 << 24に削減し、反復ごとのメモリ消費を 107MBから~8MBに削減しながら、テストの正当性を維持します。
続きを読む
@Copilot ・ GitHub ・ area-System.Net.Http
AndroidのHTTPスタック上でLargeUriAndHeaders_Worksテストが一貫してタイムアウトしていた問題を修正。テストが生成するパス・ヘッダー名・ヘッダー値の文字列サイズをプラットフォーム別に調整し、Androidでは100K文字に削減する一方、他のプラットフォームでは元の10M文字のテストレベルを維持します。
@svick ・ GitHub ・ area-Extensions-Hosting
BackgroundServiceの例外集約テストのフレーキーネスを削減するPR。複数のバックグラウンドサービスが全て開始された後にのみ例外を発生させるよう、DI提供のBarrierを使用することで、タイミング依存の問題を解決します。また、ホスティングシャットダウンヘルパーでのリソース処理も改善しています。
@Copilot ・ GitHub ・ area-System.Diagnostics.Process
Linux上でProcess.Start()直後にProcessNameが期待値(例:"sleep")ではなく親プロセスの切り詰められた名前(".NET Long Runni")を返すフレーキーなテスト失敗を修正します。根本原因は、fork()後でexecve()完了前にプロセス情報を読み取る際に発生する競合状態です。修正では、ProcessNameが期待値と一致するまで50ms間隔で最大1秒間ポーリングするようテストを更新します。本番コードの変更はありません。
続きを読む
@Copilot ・ GitHub ・ area-System.Diagnostics.Process
Windows 11の新型メモ帳がApp Execution Aliasを使用している問題により、Process.Start("notepad.exe")がスタブランチャーのPIDを返すため、MainWindowFinderがウィンドウマッチングに失敗していました。このPRでは、notepad.exeへの依存をRemoteExecutorを使用した決定論的なヘルパープロセスに置き換えます。ヘルパープロセスはバックグラウンドスレッドでMessageBoxWを呼び出し、制御されたPIDを持つ可視の所有者なしトップレベルウィンドウを作成します。
続きを読む
@MichalPetryka ・ GitHub ・ area-VM-coreclr linkable-framework community-contribution
COM呼び出しにおけるスタティック仮想メソッドの処理を修正しました。従来のVSD(Virtual Stub Dispatch)スタブを誤って使用していたことによるランタイムアサート失敗の問題を解決しています。
@Copilot ・ GitHub ・ area-System.Diagnostics.Process
ProcessStartInfoに3つの新しいSafeFileHandle?プロパティ(StandardInputHandle、StandardOutputHandle、StandardErrorHandle)を追加し、子プロセスにファイルハンドルを直接渡す機能を実装しました。これにより、RedirectStandard*パイプメカニズムを経由せずにハンドルベースのリダイレクションが可能になります。
var psi = new ProcessStartInfo("grep") { ArgumentList = { "test" } };
SafeFileHandle.CreateAnonymousPipe(out SafeFileHandle readPipe, out SafeFileHandle writePipe);
psi.StandardInputHandle = readPipe;
psi.StandardOutputHandle = File.OpenHandle("output.txt", FileMode.Create, FileAccess.Write);
using Process process = Process.Start(psi)!;
writePipe.Dispose();
続きを読む
@maraf ・ GitHub ・ arch-wasm area-Build-mono os-browser
WASM テンプレートビルドテストを更新し、WasmEmitTypeScriptDefinitions 有効時のビルド増分性(インクリメンタルビルド)を検証するようにしました。MSBuild の -question フラグを使用してプロジェクトの最新状態を直接確認し、dotnet.d.ts が wwwroot にコピーされた後もビルドが非増分化しないことを保証します。
@maraf ・ GitHub ・ arch-wasm area-Build-mono os-browser
WebAssembly ブートコンフィグのカスタマイズ用公開 API を削除するPRです。MSBuild プロパティ(WasmInlineBootConfig、WasmBootConfigFileName)と TypeScript API の withConfigSrc メソッドを廃止し、デフォルトの埋め込みブートコンフィグまたはユーザー独自の実装に統一します。タイムアウト問題(#124947)の解決を目指しています。
続きを読む
@am11 ・ GitHub ・ area-Host community-contribution os-openbsd
OpenBSD向けのネイティブビルドサポートを追加するパッチです。get_current_os_rid_platformフォールバックコードを実装し、OpenBSDでのクロスコンパイルビルド(./build.sh host.native --cross --os openbsd --arch x64)を成功させます。将来的には#125076 のランディング後に削除予定のコードです。
@apoorvdarshan ・ GitHub ・ area-System.Threading community-contribution
TokenBucketRateLimiter.AttemptAcquire(0) が小数トークン(例:0.5)を保持している際に誤って成功していた問題を修正。3つの可用性チェックを > 0 / != 0 から >= 1 に変更し、GetStatistics().CurrentAvailablePermits(longに切り詰め)との一貫性を確保。
2026年03月25日 (35 PRs) うち Bot 2 件 この日のページ →
@vseanreesermsft ・ GitHub ・ Servicing-approved area-codeflow
emsdk(Emscripten SDK)を9.0.15へ更新する依存関係の更新PRです。WebAssembly関連のビルドツールチェーンが対象となります。
@max-charlamb ・ GitHub ・ area-Diagnostics-coreclr
cDAC(Contracts DAC)の GetLocalVariableCount メソッドをネイティブDAC仕様に合わせて修正しました。ローカル署名がないメソッド(動的メソッド、ILスタブ、ローカル変数なしのメソッド)に対して、S_OKで count 0 を返していた仕様を E_FAIL に変更します。これにより、ネイティブDACとの動作パリティが確保され、検証アサートの失火を防ぎます。
@radekdoulik ・ GitHub ・ arch-wasm area-Infrastructure-coreclr
WASM CoreCLR ライブラリテストパイプラインテンプレートを更新し、Firefox と V8 ブラウザエンジンのシナリオでスモークテストのみを実行するように強制します。これにより Linux x64 キューの負荷を軽減します。
@Copilot ・ GitHub ・ area-System.Diagnostics.Process
ProcessStartInfo コンストラクタと Process.Start() メソッドの arguments パラメータを nullable (string?) に変更する nullability アノテーション更新。これまで null を受け取ると内部的に null のまま保存されていましたが、getter で string.Empty を返していた実際の動作に公開 API 契約を合わせるもの。
// 以前は nullable 警告が出ていたが、今後は正しく null を受け付ける
var psi = new ProcessStartInfo("dotnet", null);
var p = Process.Start("dotnet", null);
続きを読む
@eduardo-vp ・ GitHub ・ area-System.Threading
Monitor.Waitの再入可能性に関する問題を修正します。メッセージポンピングを許可する同期コンテキスト(SynchronizationContext.Waitなど)を使用する場合、同じスレッド上での入れ子になったMonitor.Wait呼び出しが単一のスレッド静的Waiterを共有し、一方の待機がもう一方のPulseを横取りする問題が発生していました。
本修正では、待機中にスレッド静的Waiterをnullに設定することで、再入可能なMonitor.Waitは独立したAutoResetEventを持つ独自のWaiterを取得するようにします。待機完了後にWaiterは復元されます。
続きを読む
@stephentoub ・ GitHub ・ area-Meta
CONTRIBUTING.mdにdotnet/extensionsリポジトリを追加し、問題報告者がより適切なリポジトリを特定できるよう貢献ガイドラインを更新しました。
@stephentoub ・ GitHub ・ area-Infrastructure
dotnet/runtimeリポジトリに自動コードレビュー機能を提供するGitHub Agentic Workflowを追加します。このワークフローはプルリクエストがオープンされた時、または新しくプッシュされた時に自動的にトリガーされ、リポジトリのcode-reviewスキルを使用して構造化されたレビューコメントをPR上にポストします。
@dhartglassMSFT ・ GitHub ・ area-CodeGen-coreclr
JIT コンパイラの gtFoldExprHWIntrinsic 関数内で、Vector.WithElement メソッドのインデックス引数がバウンドチェック付きの値(COMMA式)である場合に発生していたアサーション エラーを修正します。従来は単純な整数定数のみを想定していましたが、実際にはバウンドチェック結果を含むCOMMA式が渡される可能性があったため、この条件の厳密性を緩和しました。
@AndyAyersMS ・ GitHub ・ arch-wasm area-CodeGen-coreclr
Wasm RyuJit のローカル変数コード生成を修正し、レジスタサイズの構造体ローカルを正しく読み込むために、ロード命令発行時に適切なメモリ属性(emitAttr)を使用するようにしました。
@jeffhandley ・ GitHub ・ area-Infrastructure
このPRはGitHub Agentic Workflows (gh-aw) をGitHub Copilotで安全に実行するためのインフラストラクチャを導入します。主な機能として、複数のCopilot Personal Access Token (PAT) から無作為に選択するメカニズムを実装し、レート制限の問題を軽減します。
@stephentoub ・ GitHub ・ area-System.Runtime.Intrinsics
Vector64/128/256/512.Asin の新しい公開APIを追加し、TensorPrimitives.Asin のSIMD ベクトル化を有効にします。これにより、float および double テンソルワークロードのパフォーマンスが向上します。
@radekdoulik ・ GitHub ・ arch-wasm area-CodeGen-Interpreter-coreclr
インタプリタのCEE_SWITCHハンドラーが、ターゲット数が0の空のswitch命令(例:IL内のswitch())をコンパイルする際にクラッシュする問題を修正しました。ハンドラーが無条件にallocate(n)を呼び出し、n=0の場合にアリーナアロケータのassert(size != 0)をトリガーしていました。
@MichalStrehovsky ・ GitHub ・ area-Extensions-DependencyInjection
ActivatorUtilitiesのスタートアップ最適化を目的とした変更です。GetServiceInfo MethodInfoの初期化を遅延させることで、クラス読み込み時に発生していた負荷の高いDelegate.Methodリフレクション呼び出しを、実際に必要になるまで先延ばしにします。ネイティブAOTビルドでは不要ですが、自動的に除去するのが困難なため、遅延初期化パターンで対応します。
@richlander ・ GitHub ・ area-Infrastructure-libraries
Linux ビルドプール設定を Ubuntu 22.04 から Azure Linux 3 に移行します。前回の #125535 での移行漏れをカバーし、エンタープライズテストおよびストレステストのビルドプール設定を統一します。
@richlander ・ GitHub ・ area-Infrastructure
.NET 11のサポートOS一覧に基づいて、Helix CI/CDパイプラインの古いOS版を最新のサポート版に更新するもの。EOL済みまたはEOL前の環境を除去し、CI実行環境をサポート対象OSに揃えます。
@Copilot ・ GitHub ・ area-Build-mono
MonoAPI相互運用テスト(InstallEHCallback、PInvokeDetach、Thunks)がMono Windows x64でのテスト実行時に失敗するため、これらのテストに[ActiveIssue]属性を追加しました。xUnit変換時(#123248)に失敗スキップ属性が喪失した問題の復旧です。
[ActiveIssue("https://github.com/dotnet/runtime/issues/67047", TestPlatforms.Windows, runtimes: TestRuntimes.Mono)]
続きを読む
@Copilot ・ GitHub ・ area-Infrastructure-coreclr
macOS/Linuxでsudo経由で起動されたcreatedumpプロセスのタイムアウト時にEPERMエラーが発生する問題を修正。root所有のプロセスに対して非rootプロセスからProcess.Kill()を実行できない制限に対し、sudo killを使用した専用の終了ヘルパーメソッドを実装。従来の失敗時リトライワークアラウンド(最大5回)を削除し、根本的な解決方法に置き換え。
@stephentoub ・ GitHub ・ area-skills
api-proposalスキルを強化し、新しいAPI提案時に dotnet/runtime リポジトリ全体での採用候補箇所を体系的にカタログ化することを要件化します。これにより、提案されたAPIが実際のランタイムコードベースで如何に活用できるかを明示的に検証できるようになります。
@Copilot ・ GitHub ・ area-AssemblyLoader-coreclr
アセンブリロード時のETWトレーシングイベント(AssemblyLoadContextResolvingHandlerInvoked と AppDomainAssemblyResolveHandlerInvoked)における HandlerName フィールドに、メソッド名だけでなく宣言型の完全修飾名を含めるように改善しました。これにより dotnet-trace での診断時にハンドラーの登録元コンポーネントを特定しやすくなります。
変更例:
// Before: OnResolving
// After: MyNamespace.MyClass.OnResolving (DeclaringTypeがnullの場合は OnResolving)
続きを読む
@haltandcatchwater ・ GitHub ・ area-Extensions-Configuration community-contribution
ErrorOnUnknownConfigurationが有効な場合、ConfigurationKeyNameAttributeで指定されたプロパティ名を認識しない不具合を修正しました。既知のプロパティ名セットを構築する際に、属性で指定された名前ではなくC#プロパティ名のみを使用していたため、属性で指定された名前に一致する設定キーが未知の設定キーとして誤って判定されていました。
@DrewScoggins ・ GitHub ・ area-Infrastructure
ランタイムパフォーマンスパイプラインテンプレートを更新し、インタープリタフォールバックを使用したR2Rコンポジットベンチマーク向けの新しいCoreClrビルドバリアント(coreclr_r2r_interpreter)を追加しました。動的コード生成を無効化(-dynamiccodecompiled false)したCoreClrビルドを実装しています。
@Copilot ・ GitHub ・ area-Diagnostics-coreclr
CoreCLR DAC/DBI デバッグAPIの DacDbiInterfaceImpl::GetMetaDataFileInfoFromPEFile メソッドにおいて、pStrFilename->AssignCopy(wszFilePath) の戻り値(HRESULT)が無視されていたバグを修正します。AssignCopy が失敗(例:E_OUTOFMEMORY)した場合でも、メソッドが S_OK を返してしまう問題を、IfFailThrow() でラップして適切にエラーを伝播させます。
続きを読む
@max-charlamb ・ GitHub ・ area-Infrastructure
cDAC(コンテナ化されたデータアクセスコンポーネント)ダンプテストのHelix CI/CDインフラに、32ビットプラットフォーム対応を追加します。windows_x86 (WoW64経由)とlinux_arm (コンテナ化ARM32キュー)を新たにテスト対象プラットフォームとして統合し、6プラットフォーム全体でのダンプ生成/テストカバレッジを拡大します。
@dhartglassMSFT ・ GitHub ・ area-CodeGen-coreclr
Random-inline JIT stress テストで ARM64 上の多重レジスタ返却(multi-reg-ret)構造体の Copy Propagation 処理中に lvIsMultiRegRet フラグが正しく伝播されず、Lowering::ContainCheckRet でアサーション失敗が発生する問題を修正します。Assertion-driven Copy Propagation 実行時に、置換先のローカル変数へ lvIsMultiRegRet フラグを明示的に設定することで対応します。
続きを読む
@davidwrighton ・ GitHub ・ arch-wasm area-crossgen2-coreclr
このPRはWebAssembly (Wasm32) import thunkサポートをReadyToRun (R2R) コンパイラに追加します。Wasm向けの新しいR2Rノード(WasmImportThunk、WasmImportThunkPortableEntrypoint)を導入し、Wasm命令エンコーディング、オブジェクトライター、JIT側のリロケーション処理を拡張して、R2Rで生成されたWasmコードがfixup/importヘルパー経由で外部コードを呼び出せるようにします。
続きを読む
@rustamque ・ GitHub ・ area-System.Data community-contribution
DataRecordInternal.csにおける整数オーバーフロー脆弱性を修正。dataIndexがint.MinValue未満の場合、キャスト時に値が切り詰められ、InvalidSourceBufferIndex例外がスローされない問題を解決しました。Linux Verification Center(SVACE)により検出されました。
@max-charlamb ・ GitHub ・ area-Diagnostics-coreclr
cDAC(Compact Data Access Component)のデバッグ機能を拡張するPRで、ClrDataFrame.GetArgumentByIndex/GetLocalVariableByIndexを実装し、フレーム内の引数と局所変数の検査を可能にします。DebugInfo契約v2、SignatureDecoder契約、RuntimeTypeSystem契約の新規追加により、ネイティブ変数位置の解決、メソッドシグネチャのデコード、型情報の取得をサポートします。
続きを読む
@lewing ・ GitHub ・ area-Build-mono
PR #124125で導入されたバグを修正します。複数のBlazor WebAssemblyクライアントプロジェクトが同じランタイムパックを参照する場合、パススルーアセット(JS、maps、ICUデータ、native WASM)が同じNuGetキャッシュパスに解決され、静的Webアセットパイプラインで重複したIdentityキーが発生し、DiscoverPrecompressedAssetsでArgumentExceptionが発生していました。
修正では、SDK側のSourceType="Framework"慣例を使用して、パススルーファイルをプロジェクトごとのobj/fx/{PackageId}/ディレクトリに具体化し、各プロジェクトで一意なIdentityを生成します。
続きを読む
@EgorBo ・ GitHub ・ Servicing-approved area-CodeGen-coreclr
C++/CLI関数がaggregate initializationで構造体を返す場合、LowerCallMemmoveでJITがアクセス違反(0xC0000005)でクラッシュする問題をバックポートで修正しました。問題はCORINFO_HELP_MEMCPYに対してBlkOpKindUnrollを使用していたため、contained address nodeがgenCodeForMemmoveに渡されてしまうことが原因です。修正により、CORINFO_HELP_MEMCPYとSpanHelpers.Memmoveの両方に対してBlkOpKindUnrollMemmoveを統一的に使用するようにしました。
続きを読む
@janvorli ・ GitHub ・ area-PAL-coreclr
macOS上でのスレッドアクティベーション用SIGUSRシグナルのハンドラー転送機能を部分的に復元します。以前の変更で追加された、登録済みハンドラーへのシグナル転送がvsdbgの動作を破壊していたため、その部分のみを復元して互換性を回復します。
@tmds ・ GitHub ・ breaking-change needs-breaking-change-doc-created community-contribution area-System.Formats.Tar
System.Formats.Tar ライブラリに、ハードリンクされたファイルを書き込む際にHardLink形式のTarエントリを使用する機能を追加しました。これにより、同じファイルへの複数の参照をより効率的にTarアーカイブに格納できます。TarWriter、TarFile、TarExtractOptions、TarWriterOptions の各コンポーネントが拡張され、プラットフォーム固有(Unix/Windows)の実装も追加されています。
続きを読む
@ylpoonlg ・ GitHub ・ area-CodeGen-coreclr community-contribution arm-sve
ARM64 SVE(Scalable Vector Extensions)向けのJITコンパイラにおいて、読み取り修正書き込み(RMW)命令のmov/movprfxプリフィックス生成ロジックをリファクタリングしました。従来はコード生成時に分散していたこのロジックを、emit段階で統一的に処理するように変更し、非マスク付きオペレーション対応を改善しました。
@Smaug123 ・ GitHub ・ documentation area-System.Threading community-contribution
PeriodicTimer.WaitForNextTickAsyncメソッドのXML documentation を改善し、戻り値のブール値セマンティクスとValueTaskの完了状態を明確に記載しました。メソッドがtrueとfalseを返す条件、キャンセル動作について詳細な説明を追加しています。
2026年03月24日 (35 PRs) うち Bot 6 件 この日のページ →
@rcj1 ・ GitHub ・ area-VM-coreclr
PR #125867で実施された「ローダーヒープバックアウトアダプターの多重継承削除リファクタリング」をリバートする変更です。ローダーヒープ関連の実装が以前の状態に戻されます。
@radekdoulik ・ GitHub ・ arch-wasm area-Infrastructure-coreclr
WASM環境のcorerun.htmlにおける、preRunコールバック内でのTPA(Trusted Platform Assemblies)リスト生成の初期化順序の問題を修正しました。EmscriptenのaddOnPreRunはunshift()を使用するため、ファイルプリロードのrunWithFSコールバックがカスタムpreRunより先に実行される場合があり、それによってTPA列挙が失敗していました。修正後は、preRun実行時に仮想ファイルシステムがすでに生成されているか確認し、ロード済みならば即座にTPA列挙を、未ロードならば依存関係監視アプローチにフォールバックします。
続きを読む
@richlander ・ GitHub ・ Servicing-approved area-Infrastructure
EOL(End of Life)となったUbuntu 20.04ベースのarmv6 Raspbian 10ビルドコンテナおよびパイプライン参照を削除します。このPRはAIで生成され、release/8.0ブランチを対象としています。
@richlander ・ GitHub ・ Servicing-approved area-Infrastructure
release/10.0ブランチのHelix キュー設定を更新し、Linux x64テストをUbuntu 22.04 VM からUbuntu 26.04コンテナ(AzureLinux 3ホスト)に移行します。これにより、テストインフラストラクチャをUbuntu 26.04ロールアウトに合わせます。
@richlander ・ GitHub ・ Servicing-approved area-Infrastructure-libraries
release/10.0ブランチのLinuxビルドプール構成を、Ubuntu 22.04からAzure Linux 3に移行します。エンタープライズテストおよびストレステストのCI/CDパイプラインのイメージオーバーライド設定を統一し、新しいLinuxプール戦略に準拠させます。
@matouskozak ・ GitHub ・ Servicing-approved area-System.Globalization os-android
Android デバイスの基盤となるグローバライゼーション ライブラリが更新された際、タイムゾーン表示名の変更に対応するためのテスト修正です。Android プラットフォーム固有のテスト失敗を軽減することが目的です。
@pavelsavara ・ GitHub ・ arch-wasm area-Host os-browser
WebAssembly(ブラウザ)対応のcorerun ホストをWebCIL読み込み対応に更新しました。.wasm 形式のWebCILモジュールを動的にインスタンス化し、抽出したILペイロードをCoreCLRの外部アセンブリプローブフックを介して返すようにします。
@wfurt ・ GitHub ・ Servicing-approved area-Infrastructure
Helix SDK がアクセストークンを使用する場合、Creator パラメータが禁止されるエラーに対応しました。リリース 10.0 向けのインストーラー Helix パイプラインで、Creator パラメータを公開キュー(public Azure DevOps プロジェクト)でのみ渡すよう条件付けします。
@mrek-msft ・ GitHub ・ area-System.Diagnostics.Process
Mono環境下でのシグナルハンドラーテストの不安定性を修正。Monoランタイムの場合、SIGQUITがスレッドダンプを標準出力に出力し、親プロセスのStandardOutput.EndOfStreamチェックが失敗する問題を解決しました。
@rcj1 ・ GitHub ・ area-Diagnostics-coreclr
cDAC(CoreCLR Data Access Component)レガシーシムの IXCLRDataModule.GetName を実装するPRです。Loaderコントラクトからモジュールの「シンプル名」(UTF-8)を取得する機能を追加し、対象ランタイムからこのシンプル名を公開できるようにLoaderコントラクト/データモデルを拡張します。
@Copilot ・ GitHub ・ area-System.Xml
32ビットプラットフォーム(x86、WASM)で大きな無効入力に対する例外スローの際に発生していたOutOfMemoryExceptionを修正。BinHexDecoderとBase64Decoderが例外メッセージ生成時にデコードバッファ全体(数百万文字)を文字列化していたため、実際の例外送出前にメモリ枯渇が発生していた。またXmlSchemaValidatorも同様に例外メッセージに要素/属性値全体を埋め込んでいた。修正により、無効文字の場合は該当文字のみ、スキーマ検証では値を40文字に截断してメッセージサイズを制限する。
続きを読む
@Copilot ・ GitHub ・ area-Diagnostics-coreclr
Linux の pthread_setname_np による15文字の制限を超えるランタイムスレッド名を短縮する変更です。過去にスレッド名が無言で切り詰められていたため、デバッガや診断ツール(ps、top、htop)での識別が困難でした。6つのスレッド名をそれぞれ15文字以下に短縮し、複数のランタイムレイヤー(CoreCLR、Mono WASM)で一貫性を保ちました。
@haltandcatchwater ・ GitHub ・ area-Extensions-Options community-contribution
OptionsValidatorGeneratorが生成するコード内のUnconditionalSuppressMessage属性にglobal::修飾子を追加し、名前空間解決の競合を修正します。消費プロジェクトにXXX.Systemのような名前空間が存在する場合、System.Diagnosticsが誤ってXXX.Systemに対して解決され、CS0234エラーが発生していました。
@Copilot ・ GitHub ・ area-VM-coreclr
COM interop マイグレーションの継続(グループ5)として、3つの MethodDescCallSite 呼び出しを UnmanagedCallersOnly(UCO)パターンに変換し、関連する不要なコードを削除します。StubHelpers.cs に3つの新しいUCOヘルパーを追加し、ネイティブ呼び出しサイトを更新します。
@kg ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssembly RyuJIT における initblk 操作の識別ロジックを修正するPRです。GenTree::OperIsInitBlkOp() メソッドが、ソースが int 型の値 かつ init-value セマンティクスを持つ場合のみ init block として認識するように厳密化しました。これにより、WASM環境で initblk と copyblk が異なるネイティブオペコードにマッピングされることによる不正な lowering/codegen を防ぎます。
続きを読む
@radekdoulik ・ GitHub ・ arch-wasm area-Infrastructure-coreclr
WASM CoreCLR環境でのライブラリテスト実行範囲を拡大するPRです。ブラウザ/CoreCLR環境のテスト除外リストを削減し、タイムアウト値を延長することで、より多くのテストスイートをWASM CoreCLRで実行できるようにします。
@rzikm ・ GitHub ・ area-System.Net
macOSでSendPingWithLowTtl_RoundtripTimeIsNonZeroテストが一貫して失敗する問題を修正します。macOSの生ソケットPing実装は1ms未満のRTT値を整数キャストで0に切り詰めるため、TTL=1では最初のホップまでの往復時間が0msと計測されていました。TTLを1から5に増やし、ICMPパケットがより遠くまで到達してから期限切れになるようにすることで、計測可能なRTTが得られる確率を高めます。
続きを読む
@Copilot ・ GitHub ・ area-System.Threading.Channels
SingleConsumerUnboundedChannel.WaitToReadAsyncが、先行するReadAsyncのキャンセル後にチャネルが正常に完了した場合に、falseを返すべきところChannelClosedExceptionをスローしていた問題を修正しました。
TryCompleteメソッド内でerror変数がCreateInvalidCompletionExceptionの呼び出しで上書きされ、その結果待機中のリーダーに例外が誤って伝播していた根本原因を解決しています。
続きを読む
@jjonescz ・ GitHub ・ area-System.Runtime.CompilerServices
unsafe機能の利用に関する属性APIの公開と進化のサポートを追加するPR。RequiresUnsafeAttributeを内部属性から公開APIに変更し、新たにMemorySafetyRulesAttributeをSystem.Runtime.CompilerServicesに導入します。これらはメモリ安全性ルールの進化を追跡するためのコンパイラサポート属性です。
@kotlarmilos ・ GitHub ・ area-crossgen2-coreclr
iOS/MacCatalyst での完全R2R(ReadyToRun)コンパイルを実現するため、4つの throw ヘルパー(CORINFO_HELP_THROW_ARGUMENTEXCEPTION、CORINFO_HELP_THROW_ARGUMENTOUTOFRANGEEXCEPTION、CORINFO_HELP_THROW_PLATFORM_NOT_SUPPORTED、CORINFO_HELP_THROW_NOT_IMPLEMENTED)を Internal.Runtime.CompilerHelpers.ThrowHelpers の管理されたメソッドエントリポイントにマッピングします。これまでこれらのヘルパーを参照するメソッドは crossgen2 でプリコンパイルできず、実行時にインタプリタにフォールバックしていました。
続きを読む
@Copilot ・ GitHub ・ area-System.Threading
System.Threading.BarrierクラスのXMLドキュメントコメントを更新し、BarrierPostPhaseExceptionの発生可能性を正確に文書化しました。RemoveParticipant(s)メソッドと全6つのSignalAndWaitオーバーロードにBarrierPostPhaseExceptionの例外ドキュメントを追加しています。これはドキュメント修正のみで、ランタイム動作への変更はありません。
続きを読む
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr runtime-async
非同期メソッドの継続(continuation)再利用時に、前の再開ポイント以降に変更されていないローカル変数の保存をスキップする最適化を追加しました。PR #125556で導入された継続再利用の仕組みを活用し、変更されていないローカル変数への不要な書き込みバリアを削減することで、約10%のパフォーマンス向上を実現します。
@wfurt ・ GitHub ・ Servicing-approved area-Infrastructure
内部ビルドインフラストラクチャのLinuxイメージを Ubuntu 22.04 から Azure Linux 3(AZL3)に変更する、release/8.0-stagingブランチ向けの更新です。内部ビルドの非公開LinuxプールのImageOverride設定を更新します。
@Copilot ・ GitHub ・ area-Infrastructure
src/tests/配下の190個のテストプロジェクトに対して、RequiresProcessIsolation属性の必要性を監査しました。172個のテストではこの属性が不要であることが確認されたため削除し、18個のテストでは実際の必要理由に基づいてコメントを置き換えました。これにより、テストプロジェクト定義の精度が向上し、不要なプロセス分離オーバーヘッドが削減されます。
@Copilot ・ GitHub ・ area-System.Runtime.InteropServices
interop ソースジェネレータインフラのクリーンアップが行われました。ByValueContentsMarshalKindValidator を検証・診断専用のアナライザ側に移動し、コード生成パイプラインから削除。また、実際に使用されることのない ByValueMarshalKindSupport.Unnecessary 列挙値と関連する死コードを削除しました。
@wfurt ・ GitHub ・ area-System.Net.Security
OpenSSL初期化処理のエラーハンドリングを改善し、OpenSSL設定の問題によるハードフェイルure(セグメンテーション違反など)を削減するPR。System.Security.Cryptography.Nativeのネイティブコード層で、初期化失敗時のフォールバック処理とnullポインタチェックを追加します。
@max-charlamb ・ GitHub ・ area-Diagnostics-coreclr
IDacDbiInterfaceをプレーンなC++抽象クラスからCOMインターフェースに変換します。これにより、将来的にマネージド(C#)のcDAC実装でIDacDbiInterfaceを実装可能になり、標準的なCOMのライフサイクル管理(ref-counting)が適用されます。このPRはISOSDacInterface / SOSDacImplパターンに従います。
@Copilot ・ GitHub ・ area-System.Text.Json
System.Text.Jsonに新しいPascalCase命名ポリシーを追加します。JsonNamingPolicy.PascalCase静的プロパティとJsonKnownNamingPolicy.PascalCase = 6を実装し、camelCaseをCamelCaseに、XMLHttpRequestをXmlHttpRequestに変換するなど、各単語の最初の文字を大文字に統一します。既存のCamelCaseポリシーとは異なり、単語境界を適切に検出して処理します。
// 使用例
var policy = JsonNamingPolicy.PascalCase;
string result = policy.ConvertName("camelCase"); // "CamelCase"
続きを読む
@Copilot ・ GitHub ・ linkable-framework area-NativeAOT-coreclr
NativeAOTアプリケーション公開時に、ネイティブバイナリに埋め込まれているサテライトアセンブリ(リソースアセンブリ)が公開フォルダにも重複してコピーされる問題を修正します。PR #124801のリファクタリング後、ComputeLinkedFilesToPublishターゲットでIntermediateSatelliteAssembliesWithTargetPathをResolvedFileToPublishから削除することで、冗長なサテライトアセンブリの公開をスキップします。
サテライトアセンブリ(例:es\AppName.resources.dll)はNativeAOTコンパイル時にネイティブバイナリに埋め込まれており、ディスクに配置する必要がありません。
続きを読む
2026年03月23日 (27 PRs) うち Bot 4 件 この日のページ →
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
JIT最適化エンジンのコード整形ルール(jit-format)違反を修正するPRです。fgFoldCondToReturnBlock関数内のforループの整形を修正し、リポジトリの整形ガイドラインに準拠させます。
@jonathandavies-arm ・ GitHub ・ area-System.Runtime.Intrinsics community-contribution
ARM64向けハードウェア組み込み関数テスト生成コードのクリーンアップ。重複したProcessInputs呼び出しを削除し、CreateDirectoryの呼び出しを1回に統一して、コードの効率化と可読性を向上させています。
@MichalStrehovsky ・ GitHub ・ area-NativeAOT-coreclr
outerloopsテストにおいて、トリミング時にSystem.Runtimeアセンブリが削除されることで発生していたFileNotFoundExceptionを修正します。テストのAssembly.Load("System.Runtime")が成功するよう、トリミングのルートヒントを追加してSystem.Runtimeを保持させます。
@MichalStrehovsky ・ GitHub ・ area-NativeAOT-coreclr
NativeAOT TypePreinit IL インタープリータの4つのバグを修正し、定数畳み込みの正確性向上とAOTコンパイラのクラッシュ防止を実現しました。
@Copilot ・ GitHub ・ area-System.Net.Http
System.Net.Http.WinHttpHandler の機能テストビルドで発生していた CS4007 コンパイルエラーを修正します。Assert.Equal<byte>() が ReadOnlySpan<byte> オーバーロードを選択し、await 式と同じステートメント内に存在することで、ReadOnlySpan<byte> が await 境界を越えて保持できないという問題を解決します。
// 修正前(エラー):
Assert.Equal<byte>(Array.Empty<byte>(), await response.Content.ReadAsByteArrayAsync());
// 修正後(正常):
byte[] responseBody = await response.Content.ReadAsByteArrayAsync();
Assert.Equal(Array.Empty<byte>(), responseBody);
続きを読む
@Copilot ・ GitHub ・ area-Extensions-Hosting
StartCanBeCancelled テストが .NET Framework 4.8.1 x86 Windows で不安定に失敗する問題に対応しています。Host.StartAsync が複数の非同期 ThreadPool ホップを必要とする一方で、Framework の ThreadPool は遅いスレッド立ち上げ速度(約500ms/スレッド)を持つため、並列テスト実行時に 5 秒の WaitOne タイムアウトが不足していました。タイムアウトを 30 秒に引き上げることで、テストの信頼性を向上させます。
続きを読む
@benaadams ・ GitHub ・ area-VM-coreclr community-contribution
dotnet-pgo dump コマンドで CallWeights データを含む .mibc ファイルを処理する際に発生していた InvalidOperationException を修正しました。JSON シリアライザが配列内に直接命名プロパティを書き込もうとしていたのが原因で、各配列要素を適切な JSON オブジェクトでラップすることで解決しています。
@lewing ・ GitHub ・ area-System.Globalization os-mac-os-x os-ios os-maccatalyst
Apple プラットフォームにおける ICU ロケールデータの差異により、ur-IN カルチャーの NativeDigits テストが失敗する問題を修正します。Apple ICU はラテン数字("0"–"9")を返しますが、上流の CLDR では Extended Arabic-Indic 数字(arabext, U+06F0–U+06F9)が指定されています。xUnit v3 へのアップグレードにより ConditionalTheory + MemberData が正常に動作し始め、このテストが初めて実行されて Apple プラットフォーム固有の差異が露呈しました。
続きを読む
@Copilot ・ GitHub ・ area-System.Security
CrlDiskCacheRecoversテストの不安定性を改善するPR。このテストはhttps://get.dot.net/への生のHTTPSリクエストを含むため、CI環境の負荷下でDNS・TCP・TLS・リダイレクト処理がタイムアウト(元々10秒)を超過し、TaskCanceledExceptionが頻発していました。[OuterLoop]属性の追加、タイムアウト延長(10秒→60秒)、リトライロジック(最大3回)を導入して、トランジェントなネットワーク障害に対する耐性を強化します。
続きを読む
@Copilot ・ GitHub ・ area-Extensions-Hosting
ConsoleLifetimeExitTests.EnsureEnvironmentExitDoesntHang テストが .NET Framework で失敗する問題を解決します。.NET Framework のシャットダウン時に System.Console.ControlCHooker.Unhook() が IOException をスローし、プロセス終了時に未処理例外(終了コード -532462766 / EXCEPTION_COMPLUS)が発生するという既知の制限に対応するため、テストを .NET Framework でスキップします。
続きを読む
@Copilot ・ GitHub ・ area-System.Security
Linux CI環境でNonPowerOfTwoKeySizeOaepRoundtripテストが不安定に失敗する問題を修正します。RSAFactory.Create(3072)時にInterop.Crypto.RsaGenerateKey内で一時的なCryptographicExceptionが発生する(リソース枯渇やエントロピー不足が原因と推測)ため、テスト本体をRetryHelper.Executeでラップし、最大5回の再試行(指数バックオフ)を行うようにしました。
続きを読む
@Copilot ・ GitHub ・ area-System.Security
SystemTrustCertificateWithCustomRootTrust テストの間欠的な失敗(CI月8回程度)を修正しました。Linux Bionic がシステム信頼ストアに「DigiCert Global Root G2」を含まないため、AIA HTTP ダウンロードに依存していました。ローカル解決とネットワーク依存性の排除により、すべてのプラットフォームで決定的な動作を実現します。
@Copilot ・ GitHub ・ area-System.Security
macOSのApple Security frameworkが断続的に返すOSStatus error -50エラーに対応するため、TestKeyRing.CreateECDsaにリトライロジックを追加しました。このエラーはEC鍵インポート時に発生し、COSE テストスイート全体で月21回の頻度でテスト失敗を引き起こしていました。すべてのテストがTestKeyRing経由で鍵を共有しているため、この改善により全体的なCI信頼性が向上します。
ECDsa? result = null;
RetryHelper.Execute(
() => result = ECDsa.Create(parametersLocalCopy),
maxAttempts: 3,
retryWhen: e => RuntimeInformation.IsOSPlatform(OSPlatform.OSX) && e is CryptographicException { HResult: -50 });
return result!;
続きを読む
@rcj1 ・ GitHub ・ area-Diagnostics-coreclr
cDAC(Common Data Access Component)のダンプベース統合テストを緩和するもの。JITコンパイラがtry/finallyをtry/faultに最適化する可能性に対応するため、ExecutionManager EH句列挙テストの assertion を更新し、両方の句タイプを受け入れるようにしました。
@noahfalk ・ GitHub ・ area-VM-coreclr
ローダーヒープのバックアウトアダプターをリファクタリングし、多重継承を削除しています。これは #125129 での議論に基づいた変更例を示すPRで、同様の変更を #125129 に組み込むか、このPRをマージするかのいずれかの対応が予定されています。
@davidwrighton ・ GitHub ・ area-CodeGen-coreclr
WASM JIT命令エンコーディングを拡張し、WebAssemblyの仕様に沿った可変長ULEB128サブオプコード形式のプリフィックス付き命令をサポートしました。従来の2バイト固定形式から、任意のサイズの可変長命令(uint16_t範囲内)の定義と生成が可能になります。
@vcsjones ・ GitHub ・ area-System.Security reduce-unsafe
Apple プラットフォーム上の PKCS#12/PFX コンテンツ スニッフィング処理をリファクタリングし、スタックのみの ASN.1 Value* ref-struct デコーダーを使用するように変更。unsafe なピニング処理と PointerMemoryManager への依存を削減します。
@Copilot ・ GitHub ・ area-VM-meta-mono
mono_type_full_name()が返すヒープ割り当てされた文字列が、marshal-shared.cの複数のエラーパスでg_strdup_printfに直接渡され、解放されずにメモリリークしていた問題を修正。AOT コンパイル時に無効なマーシャル設定を持つアセンブリを処理する際に、これらパスが繰り返し実行されて累積的なメモリ増加を引き起こしていた。
修正パターン:
// 修正前
char *msg = g_strdup_printf("Type %s ...", mono_type_full_name(m_class_get_byval_arg(klass)));
// 修正後
char *type_name = mono_type_full_name(m_class_get_byval_arg(klass));
char *msg = g_strdup_printf("Type %s ...", type_name);
g_free(type_name);
続きを読む
@Zurisen ・ GitHub ・ area-System.ComponentModel community-contribution
ExtendedPropertyDescriptor.DisplayNameのローカライゼーションバグを修正します。トリミングまたはWASM環境でSR.UsingResourceKeys()がtrueを返す場合、ハードコードされた英語文字列"{0} on {1}"にフォールバックされていたため、既にローカライズされたSR.MetaExtenderNameリソースがバイパスされていました。不要なターナリ演算子を削除し、SR.Format(SR.MetaExtenderName, ...)が全環境で正しく機能するようにしました。
続きを読む
@yykkibbb ・ GitHub ・ area-CodeGen-coreclr community-contribution
JITコンパイラのfgFoldCondToReturnBlock最適化を改善し、短絡評価&&式で定数がnon定数の後に現れる場合に、インライン化による死亡ローカル変数の割り当てが存在しても条件をブランチレスな戻り値へ折りたたむことができるようにしました。これにより、より効率的なコード生成(ARM64ではcmp+cset+ret)が実現されます。
@jonathandavies-arm ・ GitHub ・ area-CodeGen-coreclr community-contribution
arm64およびx64アーキテクチャで、負の値の比較演算を最適化する変換を実装しました。(-(x)) == 0 という式を x == 0 にfolding(値の変更なし、式の簡略化)する最適化です。これにより、不要な否定演算(negx命令)を削除でき、生成コードのサイズとパフォーマンスを改善します。
@Copilot ・ GitHub ・ area-System.Formats.Tar
PaxTarEntryの公開プロパティ(ModificationTime、Name、UserNameなど)のセッターとExtendedAttributes辞書の同期を実装します。プロパティ変更時にExtendedAttributesが更新されず、値が矛盾する問題を解決します。プロパティセッターが常に優先され、コンストラクタで競合する場合はプロパティ値でExtendedAttributesを正規化します(既存の拡張属性は読み込み時に削除されず、ラウンドトリップの忠実性を保持)。
var attrs = new Dictionary<string, string> { { "mtime", "1234567890.0" } };
var entry = new PaxTarEntry(TarEntryType.RegularFile, "test.txt", attrs);
entry.ModificationTime = DateTimeOffset.FromUnixTimeSeconds(9876543210);
// After: entry.ExtendedAttributes["mtime"] == "9876543210" (同期済み)
続きを読む
@RenderMichael ・ GitHub ・ area-System.Speech community-contribution
System.Speech ライブラリのすべての公開APIとRef構造に対して、Nullable Reference Types(NRT)のアノテーションを追加しました。これにより、null許容性に関するコンパイル時の型安全性チェックが可能になります。
2026年03月22日 (10 PRs) うち Bot 2 件 この日のページ →
@prozolic ・ GitHub ・ area-System.Collections community-contribution
ImmutableArray<T>.Builder.RemoveAll(Predicate<T>) メソッドに null パラメータのチェックが欠落していた問題を修正しました。null値を渡した際に NullReferenceException または例外が発生しないという不具合を、正しく ArgumentNullException をスローするよう改善しました。
@danmoseley ・ GitHub ・ area-System.Collections
HashSet<T>のハッシュチェーン走査ループの終了条件をwhile (i >= 0)からwhile ((uint)i < (uint)entries.Length)に変更し、Dictionary<TKey,TValue>で既に採用されているパターンに統一することで、JITの境界チェック最適化を有効化し、パフォーマンスを向上させる変更です。
@Copilot ・ GitHub ・ area-System.Threading
WebAssembly(WASM)マルチスレッドビルドのCS0102エラー(重複する型/メンバー定義)を修正するPRです。ThreadPoolBoundHandle.Browser.Threads.csの冗長なファイルを削除し、WASM呼び出しヘルパーを再生成して、ビルドエラーを解決します。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr runtime-async
非同期継続の再利用時に古い例外が再スローされるバグを修正しました。継続インスタンスが再利用される際に、保持された例外フィールドをnullに初期化することで、将来の再開時に同じ例外が誤って再スローされることを防ぎます。
@Copilot ・ GitHub ・ area-VM-coreclr
PREPARE_NONVIRTUAL_CALLSITE + CALL_MANAGED_METHOD* パターンを [UnmanagedCallersOnly] / UnmanagedCallersOnlyCaller パターンに変換し、ネイティブ→マネージドの呼び出しを簡潔化します。約23のコアライブラリメソッドのシグネチャを更新し、GCモードのセレモニーを削減し、呼び出しサイトの明確性を向上させます。
続きを読む
@Copilot ・ GitHub ・ area-System.IO
System.IO.RandomAccess の型検証を緩和し、パイプやソケットなどの非シークable ハンドルに対応しました。シークをサポートしないファイルでは、オフセット指定なしのシステムコールにフォールバックします。Unix 上の多重バッファ操作に readv/writev を導入し、System.Console と System.Diagnostics.Process の呼び出し箇所を RandomAccess.Read/Write に統合しました。
続きを読む
@am11 ・ GitHub ・ area-CodeGen-coreclr community-contribution arch-riscv runtime-async
RISC-V 64ビットアーキテクチャにおけるランタイム非同期サポートを改善するPR。LA64アーキテクチャに対する同様の改善(#125114, #124213)と同期させ、JITコード生成、ネイティブAOTランタイム、アセンブリヘルパーの実装を最適化・統一しています。
@teo-tsirpanis ・ GitHub ・ area-System.Reflection.Metadata tenet-performance community-contribution
MetadataBuilder.GetOrAddConstantBlobメソッドを最適化し、スカラー定数の書き込み時にプールされたBlobBuilderの代わりにスタック割り当てされたspanを使用することで、同じスカラー値を繰り返し書き込む場合に約2倍のパフォーマンス向上を実現しました。
2026年03月21日 (12 PRs) この日のページ →
@Copilot ・ GitHub ・ area-Diagnostics-coreclr
DAC(Debugging Access Component)のレガシーなハンドロール型ハッシュテーブル実装を廃止し、SHashベースの実装に統一するクリーンアップです。DAC_HASHTABLEマクロと関連する古いコードパスをすべて削除し、DacInstanceManagerは常にSHashを使用するようになります。
@hoyosjs ・ GitHub ・ area-Diagnostics-coreclr
Azure Pipelines runtime-diagnostics 定義において、Helix キュー パラメータをPowerShell/Bash実行時に適切にエスケープする修正。セミコロン(;)を含むキュー値がシェルに誤解釈されることを防ぐため、/p:HelixTargetQueues パラメータを引用符で囲みます。
@jkoritzinsky ・ GitHub ・ area-crossgen2-coreclr
ReadyToRun AOT コンパイラにおいて、無効な型マップ状態の処理を修正します。
この変更は Issue #125718 の問題を解決するものです。
@vitek-karas ・ GitHub ・ area-NativeAOT-coreclr
NativeAOT の AttributeTrimming スモークテストを Android プラットフォームでスキップするように変更しました。Android 環境ではホスティング/相互運用コードが追加されることで、リンカー(トリマー)の動作が予測不可能になり、テストの信頼性が低下するため対応されました。
@elinor-fung ・ GitHub ・ area-Host
clrサブセットのビルド時に、不要なネイティブホストテストアセット(mockcoreclr、mockhostfxr、mockhostpolicyなど)がビルドされていた問題を解決します。CMakeの条件付きビルド変数を導入し、clrサブセット時はテストアセットをスキップし、host.testsサブセット時は製品バイナリをスキップするようになりました。これにより開発ビルド時のビルド時間を削減します。
@AndyAyersMS ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssembly RyuJit の Debug SPC (Structural Property Checking) 検証エラーを修正するPRです。Wasm メソッドシグネチャの調整、コード生成時の型付けの修正、および検証失敗を選択的に抑制するための新しい JIT 設定オプションを追加します。
@Copilot ・ GitHub ・ area-System.Diagnostics.Process
ProcessStartInfoTests.TestWindowStyle テストの不安定性を解決するPRです。OSがSTARTF_USESHOWWINDOWビット以外のフラグを設定することによる偽陽性と、ShellExecute経由のテストケースがCIでタイムアウトする問題に対応しています。
@rcj1 ・ GitHub ・ area-Diagnostics-coreclr
cDAC(Common Data Access Component)APIにGetObjectComWrappers機能を追加するPRです。COM相互運用オブジェクトのメタデータにアクセスするための新しいデータコントラクト定義と実装が含まれます。また、ConditionalWeakTableおよびGC関連のデータコントラクトも拡張されています。
@adamsitnik ・ GitHub ・ area-System.IO tenet-performance
Windows環境におけるSafeFileHandle.CanSeekとSafeFileHandle.Typeのパフォーマンス低下を修正します。Pathが利用可能な場合、ディスクファイルハンドル(FILE_TYPE_DISK)に対して余分なハンドルタイプ判定を回避し、直接RegularFileを返すようにしました。
@jkoritzinsky ・ GitHub ・ area-System.Runtime.InteropServices partner-impact
Jupiter ランタイムの外部オブジェクト解放時に RCW(Runtime Callable Wrapper)キャッシュエントリを明示的にクリアする修正です。ComWrappers.ReleaseObjects による強制的な切断後も、古い RCW がキャッシュに残る問題を解決します。同じネイティブ COM アドレスが再割り当てされた場合、切断された古いラッパーが誤って返されることを防ぎます。これにより NativeAOT マイグレーションをアンロックします。
続きを読む
@richlander ・ GitHub ・ area-Infrastructure
Ubuntu 22.04 ベアメタルVM上のHelixキューをコンテナベースの同等物に置き換えることで、Ubuntu 26.04ローンチに向けた準備を行うインフラストラクチャの変更です。開発者向けテストビルドはUbuntu 22.04からUbuntu 26.04コンテナに移行します。
@sethjackson ・ GitHub ・ area-PAL-coreclr community-contribution os-openbsd
OpenBSDにおいてMALLOC_SIZEの実装が存在しないため、SystemNative_AlignedReallocをジェネリックな実装に変更しました。MALLOC_SIZE相当の機能を持たないプラットフォーム向けの汎用実装を提供します。
2026年03月20日 (29 PRs) うち Bot 1 件 この日のページ →
@stephentoub ・ GitHub ・ area-skills
EgorBotスキルの使用方法に関するドキュメントを更新し、@EgorBotコマンドラインとコードブロック間にテキストを挿入しないよう明確化しました。コマンドと処理コード間に挿入されたテキストはコマンド引数として解釈されてしまうため、その旨を警告として追加しています。
@stephentoub ・ GitHub ・ area-skills
dotnet/runtimeリポジトリにおいて、Copilotがユーザー認証情報を使用してGitHubに投稿するコンテンツに対して、AI/Copilot生成であることを明示する開示ルールを追加しました。ボットアカウントやCopilotアプリアカウントからの投稿、またはユーザーの明示的なオプトアウトの場合は例外として扱われます。
@max-charlamb ・ GitHub ・ area-Diagnostics-coreclr
ClrMD の ELF32 シンボル解析バグ(microsoft/clrmd#1407)に対応するため、32ビット ARM ターゲットでの cDAC ダンプテストの失敗を修正します。ClrMD が 32ビット ELF モジュールのエクスポートシンボルアドレスを破損したアドレス(上位32ビットに st_size が混入)として返すため、ターゲットのポインタサイズが 4 バイトの場合にアドレスを 32ビットにマスクする対策を実施しました。
if (_dataTarget.DataReader.PointerSize == 4)
address &= 0xFFFF_FFFF;
続きを読む
@Copilot ・ GitHub ・ area-System.Diagnostics.Process
System.Diagnostics.Process名前空間からProcessStartOptions公開型を削除します。ソースコード、参照アセンブリ、テストおよびプロジェクトファイルから該当する型と関連リソース、テストケースをすべて削除する破壊的変更です。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr runtime-async
JIT async continuation reuse機能を一時的に無効化するため、JitAsyncReuseContinuations設定の既定値を有効(1)から無効(0)に変更しました。これにより、#125805と#125806で追跡されている障害をアンブロックします。
@steveisok ・ GitHub ・ Servicing-approved area-Infrastructure-mono
PR #125564の変更をRevertし、NativeAOTおよびMonoの中間成果物(intermediate artifacts)アップロードパスを、ジョブ固有から共有ディレクトリに戻すもの。runtime-official.yml内で、これら両技術の中間成果物が単一の共有サブディレクトリにアップロードされるように復元する。
@ilonatommy ・ GitHub ・ arch-wasm area-Build-mono
Clean WASM builds時に、Emscripten SDK提供フェーズで読み込まれた_VersionLinesが後続のemcc --version実行時にも残存し、バージョン解析に失敗する回帰を修正します。_VersionLinesをRunWithEmSdkEnv実行前にクリアして、staleなバージョン情報の混在を防ぎます。
@danmoseley ・ GitHub ・ area-System.Diagnostics
StackTraceTests.ToString_ShowILOffsetテストにおいて、Assembly.Load(byte[])がWindows Defender AMSI(マルウェア対策スキャンインターフェース)のRPC呼び出しをトリガーし、Helix CI環境の一部マシンで無限にハングする問題に対応。AMSI問題は.NETのバグではなくWindows OSレベルの外部問題であるため、テストの分割とリトライロジックを追加してCI安定性を向上。
続きを読む
@Copilot ・ GitHub ・ area-System.Transactions
OleTxTests.RecoveryテストがCI環境で無限にタイムアウトする問題を修正します。MSDTC(Microsoft Distributed Transaction Coordinator)が応答しない場合に子プロセスがハング状態になり、RemoteInvokeOptions.TimeOutがデフォルトでTimeout.Infiniteであるため、テストが完了しない状況を改善します。
RemoteInvokeOptionsにTimeOut = 120_000(2分)を設定し、子プロセスを強制終了することでテストの実行時間を制限し、CI作業項目全体のタイムアウトを防ぎます。
続きを読む
@davidwrighton ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WASM JIT コンパイラにおいて、プレフィックス付きオペコード(特に i32.trunc_sat_f32_s)のエンコーディングバグを修正します。セカンドバイトが 0x00 の場合に正しく2バイトで エンコードされていなかった問題を解決しました。
@Copilot ・ GitHub ・ area-System.Diagnostics.Process
ProcessThreadTests.TestStartTimePropertyはLinux/Monoで不安定でした。新しく起動したLongRunningスレッドの/proc/self/task/エントリが即座に表示されないことが原因です。1回のp.Refresh()とAssert.Singleの組み合わせから、最大10回(100ms間隔)の制限付き再試行ループに変更し、スレッドが表示されるまでp.Refresh()を繰り返すようにしました。
int newThreadId = GetCurrentThreadId();
ProcessThread newThread = null;
for (int i = 0; i < 10 && newThread is null; i++)
{
if (i > 0) Thread.Sleep(100);
p.Refresh();
newThread = p.Threads.Cast<ProcessThread>().FirstOrDefault(t => t.Id == newThreadId);
}
Assert.True(newThread is not null, $"Thread with id {newThreadId} was not found after retrying.");
Assert.InRange(newThread.StartTime.ToUniversalTime(), curTime - allowedWindow, DateTime.Now.ToUniversalTime() + allowedWindow);
続きを読む
@rcj1 ・ GitHub ・ area-Diagnostics-coreclr
cDAC ExecutionManager の EEJitManager.GetExceptionClauses メソッドにおいて、例外ハンドリング情報の列挙時に、メソッドの実開始アドレスを正しく解決するバグを修正しました。GetRealCodeHeader に渡す前に FindMethodCode(...) を使用してコード開始アドレスを計算することで、他の EEJitManager ヘルパーメソッドとの動作を統一しています。
続きを読む
@ManickaP ・ GitHub ・ area-System.Net.Quic
QUIC プラットフォーム検出テスト(MsQuicPlatformDetectionTests)がAzureLinux 3 VMs上で実行されないようにするためのテスト条件を追加します。MsQuicがメモリ不足エラー(QUIC_STATUS_OUT_OF_MEMORY)で失敗する環境でのテスト失敗を回避する目的です。
@am11 ・ GitHub ・ area-Infrastructure-coreclr community-contribution arch-loongarch64 arch-riscv
RISC-V 64とLoongArch 64アーキテクチャの内部ビルド(CMake直接実行)失敗を修正します。CMakeの機能設定にFEATURE_DYNAMIC_CODE_COMPILED=1のアーキテクチャ別デフォルトが欠落していたため、Virtual Stub Dispatch(VSD)が無効化され、実装されていないアセンブリスタブへの未定義シンボルリンカエラーが発生していました。修正により、CMakeレベルで明示的にこれらのアーキテクチャにおいてVSD+動的コード生成を有効にし、トップレベルビルド(MSBuild経由)との一貫性を確保します。
続きを読む
@hoyosjs ・ GitHub ・ area-Diagnostics-coreclr
DacInstanceManager のハッシュテーブル実装を手書きの実装から SHash ベースの実装に置き換え。DAC がミニダンプ収集時に行う大量の検索操作の効率化により、深いスタック(2.5k フレーム、50スレッド)シナリオで約 9.5 倍の高速化を実現。
@AndyAyersMS ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssembly(Wasm)JITで例外処理後の制御フロー再開を実装する基盤整備を行うPRです。新しいfgWasmEhFlowフェーズにより、例外キャッチ後の継続フロー(continuation flow)をCFG/IRで明示化し、Wasm try_table命令による例外ハンドリングの生成をサポートします。
// 例外キャッチ後、制御変数を使用した分岐により適切な継続先へ遷移
// try_table命令でキャッチブロックを保護し、catch_refで例外参照を取得
続きを読む
@Copilot ・ GitHub ・ area-System.Numerics.Tensors
テンソル二項演算(加算、乗算など)でブロードキャスト互換の異なるサイズの形状を持つテンソルに適用した場合、出力テンソルの形状が誤って計算される問題を修正しました。例えば、形状 [2, 3] と [2, 1] のテンソルを乗算する場合、期待される [2, 3] ではなく [2, 1] の形状で結果が返されていました。
@Copilot ・ GitHub ・ area-System.Collections
大規模コレクション(約10億要素以上)からToFrozenSet()/ToFrozenDictionary()を作成する際に発生していたIndexOutOfRangeExceptionを修正しました。FrozenHashTable.CalcNumBucketsでのint型オーバーフローが原因でしたが、修正後は意図的にOutOfMemoryExceptionを発生させるようになります。
// 修正前: IndexOutOfRangeException
// 修正後: OutOfMemoryException(正しい失敗モード)
var frozen = new HashSet<int>(1_188_074_137) { ... }.ToFrozenSet();
続きを読む
@eduardo-vp ・ GitHub ・ area-VM-coreclr
Windows x64でのアンワインド情報発行のパフォーマンスを改善するPRです。UnwindInfoTableに保留中のバッファを追加し、RUNTIME_FUNCTIONエントリをバッチ処理してOS側の高コストなテーブル操作(RtlAddGrowableFunctionTable/RtlDeleteGrowableFunctionTable)の頻度を削減します。これによりJIT中の複数の同時コンパイルでのロック競合を緩和することが目的です。
続きを読む
@Copilot ・ GitHub ・ area-System.Threading linkable-framework
PreAllocatedOverlappedおよびThreadPoolBoundHandleの非Windows実装を統合し、プラットフォーム共通のPlatformNotSupportedスタブに置き換えます。非Windowsプラットフォーム(Unix、Browser、Wasi)ではオーバーラップドI/Oが未サポートであるため、別実装の必要がなくなります。また、古いILLinkディスクリプタワークアラウンドを削除し、不正な[RequiresUnsafe]アノテーションを除去しています。
続きを読む
@Copilot ・ GitHub ・ area-GC-coreclr
GC regions(Windows/Linuxでのserver GC標準メモリモデル)をmacOSで有効化します。2022年に追加された!defined(__APPLE__)ガードを削除し、(!defined(HOST_APPLE) || defined(HOST_OSX))に置き換えることでmacOSのみ有効化し、大規模仮想アドレス空間予約をサポートしないiOS/tvOS/MacCatalystは引き続き無効化します。
続きを読む
@Copilot ・ GitHub ・ area-Diagnostics-coreclr
cDAC(Compact Data Access Contract)の BuiltInCOM コントラクトに GetCCWData API を追加し、COM Call Wrapper(CCW)情報の取得を最適化しました。複数の個別読み取りを単一のデータ構造取得に統合することで、ターゲットメモリへのアクセス回数を削減します。
新しいAPI:
public TargetPointer GetObjectHandle(TargetPointer ccw);
public SimpleComCallWrapperData GetSimpleComCallWrapperData(TargetPointer ccw);
public TargetPointer GetStartWrapper(TargetPointer ccw);
続きを読む
@mrek-msft ・ GitHub ・ area-System.Runtime.InteropServices
Windows上のPosixSignalRegistrationのデッドロック問題を修正します。マルチスレッド環境でハンドラ登録中に別スレッドがHandlerRoutineを実行する際、ロック(s_registrations)とKernelBase.dllのクリティカルセクション間のAB/BAデッドロックが発生していました。本修正は、コンソール制御ハンドラの一度限りの登録と登録解除の廃止により、デッドロックリスクを軽減します。
続きを読む
@Copilot ・ GitHub ・ area-System.Text.Json
System.Text.JsonにJsonNamingPolicyAttributeを追加し、型およびメンバーレベルでの命名規則の細粒度制御を実現します。これにより、グローバルなJsonSerializerOptions.PropertyNamingPolicyをオーバーライドできるようになります。
使用例:
[JsonNamingPolicyAttribute(JsonKnownNamingPolicy.CamelCase)]
public class MyPoco
{
public string MyFirstProperty { get; set; } = "first";
[JsonNamingPolicyAttribute(JsonKnownNamingPolicy.KebabCaseLower)]
public string MySecondProperty { get; set; } = "second";
}
var options = new JsonSerializerOptions { PropertyNamingPolicy = JsonNamingPolicy.SnakeCaseLower };
JsonSerializer.Serialize(new MyPoco(), options);
// {"MyFirstProperty":"first","my-second-property":"second"}
続きを読む
@danmoseley ・ GitHub ・ area-System.Text.RegularExpressions
RegexInterpreterの4つのオペコード(Oneloop、Onerep、Notonerep、MatchString)のホットパスをSIMD加速されたSpan操作に置き換えることで、正規表現マッチングの性能を大幅に向上させます。既存のNotoneloopベクトル化パターンを拡張し、左から右方向のマッチングのみを最適化します。
@tommcdon ・ GitHub ・ area-Diagnostics-coreclr runtime-async
DacDbiInterfaceImpl::GetNativeCodeInfoがасинхронメソッドのネイティブコード情報取得時に、メソッドディフマップにキャッシュされたasync thunk(非同期サンク)ではなく、実際のasync実装メソッドのデータを返すように修正しました。ランタイムはデフォルトでメソッド参照の検索時にasync thunkをキャッシュするため、正しいメソッド情報が返されていない問題に対応しています。
続きを読む
@Copilot ・ GitHub ・ area-System.Text.Json
System.Text.Jsonがbyref修飾子(in/ref/out)付きのコンストラクタパラメータのdeserialization に対応しました。byref型(例:DateTime&)はジェネリック型引数として使用できず型検証に失敗していたため、基本型を抽出して処理するように修正されました。リフレクションベースとソース生成の両方で動作します。
// これが機能するようになりました
public class TestClass
{
public TestClass(in DateTime dateTime, in TimeSpan timeSpan) { ... }
public DateTime DateTime { get; set; }
public TimeSpan TimeSpan { get; set; }
}
JsonSerializer.Deserialize<TestClass>(json);
続きを読む
@tommcdon ・ GitHub ・ area-Diagnostics-coreclr
.NET 10で導入されたスタブ粒度の変更により、JITダンプがメモリコミット前にブロックデータを読み取ろうとして失敗する問題を修正します。ブロック割り当ての場合、JITダンプへのコード出力を抑制することで、linuxのperfツールがDOTNET_PerfMapEnabled設定を正しく処理できるようにします。
2026年03月19日 (32 PRs) うち Bot 2 件 この日のページ →
@steveisok ・ GitHub ・ area-Infrastructure
macOS CI環境において、HomebrewでインストールされたLLVMライブラリ(例:/usr/local/lib内のx86_64のみのlibunwind.dylib)がApple SDKと競合し、ネイティブリンクを破損する問題を解決するため、CI設定からHomebrew LLVM (llvm@18) をアンインストールするスクリプト変更。ビルドはApple clang (/usr/bin/clang) のみを使用するため、Homebrew LLVMは不要。
続きを読む
@steveisok ・ GitHub ・ area-Infrastructure
macOS CI環境で、HomebrewからプリインストールされているLLVMがApple SDKのライブラリと競合し、ネイティブリンクを破壊する問題を解決するため、CI依存関係セットアップ時にHomebrewのLLVMを削除するようにしました。本PR(#125763)をrelease/9.0ブランチにバックポートするものです。
@steveisok ・ GitHub ・ Servicing-approved area-Infrastructure-libraries
macOS CI環境でHomebrewのLLVMがApple SDKと競合し、ネイティブリンクを破損する問題を解決するPR。CI実行環境に含まれるHomebrewのLLVM(特に/usr/local/libのlibunwind.dylibなど)を事前に削除し、ビルドがApple clangのみを使用するようにします。本PR (#125763)の9.0リリースブランチへのバックポートです。
@steveisok ・ GitHub ・ Servicing-approved area-Infrastructure-libraries
macOS CI環境で事前インストールされているHomebrewのLLVMが、Apple SDKとの競合により、特にx86_64専用のlibunwind.dylibなどがネイティブリンクを破壊する問題を修正します。ビルドはApple clangの/usr/bin/clangを排他的に使用するため、Homebrew LLVMは不要です。
@kotlarmilos ・ GitHub ・ area-Infrastructure-mono
XHarness/devicectl インフラの問題(#123796 )が解決されるまで、iOS(ios_arm64)および tvOS(tvos_arm64)プラットフォームの CI ジョブを一時的に無効化します。
@MichalStrehovsky ・ GitHub ・ area-NativeAOT-coreclr
NativeAOT ランタイムに TSF_SuspensionTrapped スレッド状態フラグを実装し、EventPipe SampleProfiler がサスペンション中に正確にサンプルを "Managed" または "External" として分類できるようにします。これにより CoreCLR の動作に揃えられます。
@steveisok ・ GitHub ・ area-NativeAOT-coreclr
macOS 15 CI ランナーイメージに付属する Homebrew LLVM 18 が、x86_64 専用の libunwind.dylib などを /usr/local/lib にインストールし、ネイティブリンク時に間違ったアーキテクチャのライブラリを拾うことで、_unw_step や __Unwind_Resume などのシンボルが未解決になり、macOS でのネイティブリンクが全て失敗する問題を修正します。ビルドは Apple clang(/usr/bin/clang)のみを使用するため、Homebrew LLVM を CI セットアップ時に削除します。
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
WebAssembly JIT コンパイル時に未実装機能(NYI_WASM)に遭遇した場合、crossgen2 がコンパイルを継続できるようにするための JIT 設定値 JitWasmNyiToR2RUnsupported を追加します。この設定が有効な場合、NYI_WASM は通常の NYI 処理ではなく ReadyToRun の「unsupported」失敗にマップされます。
@vcsjones ・ GitHub ・ area-System.Security
RFC 9935の公開に伴い、ML-KEM(ML Key Encapsulation Mechanism)のX.509/SPKI/PKCS#8関連APIから[Experimental]属性を削除し、APIを安定化します。公開鍵・秘密鍵のインポート/エクスポート機能およびX.509証明書アクセサーが実験的段階から正式な公開APIへ昇格します。
@lewing ・ GitHub ・ area-System.IO
FileSystemWatcher テストの WaitForExpectedEventTimeout を 500ms から 1000ms に増加させるもの。inotify リファクタリング(#117148)後の stop/start タイミング変更により、ストレス環境(特に arm32 jitstress)でのイベント配信が遅延する問題に対処。500ms のタイムアウトは遅いハードウェアで false failure を引き起こしていたため、タイムアウト値を拡大することで タイミング起因のフラキーテストと機能的なバグの区別を容易にする。
続きを読む
@Copilot ・ GitHub ・ area-Interop-coreclr
PR #125326で導入されたLicenseInteropProxyの[UnmanagedCallersOnly]ベースの実装がGCストレス下でヒープ破損(終了コード -1073740940)を引き起こしていたため、部分的に元の実装に戻すパッチです。GC安全な管理呼び出しパターン(MethodDescCallSite + ARG_SLOT)を復元することで、ポインタベースのメタシグネチャの安全性問題を解決しています。
続きを読む
@janvorli ・ GitHub ・ NO-SQUASH area-GC-coreclr
モノリシックなgc.cpp(約57,000行)を19の機能別ファイルに分割するコード再編成です。gc.cppは約8,300行に削減され、新しいファイルはgc.cppの末尾で#includeされることで、単一コンパイル単位のビルドモデルを維持しています。この変更は純粋な構造的な再編成であり、機能的・動作的な変更はありません。
@Copilot ・ GitHub ・ area-Infrastructure
SuperPMI(Static Program Metrics Infrastructure)のメトリクス差分レポートにおいて、コード変更がない場合でも数値の微小な誤差がノイズとして報告される問題を解決します。superpmi.pyのwrite_metricdiff_markdown_summary関数に±0.01%の閾値チェックを追加し、このしきい値より小さいメトリクス差分は無視するようにしました。これは既存のis_significant_pctパターン(write_tpdiff_markdown_summaryで使用)との一貫性を保ちます。
続きを読む
@Copilot ・ GitHub ・ area-System.IO
FileSystemWatcher_SymbolicLink_TargetsDirectory_Create_IncludeSubdirectories テストのmacOS上での不安定性を修正しました。原因はmacOS FSEventsが遅延したCreatedイベントを配信する可能性があり、ExpectNoEventが無関係なパスのイベントにも反応していたためです。修正により、特定のネストされたパスのイベントのみを検証するようにExpectNoEventにパスフィルタを追加し、[ActiveIssue]属性をmacOSのみに限定しました。
続きを読む
@Copilot ・ GitHub ・ area-System.Threading
System.Threading.Tasks.Dataflow.Tests がJITストレステスト(jitstress2-jitstressregs)下でタイムアウトする問題を修正します。9個の SpinWait.SpinUntil() 呼び出しに対してタイムアウトを追加し、JIT再コンパイルによるCPUリソース枯渇フィードバックループを防止します。
@kg ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssembly RyuJIT対象のReadyToRun間接呼び出しにおいて、R2R間接セル引数の位置を修正しました。従来は(sp) (indcell) (arg0) (arg1) ...の順序でしたが、(sp) (arg0) (arg1) (indcell)の順序に変更し、WASM後端の期待するLIR評価順序とスタック順序に合わせました。
再帰的フィボナッチ計算が可能になり、ヒープをプライムすることで動作確認済みです。
// fib(31) が 1346269 を返すようになった
[MethodImpl(MethodImplOptions.NoInlining)]
public static int fib(int n) {
return (n < 2) ? n : fib(n - 1) + fib(n - 2);
}
続きを読む
@ilonatommy ・ GitHub ・ area-Debugger-mono
Blazor WebAssemblyアプリでWeb Workersを使用する際、Visual Studioでのデバッグ中にワーカースレッドが起動時にハングする問題を修正しました。BrowserDebugProxy(MonoProxy)の2つの問題を解決します:
Chrome がワーカーをアタッチ時に一時停止した後、Runtime.runIfWaitingForDebugger を送信していなかった
ワーカーセッションの起動時に Debugger.paused イベントが IDE に転送され、ワーカーが再開されないままになっていた
続きを読む
@Copilot ・ GitHub ・ area-System.Net.Http reduce-unsafe
WebHeaderEncoding.cs を削除し、すべての呼び出し元を Encoding.Latin1 に置き換えるリファクタリング。WebHeaderEncoding は Latin-1 バイト↔文字変換の最適化を提供していましたが、現在の Encoding.Latin1 は双方向で正しく機能するため、カスタム実装は不要になりました。
@lewing ・ GitHub ・ Servicing-approved area-Infrastructure
release/9.0のdotnet-runtime-officialパイプラインで、NativeAOTとMonoが複数プラットフォームから同じアーティファクトパスにアーキテクチャ非依存パッケージ(Microsoft.NETCore.App.Ref.9.0.15.nupkgなど)をアップロードする際の競合による間欠的なアップロード失敗を修正します。根本原因は複数ジョブが同時に同じファイルをBlob storageに書き込もうとすることです。各プラットフォームのアップロード名を一意にすることで解決します。
続きを読む
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr runtime-async
ランタイム非同期メソッドの最適化として、全ての停止点に対応した単一の共有継続レイアウトを生成し、複数の中断時に同じ継続インスタンスを再利用できるようにしました。これにより割り当て回数を削減し、GC圧力を軽減します。ベンチマークでは約30%のパフォーマンス改善が確認されています。
// 中断が多いループでのパフォーマンス向上
// 修正前: ~539ms
// 修正後: ~404ms (約25%削減)
for (int i = 0; i < n; i++)
{
await na; // 複数の中断点で同じ継続インスタンスを再利用
}
続きを読む
@jtschuster ・ GitHub ・ arch-arm32 area-crossgen2-coreclr
ARM32 Thumb-2コード生成の要件に対応し、ReadyToRun/crossgen2でARM32上の非同期メソッドを安全に出力できるようにしました。ARM32ではThumb-2命令セットのため、コードポインタのビット0(Thumbビット)を設定する必要があります。これまでこのビットが未設定のため、CI上で不正命令エラーが発生し、ARM32での非同期メソッド出力が無効化されていました。
@rzikm ・ GitHub ・ area-System.Net
System.Net.* アセンブリ全体のAppContextスイッチ処理を標準化するためのリファクタリング。従来のAppContextSwitchHelperや手動のAppContext.TryGetSwitchパターンを統一されたLocalAppContextSwitches部分クラスパターンに置き換えることで、コード保守性を向上させます。HTTPのランタイム設定パーサーは対象外。
@danmoseley ・ GitHub ・ area-System.Text.RegularExpressions
正規表現オプティマイザーの最終処理段階にFinalReduce()メソッドを追加し、グローバルパス(FindAndMakeLoopsAtomic、EliminateEndingBacktracking)による新規ノード構造を再度削減することで、221パターン(実世界の18,931パターン中1.2%)の追加最適化を実現します。すべてのパターンが最大2ラウンドで収束し、リグレッションはゼロです。
@rzikm ・ GitHub ・ area-System.IO.Compression
ZipArchiveEntryの抽出メソッドにおいて、FileStreamOptionsを最適化することで抽出パフォーマンスを向上させます。具体的には、エントリの非圧縮サイズ(ZipArchiveEntry.Length)に基づいてPreallocationSizeを設定してディスク領域を事前割り当てし、フラグメンテーション低減と書き込み性能向上を実現します。また、非同期抽出メソッド(ExtractToFileAsync)ではFileOptions.Asynchronousを有効化して非同期I/Oを使用させます。
続きを読む
@elinor-fung ・ GitHub ・ area-Host
deps.json解析時のディレクトリセパレータ正規化を最適化。パス正規化をdeps_asset_tコンストラクタで一度だけ プラットフォームセパレータ(DIR_SEPARATOR)に統一し、従来の毎回のアクセス時正規化を削除。これによりスタートアップ時のメモリ割り当てを400以上削減 します。
@Copilot ・ GitHub ・ area-Infrastructure-libraries linkable-framework
Roslyn アナライザー UnsafeMethodMissingRequiresUnsafeAnalyzer と対応するコードフィックスプロバイダーを追加し、unsafe 修飾子を持つメソッドで [RequiresUnsafe] 属性が欠落している場合に警告(IL2900)を発する機能です。System.Private.CoreLib 全体の 276 ファイルにわたって [RequiresUnsafe] を適用しました。
続きを読む
@max-charlamb ・ GitHub ・ area-Diagnostics-coreclr
cDAC dump テストを ADO パイプラインステージから Helix インフラストラクチャへの実行に転換します。従来の DumpCreation + DumpTest の 2 段階ステージを、単一の CdacDumpTests ステージに統合し、ダンプ生成とテスト実行を Helix マシン上で実行するようにします。windows_arm64 プラットフォームのサポートも追加されます。
@alinpahontu2912 ・ GitHub ・ area-System.IO.Compression breaking-change
ZIP アーカイブエントリ読み込み時の CRC32 チェックサム検証機能を追加しました。新しい CrcValidatingReadStream クラスがデータ読み込み中にランニング CRC32 を計算し、期待されたバイト数を読み込み終了時に ZIP エントリヘッダーの CRC 値と比較して検証します。データ破損(改ざんされた非圧縮サイズなど)を検出すると InvalidDataException をスローします。
続きを読む
@Copilot ・ GitHub ・ area-System.Text.Json
[JsonIgnore(Condition = ...)]属性がクラス、構造体、インターフェースの型レベルで使用可能になりました。型レベルで設定したJsonIgnoreConditionは、すべてのプロパティとフィールドのデフォルト値として機能し、プロパティごとの重複指定を削減できます。プロパティレベルの属性は型レベルの設定をオーバーライドでき、型レベルの指定はグローバルなJsonSerializerOptions.DefaultIgnoreConditionよりも優先されます。
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
class MyPoco
{
public string? PropA { get; set; }
public string? PropB { get; set; }
public string? PropC { get; set; }
}
続きを読む
@Copilot ・ GitHub ・ area-System.Text.Json
JsonConverterAttribute がオープンジェネリック型のコンバーターを、型パラメーター数が一致するジェネリック型に対して使用できるようになりました。リフレクションベースのプロバイダーおよびソースジェネレーターの両方で動作します。従来は Type.ContainsGenericParameters is true エラーが発生していた以下のコードが正常に動作するようになります:
[JsonConverter(typeof(OptionConverter<>))]
public readonly struct Option<T>
{
public bool HasValue { get; }
public T Value { get; }
public Option(T value) { HasValue = true; Value = value; }
}
public sealed class OptionConverter<T> : JsonConverter<Option<T>>
{
// ... 実装
}
// これまではエラー、今は動作
JsonSerializer.Serialize(new Option<int>(42));
続きを読む
2026年03月18日 (28 PRs) うち Bot 3 件 この日のページ →
@ilonatommy ・ GitHub ・ arch-wasm area-Infrastructure perf-pipeline
Linux ARM64プラットフォーム向けのCoreClrパフォーマンスベンチマークビルドを有効化するパイプライン設定変更。dotnet-performanceリポジトリのcobaltSveMicroジョブがlinux_arm64上で実行される際に必要なbuild_linux_arm64_release_coreclrジョブの依存関係を解決し、YAML検証エラーによるパイプラインビルド失敗を修正しています。
続きを読む
@kotlarmilos ・ GitHub ・ area-System.Net.Sockets os-ios
ConnectAsync_WithBuffer_Succeeds テストを更新し、Apple モバイルプラットフォーム(iOS/tvOS など)を connectx ブロッキングモードチェックに含めるようにします。このテストはUnixプラットフォーム固有のSocket接続機能を検証するものです。
@Copilot ・ GitHub ・ area-System.IO
SECURITY_ATTRIBUTES構造体の初期化処理を統一するため、Kernel32インタロップレイヤーに3つのファクトリメソッドを追加し、複数の箇所で重複していた初期化コードを削除する変更です。これにより、ファイル、パイプ、レジストリ、ディレクトリ、メモリマップドファイル、スレッド同期プリミティブ関連のコード全体で一貫性が向上します。
// 新しいファクトリメソッド
SECURITY_ATTRIBUTES.Create() // nLengthのみ設定
SECURITY_ATTRIBUTES.Create(void* securityDescriptor) // nLengthとセキュリティ記述子を設定
SECURITY_ATTRIBUTES.Create(bool inheritable) // nLengthとハンドル継承可能性を設定
続きを読む
@Copilot ・ GitHub ・ area-System.IO test-enhancement
Windows上でSetFileInformationByHandleが返すERROR_INVALID_PARAMETER(87)エラーを処理する修正が既に適用されたため、抑制されていたテストを再度有効化します。このテストは1EiBのプリアロケーションがファイルパスとサイズを含むIOExceptionをスローし、ディスク上にファイルを残さないことを検証します。
@bartonjs ・ GitHub ・ area-System.Security
OpenSSL 4のサポートをポータブルビルドに追加するプルリクエストです。OpenSSL 3.x/1.1が利用可能な場合はそれらを優先しつつ、フォールバックとしてOpenSSL 4へのバインディングを可能にします。
@akoeplinger ・ GitHub ・ area-Infrastructure
公開ビルド用のLinuxプール設定をAzure Linux 3イメージを使用するように更新しました。既に内部ビルドで使用されているAzure Linux 3の命名規則に合わせて、公開ビルドのImageOverrideを統一するものです。
@vcsjones ・ GitHub ・ area-System.Security reduce-unsafe
暗号スタック全体における PointerMemoryManager の使用を削減する継続的な取り組みの一環です。PKCS#7 ContentInfo のASN.1デコーディングを PointerMemoryManager から生成された ref struct ベースのデコーダ(ValueContentInfoAsn)に置き換え、複数のPKCS/CMS/X.509呼び出しサイトをReadOnlySpan<byte>ベースのAPIに切り替えます。これにより、メモリピニングのオーバーヘッドを削減し、より安全で効率的なコード生成を実現します。
続きを読む
@sbomer ・ GitHub ・ Servicing-approved area-System.Runtime.InteropServices linkable-framework
release/9.0-stagingブランチでのRoslyn依存関係更新をリバート(コミット f505b9455c334cb1107a1db30daeeb3930b7e58c)。Roslyn/Roslyn-analyzersのパッケージバージョンを以前の状態に戻し、リバートされたコンパイラ/分析ツールの動作に合わせてテストと設定を調整。
@Copilot ・ GitHub ・ area-VM-coreclr
CoreCLR実行時のCrst(Critical Section)ロック順序違反を修正。CreateInteropILStubがCrstILStubGenを保持しながら型読み込み中にCrstLoaderAllocatorReferencesを取得しようとしていたが、ロック順序の宣言が不足していた。特にInlineArray<T>を含むP/Invoke スタブ生成時に発生していた問題。
@ManickaP ・ GitHub ・ area-System.Net.Quic
Azure Linux 3(非コンテナ)環境でのQUIC機能テストを無効化します。MsQuicの既知の問題(QUIC_STATUS_OUT_OF_MEMORY)によるテスト失敗を回避することが目的です。
@radekdoulik ・ GitHub ・ area-Infrastructure
2つのJIT回帰テストを、マルチスレッド対応のランタイムでのみ実行するように条件付き化します。シングルスレッド環境でのThread使用に伴う失敗やハングを回避するための変更です。
@Copilot ・ GitHub ・ area-System.Diagnostics.Process
Windows上でプロセスのstdout/stderr パイプの親側で重複I/O(非同期I/O)を有効化し、ブロッキング読み取りでスレッドプール スレッドを消費するのを回避します。子プロセス側は同期のまま維持し、GetStdHandle() との互換性を保証します。
// stdin: 常に同期(parentInputs=true → asyncRead=false)
CreatePipe(out parentInputPipeHandle, out childInputPipeHandle, true);
// stdout/stderr: 常に親側で非同期/重複I/O(parentInputs=false → asyncRead=true)
CreatePipe(out parentOutputPipeHandle, out childOutputPipeHandle, false);
続きを読む
@stephentoub ・ GitHub ・ area-System.Text.RegularExpressions
正規表現エンジンで、貪欲なループ(\w+、\d+ など)の後に、そのループのクラスに含まれるリテラルが続き、さらにその後が不連続パターンの場合、バックトラッキングを最適化するパフォーマンス改善です。例えば \b\w+n\b では、\w+ の最後の位置だけが成功可能なため、繰り返される LastIndexOf 呼び出しをスキップできます。
@max-charlamb ・ GitHub ・ area-Diagnostics-coreclr
cDAC(Compact Diagnostic Access Component)のスタックウォーク機能において、ContextHolder<T>の反射ベースのレジスタアクセスを削除し、各プラットフォーム固有のコンテキスト構造体での明示的な切り替え実装に置き換えました。これにより、AOTトリミング互換性を改善し、ホットパスのパフォーマンスオーバーヘッドを削減します。
@tommcdon ・ GitHub ・ area-Diagnostics-coreclr
ホットリロード中に複数のメタデータ差分を適用する際に、既存型へのプロパティ/イベント追加と新しい型の作成が交互に行われると、System.ArgumentOutOfRangeException: Token 2000000 is not valid がスローされる問題を修正します。
根本原因は、AddPropertyToPropertyMapとAddEventToEventMapがインダイレクト(ポインタ)テーブルパスを使用する際に親ルックアップテーブルのキャッシュを更新していなかったため、FindParentOfPropertyHelperが古いキャッシュからRID 0を返してしまっていました。
続きを読む
@Copilot ・ GitHub ・ Servicing-approved area-Infrastructure
release/10.0ブランチにおいて、Linux環境でのwasi-sdk curl ダウンロード失敗を減らすため、curl コマンドにリトライフラグを追加するバックポート。レート制限やネットワーク遅延などの一時的なダウンロード失敗に対する耐性を向上させます。
@janvorli ・ GitHub ・ area-CodeGen-Interpreter-coreclr
インタープリタでの例外処理(EH)診断テストのサポートを改善するPRです。デバッガスタックウォーク、例外インターセプション、IL↔ネイティブオフセットマッピングの動作をインタープリタに対応させることで、21個の診断EHテストのうち18個が成功するようになりました。また、最近のデバッグエラーハンドリング リファクタリングで発生していたLinux環境での退行も修正されています。
@jtschuster ・ GitHub ・ area-PAL-coreclr
clang 22でコンパイルされたELF出力ファイルが実行可能スタックをリクエストしないようにするため、.note.GNU-stackセクションを明示的に出力する回避策を追加します。NO_EXEC_STACK_DIRECTIVEマクロを定義し、ELF + clang 22以上でビルドされるアセンブリファイルに追加しています。
@radekdoulik ・ GitHub ・ arch-wasm area-CodeGen-Interpreter-coreclr
WebAssembly インタープリタにおいて、マネージド calli 命令のクッキー解決をコンパイル時から実行時に遅延させる変更です。ポータブルエントリポイント上の全マネージド/FCall calli 呼び出しについて、コンパイル時にクッキーを計算する代わりに実行時に MethodDesc から解決することで、デリゲートシャッフルサンクの対応が可能になり、約40シグネチャ分のハードコード化されたスタブが不要になります。
続きを読む
@Copilot ・ GitHub ・ area-System.Text.Json
.NET 10で導入されたJsonValueOfJsonString、JsonValueOfJsonBool、JsonValueOfJsonNumberがGetValue<object>()とTryGetValue<JsonElement?>()でInvalidOperationExceptionをスローする回帰バグを修正します。これらの型のTryGetValue<T>メソッドがtypeof(T) == typeof(object)とtypeof(T) == typeof(JsonElement?)のチェックを欠いていたことが原因です。
var reader = new Utf8JsonReader("\"Hello World!\""u8);
reader.Read();
var node = converter.Read(ref reader, typeof(JsonNode), options);
// .NET 10: 修正前は InvalidOperationException をスロー
// .NET 9: 正常に動作
var o = node.GetValue<object>();
続きを読む
@Copilot ・ GitHub ・ area-Infrastructure-libraries
Windows ビルドエージェントプールを Visual Studio 2026 Preview Scout イメージから安定版の VS2026 本番イメージに移行するビルドインフラストラクチャ更新です。プレビュー/スカウトイメージ参照を削除し、本番対応のイメージ名(内部ビルド:windows.vs2026.amd64、公開ビルド:windows.vs2026.amd64.open)に統一します。
@danmoseley ・ GitHub ・ area-System.Text.RegularExpressions
TryGetOrdinalCaseInsensitiveStringメソッドがCaptureノードを透過的に処理し、ネストされたConcatenateノードを再帰的に探索するよう改善しました。これにより、\b(in)\b(IgnoreCaseオプション)のようなパターンが、単一文字列による高速なLeadingString_OrdinalIgnoreCase_LeftToRight戦略を使用できるようになります。
続きを読む
@danmoseley ・ GitHub ・ area-System.Text.RegularExpressions
正規表現パーサーが条件式の yes/no ブランチ内でインラインオプション(例:(?i))を拒否していた問題を修正しました。これは .NET Framework からのリグレッションで、(?(test)(?i)yes|no) のような構文が Unrecognized grouping construct エラーを発生させていました。
修正は RegexParser.ScanGroupOpen() で ChildCount() > 0 チェックを追加し、テスト式が未追加の場合(ChildCount == 0)のみオプションをブロックし、ブランチ内(テスト式追加後)でのオプション使用を許可するものです。
続きを読む
@kotlarmilos ・ GitHub ・ area-crossgen2-coreclr os-ios
Crossgen2に--strip-inlining-info、--strip-debug-info、--strip-il-bodiesオプションを追加し、Apple mobileプラットフォームで自動的に有効化することで、composite R2R dylib出力サイズを削減します。MAUI template appでは2.2 MBのサイズ削減を実現します。
@Copilot ・ GitHub ・ area-System.Text.Json
Version JSON逆シリアル化のパフォーマンス最適化PR。主な変更は、先頭のプラス記号の検証を削除してVersion.Parseの動作に合わせ、UTF-8パースのサポートを追加することで、UTF-8→UTF-16のトランスコーディングオーバーヘッドを排除します。.NET 11+ではUTF-8バイト直接パースにより、中間バッファの割り当てを削除し、スループットを向上させます。
2026年03月17日 (23 PRs) うち Bot 4 件 この日のページ →
@max-charlamb ・ GitHub ・ area-Diagnostics-coreclr
ReadyToRunJitManagerのGetExceptionClausesメソッドをリファクタリングし、インラインの二分探索+線形探索の実装を共有ヘルパーBinaryThenLinearSearchに置き換えました。動作は同一(閾値10、中点計算、分岐方向、最初のマッチセマンティクスは変わらない)で、コード重複を削減します。
@rcj1 ・ GitHub ・ area-Diagnostics-coreclr
cDAC(Compact Data Access Component)の contract キャッシュフラッシング機構を実装するPRです。デバッグ対象プロセスの状態変化(例:resume後)時に、キャッシュされたcontract データをクリアするための統一的なFlush()メカニズムを追加し、既存のDAC フラッシュエントリポイント(IXCLRDataProcess.Flush()、ISOSDacInterface13.LockedFlush())に統合します。
続きを読む
@am11 ・ GitHub ・ community-contribution arch-loongarch64 area-CodeGen-Interpreter-coreclr
CoreCLR インタープリタを LoongArch64 アーキテクチャに移植するPRです。riscv64 ポートと同様のアプローチで、LoongArch64 プラットフォーム対応の実装を追加します。
@danmoseley ・ GitHub ・ area-Extensions-Hosting
BackgroundService が StopHost 動作で複数同時に失敗する場合、一部の例外が失われるレース条件を修正します。火・忘れ(fire-and-forget)で実行されていた TryExecuteBackgroundServiceAsync の監視タスクを追跡し、StopAsync でそれらが例外を記録するまで待機してから例外リストを読む仕様に変更しました。これにより、複数の BackgroundService が同時故障する本番環境シナリオでも全ての例外が正しく集約されます。
続きを読む
@lewing ・ GitHub ・ area-Extensions-Hosting
BackgroundServiceExceptionTestsのフレーキーなテストを修正します。タイミング依存のTask.Delay(200ms)を、より決定的な同期メカニズムに置き換えることで、CI環境での不安定な実行を解決します。
特にBackgroundService_AsynchronousException_StopAsync_ThrowsExceptionテストが高負荷CI環境で例外の伝播を待ちきれず失敗していたため、IHostApplicationLifetime.ApplicationStoppingシグナルを活用して、ホストが実際に例外を処理した後の正確なタイミングで検証するように改善されました。
続きを読む
@kg ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssembly RyuJIT コンパイラの関数ポインタテーブル初期化機能を実装するため、Wasm オブジェクトライターを更新しました。Element セクションを生成し、モジュール内のすべての関数に対して順序付けられた関数ポインタを作成します。
(import "env" "__image_function_pointer_base" (global (;2;) i32))
(elem (;0;) (offset global.get 2 i32.const 0 i32.add) func 0 1 2 3 ... 22)
続きを読む
@vcsjones ・ GitHub ・ area-System.Security reduce-unsafe
ASN.1キーローダーをref structベースの値型(Value*)に移行し、メモリ割り当てを削減しPointerMemoryManagerの使用を排除する変更です。エミットされたref structローダーにEncodeメンバーのサポートを追加し、asn:Choiceの検証をファイルスコープ型のバリデータに移動しました。暗号キー関連の多くのASN.1型がrefエミット専用に変更されます。
@eiriktsarpalis ・ GitHub ・ area-skills
dotnet/runtime の API提案スキルのドキュメントを改善し、実際のAPI承認プロセスに合わせて再構成。スキルトリガーの説明を拡充し、LLMの一般的な失敗パターンを記載し、提案テンプレートをAPI Issue テンプレートに統一。
@Copilot ・ GitHub ・ area-Extensions-FileSystem
Microsoft.Extensions.FileSystemGlobbing APIの欠落していたXML documentation を追加・修正するPRです。MatcherExtensionsクラスへの<summary>追加、各クラスのコンストラクタと プロパティのドキュメンテーション整備、FilePatternMatch.GetHashCode()の<returns>タグ修正、およびFileInfoWrapper.FullNameの不正な remarks参照の修正を実施しました。dotnet-api-docsへの後続ポートを前提としています。
続きを読む
@Copilot ・ GitHub ・ area-Extensions-FileSystem
Microsoft.Extensions.FileProviders名前空間のAPI文書化を改善するPRです。XML文書コメントの追加・修正により、コンストラクタの説明を標準化し、パラメータの説明を明確化しています。NullFileProviderとNotFoundDirectoryContentsには明示的なパラメータなしコンストラクタが追加されました。
@jtschuster ・ GitHub ・ area-CodeGen-coreclr
crossgen2のJitHostメモリ割り当て失敗時の処理を改善。従来はmallocの失敗時にNULLを返していたため、JIT's ArenaAllocatorがNULLチェックなしに逆参照してアクセス違反が発生していました。本修正により、malloc/calloc失敗時にstd::bad_allocを発生させ、JitCompileMethod境界で捕捉してCORJIT_OUTOFMEMを返すことで、メモリ不足時の例外処理を統一します。
続きを読む
@BrzVlad ・ GitHub ・ area-crossgen2-coreclr
ReadyToRun (R2R) コンパイラが CompExactlyDependsOn 属性を持つメソッドをスキップする判定ロジックのバグを修正。対象アーキテクチャに適用されない命令セット(InstructionSet.ILLEGAL)を参照する場合、メソッドが不正にR2R コンパイルから除外されていました。修正により、ILLEGAL命令セットは既知の非サポート状態として扱われ、メソッドがR2Rでコンパイルされるようになります。JSON シリアライゼーション/デシリアライゼーションのパフォーマンスが約2倍向上。
続きを読む
@eiriktsarpalis ・ GitHub ・ area-skills
dotnet/runtime リポジトリ向けの GitHub Issue トリアージ用 Copilot skill を追加します。このスキルは Issue を調査し、KEEP/CLOSE/NEEDS INFO の推奨事項を構造化されたマークダウンレポートで出力します。8段階のワークフロー(安全性スキャン、Issue 分類、重複検出、タイプ別調査など)と、バグ・API提案・パフォーマンス回帰・質問など Issue タイプ別の詳細ガイドで構成されています。
続きを読む
@svick ・ GitHub ・ area-Extensions-Configuration
Roslynの問題修正に伴い、ビッグエンディアンアーキテクチャ上で無効化されていたソースジェネレータテストを再度有効化します。先行するPR #105485の変更を取り消します。
@gwr ・ GitHub ・ area-System.Net os-SunOS community-contribution
SunOS環境でgetdomainname()関数を正常に動作させるための修正です。System.Net.NetworkInformation.Functional.Testsが実行時にアボートするのを防ぐため、SunOS固有のライブラリリンク設定と関数宣言を追加しています。
@danmoseley ・ GitHub ・ area-System.Text.RegularExpressions
RegexOptions.AnyNewLine フラグ (値: 0x0800) を新規追加し、^、$、\Z、. が Unicode のすべての行区切り文字 (\r、\r\n、\n、\u0085、\u2028、\u2029) を認識するようにします。これにより、Windows 形式の \r\n や Unicode 改行に対応する際の煩雑な回避策(\r?\n や (\r\n|\n) など)が不要になります。
// 修正前: match.Value == "foo\r" (末尾の\rが含まれる)
var match = Regex.Match("foo\r\nbar", ".*$", RegexOptions.Multiline);
// 修正後: match.Value == "foo" (正しく動作)
var match = Regex.Match("foo\r\nbar", ".*$", RegexOptions.Multiline | RegexOptions.AnyNewLine);
続きを読む
@jkoritzinsky ・ GitHub ・ area-crossgen2-coreclr linkable-framework
crossgen2でInterop型マップの事前コンパイル機能を追加します。従来はTypeMap属性を実行時に処理していましたが、本変更ではNativeAOTと同様にネイティブ形式のハッシュテーブルにエンコードします。3つの新しいReadyToRunセクション(ExternalTypeMaps、ProxyTypeMaps、TypeMapAssemblyTargets)を導入し、型マップをR2Rイメージに事前計算して格納することで、実行時の属性処理オーバーヘッドを削減します。
続きを読む
@Copilot ・ GitHub ・ area-System.Numerics.Tensors
非密集(strided)テンソルスパンにおける複数のメソッドの不正な動作を修正するPRです。これらのメソッドが基となるストレージ全体を処理していたのに対し、論理的なテンソル要素のみを操作するように改善しました。主な対象メソッドは SequenceEqual、Fill*、Resize*、IndexOf*、ConcatenateOnDimension です。
問題例:
int[] d1 = [10, 20, 99, 99, 30, 40, 99, 99];
int[] d2 = [10, 20, 77, 77, 30, 40, 77, 77];
var ts1 = new ReadOnlyTensorSpan<int>(d1, [2, 2], [4, 1]);
var ts2 = new ReadOnlyTensorSpan<int>(d2, [2, 2], [4, 1]);
// 論理要素は同じ [10, 20, 30, 40] だが、SequenceEqual が false を返していた
bool result = ts1.SequenceEqual(ts2); // 修正後: true
続きを読む
@liveans ・ GitHub ・ area-System.Net.Sockets
Unix環境において、ConnectAsyncの成功後にソケットをブロッキングモードに復元します。ユーザーが明示的にSocket.Blocking = falseを設定していない場合、その後の同期操作(Send/Receive)がepoll/kqueueでのエミュレーションではなくネイティブなブロッキングシステムコールを使用することで、パフォーマンスを最適化します。後続の非同期I/O操作が実行される際には、既存のSetHandleNonBlocking()メカニズムを通じてソケットは非ブロッキングモードに戻されます。
await socket.ConnectAsync(endpoint);
// 以降の同期操作がネイティブブロッキングシステムコールを使用(より効率的)
socket.Receive(buffer);
socket.Send(data);
続きを読む
2026年03月16日 (32 PRs) うち Bot 3 件 この日のページ →
@wfurt ・ GitHub ・ area-Infrastructure
ビルドパイプラインで Docker イメージビルド時にディスク容量不足が発生する問題を解決するため、内部 Linux ジョブのビルドイメージを 1es-ubuntu-2204 から build.azurelinux.3.amd64(Azure Linux)に切り替えます。この問題は 1ES イメージ更新後に発生しました。
@akoeplinger ・ GitHub ・ area-Infrastructure
GitHub Actions ワークフロー aspnetcore-sync.yml を修正し、単一ジョブ内での複数リポジトリチェックアウト時に発生する actions/checkout の認証情報永続化の問題(actions/checkout#2299 )を解決します。
@akoeplinger ・ GitHub ・ area-Infrastructure
aspnetcore→runtime同期ワークフローで使用されているdotnet/actions-create-pull-requestアクションを、Aspireで使用されているバージョンに更新します。アクションで発生していた問題に対応するため、v4タグから特定のコミットSHAにピン留めされたバージョンに切り替えています。
@max-charlamb ・ GitHub ・ area-Diagnostics-coreclr
cDAC(Compact DAC)開発用の公式ソリューションファイル cdac.slnx をチェックインして、開発者の環境構築を簡素化します。従来はREADMEの手動テンプレートを使用していましたが、5つのライブラリプロジェクトと2つのテストプロジェクト(ユニットテスト・ダンプテスト)をまとめた検証済みソリューションを提供することで、セットアップの手間を削減します。
@MichalStrehovsky ・ GitHub ・ area-NativeAOT-coreclr
NativeAOT環境において、IDynamicInterfaceCastable型のインターフェース型チェック結果が誤ってキャッシュされ、異なるインスタンス間で結果が誤った形で再利用される不具合を修正します。修正により、IsInterfaceImplementedメソッドの結果がインスタンスごとに正しく評価されるようになります。
@lewing ・ GitHub ・ area-VM-meta-mono
Mono JITランタイムにおけるdelegate trampolineの作成時のメモリマネージャー選択ミスマッチを修正します。動的メソッドの場合、jit_mm_for_methodを一貫して使用し、hash table挿入をアトミックに行うことで、マルチスレッド環境での不整合状態を排除します。特にWASM with AOT + threads環境での予期しないアサーション失敗を解決します。
@lewing ・ GitHub ・ area-VM-meta-mono
Mono AOT コンパイラが、参照型フィールド(string、class、array など)で MONO_MARSHAL_CONV_NONE に解決されるマーシャリング変換に遭遇した際に SIGABRT でクラッシュする問題を修正。例えば [MarshalAs(UnmanagedType.CustomMarshaler)] が指定された string フィールドを含む構造体がこれに該当します。修正により、AOT コンパイラはアサーションではなく MarshalDirectiveException を発行して正常に完了し、ランタイムが適切な例外をスロー可能になります。
続きを読む
@EgorBo ・ GitHub ・ area-System.Net reduce-unsafe
固定サイズバッファ(fixedキーワード)をC# InlineArray(InlineArray*<T>および[InlineArray(N)])に置き換えることで、interop関連の低レベルコードにおけるunsafeな操作を削減するマイグレーションです。ネイティブレイアウトの互換性を維持しながら、Spanベースのアクセスパターンを採用しています。
@lewing ・ GitHub ・ area-System.Resources
TestResourceManagerIsSafeForConcurrentAccessAndEnumerationテストの不安定性を解決するPRです。このテストは複数スレッドでのリソース列挙時のスレッドセーフティを検証していますが、CI環境の負荷により30秒のタイムアウトで頻繁に失敗していました。Task.WaitAllの代わりにTask.WhenAllを使用し、タイムアウトを120秒に延長し、例外伝播を改善することで、フレークテストを解消しています。
続きを読む
@am11 ・ GitHub ・ area-PAL-coreclr community-contribution os-openbsd
OpenBSD上でネイティブライブラリのクロスコンパイルを成功させるための修正です。build-native.shスクリプトでOpenBSD向けx64クロスコンパイル時の設定エラーを解決し、関連PR #125294と組み合わせることで完全なビルドが可能になります。
@barosiak ・ GitHub ・ area-Diagnostics-coreclr
cDAC(Compact Data Access Component)のマネージド実装において、IXCLRDataTask.GetLastExceptionStateメソッドを実装しました。このメソッドは、スレッドの最後に発生した例外の状態を取得します。ThreadData.LastThrownObjectHandleから情報を読み込み、ネストされた例外チェーンなしのClrDataExceptionStateを構築し、既存のGetCurrentExceptionStateと同じパターンに従っています。
続きを読む
@jtschuster ・ GitHub ・ area-crossgen2-coreclr
crossgen2のコンポジットモード(--large_version_bubble)でのCI カバレッジを追加し、非同期メソッドのコンパイル処理を調整してトークン解析エラーを回避するもの。従来のクロスジェン2パイプラインでは、フレームワークライブラリを含むテストをコンポジットモードでビルドするテストがなかったため、コンポジットモード固有の問題が検出されていませんでした。
@mrvoorhe ・ GitHub ・ linkable-framework community-contribution area-Tools-ILLink
IL Linkerのテスト実行時にMVID関連テスト(DeterministicMvidWorks、NewMvidWorks、RetainMvid)が同じサンドボックスロケーションで競合し、UnauthorizedAccessExceptionが発生する問題を解決。3つのテストをAll.CommandLineTestsから除外し、Individualフォルダに移動して個別実行テストに統合。重複トリミング処理を削減。
続きを読む
@DoctorKrolic ・ GitHub ・ area-System.Runtime.InteropServices community-contribution
COM相互運用ソースジェネレータのComClassGeneratorをシンタックスノード構築から文字列書き込みベースへ移植しました。これにより、コード生成の効率化とメモリ使用量の削減を実現します。関連Issue #95882 の一部です。
@Copilot ・ GitHub ・ area-System.Net.Http
Huffman符号化された文字列がデコード時に著しく膨張する場合(例:10バイト→16バイト)に、デコード後のヘッダー長が設定された制限を超える可能性がある脆弱性を修正しました。HPackDecoderとQPackDecoderでは、エンコード済み文字列長のみを事前チェックしていましたが、デコード後の長さをチェックしていませんでした。デコード後に長さチェックを追加し、制限を超える場合は例外をスローするよう改善しました。
続きを読む
@maraf ・ GitHub ・ arch-wasm area-Build-mono os-browser
WasmEmitTypeScriptDefinitions が有効な場合、ビルド時に dotnet.d.ts が wwwroot/ にコピーされます。2回目以降のビルドでは、wwwroot の Content グロブがこのファイルを検出し、Static Web Assets マニフェストが再生成されることでビルドが非インクリメンタルになります。本修正は、dotnet.d.ts を評価時の Content から除外することで、SWA パイプラインがグロブを通じてファイルを検出しないようにし、マニフェストの安定性を保ちます。
続きを読む
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr runtime-async
JIT非同期変換をリファクタリングし、継続情報の収集とサスペンション/レジューム生成を分離しました。この変更により、複数のサスペンションポイント間で継続レイアウトを再利用できるようになり、将来的に単一の継続を割り当てて全ての後続サスペンションで再利用する戦略の実験が可能になります。ローカル変数の割り当て順序が異なる箇所では、スタックフレームエンコーディングに軽微な差異が発生する可能性があります。
@radekdoulik ・ GitHub ・ arch-wasm area-Infrastructure-libraries os-browser
WebAssembly(wasm)環境でcoreclrのテストを実行可能にするための変更です。パイプライン設定とテストプロジェクト設定を追加しています。
@janvorli ・ GitHub ・ area-CodeGen-coreclr
JITがref structの静的フィールド初期化時に書き込みバリア(write barrier)の呼び出しを誤って省略していた問題を修正しました。GCヒープに存在する静的フィールドに対してJIT_ByRefWriteBarrierが呼び出されていなかったため、メモリ破損につながる可能性がありました。この問題は.NET 10のPR #111733で導入されました。
@Copilot ・ GitHub ・ area-System.Net
WebProxyがプロキシURI内に埋め込まれた認証情報(UserInfo)を無視していた問題を修正します。socks5://username:password@host:portのような形式でURI内に指定された認証情報を自動的に抽出し、Credentialsプロパティに設定するようになります。これにより、SOCKS5認証が正常に機能するようになります。
// URIから認証情報が自動的に抽出される
handler.Proxy = new WebProxy("socks5://username:password@host:1080");
// handler.Proxy.Credentials は自動設定される
// Addressセッターでも動作
var proxy = new WebProxy();
proxy.Address = new Uri("socks5://username:password@host:1080");
// proxy.Credentials は自動設定される
// 明示的な認証情報が優先される
handler.Proxy = new WebProxy("socks5://username:password@host:1080");
handler.Proxy.Credentials = new NetworkCredential("other", "creds"); // こちらが優先
続きを読む
@EgorBo ・ GitHub ・ area-System.Net.Http
WinHttpRequestStateでのGCHandleのダブルフリー競合状態を修正しました。単なるvolatile boolでは、disposeチェックと設定が原子的ではないため、複数スレッドからの同時アクセス時にGCHandleが二重解放される可能性がありました。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
JIT の線形スキャンレジスタアロケーション (LSRA) において、単一定義・単一使用 (SDSU) の一時的なインターバルを、消費側ノードで殺されるレジスタから遠ざけるようにする優先度ロジックを復活させました。これにより #125214 の変更による回帰を解決し、レジスタスピルの削減とコード品質の向上を実現しています。
サンプルコード(生成アセンブリの改善例):
- sub rsp, 40 // より大きなスタック調整
- xor eax, eax
- mov qword ptr [rsp+0x20], rax
+ push rbx // レジスタ保存による効率化
+ sub rsp, 32
続きを読む
@dhartglassMSFT ・ GitHub ・ area-ILTools-coreclr
CoreCLR ilasm ツールにおけるCodeQL静的解析の警告を修正するPR。ループカウンター型の誤りと、UTF-16文字列の不正なアライメントアクセスの2つの問題を解決します。
@Copilot ・ GitHub ・ area-System.Text.Json
JsonElement.GetProperty が KeyNotFoundException をスロー時に、プロパティ名を例外メッセージに含めるように改善しました。チェーンメソッド呼び出しで失敗時に、どのプロパティが原因かを特定できるようになります。
// Before: メッセージにプロパティ名がない
// The given key was not present in the dictionary.
// After: プロパティ名が含まれる
// The given key 'dateRange' was not present in the dictionary.
続きを読む
@Copilot ・ GitHub ・ linkable-framework area-Tools-ILLink
NativeAOTのILLink準備処理(_ComputeManagedAssemblyForILLink)がComputeIlcCompileInputsの副作用に依存していた結合関係を解除します。@(ManagedBinary)に依存するのではなく、@(IntermediateAssembly)を使用することで、ILLinkの準備フェーズがComputeIlcCompileInputsの実行順序に依存しなくなり、インクリメンタルビルド時の問題を解決します。
続きを読む
@gwr ・ GitHub ・ area-System.Net.Sockets os-SunOS community-contribution
SunOS(Illumos)プラットフォームでのネットワーキング実装を改善するPR。SunOSはAF_LINKとAF_PACKETの両方を定義していますが、AF_LINKを優先することで、システムプライベートヘッダーへのアクセスが不要になります。これにより、クロスコンパイル時のヘッダーコピー処理が簡略化されます。
@Copilot ・ GitHub ・ breaking-change area-NativeAOT-coreclr
NativeAOT で Unix プラットフォーム上のネイティブライブラリ出力にデフォルトで lib プレフィックス(例:libfoo.so、libfoo.dylib、libfoo.a)を適用するようにしました。従来は内部プロパティ _UseNativeLibPrefix を明示的に設定する必要がありました。公開プロパティ UseNativeLibPrefix で無効化できます。
<!-- オプトアウト設定 -->
<UseNativeLibPrefix>false</UseNativeLibPrefix>
続きを読む
@matantsach ・ GitHub ・ area-System.Net.Sockets community-contribution
UdpClient.CheckForBroadcast()がユーザーの明示的な設定を無視してEnableBroadcast = falseの場合でもブロードキャスト送信時に自動的にソケットオプションを有効化していた問題を修正します。修正後は、ユーザーがEnableBroadcastを明示的に設定した場合はその選択を尊重し、設定していない場合は従来通りの自動有効化動作を保つ後方互換的な実装です。
@lufen ・ GitHub ・ area-System.Xml community-contribution
XmlReader で UTF-8 が不正な XML 宣言を処理する際の ArgumentOutOfRangeException を修正しました。SafeAsciiDecoder 使用時の UnDecodeChars() メソッドにおいて、非ASCII文字(例:バイト0xBFから生成されるU+00BF)が UTF-8 では2バイト以上になることを考慮せず、bytePos が bytesUsed を超過してしまう問題を解決しました。修正後は、SafeAsciiDecoder を検出して charPos を直接利用し、ターゲットエンコーディングのバイト数が一致することを検証。不一致の場合は XmlException を Xml_InvalidCharInThisEncoding で投げ、不正なバイトを ParsingState を破損させる前に検出します。
続きを読む
2026年03月15日 (5 PRs) うち Bot 1 件 この日のページ →
@lewing ・ GitHub ・ Servicing-approved area-System.Net.Sockets
macOS 15+におけるAppleのLocal Network privacy機能に対応したテスト修正です。UDP broadcast送信時にSO_BROADCASTなしの場合、macOS 15+はEACCESではなくEHOSTUNREACHを返すため、テストが失敗していました。既存のActiveIssue属性をMacCatalyst x64のみから全macOS/MacCatalystプラットフォームに拡大し、テスト無効化の対象を統一します。
続きを読む
@EgorBo ・ GitHub ・ area-System.Runtime.InteropServices reduce-unsafe
このPRは、Interop層および低レベルの構造体において、unsafe fixedバッファをInlineArrayベースのバッファに置き換え、unsafeキーワードの使用範囲を削減しています。互操作性レイアウトを保持しながら、より安全で保守性の高いコードへの現代化を実現しています。23ファイルにおいて、fixedバッファからInlineArrayN<T>または[InlineArray(...)]属性付きバッファへの段階的な移行を行っています。
続きを読む
@hoyosjs ・ GitHub ・ area-Diagnostics-coreclr
x64スタックウォーク中のデバッガブレークポイントパッチスキャンのパフォーマンスを最適化するため、DAC側にパッチキャッシュを導入しました。ミニダンプ収集時に毎フレームで実行されていたパッチハッシュテーブルの走査を削減することで、大幅な高速化を実現しています。
@stephentoub ・ GitHub ・ area-Meta
.NET メモリモデル(docs/design/specs/Memory-model.md)に基づき、187個のフィールドから不要なvolatile修飾子を削除するメンテナンス変更です。参照型フィールド(159個)ではオブジェクトアサインメントがリリースセマンティクスを提供し、値型フィールド(28個)ではメモリモデルで読み込み導入が禁止されたため、volatileが不要になりました。破壊的変更ではなく、メモリ最適化による内部実装の改善です。
続きを読む
2026年03月14日 (7 PRs) うち Bot 1 件 この日のページ →
@lewing ・ GitHub ・ area-Infrastructure-mono
Wasm Playwright ブラウザテストの間欠的な TargetClosedException 失敗を修正します。内部ビルドではAndroidキューが誤ってすべてのプラットフォームに適用されていた(特に browser_wasm)ため、Chrome 共有ライブラリ依存関係がないベアメタルマシンでテストが実行されていました。また、メモリ不足によるChrome クラッシュに対する耐性も不足していました。
続きを読む
@sethjackson ・ GitHub ・ area-Infrastructure community-contribution os-openbsd
OpenBSD環境でGSSAPI(Generic Security Service Application Program Interface)ヘッダーが見つからないコンパイルエラーを修正するものです。configure.cmakeにinclude_directoriesを追加することで、#include <gssapi/gssapi.h>がコンパイラに正しく解決されるようにします。
@Copilot ・ GitHub ・ area-Diagnostics-coreclr
RCW(Runtime Callable Wrapper)データ取得機能を cDAC(Compact Diagnostic Access Component)の ISOSDacInterface::GetRCWData として実装します。RCW フラグのデコード機能と切断検出を含み、ダンプテストと単体テストを追加して RCW データおよびインターフェースキャッシュ動作を検証します。
@GrabYourPitchforks ・ GitHub ・ area-CodeGen-coreclr
CodeQLの暗号化関連ルールの実行範囲を調整し、暗号実装とinteropコード自体では無効化する一方、暗号消費者向けのアラートは維持するように設定を更新しました。暗号実装コードに対する不要なルール適用を排除し、ノイズを軽減します。
@sethjackson ・ GitHub ・ area-PAL-coreclr community-contribution os-openbsd
OpenBSD上のCMakeビルド定義の修正。特定の機能検出マクロに必要なヘッダーファイルのインクルードを追加しています。HAVE_STATFS_FSTYPENAME、HAVE_MNTINFO、HAVE_GETPEEREIDの定義時に、それぞれsys/types.hとsys/socket.h(HAVE_GETPEEREIDの場合)が必要です。
@jkoritzinsky ・ GitHub ・ area-VM-coreclr
ランタイム内のコンストラクタ呼び出しをUnmanagedCallersOnlyパターンに移行するPRです。クラスコンストラクタ(.cctor)とデフォルトインスタンスコンストラクタの呼び出しを、VM-to-Managed逆P/Invokeパターンで実装し直します。これにより、CATCH_HANDLER_FOUND_NOTIFICATION_CALLSITEとPREPARE_NONVIRTUAL_CALLSITE_USING_METHODDESCの不要なインフラが削除されます。
続きを読む
2026年03月13日 (19 PRs) うち Bot 1 件 この日のページ →
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
PR #124033のハードウェアイントリンシック削除に伴うJIT-EE GUID(JIT/EE インターフェースバージョン)の更新です。JIT CI環境で、JITと前バージョンのBCL/SPMI collectionsとの互換性チェックが失敗していたため、JITEEVersionIdentifierを新しいGUID値にバンプすることで互換性検証をリセットし、JIT CIのブロッキングを解除します。
続きを読む
@Copilot ・ GitHub ・ area-System.IO
tvOSおよびiOSでシンボリックリンク作成と名前付きパイプ(mkfifo)がサポートされていないため、これらのテストを条件付きでスキップするように修正します。tvOS/arm64 CI環境での継続的なテスト失敗を解決します。
@Copilot ・ GitHub ・ area-Diagnostics-coreclr
ClrDataAccess::GetMetaDataFileInfoFromPEFileのデッドコードを削除するPRです。pDirはNULLで初期化された直後にif (pDir == NULL || pDir->Size == 0)でチェックされており、常に真となるため、このチェック全体が不要でした。SVACE静的解析ツールで検出されました。
@steveisok ・ GitHub ・ area-Infrastructure
Linux/macOS環境におけるWASI SDK ダウンロードの信頼性向上を目的とした変更です。従来、Linux の curl コマンドには再試行ロジックがなく、一時的なGitHubダウンロード失敗(レート制限、ネットワーク問題、不完全な転送)により暗号的な tar エラーでビルドが失敗していました。Windows用の download-wasi-sdk.ps1 と同様に、再試行機能を追加して堅牢性を高めます。
curl --silent --show-error --fail --retry 3 --retry-delay 5 -L -o wasi-sdk-25.0.tar.gz <url>
続きを読む
@bartonjs ・ GitHub ・ area-System.Security
OpenSSL 4.0-alpha1対応のため、ネイティブ暗号シムをビルド可能にする変更です。主な課題はASN1_STRING型の不透明化と、APIの戻り値にconstポインタが増えたこと。ASN1_STRINGフィールドへの直接アクセスをアクセッサAPI(ASN1_STRING_length、ASN1_STRING_get0_data)に置き換え、const戻り値に対応するためOSSL4CONSTマクロを導入しています。
続きを読む
@jozkee ・ GitHub ・ NO-SQUASH Servicing-approved linkable-framework area-codeflow
release/9.0-stagingブランチからrelease/9.0ブランチへのマージPRです。ツールチェーン/依存関係のバージョン更新、COSE暗号化メッセージのデコーディング・署名機能の改善、ランタイムおよびテストの調整が含まれています。
@jozkee ・ GitHub ・ NO-SQUASH Servicing-approved area-codeflow
release/8.0-stagingからrelease/8.0への手動マージです。ビルドインフラストラクチャとツールセットの更新(Arcade、SDK pins、パイプラインプール/イメージ、内部フィード エンドポイント)、およびmacOSでのクラッシュに関するテスト隔離が含まれます。
@Copilot ・ GitHub ・ area-System.Numerics.Tensors
単一要素(length <= 1)のテンソルにおいてstrideの計算が誤っていた問題を修正。TensorShape.Createの2つのショートカットオーバーロードが、stride 0を使用すべき場合に hardcode された strides: [1] を使用していたため、単一要素テンソルの作成と操作が失敗していました。
// 修正前:stride = 1(誤り)
var src = Tensor.Create([1.0]);
var dst = Tensor.CreateFromShapeUninitialized<double>(src.Lengths);
src.CopyTo(dst); // 例外発生
// 修正後:stride = 0(正常)で動作
続きを読む
@Copilot ・ GitHub ・ area-Build-mono
WasmAppBuilder タスク プロジェクトの net472 マルチ ターゲットが PR #122007 で誤って削除されたことを復元し、CoreCLR PInvoke ジェネレータで .NET 7+ API の Type.IsFunctionPointer を直接使用することによるコンパイル エラーを修正します。Visual Studio などのフルフレームワーク MSBuild ホストでのビルドが必要です。
続きを読む
@Copilot ・ GitHub ・ area-AssemblyLoader-coreclr linkable-framework
ILLink/ILC のルートアセンブリ指定をファイルパスからアセンブリ名のみ に統一し、インクリメンタルビルドのギャップを解消します。従来、TrimmerRootAssembly と illink の -a フラグはファイルパスを受け入れていたため、ビルド入力として宣言されていないファイルをリンカーが読み込む可能性がありました。本変更により、MSBuild ターゲットと ILLink/ILC の動作を一貫させ、アセンブリ名(拡張子なし)のみを使用するようにします。
続きを読む
@eduardo-vp ・ GitHub ・ area-System.Diagnostics
ARM32プラットフォームのRhpThrowImpl関数で、例外スロー処理の際に呼び出し元保存レジスタの保存が不完全だった問題を修正しました。INLINE_GETTHREAD呼び出し前にr0だけでなくr2(例外種別を格納)も保存する必要があります。併せてARM上のスタックトレーステスト(ToString_Async)の隔離を解除しました。
@barosiak ・ GitHub ・ area-Diagnostics-coreclr
cDAC(Common Data Access Component)のIXCLRDataTaskにGetCurrentExceptionStateメソッドを実装し、IXCLRDataExceptionState COM クラスであるClrDataExceptionStateを新規実装しました。Thread契約にGetCurrentExceptionHandleを追加して、アクティブな例外ハンドルを特定し、GetFlags、GetPrevious、GetString、GetTask、Requestなどのメソッドをネイティブ cDAC実装で提供します。レガシーDAC実装との互換性検証も含まれています。
続きを読む
@ManickaP ・ GitHub ・ area-Build-mono
新しいWindows VM イメージの Docker コマンド仕様変更に対応するストレステスト修正。Dockerfile がビルドコンテキスト内に存在する必要があり、docker compose が docker-compose に変更されたことに対応しています。
@martincostello ・ GitHub ・ area-Extensions-Configuration community-contribution
ChainedConfigurationSourceでリロード機能のサポートを追加しました。複数の設定ソースを鎖状に組み合わせる場合、基盤となる設定ソースの変更を検出して自動的に設定を再読み込みできるようになります。
@pavelsavara ・ GitHub ・ arch-wasm area-AssemblyLoader-coreclr os-browser
CoreCLRランタイムがWebcilコンテナ形式をネイティブサポートするようになり、Browser/WASMビルドで.wasm形式のアセンブリを直接読み込めるようになりました。これまでMonoランタイムのみが対応していた機能で、CoreCLRでも同じレベルのサポートを実現します。
@svick ・ GitHub ・ breaking-change area-Extensions-Hosting
BackgroundServiceが例外で失敗しBackgroundServiceExceptionBehavior.StopHost(デフォルト)が設定されている場合、デフォルトホストのIHost.RunAsync()/StopAsync()から例外をスローするように変更しました。これにより、バックグラウンドサービスの失敗がホストレベルで適切に伝播され、終了コードに反映されるようになります。
@Copilot ・ GitHub ・ area-Extensions-DependencyInjection
Issue #57333で報告された、閉じたジェネリック登録(IService<T> -> Impl)とオープンジェネリック登録(IService<> -> GenericImpl<>)を混合する際のGetServices<T>()の不一致な解決を検証するテストを修正しました。テスト自体にセットアップの問題があったもので、DI実装のバグではありません。
@liveans ・ GitHub ・ Servicing-approved area-System.Net
RFC 6455準拠を強化するため、WebSocketサーバーがマスク処理されていないフレーム受信を拒否するようにしました。非準拠クライアントからのマスク処理されていないフレームのみが影響を受け、準拠クライアントへの動作変更はありません。
2026年03月12日 (21 PRs) うち Bot 1 件 この日のページ →
@stephentoub ・ GitHub ・ area-System.Text.RegularExpressions
正規表現パターン a(b.*?c)?d のテストケースを追加し、#124254での修正が#125321で報告されたリグレッション(オプショナルグループ内の遅延量指定子が正しくマッチしない問題)を解決したことを確認します。
@steveisok ・ GitHub ・ Servicing-approved area-Infrastructure
MSVC 19.44.35221でのC4319警告(ゼロ拡張による型警告)をlibunwindで解決するバックポート。UNW_ALIGNマクロに(size_t)キャストを追加し、/WX(警告をエラーとして扱う)オプションでのコンパイルエラーを回避します。
@kotlarmilos ・ GitHub ・ area-crossgen2-coreclr os-ios runtime-async
crossgen2がApple mobileプラットフォーム上で非同期メソッド内のジェネリック型インスタンス化(例:CallStruct1M0<T>)を参照する際に、InstantiatedTypeトークン解決が未対応でNotImplementedExceptionをスローするリグレッションを修正します。#124203で導入された問題への対応です。
@pavelsavara ・ GitHub ・ arch-wasm area-Host os-browser
WebAssembly/ブラウザでのランタイム起動フローをリファクタリングし、可読性を向上させるものです。リソース集合の反復処理を簡潔にするヘルパー関数(forEachResource/normalizeCollection)を導入し、ライブラリ初期化ロジック(onRuntimeConfigLoaded/onRuntimeReady)をassets.tsに集約しました。
@jonathandavies-arm ・ GitHub ・ area-CodeGen-coreclr community-contribution
ARM64アーキテクチャにおいて、and/bic命令の早期バイアウト時の問題を修正しています。JITコンパイラの下位レベル(lower)処理で、特定の条件下での命令生成ロジックが改善されました。
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
Issue #125301のNOL(Normalize-On-Load)バグを修正します。小型ローカル変数(shortなど)がアドレスベースのアクセスで部分的に定義される場合、不正な上位ビット状態を防ぐため、該当ローカル変数をアドレス公開してnormalize-on-loadさせるようにしました。
@jtschuster ・ GitHub ・ area-crossgen2-coreclr
Crossgen2(ReadyToRun コンパイラ)での非同期仮想メソッドの非仮想化を有効にするPRです。従来の MetadataVirtualMethodAlgorithm では非同期メソッドの変種が考慮されていなかったため、R2R コンパイル時に非同期仮想メソッドの非仮想化ができませんでした。AsyncAwareVirtualMethodResolutionAlgorithm に切り替え、ILC の動作と統一します。
インターフェース経由のディスパッチでは、修正前は VIRTUAL_ENTRY による間接ディスパッチが発行されていましたが、修正後は非同期メソッドの変種を解決して直接呼び出しに最適化されます。
続きを読む
@Copilot ・ GitHub ・ area-Infrastructure linkable-framework
xUnit v3への将来的な移行に向けた前方互換性の改善です。EqualException.ForMismatchedValues()の呼び出しをすべてstring引数に統一し、xUnit v3では文字列引数のみをサポートする仕様に対応させました。また、xUnit v3固有のxUnit1051アナライザ警告を抑制する設定を追加しました。実際のパッケージ切り替えは行われていません。
@jtschuster ・ GitHub ・ area-VM-coreclr
RegisterResumptionStub内のレース条件によるメモリリークを修正しました。複数スレッドが同時にMethodDescを割り当てた場合、敗者のスレッドが割り当てたメモリが解放されずにリークしていました。SuppressRelease()呼び出しを挿入成功後に移動し、条件付きにすることで、敗者のAllocMemTrackerが確実にメモリを回収できるようにしました。
@vcsjones ・ GitHub ・ area-System.Security
ASN.1デコーダの型生成システムを拡張し、ref structベースのスパン指向デコーダ(Value*型)を既存のstructデコーダと並行して生成できるようにしました。これにより、PointerMemoryManagerの使用を廃止し、メモリ安全性を向上させます。XSLT生成ツールにemitType属性を追加し、struct/ref struct/両方の生成を制御できるようになりました。PublicKeyとCertificateRequestの実装をこの新しいValue*デコーダに移行し、実装の有効性を実証しています。
続きを読む
@Copilot ・ GitHub ・ area-PAL-coreclr
PALテストスイートのCloseHandleテストで、未使用で不正なサイズ割り当てをしていたWriteBuffer変数を削除しました。WriteBufferはLPDWORD(4バイト)型でしたが、malloc(sizeof(WORD))で2バイトしか割り当てられておらず、実際には使用されていなかったため、新しいclangの-Walloc-sizeエラーチェックで検出されていました。
@am11 ・ GitHub ・ area-Diagnostics-coreclr community-contribution arch-loongarch64 arch-riscv
RV64(RISC-V 64)およびLA64(LoongArch 64)アーキテクチャのcDAC(Compact DAC)実装をARM64の実装と同期させ、GCInfo処理、スタックウォーク、アンワインド機能を拡張するPullRequestです。両アーキテクチャのデバッグ・診断機能を強化し、ARM64と同等のサポートレベルを提供します。
@am11 ・ GitHub ・ area-VM-coreclr community-contribution
COM相互運用性の機能をUnmanaged Callable Object (UCO)に段階的に変換するプロジェクト(#123864 のグループ5の一部)の実装。マネージドコードからアンマネージドコードへのCOM呼び出し処理をUCOベースのアプローチに移行し、既存のネイティブ実装との段階的な置き換えを行います。
@Copilot ・ GitHub ・ area-System.IO breaking-change needs-breaking-change-doc-created
新しい公開API SafeFileHandle.CreateAnonymousPipe(out readHandle, out writeHandle, asyncRead = false, asyncWrite = false) を導入し、Windows/Unix両プラットフォームで真のエンド単位の非同期I/Oセマンティクスを実現します。Windows側は名前付きパイプトリックを採用し、Unix側はO_NONBLOCKフラグで非ブロッキング状態を検出します。Process.Windows.csは新APIを採用し、標準ハンドルアクセスはConsole.OpenStandardInputHandle()等に移行しました。
SafeFileHandle.CreateAnonymousPipe(
out SafeFileHandle readHandle,
out SafeFileHandle writeHandle,
asyncRead: true,
asyncWrite: false);
続きを読む
@rcj1 ・ GitHub ・ area-Diagnostics-coreclr
cDAC(Debugger Cooperative Access Contracts)に TraverseEHInfo API を追加し、例外処理情報(EHInfo)の走査機能を実装しました。同時に、catch-all ハンドラーの型判定バグを修正しています。従来は mdTypeRefNil との比較で判定していましたが、実際の catch-all ハンドラーは System.Object 型であるため、キャッシュされた System.Object メソッドテーブルとの比較に変更されました。
続きを読む
@kotlarmilos ・ GitHub ・ os-ios area-CodeGen-Interpreter-coreclr
Swift P/Invokeがマーシャリングを必要とする場合(例:ref SwiftError)、インタープリタがILスタブ経由で呼び出すときのSwiftエラーハンドリングの問題を修正しました。従来は二重のネイティブ遷移が発生し、x21レジスタ(Swiftエラー用)の値がExecuteInterpretedMethodによる保存/復元で上書きされるバグがありました。修正により、マーシャリング後のcalliでSwift呼び出し規約を正しく適用し、Swiftエラーレジスタを適切なネイティブ遷移時点でキャプチャするようにしました。
続きを読む
@Copilot ・ GitHub ・ area-System.Net.Security
PR #124598でNTLM big-endianサポート実装時に見落とされた複数の多バイトフィールドのエンディアン変換を追加します。NTLM wire protocolはリトルエンディアンであり、big-endianアーキテクチャ上でMessageField.Length/MaximumLength、ChallengeMessage.Flags、AuthenticateMessage.Flags、NtChallengeResponse.Timeが正しくバイトスワップされていないため、wire formatが破損していました。
既に確立されているパターン(_payloadOffset、_productBuild、NegotiateMessage.Flags)を踏襲し、プライベートバッキングフィールド + エンディアン対応プロパティで統一します。
続きを読む
@gwr ・ GitHub ・ area-System.Net community-contribution
SystemNative_GetNetworkInterfacesでのメモリ上書きバグを修正しています。getifaddrsがIPv4/IPv6エントリのみを返す場合(count == ip4count + ip6count)、割り当てたバッファがNetworkInterfaceInfo配列とIpAddressInfo配列の両方を収容しきれず、メモリ上書きが発生していた問題を解決しました。
@pentp ・ GitHub ・ area-System.Net community-contribution
Windows上のSystemIPGlobalPropertiesのTCP/UDP列挙処理を最適化し、管理側のメモリ割り当てを削減します。GetExtendedTcpTable/GetExtendedUdpTableネイティブAPIを使用してネイティブ層でのフィルタリングを活用し、バイトスライシング解析から型付きspan列挙へ移行することで、複数の割り当てレイヤーを削減します。
@pavelsavara ・ GitHub ・ arch-wasm area-Infrastructure-libraries os-browser
このPRは、.NETランタイムのスレッド機能検出メカニズムをリファクタリングしています。複数のスレッド関連の機能フラグ(FEATURE_WASM_MANAGED_THREADSとFEATURE_SINGLE_THREADED)を、より一貫性のある単一のフラグFEATURE_IS_MULTITHREADING_SUPPORTEDに統一します。WebAssemblyターゲットを中心に、スレッド機能の有無を明確かつ統一的に表現する目的です。
続きを読む
2026年03月11日 (34 PRs) うち Bot 8 件 この日のページ →
@mrvoorhe ・ GitHub ・ linkable-framework community-contribution area-Tools-ILLink
PR #97605で導入されたToHashSet()とSetEquals()の使用により、ILLinkテストフレームワークのテストカバレッジが低下していた問題を修正します。これらのメソッドはコレクションの重複排除と順序の無視により、命令列の並び替えやメソッド本体の変更を検出できなくなっていました。本PRでは順序を考慮した比較に戻し、さらにKeptAttributeAttributeを拡張してコンストラクタ引数マッチングに対応させ、属性の重複排除による問題を解決します。
続きを読む
@Copilot ・ GitHub ・ area-CodeGen-coreclr
SuperPMI asm diffs マークダウンレポートにおいて、ジェネリック型パラメータなど <、>、& などの文字を含むメソッド名が HTML として誤解釈されるのを防ぐため、func_name を HTML エスケープする機能を追加しました。
@radekdoulik ・ GitHub ・ arch-wasm area-Infrastructure-coreclr os-browser
WASM/CoreCLR上のテスト実行でasync v2機能を有効にするため、テスト用MSBuildロジックを更新しました。ブラウザターゲットを除外する条件を削除し、WASMプラットフォームでも"runtime async"機能フラグが有効になるようにします。
@AaronRobinsonMSFT ・ GitHub ・ area-Infrastructure
Copilot指示ファイルを更新し、2つの新しいルールを追加しました:
Git確認ゲート :git commit --amendまたはgit push実行時に常にユーザー確認を求める(不可逆的なGit操作の無許可実行を防止)
コードレビュースキップ :ユーザーが自分でレビューすると明示した場合、code-reviewスキルの呼び出しをスキップ(不要な自動レビュー実行を防止)
続きを読む
@AaronRobinsonMSFT ・ GitHub ・ area-AssemblyLoader-coreclr
PR #120515でFileLoadLock::m_pAssemblyの遅延初期化が導入された際、AppDomain::LoadAssemblyの高速パスが更新されず、TOCTOU(Time-of-Check to Time-of-Use)競合状態が発生していました。別スレッドが読み取り間にアセンブリをロードすると、キャッシュされたnullptrがのちに参照され、0xC0000005アクセスバイオレーションでクラッシュしていました。本修正は、ロードレベルチェック後にアセンブリポインタを読み取るよう順序を修正し、スレッド間での安全な読み取りを保証します。
続きを読む
@vseanreesermsft ・ GitHub ・ Servicing-approved area-codeflow
release/9.0ブランチの内部コミットをマージするPull Requestです。Base64Url関連の機能に対する修正が含まれています。
@vseanreesermsft ・ GitHub ・ Servicing-approved area-codeflow
このPull Requestは、release/8.0ブランチ向けの内部コミットをマージするものです。詳細な変更内容については、提供されたファイル情報が不足しているため確認できません。
@am11 ・ GitHub ・ area-Setup community-contribution
ANTLR(Another Tool for Language Recognition)のライセンス情報をTHIRD-PARTY-NOTICES.TXTに追加するPull Requestです。dotnet/runtimeリポジトリで使用されているサードパーティライブラリのライセンス表記を更新しています。
@LuckyXu-HF ・ GitHub ・ area-CodeGen-coreclr community-contribution arch-loongarch64
LoongArch64のコード生成において、符号なし整数のGT_LE比較演算で境界値オーバーフローのリスクを修正しました。SpanHelpers.ByteMemOps.cs:172でのアサーション失敗を解決する変更です。
@Copilot ・ GitHub ・ area-System.IO
UnixプラットフォームでFileStreamが非ブロッキング(O_NONBLOCK)ハンドルをサポートするようになりました。ネイティブ層にポーリング機能を追加し、パイプやソケットなどの非同期ハンドルをFileStreamでラップできるようになります。これまではUnixで非ブロッキングハンドルを使用するとArgumentExceptionが発生していました。
@radekdoulik ・ GitHub ・ arch-wasm area-VM-coreclr
WASM環境で発生していた2つの問題を修正:
スタブベースメソッドのプリスタブ処理時にスタブのエントリポイントではなくメソッド自身のPortableEntryPointを使用し、MethodDesc-to-entrypointの1:1マッピングを保証
32ビットターゲットでI4/I8混合算術の拡張を有効化(conv.i8の結果をI4として扱う問題に対応)
続きを読む
@MichalStrehovsky ・ GitHub ・ area-NativeAOT-coreclr
NativeAOT テスト実行時にローカル環境で *.testResults.xml アーティファクトが生成されない問題を修正します。各テストプロジェクトを個別のマージドランナーとして扱う従来の方式から、単一の統合テストラッパープロジェクト(nativeaot.csproj)による統一的な管理に変更し、テスト結果の適切な生成を実現します。
@Copilot ・ GitHub ・ area-VM-coreclr
Windows NTFS ボリュームマウントポイント削除テストの間欠的な失敗を修正します。Directory.Delete がマウントポイントディレクトリを削除後、finally ブロック内の MountHelper.Unmount() 呼び出しが Win32 エラー 4390/3 をスローし、テスト失敗につながっていた問題を解決します。Scenarios 1, 2, 3.1, 3.2 の finally ブロックで、アンマウント前にディレクトリの存在確認を追加し、既に Scenarios 3.3–3.5 で使用されているパターンに統一します。
// Before
finally
{
MountHelper.Unmount(mountedDirName);
DeleteDir(mountedDirName, true);
}
// After
finally
{
if (Directory.Exists(mountedDirName))
{
MountHelper.Unmount(mountedDirName);
DeleteDir(mountedDirName, true);
}
}
続きを読む
@Copilot ・ GitHub ・ area-System.Security
内部型 AsnValueReader の全使用箇所を、#125254で導入された公開型 ValueAsnReader(System.Formats.Asn1)に置き換え、内部型を削除するリファクタリング。ASN.1解析機能を内部実装から公開APIへ統合することで、コード重複を排除し、公開APIの活用を推進します。
@Copilot ・ GitHub ・ area-System.Runtime
macOS arm64上のGCストレステストでホストレベルのクラッシュ(SIGTRAP、終了コード133)が発生しているRuntime_76219テストを、プロジェクトレベルで無効化します。GCストレス設定(DOTNET_GCStress=0x3など)がxUnitの[ActiveIssue]スキップ判定前に適用されるため、<CLRTestTargetUnsupported>true</CLRTestTargetUnsupported>を追加して、テストの構築・実行そのものを防ぎます。
続きを読む
@LuckyXu-HF ・ GitHub ・ area-VM-coreclr community-contribution arch-loongarch64 runtime-async
LoongArch64アーキテクチャで非同期ランタイム機能を有効化するための実装です。ヒジャッキング処理で非同期継続レジスタを保持し、非同期再開時の情報をリードライトセクションに配置する変更が含まれます。FEATURE_REMAP_FUNCTIONがLoongArch64で有効化されていないため、関連する前の変更(PR #121672)をリバートしています。
@adamperlin ・ GitHub ・ arch-wasm area-crossgen2-coreclr
WebAssembly (WASM) コンパイルにおけるシグネチャ生成ロジックのバグを修正。PR #124685で導入されたWasmTypeNodeを使用したシグネチャ記録ロジックに対応するため、MethodWithGCInfoの静的依存性としてWasmTypeNodeを追加し、コンパイルされたすべてのメソッドに対して確実にシグネチャノードが生成されるようにしました。
@BoyBaykiller ・ GitHub ・ area-CodeGen-coreclr community-contribution
JIT if-conversion機能の無効なIR生成とブロック重みの計算を修正するパッチです。return文を含むif/else パターンにおいて、CFG(制御フロー グラフ)の正確性を改善し、変換後のIRが無効な状態(RETURNブロックが後続ブロックを持つ)にならないようにしました。これにより、if-conversion が認識できるケースが増え、不要なjmp命令が削除されるようになります。
@max-charlamb ・ GitHub ・ area-Diagnostics-coreclr
cDAC(Contracts-based Debugging And Code Analysis)のClrDataFrameにGetContextとGetAppDomainメソッドの実装を追加します。従来のネイティブ実装のみへの委譲から、マネージドのネイティブコントラクトベースの実装に移行し、ネイティブstack.cppの動作に統一します。新たにIXCLRDataAppDomainの実装ClrDataAppDomainをマネージドレイヤーに導入しています。
続きを読む
@eiriktsarpalis ・ GitHub ・ area-System.Text.Json source-generator
インクリメンタルソースジェネレータが発行する診断メッセージを #pragma warning disable で抑制できるようにします。従来、ExternalFileLocation を使用していたため Roslyn のプラグマ抑制チェックがスキップされていた問題を修正しました。
@jkoritzinsky ・ GitHub ・ area-NativeAOT-coreclr
PE ファイルの最終的なディスク上のサイズ計算を修正するプルリクエストです。出力ファイルを仮想イメージサイズ(SizeOfImage)ではなく、ファイルアラインメント(_peFileAlignment)に合わせてパディングするよう変更しており、自己完結型アプリケーションのサイズ回帰に対応しています。
@Copilot ・ GitHub ・ area-Diagnostics-coreclr
cDAC(Core Dump Access Component)で Runtime Callable Wrapper(RCW)のキャッシュされたCOMインターフェースおよびCOMコンテキストクッキーを列挙するサポートを追加し、レガシISOSDacInterface.GetRCWInterfaces実装に統合しました。BuiltInCOMコントラクトAPIを使用してRCWインターフェースエントリキャッシュを処理し、HRESULT動作を例外経由で保持しています。
続きを読む
@snickolls-arm ・ GitHub ・ area-CodeGen-coreclr community-contribution
可変サイズのローカル変数(コンパイル時にサイズが不明なもの)に対応するため、morph/lclmorphにおける間接参照とアドレッシング処理を改善。特にTYP_SIMD/TYP_MASKなどの未知のサイズを持つローカル変数のアドレス取得やフィールドアクセス時の安全性を強化。
@shushanhf ・ GitHub ・ area-CodeGen-coreclr community-contribution arch-loongarch64
LoongArch64アーキテクチャにおいて、非同期再開情報(async resumption info)を読み取り専用セクション(read-only section)から読み取り・書き込みセクション(read-write section)に移動する変更です。これにより、#123433および#124213で報告された問題に対応します。
@ylpoonlg ・ GitHub ・ area-System.Runtime.Intrinsics community-contribution
SVE(Scalable Vector Extension)の GatherVector APIから重複したメソッドを削除しています。32ビット値は32ビットへの拡張が不要なため、UInt32 拡張メソッドが通常の GatherVector メソッドと重複していました。#103370 で Int32 拡張を削除済みでしたが、UInt32 拡張が残っていたため、今回その削除を完了します。
@jonathandavies-arm ・ GitHub ・ area-CodeGen-coreclr community-contribution
ARM64アーキテクチャにおいて、不要なキャスト命令を削除する最適化を実装しました。拡大キャスト(widening cast)の後に縮小キャスト(truncating cast)が続く場合、中間の拡大キャスト命令を削除し、最終的な縮小キャスト命令のみを生成するようにしています。
例: (sbyte)(long)x は sxtb のみで済み、その前の sxtw が削除されます。
続きを読む
2026年03月10日 (23 PRs) うち Bot 1 件 この日のページ →
@kg ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssembly RyuJIT でのレジスタパラメータの初期化コード生成をプロローグから最初の基本ブロックに移行する変更です。プロローグは単一の命令グループに制限されているため、WebAssembly では大量のコードが必要になる場合があり、その対応として Swift 構造体と同様の処理方式に変更しました。同時に未初期化の insGroup メンバーのバグも修正しています。
@adamsitnik ・ GitHub ・ area-Infrastructure
CI/CD パイプラインの設定を変更し、copilot/*.* ブランチをターゲットとするPull Requestに対してもCI実行を有効化します。これにより、GitHub Copilotを使用した分割作業における依存PRでも、マージ前にコンパイルと動作確認のフィードバックが得られるようになります。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
OSR(On-Stack Replacement)JITコンパイル中に、MonitorAcquiredやasync contextなどの特殊なOSRローカル変数がenregistered(レジスタに割り当て)された場合、tier0スタックオフセットの計算時にpatchpointのオフセットテーブルを不正にアクセスしていた。新たにCompiler::lvaOSRLocalTier0FrameOffsetヘルパーメソッドを導入して、特殊なOSRローカル変数を含めたtier0フレームオフセットの検索を一元化し、out-of-bounds読み取りを防止している。
続きを読む
@cincuranet ・ GitHub ・ area-Extensions-DependencyInjection
ServiceProvider.DisposeAsync メソッドのドキュメンテーション(XML コメント)を改善する変更です。Issue #124419 に対応した documentation のみの更新となります。
@Copilot ・ GitHub ・ area-CodeGen-coreclr
このPRは、JIT コンパイラの GT_LCLHEAP(localloc命令)ノードの例外処理を簡素化するものです。従来は例外フラグ GTF_EXCEPT により自動的に例外を発生させる可能性があるものとして扱われていましたが、この変更により例外フラグの特別扱いを廃止し、明示的な例外処理のみに統一しました。また、使用されなくなった StackOverflowException フラグを削除しています。
続きを読む
@Pietrodjaowjao ・ GitHub ・ area-PAL-coreclr community-contribution
Android 13とカスタマイズされたカーネル5.10を搭載するデバイスで、PALスレッド初期化時のsched_setaffinity呼び出しがEPERMエラーで失敗し、coreclr_initializeが0x8007054Fエラーを返して初期化に失敗する問題を修正しました。EPERMとEACCESエラーを非致命的なものとして扱い、警告をログして処理を続行するようにしました。
// 修正前:EPERMでも致命的エラーとして処理
// 修正後:EPERMとEACCESは非致命的、他のエラーのみ致命的エラー
続きを読む
@vcsjones ・ GitHub ・ area-System.Security
ASN.1パース処理でヒープ割り当てを削減するため、複数の箇所でAsnReaderをValueAsnReader(スタックのみ)に置き換えました。X.509証明書、PKCS、ECC/RSA鍵形式パースなど、暗号スタック全体で7つのファイルを更新し、スパン型APIの活用によりメモリ効率を改善しています。
// 変更例: AsnReader → ValueAsnReader
// 従来: AsnReader reader = new AsnReader(bytes, AsnEncodingRules.DER);
// 新: ValueAsnReader reader = new ValueAsnReader(bytes, AsnEncodingRules.DER);
続きを読む
@mdh1418 ・ GitHub ・ area-Tracing-coreclr
ユーザーイベント追跡テストの競合状態を修正し、診断機能を強化しました。ARM64 CI環境で record-trace のスタートアップに1845msかかる問題に対応し、固定の300ms遅延を「Recording started」メッセージの監視に置き換えました。
@rzikm ・ GitHub ・ area-System.Formats.Tar
TarReaderでPAX形式のtarballを読み込む際、USTAR prefix fieldが正しく読み込まれていないバグを修正しました。macOS bsdtarが生成する長いシンボリックリンク対象を含むtarballで、ディレクトリプレフィックスが削除されていた問題を解決します。PAX形式はUSTARを拡張しており、同じヘッダレイアウト(prefixフィールド含む)を使用するため、PAX拡張属性ヘッダの後続エントリもReadUstarAttributesを呼び出す必要がありました。
続きを読む
@kg ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssembly (WASM) ターゲットにおいて、マルチレジスタ構造体戻り値に対するJITコンパイラのアサーション検証をスキップする修正です。WASMはABI上マルチレジスタ戻り値をサポートしていないため、ターゲット固有の処理分岐を追加しました。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
mulx (AVX2 MultiplyNoFlags) 命令の LSRA レジスタ割り当て処理を修正しました。mulx は第1オペランドが edx に固定されていますが、codegen での移動命令の挿入を考慮して、第2オペランドが edx に割り当てられないよう制約を追加しました。これにより LSRA の理想化されたロケーションモデルと実際の codegen の動作を同期させます。
// mulx は以下のような形式が固定
// mulx edx:eax, op1(edx), op2
// op1 が別のレジスタにある場合、mov で edx に移動する際に
// op2 が edx に割り当てられていないことが必須
続きを読む
@radekdoulik ・ GitHub ・ arch-wasm area-Infrastructure-coreclr
WebAssembly上で動作するcorerunをブラウザ環境で再度実行できるようにするための修正です。ES6モジュール形式(-sEXPORT_ES6=1 -sMODULARIZE=1)でビルドされたcorerun.jsがブラウザで正常に動作するよう、HTMLローダー、モジュールスコープの変数シャドウイング、Emscriptenのモジュール依存関係管理を修正しました。
@rcj1 ・ GitHub ・ area-Diagnostics-coreclr
.NET ランタイムのデバッグ機能を強化するため、_tls_index グローバルポインタを DACVARS(Debug-Aware Compiler Variables)に追加するパッチです。これにより、ミニダンプおよびヒープダンプのシナリオで _tls_index が正しく取得されるようになります。
@MichalStrehovsky ・ GitHub ・ area-crossgen2-coreclr
CoreCLRのAOT編集ツール(ilcとcrossgen2)のビルド構成を簡潔化し、条件付きのWindows-only NativeAOT公開パスを削除して、常にシングルファイルとして公開するように統一しました。これにより、clr.toolsビルド時の冗長なAOT編集を回避します。
@DoctorKrolic ・ GitHub ・ area-System.Runtime.InteropServices community-contribution
このPRは、COM クラス生成時の診断報告責任を ComClassGenerator から専用の Roslyn アナライザー ComClassGeneratorDiagnosticsAnalyzer に分離するリファクタリングです。ジェネレータは純粋なコード生成に専念し、診断報告はアナライザーインフラストラクチャ経由で行われるようになりました。これにより関心の分離が改善され、ジェネレータの責務が単純化されます。
// 変更前: ジェネレータが診断を報告
public static DiagnosticOr<ComClassInfo> TryGetFrom(...)
// 変更後: ジェネレータはnullableを返却
public static ComClassInfo? TryGetFrom(...)
続きを読む
@kg ・ GitHub ・ area-CodeGen-coreclr
RyuJIT JITコンパイラに対して、Portable Entry Points(ポータブルエントリポイント)用の新しいJITフラグを追加し、Browser向けコンパイルではデフォルトで有効にする変更です。これにより、WebAssemblyなどのブラウザ環境でのコンパイル最適化が改善されます。
@davidwrighton ・ GitHub ・ area-VM-coreclr
このPRは、.NET Runtimeの初期バージョニングおよびティアリングルールの仕組みを大幅に簡素化したものです。呼び出し数カウント機構の無効化ステージを廃止し、JIT時の動的ロジックからEEConfig同期時の静的決定へ最適化ティアの決定を移行させることで、コード複雑性を削減しながら同等の機能を実現しています。
// 変更例:EEConfig::sync()で一度だけ最適化ティアを決定
// 従来のメソッドごとのJIT時ロジックから移行
TieredCompilation_DefaultTier = ComputeDefaultOptimizationTier();
続きを読む
@ilonatommy ・ GitHub ・ arch-wasm area-Infrastructure-coreclr os-browser
CoreCLR WASM ローダーのライブラリ初期化機能に関する複数の問題を修正しました。ローダーが onRuntimeConfigLoaded と onRuntimeReady コールバックに適切な引数を渡せていなかったほか、エラーハンドリングの問題を解決しています。テストの有効化と CoreCLR 専用テストケースの追加も含まれます。
@radekdoulik ・ GitHub ・ arch-wasm area-VM-coreclr
WebAssembly(wasm)環境におけるリバースサンク(JavaScript→マネージドコード呼び出し)のルックアップ機構を改善。トークンベースのプライマリキーを削除することで、cg2がヘルパー生成を引き継ぐ前のヘルパー更新の頻度を削減。衝突検出機構とログ機能を追加。
@lufen ・ GitHub ・ area-System.Net community-contribution
Ping操作がTtlExpiredまたはTimeExceededで終了した場合、RoundtripTimeが正しく取得されていなかった問題を修正しました。これまでは非Success状態のすべてのケースでRoundtripTimeが0に硬化されていましたが、今回の修正により、中間ルーターからの有効なラウンドトリップタイムをICMP_ECHO_REPLY構造体から読み取るようになりました。これによりWindows上の動作がUnixのraw socketの実装と一致するようになります。
続きを読む
@jtschuster ・ GitHub ・ area-crossgen2-coreclr runtime-async
crossgen2でasync メソッドとその再開スタブ(resumption stub)をReadyToRun(R2R)イメージに直接エミットできるようにする機能追加です。async メソッドの署名にENCODE_METHOD_SIG_AsyncVariant (0x100)フラグを追加し、再開スタブはprecode fixupとしてエンコードされます。await を含まないasync メソッドは再開スタブが不要なため、エミットされません。
// async メソッドの署名にAsyncVariantフラグが追加される
// 従来: InstanceMethodテーブルに標準的なシグネチャ
// 変更: InstanceMethodテーブルにENCADE_METHOD_SIG_AsyncVariant フラグ付きで記録
続きを読む
@ylpoonlg ・ GitHub ・ area-System.Runtime.Intrinsics community-contribution
ARM64アーキテクチャ向けのSVE2(Scalable Vector Extension 2)非時間的ギャザーロード命令を実装するPull Requestです。SVE2のスカラブルベクトル機能を活用して、メモリから非順序的にデータを読み込む高性能な命令セットをJITコンパイラとランタイムライブラリに統合しています。
2026年03月09日 (23 PRs) うち Bot 2 件 この日のページ →
@akoeplinger ・ GitHub ・ area-NativeAOT-coreclr
PR #125230で行われたserialize-javascriptと@rollup/plugin-terserの依存関係バージョンアップをリバートするPRです。新しいバージョンではNode.jsのcryptoグローバルオブジェクトが必須となり、CI環境でのビルド失敗(ReferenceError: crypto is not defined)が発生していました。このリバートにより、以前の安定したバージョンに戻して問題を解決します。
続きを読む
@Copilot ・ GitHub ・ area-ILTools-coreclr
ilasm(IL Assembler)の -ERR オプション(エラー許容モード)で、不要な警告出力を抑制する変更。このモードは意図的に無効なILを生成するテスト時に使用されますが、警告が出力されてビルドスクリプトのパイプラインを汚染する問題を解決します。
@rcj1 ・ GitHub ・ area-Diagnostics-coreclr
DAC(Debug Access Component)のボラタイル グローバル変数(DEFINE_DACVAR_VOLATILEで宣言)がミニダンプに確実に含まれるよう修正しました。非ボラタイル グローバルDACVAR と同じく EnumMemCLRStatic 経由で包含されるようになり、g_pContinuationClassIfSubTypeCreated などcDAC向けの重要なグローバル変数がダンプに含まれるようになります。
続きを読む
@Copilot ・ GitHub ・ area-Meta
.NETランタイム全体で散在する「遅延初期化キャッシュbool」パターンを統合し、共有のNullableBool : sbyte列挙型を導入するリファクタリングです。複数ライブラリのvolatile int/volatile sbyteを使った非標準の三値状態パターンとTextInfoの私有Tristate列挙型を置き換え、コード一貫性を向上させます。
// 新しい共有型
internal enum NullableBool : sbyte
{
Undefined = 0,
False = -1,
True = 1
}
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラのflowgraph.cppファイルを対象とした、コメント整備とコード冗長性の削除作業です。複数の関数のヘッダーコメントを統一フォーマットで追加・更新し、タイポ修正とコード品質の向上を実施しています。パフォーマンスに直結する変更はありませんが、保守性の向上を目指しています。
@kg ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssembly RyuJIT コンパイラで、TYP_STRUCT 戻り値の型情報が消去されたケースに対応する修正。構造体型の戻り値がローカル変数に書き込まれる際の型情報管理の問題を解決します。
@kg ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssembly (Wasm) RyuJIT コンパイラにおいて、小さな構造体(struct)がWasm プリミティブとして渡される際に、不正にサイズが拡大される問題を修正しました。この修正により、構造体の分類(classifier)ロジックが正確に動作し、パラメータ渡しの最適化が改善されます。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
ランタイム非同期関数におけるTier0 Partial Compilation(部分コンパイル)を禁止する変更です。部分コンパイルがIR(中間表現)を削除することで、ランタイム非同期関数の生存期間分析(liveness analysis)が不正確になり、OSR(On-Stack Replacement)遷移後に必要な変数をキャプチャできなくなる問題を修正します。
@ManickaP ・ GitHub ・ area-System.Net.Http
WinHttpHandler の Manual_CertificateOnlySentWhenValid_Success テストを再度有効化するPRです。以前は issue #69238 で報告されたクライアント証明書送信時の断続的な失敗(WINHTTP_CALLBACK_STATUS_REQUEST_ERROR)を回避するため、スキップされていました。作成者が 20 回連続実行で 0 失敗を確認したため、skip ガードを削除してテストを復活させます。
続きを読む
@ManickaP ・ GitHub ・ area-System.Net.Http
WinHttpHandler の HTTP/2 クッキー機能テスト (PlatformHandlerTest_Cookies_Http2) を再度有効化するPRです。以前は #if !WINHTTPHANDLER_TEST プリプロセッサガードで無効化されていましたが、このガードを削除して全プラットフォームハンドラーに統一したテストカバレッジを実現します。20回の連続実行で全テストが成功し、フレーキネス(不安定性)は観測されていません。
続きを読む
@MichalStrehovsky ・ GitHub ・ area-NativeAOT-coreclr
このPRはNativeAOTの型システムにおけるDefault Interface Method (DIM)解決とstatic virtual メソッドディスパッチをC++ランタイム実装に合わせるリファクタリングです。static virtualメソッドのリファレンス型での処理バグを修正し、ILC Scannerのクラッシュを解決します。
// static virtualメソッドがクラスでも正常に動作するように修正
interface IStatic
{
static virtual void M();
}
class Impl : IStatic
{
public static void M() { }
}
続きを読む
@dhartglassMSFT ・ GitHub ・ area-System.Runtime.Intrinsics
ARM64 SVE2アーキテクチャ向けのMatchおよびNoMatchイントリンシクを追加しました。これらは3つのベクトルパラメータ(マスク、左、右)を受け取り、条件付きで値を選択する操作です。対応型はsbyte、short、byte、ushortです。
public static unsafe Vector<T> Match(Vector<T> mask, Vector<T> left, Vector<T> right); // MATCH命令
public static unsafe Vector<T> NoMatch(Vector<T> mask, Vector<T> left, Vector<T> right); // NMATCH命令
続きを読む
@kg ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssembly (Wasm) RyuJIT コンパイラで正しいコール署名を生成することにより、有効なモジュール生成をサポートします。これにより、GC Write Barrier ヘルパーなどの関数呼び出しに対して、正確な型情報を含む call_indirect 命令が生成されるようになります。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラのstfld(構造体フィールドストア)命令処理において、評価順序のバグを修正するPRです。従来はobj -> nullcheck(obj) -> data -> storeの順序で評価されていましたが、正しくはobj -> data -> nullcheck(obj) -> storeである必要があります。本修正では、(1)単純なフィールドアドレスの早期展開と、(2)必要に応じてデータノードのスピル処理を導入することで、評価順序を正しく保証します。
続きを読む
@radekdoulik ・ GitHub ・ arch-wasm area-CodeGen-Interpreter-coreclr
WebAssembly環境でのインタープリタにおいて、オープン仮想デリゲートをインターフェースメソッド経由で呼び出す際のクラッシュを修正しました。インタープリタコードが未コンパイルの場合、fallback pathが不正なエントリーポイントをNonVirtualEntry2MethodDescに渡していたため、IsValid()アサーションで失敗していました。修正により、解決されたメソッドをDoPrestubで事前コンパイルしてからインタープリタコード確認を行うようにしました。
続きを読む
@rzikm ・ GitHub ・ area-System.Net.Security breaking-change needs-breaking-change-doc-created
TLS ハンドシェイク時にサーバー側の SslStream インスタンスで Authority Information Access (AIA) 拡張を使用した中間証明書の自動ダウンロードをデフォルトで無効化する変更です。これにより、パフォーマンス低下と、クライアント指定エンドポイントへのアウトバウンド HTTP GET リクエストによるセキュリティリスクを軽減します。ユーザーが X509ChainPolicy を明示的に指定している場合は影響を受けません。
続きを読む
@cincuranet ・ GitHub ・ area-System.Net.Http
MultipartContentクラスのコンストラクタで境界デリミタ文字列(_startBoundaryと_endBoundary)をプリコンピュートしてキャッシュすることで、SerializeToStream、SerializeToStreamAsync、CreateContentReadStreamの呼び出し時における繰り返しの文字列連結を回避します。また、SerializeHeadersToStreamでの書き込み呼び出しを3回から2回に削減します。
続きを読む
@Copilot ・ GitHub ・ area-Diagnostics-coreclr
このPRは、マネージドcDACでISOSDacInterface13.GetLoaderAllocatorHeapNamesとISOSDacInterface13.GetLoaderAllocatorHeapsを実装し、レガシーDAC委譲スタブを置き換えます。LoaderAllocatorとVirtualCallStubManagerのヒープ情報をネイティブデータディスクリプタから取得し、ディクショナリ形式で提供する機能です。診断ツールがランタイムのメモリ管理情報にアクセスするための重要な実装となります。
続きを読む
@Ruihan-Yin ・ GitHub ・ area-Infrastructure community-contribution
Intel APX(Advanced Performance Extensions)命令セットの新しいCPUID判定ロジックを更新するPRです。Intel仕様書に記載された新たなAPX関連のCPUID ビット(APX_NDD_NCI_NF)を追加しています。ただし、このPRはCPUID ビットの導入のみで、JITの最適化動作に変更はなく、既存のAPX_Fビットが設定されていれば全機能が利用可能です。
続きを読む
@Copilot ・ GitHub ・ area-System.IO
System.IO.FileHandleType 列挙型と SafeFileHandle.Type プロパティを追加し、ファイルハンドルの種別(通常ファイル、パイプ、ソケット、キャラクターデバイス、ディレクトリ、シンボリックリンク、ブロックデバイス)を効率的に実行時に検出できるようにします。ハンドルの生存期間中に1回の syscall でキャッシュされるため、繰り返しのネイティブクエリが不要になります。
using SafeFileHandle handle = File.OpenHandle("file.txt", FileMode.Open);
FileHandleType type = handle.Type; // FileHandleType.RegularFile(キャッシュ済み)
続きを読む
@ylpoonlg ・ GitHub ・ area-System.Runtime.Intrinsics community-contribution
Arm64 SVE2アーキテクチャ向けの新しいカウント系インストリクション「CountMatchingElements」と「CountMatchingElementsIn128BitSegments」を実装しました。これらのAPI(HISTCNT/HISTSEG命令に対応)により、ベクトル要素の条件マッチングとカウント処理が効率化されます。また、マスク付きターナリオペレーションテストテンプレートを改善し、異なる型サイズの演算をサポートするよう修正しました。
// 新しいSVE2 Counting APIs の例用法
public static Vector<uint> CountMatchingElements(Vector<T> left, Vector<T> right);
public static Vector<uint> CountMatchingElementsIn128BitSegments(Vector<T> left, Vector<T> right);
続きを読む
2026年03月08日 (4 PRs) この日のページ →
@rogerbriggen ・ GitHub ・ area-Meta community-contribution
ASP.NET ライセンス情報の更新。THIRD-PARTY-NOTICES.TXT ファイルにおいて、ASP.NET に関連するライセンス表記を修正しました。
@lufen ・ GitHub ・ area-System.IO community-contribution
FileInfo のファイルシステム状態を変更するメソッド(Open、Replace、Encrypt、Decrypt、CreateAsHardLink など)に対して、キャッシュされたプロパティ(Exists、Length、タイムスタンプ)を無効化する Invalidate() 呼び出しを追加しました。これにより、ファイルシステムの変更後にこれらのプロパティが次のアクセス時に正しく更新されるようになります。既に正しく動作している Create()、Delete()、MoveTo() と同じパターンに統一します。
続きを読む
@mrek-msft ・ GitHub ・ community-contribution area-System.IO.Ports
Windows シリアルポートドライバから取得するボーレート最大値(dwMaxBaud)が、ビットマスク形式ではなく10進数値で返されるケースに対応しました。Silicon Labs USB to UART コンバータなどのドライバが10進数を返す場合、従来は検証エラーが発生していました。新しいヘルパーメソッド ConvertMaxBaudBitMaskToBaudRate を追加し、ビットマスクと10進数の両形式に対応するようになりました。
続きを読む
@koszeggy ・ GitHub ・ area-System.IO community-contribution
.NET 6.0で導入されたBinaryWriter.Write(string)の最適化により、派生クラスの仮想メソッド呼び出しがバイパスされる問題を修正しています。短いUTF-8文字列の最適化時にGetType() == typeof(BinaryWriter)チェックを追加し、派生クラスでのメソッドディスパッチを確保します。
2026年03月07日 (8 PRs) この日のページ →
@lewing ・ GitHub ・ area-NativeAOT-coreclr
browser-wasm環境でのテスト失敗を修正するPRです。PR #125080で追加されたelse分岐が!HasAssemblyFilesをNativeAOTのみの条件と想定していましたが、browser-wasmもAssembly.Locationが空のため同じ条件を満たすことが原因でした。NativeAOTとwasm環境を別々に処理するよう条件分岐を分割し、各環境の異なるModule.Nameの挙動に対応させています。
続きを読む
@agocke ・ GitHub ・ area-VM-coreclr
PR #124664で導入された最適化がNuGetリストア性能で12-13%の回帰を引き起こしたため、この変更を元に戻すリバートです。問題はThePreStub内のRtlEnterCriticalSectionで過度な時間が消費されていたことが原因です。この変更により、仮エントリーポイントの再利用からコール計数用の専用フォワーダースタブへ戻すことで、パフォーマンスを回復させます。
@davidwrighton ・ GitHub ・ area-CodeGen-Interpreter-coreclr
インタープリタの非同期サスペンド処理において、DiagnosticIPが絶対アドレスとして保存されていた問題を修正しました。DiagnosticIPはオフセット値として保存し、FinalizeMethodData時に最終的なバイトコードベースアドレスを加算することで、他のフィールド(methodStartIPなど)と同じ方式に統一しました。これにより、Apple mobileでのAsync例外処理テストにおけるクラッシュが解決されます。
続きを読む
@Copilot ・ GitHub ・ area-System.Text.RegularExpressions
正規表現の行頭アンカー(^ with Multiline)処理で、ベクトル化されたIndexOf('\n')により計算された位置がバッファに書き戻されていない不具合を修正しました。修正により、マルチラインパターンでのパフォーマンスが最大595倍向上しています。
@AaronRobinsonMSFT ・ GitHub ・ area-VM-coreclr
dotnet/runtimeのHashMap実装(hash.cpp)において、フルメモリバリア(MemoryBarrier())を、より効率的なボラタイル操作(VolatileLoad/VolatileStore)に置き換えました。フルフェンス(ARM64のdmb ish、x86のmfence)は単方向の順序付けが必要な場合に過度にコストがかかるため、release/acquireセマンティクスを使い分けることで、キャッシュコヒーレンシを損なわずにパフォーマンスを改善します。
続きを読む
@vcsjones ・ GitHub ・ area-System.Security
ValueAsnReaderという新しい公開API をSystem.Formats.Asn1パッケージに実装し、既存の内部用AsnValueReaderを段階的に置き換えています。このPRは2つのコミットで構成されており、新しいAPIの実装・テストと、既存のASN関連の自動生成ファイルの更新を行っています。完全な置き換えは今後のフォローアップPRで実施予定です。
// 新しいValueAsnReaderの使用例(推定)
ValueAsnReader reader = new ValueAsnReader(data, AsnEncodingRules.DER);
// 既存のAsnValueReaderから移行
続きを読む
@Copilot ・ GitHub ・ area-Diagnostics-coreclr
cDAC(Common Data Access API)のGetCCWInterfaces API を実装し、COM Callable Wrapper(CCW)が公開するCOMインターフェースの検査を可能にしました。レガシーDAC実装に依存せず、ランタイムデータディスクリプタから直接CCWチェーン内のインターフェースを列挙できるようになります。
// COM インターフェースポインタから ComCallWrapper を解決
public TargetPointer GetCCWFromInterfacePointer(TargetPointer interfacePointer);
// ComCallWrapper チェーン内の COM インターフェースを列挙
public IEnumerable<COMInterfacePointerData> GetCCWInterfaces(TargetPointer ccw);
続きを読む
@bartonjs ・ GitHub ・ area-System.IO.Hashing
System.IO.Hashing内のCRC-32およびCRC-64の計算処理をベクトル化することで、パフォーマンスを向上させました。UpdateVectorizedで128ビット単位のデータを処理し、残りをUpdateScalarで処理する2段階アプローチを採用。カスタムポリノミアル対応のテストケースも追加されています。
2026年03月06日 (22 PRs) この日のページ →
@agocke ・ GitHub ・ area-System.Diagnostics.Tracing
EventSource型に付与されたDynamicallyAccessedMembersAttributeによる不要なトリム解析抑制を削除するため、マニフェスト生成や属性リフレクションのヘルパーメソッドをネストされたプライベート型EventSourceHelpersに移動しました。これにより、NativeAOTでの保持されるメタデータ量を削減し、抑制アノテーションの必要性を排除します。
// 変更前: EventSourceに直接メソッドがあり、DAM属性により抑制が必要
// 変更後: ネストされた型に移動して反射可視性から除外
private static class EventSourceHelpers
{
public static Guid GetGuid(Type eventSourceType) { ... }
public static string GetName(Type eventSourceType) { ... }
// CreateManifestAndDescriptors, GetCustomAttributeHelperもここに移動
}
続きを読む
@Copilot ・ GitHub ・ linkable-framework area-Tools-ILLink
このPRは、dotnet/runtimeリポジトリから未使用のILLink dependency analyzerプロジェクトを削除し、それに関連するすべてのビルド設定、ソリューション定義、ドキュメント参照をクリーンアップします。ILLinkツールセットを実装メンテナンス対象コンポーネントのみに整理するための整理PRです。
@SingleAccretion ・ GitHub ・ area-CodeGen-coreclr community-contribution
RyuJit コードジェネレータの genCallInstruction メソッドから不要なデッドコードを削除するリファクタリング。gtDirectCallAddress は lowering フェーズで既にすべての呼び出し種別に対して設定されているため、code generation フェーズで冗長なチェックと初期化コードが削除された。
@max-charlamb ・ GitHub ・ area-Diagnostics-coreclr
cDAC(Compact Data Access Component)のDEBUGバリデーションにおいて、cDACとレガシーDAC間のHRESULT比較を緩和します。従来は完全一致を要求していましたが、今後は両者が異なるエラーコード(負の値)を返す場合でも許容し、デバッガプロセスのクラッシュを回避します。成功コード(S_OK、S_FALSE)は引き続き完全一致を要求します。
// 変更前
Debug.Assert(hrLocal == hr, $"cDAC: {hr:x}, DAC: {hrLocal:x}");
// 変更後
Debug.ValidateHResult(hr, hrLocal);
続きを読む
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラの範囲チェック最適化における境界チェックのバグを修正しました。(X + negativeConst) u< Y形式の符号なし比較式で、負の定数を含む場合の推論ロジックを改善し、X >= -negativeConstという制約を正しく推導できるようになりました。
@mdh1418 ・ GitHub ・ area-Tracing-coreclr
ユーザーイベントトレーシングテストのタイムアウト値を5秒から10秒に延長し、デバッグログを追加するテスト修正です。JITストレステストレーンで実行中にタイムアウトが発生していた問題に対応しています。record-traceがどのプロセスの.NETイベントを有効化したか、またTraceeプロセスがEventSourceで待機・受信したかをログに記録することで、テスト失敗時のデバッグを改善しています。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr runtime-async
このPRは、getAsyncOtherVariant JIT-EE実装において、ペアになった非同期バリアントが存在しないメソッド(AsyncHelpers.Awaitなど)に対して無効な呼び出しが発生する問題を修正します。EnableExtraSuperPmiQueriesモードで両方のバリアントをプロアクティブにクエリする際に問題が発生していました。また、SuperPMI実装の記録処理も簡素化されています。
// HasAsyncOtherVariant() で保護
if (pMethodDesc->HasAsyncOtherVariant())
{
CORINFO_METHOD_HANDLE otherVariant = pMethodDesc->GetAsyncOtherVariant();
// 処理
}
続きを読む
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラの条件分岐フォールディング処理において、BBJ_CONDがフォールドされた場合のbbAssertionOutの更新ロジックを改善しました。アサーション伝播の正確性を向上させる修正です。
@radekdoulik ・ GitHub ・ arch-wasm area-Infrastructure-coreclr
WASM環境でSystem.BadImageFormatExceptionにより скipped されていた静的仮想メソッド(Static Virtual Methods)の3つのランタイムテストを再度有効化します。基盤となる問題(issue #124259、#124260)が修正されたため、テストが正常に動作するようになったことに伴う変更です。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
LSRA (Linear Scan Register Allocator) における def-use conflict の解決ロジックを改善しました。特に case 1 と case 2 の条件判定が過度に保守的だったため、defRegConflict と useRegConflict 変数の意味を正確に復元し、より効率的なレジスタ割り当てが可能になります。これにより、不要なスピリングやコピーが減少し、生成されるコードの品質が向上します。
続きを読む
@Copilot ・ GitHub ・ area-System.Net.Security
管理型NTLM認証のProcessTargetInfoメソッドにおいて、サーバーチャレンジにTargetNameまたはChannelBindings AV pairが含まれる場合、バッファスライスのオフセット指定が誤りで未使用部分(ゼロ詰め)を返していた。単一文字の修正で、正しい書き込み済み部分を返すよう改正。
// Before
return targetInfoBuffer.AsSpan(targetInfoOffset).ToArray();
// After
return targetInfoBuffer.AsSpan(0, targetInfoOffset).ToArray();
続きを読む
@max-charlamb ・ GitHub ・ area-Diagnostics-coreclr
COM相互運用性のためのカスタムマーシャラーをcDAC(Common Data Access Component)に追加しています。特にDacComNullableByRefという新しいマーシャラーを実装し、COM インターフェース パラメータの正確なマーシャリングを改善しました。複数のISOSDacInterfaceおよびIXCLRDataインターフェース実装において、パラメータ方向と型情報の定義を更新しています。
続きを読む
@AndyAyersMS ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssembly RyuJit JITコンパイラでのアサーション失敗を修正するPRです。オーバーフロー検査、nullチェック、putargスタック処理に関する複数の問題を対処し、コンパイラの安定性向上を目指しています。
@Copilot ・ GitHub ・ area-System.IO
Issue #14378が解決されたにもかかわらず、System.IO.FileSystemテストで6つのテストメソッドが[ActiveIssue]属性で永遠にスキップされていました。このPRでは、これらのスキップ属性を削除し、テストを再度有効化します。マウントボリュームテストはNTFSドライブでのみ実行され、not-readyドライブテストはプラットフォーム固有の条件付きスキップに変更されています。
続きを読む
@davidwrighton ・ GitHub ・ area-CodeGen-Interpreter-coreclr
インタプリタの長期保持メモリをJIT インターフェース allocation API経由で一括割り当てするように変更。collectible assemblyからのメモリリーク問題の解決を目的としています。
@sethjackson ・ GitHub ・ area-System.Threading community-contribution os-openbsd
OpenBSDではクロスプロセスミューテックスに必要なPOSIX関数(pthread_mutexattr_setrobust、pthread_mutexattr_setpshared、pthread_mutex_consistent)がサポートされていないため、OpenBSD環境ではクロスプロセスミューテックス機能をスキップする対応を実施しました。これにより、OpenBsdでのPlatformNotSupportedExceptionを適切に処理するようにしています。
続きを読む
@rzikm ・ GitHub ・ area-Infrastructure-coreclr
クリーンビルドでclr.runtimeをビルド時にCMakeインストール失敗する問題を修正しました。FetchContentをEXCLUDE_FROM_ALL付きのadd_subdirectory()に置き換え、zstdのインストールルールがコンポーネントインストールに含まれるのを防ぎます。
@max-charlamb ・ GitHub ・ area-Diagnostics-coreclr
このPRはcDAC (Common Data Access Component) の RuntimeTypeSystem コントラクトに continuation サポートを追加します。非同期 continuation 機能で動的に作成される MethodTable を識別・検証できるようになります。continuation は配列やジェネリック型と同様に特殊な MethodTable であり、基本 Continuation クラスを親として持つため、既存の MT→EEClass→MT 検証ラウンドトリップでは拒否されていました。
// IsContinuation を使用して continuation MethodTable を識別
if (runtimeTypeSystem.IsContinuation(typeHandle))
{
// continuation MethodTable の特殊な処理
}
続きを読む
@steveisok ・ GitHub ・ area-VM-coreclr
MethodDescCallSiteを使用したネイティブからマネージド呼び出しを、UnmanagedCallersOnly属性を使用したリバースP/Invoke呼び出しに変換する優先度3の第1次変更セットです。AppDomain.RaiseExitProcessEvent、AppDomain.OnUnhandledException、RunManagedStartup、ReflectionTypeLoadException/TargetInvocationExceptionコンストラクタなど6つの呼び出しサイトが対象です。
続きを読む
@karimsalem1 ・ GitHub ・ area-System.Net.Http new-api-needs-documentation community-contribution
HttpListener(Windows実装)でHTTP.sys カーネルレスポンスバッファリングを制御するopt-in AppContext スイッチを追加しました。有効化すると、HttpSendHttpResponse と HttpSendResponseEntityBody の呼び出しに HTTP_SEND_RESPONSE_FLAG_BUFFER_DATA フラグが設定されます。小バッファサイズでの応答送信時のレイテンシを最大30倍削減します。
AppContext.SetSwitch("System.Net.HttpListener.EnableKernelResponseBuffering", true);
using var listener = new HttpListener();
listener.Prefixes.Add("http://localhost:8080/");
listener.Start();
続きを読む
@Copilot ・ GitHub ・ area-System.Net
Windows 7のサポート終了に伴い、System.Net.Securityから Win7固有のコード経路とバージョン判定ロジックを削除するメンテナンスPRです。IsWindowsVersionAtLeast(6, 2)ガード、Win7関連のコメント、デッドコードを削除し、プロダクトコードとテストコード両方をクリーンアップします。
@vcsjones ・ GitHub ・ area-System.Security breaking-change
RSA暗号化のEncryptおよびDecryptメソッドでfOAEPパラメータの使用を非推奨化するPRです。これらのメソッドはRSACryptoServiceProviderクラスに属し、より安全な暗号化スキームの使用を推奨するための廃止予告です。診断コードSYSLIB0096が追加されました。
2026年03月05日 (19 PRs) うち Bot 1 件 この日のページ →
@mrvoorhe ・ GitHub ・ linkable-framework community-contribution area-Tools-ILLink
ILLink linkerのテストフレームワークからmcs(Monoコンパイラ)関連のコードを削除するPRです。Unityが唯一のmcs使用理由でしたが、メソッドボディ変更テストのためのカバレッジ維持コストが利益を上回ったため、mcs関連のテストインフラを全削除します。
@Copilot ・ GitHub ・ area-Diagnostics-coreclr
Native AOT環境で失敗するSampleProfilerSampleType.TestEntryPointテストに対して、[ActiveIssue]属性を追加してスキップするようマークしました。これにより、追跡中の issue #125217 が解決されるまで、Native AOT 実行時のテスト失敗を抑制します。
[ActiveIssue("https://github.com/dotnet/runtime/issues/125217", typeof(Utilities), nameof(Utilities.IsNativeAot))]
[Fact]
public static int TestEntryPoint()
続きを読む
@Copilot ・ GitHub ・ area-Infrastructure
JIT コンパイラのアサーション伝播を最適化するPRです。Value Number (VN) 存在キャッシュを追加して、アサーション検索の計算量を O(n) から O(1) に削減しました。また、グローバルアサーション テーブルサイズの計算を経験的に検証された公式に変更し、メモリ効率を改善しました。
@agocke ・ GitHub ・ area-System.Threading
PR #123921で統一されたスレッドプール セマフォの実装をリバートします。NuGetリストア パフォーマンスで10-15%の大幅な低下が確認されたため、元のプラットフォーム固有の実装(Windows: IO Completion Ports、Unix: WaitSubsystem)に戻します。futexベースのスレッド ブロッキング インフラストラクチャ全体が削除されます。
@mrvoorhe ・ GitHub ・ linkable-framework community-contribution area-Tools-ILLink
PR #120477で誤って削除されたMarkAssemblyメソッドのvirtual修飾子を復元する変更です。Unityのリンカーカスタマイズがこのメソッドをオーバーライドする必要があるため、仮想メソッドとして再度有効化しています。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラにおいて、ループヘッダーがtry-entryでもある場合の分割処理で、元のブロックが不要にBBF_DONT_REMOVEフラグでマークされたままになる問題を修正しました。このフラグが残存するとWasm CodeGenの到達不可能ブロッククリーンアップが妨げられます。修正により、try-beginブロックが更新された後、元のループヘッダーからBBF_DONT_REMOVEフラグを明示的にクリアします。
続きを読む
@SingleAccretion ・ GitHub ・ area-CodeGen-coreclr community-contribution
RyuJIT/WebAssembly (WASM) コンパイラにおいて、引数のソート機能を無効化する変更です。この変更により、コード品質(Code Quality)への影響に関する注記が Issue #121865 に追加されました。
@mrvoorhe ・ GitHub ・ linkable-framework community-contribution area-Tools-ILLink
ILLink テストにおいて、コンパイラが生成したポリフィル型(NullableAttribute など)がテスト検証を妨害する問題に対応しました。新しい PrepareToVerifyAssembly メソッドを公開し、検証前に不要な型を無視できるようにしました。これにより Unity の古いバージョンの UnityLinker でのテスト実行やルート型テストがより正確に機能するようになります。
@a74nh ・ GitHub ・ area-CodeGen-coreclr community-contribution
ARM64 SVE スカラー抽出命令(clasta/clastb および lasta/lastb)が、byte/sbyte/short/ushort などの小さな整数型の戻り値に対して、32ビット/64ビット値を返していた問題を修正します。C# APIの期待値に合わせ、結果を適切に符号拡張/ゼロ拡張するようにコード生成を調整しています。
// 修正前: 32/64ビット値が返される
// 修正後: byte/short型に対して正しく拡張される
var result = Sve.ConditionalExtractAfterLastActiveElement(vector); // short型
続きを読む
@Copilot ・ GitHub ・ area-CodeGen-coreclr
JIT コンパイラの範囲チェック最適化(RangeCheck)において、IsMonotonicallyIncreasing と ComputeDoesOverflow の 2 つの関数にビジット予算チェック(m_nVisitBudgetガード)を追加しました。これにより、病的なケースでの無限再帰を防止し、JIT コンパイル時間の爆発を回避します。既に ComputeRange に存在していたパターンと統一されました。
続きを読む
@DrewScoggins ・ GitHub ・ area-Infrastructure
GapFiller ツールによるパフォーマンスデータのバックフィルに対応するための新しい Azure Pipelines 定義を追加しました。プログラム的に呼び出され、特定のコミットに対するパフォーマンステストを実行し、キャッシュされたビルドの再利用をサポートします。
@SingleAccretion ・ GitHub ・ arch-wasm area-CodeGen-coreclr community-contribution
このPRは、WebAssembly(WASM)ターゲット向けのJIT stackifierを改善し、必要に応じて一時変数を挿入できるようにしたものです。stackifierを単一ブロックウォークから完全なブロック走査に変更することで、より詳細な状態管理を実現し、スタック値のより正確な処理が可能になります。
@radekdoulik ・ GitHub ・ arch-wasm area-Infrastructure-coreclr
このPRは、WASM単一スレッド環境を含むマルチスレッドをサポートしないプラットフォームで実行されるべきではないテストを条件付きでスキップするように、CoreCLRブラウザ/スレッドテストを更新しています。PlatformDetection.IsMultithreadingSupportedを使用してテストをゲート化し、必要に応じてTestLibraryを組み込んでいます。
// 変更例:[Fact]から[ConditionalFact]へ
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsMultithreadingSupported))]
public void TestMethod() { }
続きを読む
@BrzVlad ・ GitHub ・ area-GC-mono
SGen(Mono のガベージコレクタ)のカードテーブルスキャン処理における重大なバグを修正しました。オブジェクト開始アドレスがカード境界にアライン されていない場合に、複数カードにまたがるLOS(Large Object Space)の非配列オブジェクトをスキャンするときに、後続のカードがスキップされていた問題を解決します。
@noahfalk ・ GitHub ・ area-Diagnostics-coreclr
cDAC RuntimeInfo契約に新しい推奨読者バージョンアドバイザリーメカニズムが追加されました。ランタイムがダイアグnosticsツール更新の推奨が必要な変更を行う際、CDAC_RECOMMENDED_READER_VERSION定数をインクリメントすることで、ツール開発者が更新の必要性を判断できるようになります。
主な追加内容:
CurrentReaderVersion: 契約作成時のリーダーバージョン(現在は1)
RecommendedReaderVersion: ランタイム全体で定義される推奨バージョン
// ツール側での利用例
if (runtimeInfo.RecommendedReaderVersion > tool.CurrentReaderVersion)
{
// ユーザーに更新を推奨
}
続きを読む
@GrabYourPitchforks ・ GitHub ・ area-Meta
dotnet/runtimeリポジトリにおいて、CodeQL解析ツールの危険な逆シリアライズルール関連のアラートを除外する設定を追加しました。この変更により、内部作業項目データベースで約470件のアラートが静かになります。
@barosiak ・ GitHub ・ area-Diagnostics-coreclr
cDAC(Compact Data Access Contract)において、IXCLRDataTaskインターフェースにGetCurrentAppDomainメソッドを実装しました。このメソッドにより、タスク(スレッド)の現在のAppDomainを取得できるようになります。デバッグおよび診断ツールがランタイム情報にアクセスする際に必要な機能です。
@davidwrighton ・ GitHub ・ area-PAL-coreclr
Volatile<T> 構造体の不要なカスタムオペレーター実装を削除し、スレッド安全性が必要な箇所で interlocked 操作を導入するリファクタリングです。主な変更は Module::SetDebuggerInfoBits と Module::EnableEditAndContinue でのレースコンディション対策、および critical section で保護されているフィールドの volatile 修飾子削除です。
続きを読む
2026年03月04日 (22 PRs) うち Bot 1 件 この日のページ →
@matouskozak ・ GitHub ・ area-System.Net.Http os-android
Android環境でのCoreClr実行時にSystem.Net.Http.Functional.Testsテストスイートを無効化するPull Requestです。dotnet/runtime#124526の完全な調査が完了するまでの暫定的な対応として、アセンブリレベルのActiveIssue属性を追加してテストをスキップします。
@rzikm ・ GitHub ・ Servicing-approved area-System.Net.Http
macOS 14 でテスト ProxySetViaEnvironmentVariable_DefaultProxyCredentialsUsed がクラッシュ(SIGABRT、終了コード 134)する問題に対応。Apple の GSS フレームワーク内の二重解放バグにより、SPNEGO/Negotiate 認証コンテキストのクリーンアップ時にクラッシュするため、macOS でこのテストをスキップするよう修正。
[SkipOnPlatform(TestPlatforms.OSX)] // 追加された属性
public void ProxySetViaEnvironmentVariable_DefaultProxyCredentialsUsed()
{
// テストコード...
}
続きを読む
@MichalStrehovsky ・ GitHub ・ area-crossgen2-coreclr
Microsoft.DiaSymReader.Native DLLの命名方式をプラットフォーム非依存の名前に変更するPRです。従来の Microsoft.DiaSymReader.Native.(x86|x64|arm64).dll という形式から、プラットフォーム別のサフィックスを削除することで、dotnet/dotnetのリブートストラッピングビルド時にランタイムパック内の同名DLLとの衝突問題を解決します。
続きを読む
@Copilot ・ GitHub ・ area-System.Security test-enhancement
PfxFormatTests.cs内の到達不可能なWindows 7向け条件分岐を削除するコード整理です。OperatingSystem.IsWindows() && !PlatformDetection.IsWindowsという常に偽となる条件ガードを廃止し、中間変数followupを排除してCheckKeyConsistencyを直接ReadMultiPfxに渡すようにしました。
@mrvoorhe ・ GitHub ・ linkable-framework community-contribution area-Tools-ILLink
ILLink テストフレームワークの GetCommonSourceFiles メソッドが、設定可能な _testCase.RootCasesDirectory に依存していた問題を修正しました。Unity など外部プロジェクトが異なるテストケースディレクトリを使用する場合に、ファイル解決に失敗する問題を解決しています。修正により、既知のテストフレームワークディレクトリから相対パスを計算するようになり、GetCommonSourceFiles をメソッドにしました。
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
このPull Requestは、.NET RuntimeのJIT(Just-In-Time)コンパイラのフローグラフ関連コード(fg*.cppファイル群)をクリーンアップするものです。主な変更は、すべてのメソッドにヘッダーコメントを追加し、式のコンテキスト以外の/* */形式のコメントを削除して、コードの可読性と保守性を向上させることを目的としています。
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラのアサーション伝播処理で、実際のプレデセッサが存在しないPhiArguments(Phi関数の引数)を無視するように修正しました。これにより、制御フローグラフの不整合によるコンパイルエラーを解決します。
@am11 ・ GitHub ・ area-Infrastructure os-openbsd
OpenBSD への初期クロスビルド対応を追加するPRです。ビルドシステムの構成ファイルと CMake ツールチェーンを更新し、OpenBSD を新しいターゲットプラットフォームとして認識・サポートするための基盤を整備しました。ランタイム識別子(RID)の定義、rootfs ビルドスクリプト、プラットフォーム固有の構成が追加されています。
@Copilot ・ GitHub ・ area-System.Reflection
PR #123026で追加されたSystem.Reflection.Contextテストの native AOT 互換性を修正しました。Native AOT 環境で非対応のリフレクション API を呼び出すテストに対して、[ConditionalFact]属性とPlatformDetection述語を使用して条件付きスキップを適用しています。メソッドボディ、メタデータトークン、native AOT非対応 API などのカテゴリごとに適切なガードを適用しました。
続きを読む
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
JITのグローバル解析(GlobalAP)における範囲解析を改善するPull Requestです。チェック付きの境界条件に対して、より精密な範囲情報を推論できるようにしました。例えば、if ((uint)i < span.Length) のブロック内では、i の有効範囲が [0..int.MaxValue-1] であることを正確に認識できるようになります。
@Copilot ・ GitHub ・ area-CodeGen-coreclr
JIT コンパイラの CSE (Common Subexpression Elimination) プロモーション戦略において、aggressiveRefCnt の最小値の閾値を BB_UNITY_WEIGHT * 2 (200) から BB_UNITY_WEIGHT / 2 (50) に引き下げました。これにより、レジスタ圧力が低いメソッド(追跡対象の整数ローカル変数が少ないメソッド)でも、より積極的な CSE の最適化が適用され、有益な共通部分式除去が促進されます。
続きを読む
@Copilot ・ GitHub ・ area-CodeGen-coreclr
PR #123830で導入されたjitshared/ディレクトリの後、JITおよびインタープリタコード内のassertマクロが意図せずC言語ランタイムのassertに解決され、カスタムハンドラのassertAbortの代わりにダイアログポップアップを表示していた問題を修正します。新しい共有ヘッダjitassert.hを導入し、JITとインタープリタ間で統一されたassert定義を提供します。
@Copilot ・ GitHub ・ area-Extensions-DependencyInjection
ServiceProvider.Dispose() が async-only disposables(IAsyncDisposable のみを実装するサービス)を含む場合に InvalidOperationException をスローすることをドキュメント化しました。従来は /// <inheritdoc /> で曖昧だったため、開発者が予期しない例外に遭遇するリスクがありました。本変更により、同期破棄時の制限を明示し、DisposeAsync() の使用を推奨するようになります。
続きを読む
@alexcovington ・ GitHub ・ area-CodeGen-coreclr community-contribution
AVX512 BMM(Bit Matrix Multiply)APIを.NETランタイムに新規実装します。Avx512BmmクラスをSystem.Runtime.Intrinsics.X86に追加し、ビット反転(ReverseBits)と16×16ビット行列乗算(BitMultiplyMatrix16x16WithOrReduction/WithXorReduction)の操作をVector128/256/512サイズで提供します。これらはAVX512 BMM命令セットをサポートするプロセッサで高速に実行されます。
// 例:ビット反転
Vector512<byte> result = Avx512Bmm.ReverseBits(input);
// 例:16×16ビット行列乗算(OR還元)
Vector512<ushort> result = Avx512Bmm.BitMultiplyMatrix16x16WithOrReduction(addend, left, right);
続きを読む
@noahfalk ・ GitHub ・ area-Diagnostics-coreclr
ISOSDacInterface8の4つのメソッド(GetGenerationTable、GetGenerationTableSvr、GetFinalizationFillPointers、GetFinalizationFillPointersSvr)をcDAC SOSDacImplに実装しました。テストインフラとして、TestPlaceholderTarget.Builderという流暢なビルダーパターンを導入し、GCHeapBuilder経由でGCモックデータを設定できるようにしました。同時に、Unix環境でのライブラリロード、HRESULT変数シャドーイング、Release/Debugビルドでのスタックウォーク不具合など、複数の既存の問題を修正しました。
続きを読む
@Copilot ・ GitHub ・ area-System.Threading
.NET 10で導入されたVolatile.ReadBarrier()とVolatile.WriteBarrier()メソッドにテストカバレッジを追加するPRです。これらのメソッドはWebAssemblyで実装されておらず、スタックオーバーフロー例外を引き起こしていました(PR #124538で修正済み)。本PRでは、これらのメソッドが正常に動作することを確保するための包括的なテストを追加します。
@noahfalk ・ GitHub ・ area-Infrastructure
このPRは、.NET runtimeのCopilot AI アシスタントを使用したテスト作成時のガイダンスを改善するものです。リグレッションテスト作成中にエージェント(Copilot)が遭遇した問題を解決するため、Copilot向けの指示を更新し、EventPipeトレーシング関連のテストドキュメントを充実させています。
@noahfalk ・ GitHub ・ area-Tracing-coreclr
.NET 9で発生したSampleProfilerのリグレッションに対する検証テストを追加するPRです。ThreadSampleイベントがマネージドコード実行中に正しくSampleType="Managed"(値2)を報告することを確認するテストです。以前は誤って"External"(値1)が報告されていました。
@Copilot ・ GitHub ・ area-Extensions-DependencyInjection
ファクトリ関数を使用したサービス登録時の循環依存関係によるデッドロック(issue #88390)を修正するPull Requestです。CallSiteRuntimeResolverに再入検出機構を実装し、同じロックの再帰的な獲得を防ぐため、循環依存を検出時に例外をスローするようにしました。
// 修正前:デッドロックが発生
services.ConfigureOptions<ConfigureApplicationInsightsServiceOptions>();
services.AddApplicationInsightsTelemetry();
// 修正後:循環依存検出時に InvalidOperationException をスロー
続きを読む
@jgh07 ・ GitHub ・ area-System.Reflection community-contribution
MakeFunctionPointerType という新しい関数ポインタAPI が CoreCLR に実装されました。これにより、リフレクションと動的IL生成を通じて関数ポインタ型をプログラムで生成および操作できるようになります。この機能実装は Issue #75348 に対応するものです。
@Copilot ・ GitHub ・ area-System.Net
HttpListener.GetContext()をStop()、Abort()、Close()後に呼び出した際、WindowsではHttpListenerException(ErrorCode = 995: SocketError.OperationAborted)が発生していましたが、LinuxではErrorCode = 500: HttpStatusCode.InternalServerErrorが発生していました。このPRはLinuxの動作をWindowsに統一し、クロスプラットフォーム対応コードの一貫性を確保します。
続きを読む
2026年03月03日 (38 PRs) うち Bot 1 件 この日のページ →
@vseanreesermsft ・ GitHub ・ Servicing-approved area-codeflow
.NET Runtime 8.0の patch版をバージョン8.0.25から8.0.26にアップデートするブランディング変更です。eng/Versions.propsファイルでProductVersionとPatchVersionを更新し、release/8.0ブランチの公式バージョン情報を反映させます。
@vseanreesermsft ・ GitHub ・ Servicing-approved area-codeflow
.NET Runtime 9.0系のパッチバージョンを9.0.14から9.0.15に更新するブランディング変更です。release/9.0ブランチのバージョン管理ファイルが更新され、次回のサービスリリースに向けた準備が行われています。
@eiriktsarpalis ・ GitHub ・ area-skills
Code Reviewスキルを更新し、公開APIを追加するPRがapi-approvedIssueに記載されたAPIと相互参照されるようになりました。これにより、新規公開APIの追加時に承認済みAPIリストとの整合性が自動的に検証されます。
@ManickaP ・ GitHub ・ area-System.Net.Http
PR #125106で追加されたHTTP関連のコメント変更をRevertするPRです。HttpMessageInvokerクラスの_handlerフィールド上の内部コメント(2行)を削除し、ファイルを以前の状態に戻します。ドキュメンテーションのみの変更の取り消しです。
@martincostello ・ GitHub ・ area-Infrastructure community-contribution
Copilotのセットアップワークフローがリポジトリフォークで動作しない問題を修正しています。プライベートランナーラベル 8-core-ubuntu-latest は dotnet 組織内でのみ利用可能なため、フォークではこれを使用できません。フォークに対しては公開ランナー ubuntu-latest にフォールバックする条件付きランナー選択を実装することで対応します。
@lolleko ・ GitHub ・ area-System.Buffers community-contribution
ArrayPool<T>.SharedのXML ドキュメントコメントから、古い情報を削除しました。かつてbyte[]とchar[]に対して特別なプーリング処理が実装されていたという記述が残っていましたが、現在の実装には存在しないため、ドキュメントと実装を一致させています。
@ManickaP ・ GitHub ・ area-System.Net.Http
HttpMessageInvoker.csの_handlerフィールドに説明用のコメントを追加しました。プライベートフィールドとして保持する理由を文書化するための小規模な変更です。
@eiriktsarpalis ・ GitHub ・ area-skills
API提案プロセスのドキュメント更新PR。API提案時にクラスの追加メンバーを示す場合、diffブロックではなくpartialクラス宣言で既存メンバーをコメント化する方式に変更。これにより承認記録の作成時に既存API情報の削除が容易になります。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
WebAssembly向けのJITコンパイラにおいて、Loop-Aware RPO(Reverse Post-Order)がループ本体を連続した状態で保持する特性を活用し、ループの終了位置計算をO(n)からO(1)に最適化しました。ループ区間の終端位置をheaderIndex + NumLoopBlocks()で直接計算することで、スキャン処理を排除しています。
@Copilot ・ GitHub ・ area-Infrastructure
.github/copilot-instructions.mdのfrontmatterにあるexcludeAgent識別子を修正するPull Requestです。誤ったcode-review-agentを正しいcode-reviewに変更することで、Copilot code-reviewスキルに対する指示の除外が正しく機能するようになります。
// 変更前
// excludeAgent: code-review-agent
// 変更後
// excludeAgent: code-review
続きを読む
@dotnet-bot ・ GitHub ・ area-Extensions-Logging
OneLocBuild自動化タスクによるローカライズファイルの定期チェックイン。Microsoft.Extensions.Logging.Abstractionsライブラリのリソース文字列(.xlf形式)を複数言語(独仏西伊日韓ポーランド語など)で更新。翻訳パイプラインから生成されたファイルの自動マージです。
@kg ・ GitHub ・ arch-wasm area-CodeGen-coreclr
このPRは、先行するPR #124846(Wasm RyuJIT Block Stores機能)に対するフォローアップであり、未解決のコメント対応を行っています。主にJIT コンパイラのコード生成ロジック、レジスタアロケーション、および型定義の調整が含まれており、WebAssembly プラットフォーム向けの最適化を継続して改善しています。
@SingleAccretion ・ GitHub ・ area-CodeGen-coreclr community-contribution
RyuJit コンパイラにおいて、オペランドの使用を適切な順序で列挙するための新しい機能 VisitOperandUses を追加しました。このメソッドにより、オペランドの使用順序を正確に把握でき、今後のWASM stackifier の変更に必要な基盤を提供します。
@Copilot ・ GitHub ・ area-Diagnostics-coreclr
DacFreeRegionEnumerator::AddServerRegionsで発生していた変数シャドウイングバグを修正しました。内側のループで外側のヒープインデックス変数iが再利用されており、その後のAddSegmentList呼び出しで誤ったパラメータが渡されていました。内側のループ変数をkindに変更することで、すべてのAddSegmentList呼び出しが正しいヒープインデックスを参照するようになります。
// 修正内容: 内側のループ変数を i -> kind に変更
// 修正前: AddSegmentList(..., i) // i は count_free_region_kinds の値
// 修正後: AddSegmentList(..., i) // i は正しいヒープインデックス
続きを読む
@Copilot ・ GitHub ・ area-Diagnostics-coreclr
PR #124875でDacHandleWalker::WalkHandles()に適用された修正が、DacHandleTableMemoryEnumerator::Init()に漏れていたため、本PRで同一の修正を適用。CPU数 ≠ ヒープ数の環境(DATAS)でハンドルテーブルメモリ列挙が不完全になる問題を解決します。GC DACマイナーバージョン8以上ではg_totalCpuCountを、それ以下ではGCHeapCount()をフォールバックとして使用。
続きを読む
@radekdoulik ・ GitHub ・ arch-wasm area-Infrastructure-coreclr
WASM ターゲット上で native relinking が必要な Priority-1 JIT HFA(Homogeneous Float Aggregate)テストを無効化するもの。40個のテスト .csproj ファイルに CLRTestTargetUnsupported 条件を追加し、WASM ビルドでのテスト実行をスキップする。これにより、relinking 処理の遅延を回避し、テスト実行時間を短縮する。
続きを読む
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラの定数折り畳み処理におけるバグを修正しました。符号拡張された定数(例:-0xFFFFFFFF80000000)を否定する際に不正な定数が生成される問題を、SetIconValueをSetValueTruncatingに変更することで解決しています。また、MinOptsモード時の最適化実行を制限しています。
// 修正内容の例
// 変更前: SetIconValue(negatedValue)
// 変更後: SetValueTruncating(negatedValue)
// これにより、TYP_LONG以外のノードで正確な切り詰め動作が保証される
続きを読む
@pavelsavara ・ GitHub ・ arch-wasm os-browser area-CodeGen-Interpreter-coreclr
WebAssembly (WASM) ビルドにおいて、Mono ランタイムフレーバーのみが WASM 固有の組み込み関数(intrinsics)を有効にするように、ビルド時の機能検出を修正しました。非 Mono の WASM ビルドでは不要な intrinsics 実装がインクルードされなくなります。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラのレイト デバーチャライゼーション処理において、インライン化時のデバッグ情報が正しく伝播されていない問題を修正しました。LateDevirtualizationInfoにILLocationフィールドを追加し、impCurStmtDIから設定することで、レイト デバーチャライゼーション中に生成される新しいステートメントが適切なデバッグ情報を保持するようになります。
@sbomer ・ GitHub ・ linkable-framework area-Tools-ILLink
IL リンカー(illink)の Debug.Assert エラーを修正するPRです。同じアセンブリが異なるパスで複数回指定された場合(例:test.exe と ../input/test.exe)のアサーション失敗を解決し、同時に異なる複数のアセンブリが entrypoint ルートモードで指定された場合に新しい診断エラー IL1048 を発行するようにしました。
// 修正前:同じアセンブリの重複指定でアサーション失敗
Debug.Assert(entry_assembly is null);
// 修正後:同じ AssemblyDefinition オブジェクトなら許容
// 異なるアセンブリの場合は IL1048 エラーを発行
続きを読む
@Copilot ・ GitHub ・ area-Diagnostics-coreclr
このPRは、cDAC(Contracts Data for Diagnostics)におけるGetSyncBlockCleanupDataとGetSyncBlockDataAPIの実装を行います。クリーンアップリスト上のオブジェクトは有効な管理オブジェクトではない可能性があるため、COMデータはオブジェクトヘッダーを経由せず、同期ブロックポインタから直接読み込まれます。また、従来のC++実装におけるaddr=0時の仕様違反も修正されています。
続きを読む
@mrvoorhe ・ GitHub ・ linkable-framework community-contribution area-Tools-ILLink
ILLink の MarkStep クラスで、DoAdditional*Processing メソッドに MessageOrigin パラメータを追加するための変更です。これにより、サブクラスが追加マーク処理を実行する際に、診断情報の出所(origin)を追跡できるようになり、より詳細なエラー報告が可能になります。
// 変更前
protected virtual void DoAdditionalProcessing() { }
// 変更後
protected virtual void DoAdditionalProcessing(MessageOrigin origin) { }
続きを読む
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
SPMI(SuperPMI)レポートにメトリック使用量の差分表示機能を追加しました。コンパイラのメトリクス出力を拡張し、ビルド前後の差分をレポートに統合することで、JITコンパイラの最適化による影響をより詳細に追跡できるようになります。
@Copilot ・ GitHub ・ area-Diagnostics-coreclr
このPRは、debuggerが契約ベースのDAC(Data Access Component)パスを通じてRCW(Runtime Callable Wrapper)クリーンアップリストエントリを列挙できるようにするTraverseRCWCleanupList cDAC APIを実装しています。C++側でデータディスクリプタを公開し、C#側でBuiltInCOM契約レイヤーを追加して、RCWのマーシャリング型デコーディングと同期ビットのマスキングを実現しています。
続きを読む
@kotlarmilos ・ GitHub ・ os-ios area-CodeGen-Interpreter-coreclr
CoreCLR インタープリタに arm64 Apple プラットフォーム向けの Swift 呼び出し規約の逆 P/Invoke サポートを追加します。SwiftSelf、SwiftError、SwiftIndirectResult などの特殊レジスタ処理、引数の書き換え、戻り値処理に対応し、Swift マネージドコールバックをインタープリタ下で正しく動作させます。
@jkoritzinsky ・ GitHub ・ area-VM-coreclr
このPRは、仮想呼び出しサイト準備マクロ PREPARE_SIMPLE_VIRTUAL_CALLSITE の使用法を UCO(Unmanaged Code Object)パターンに統一するリファクタリングです。マクロ自体は使用されなくなったため削除されています。これは .NET ランタイムの内部実装をより一貫性のある設計パターンへ移行させるための変更です。
@mdh1418 ・ GitHub ・ area-Tracing-coreclr
ユーザーイベントトレーシングテストの不安定性を修正し、テストを再有効化するPRです。3つの独立した根本原因を特定し解決しています:(1) イベント生成とトレース設定の競合状態を回避するため、遅延を200msから700msに増加、(2) クロスプロセスのイベント混在を防ぐためProcessIDフィルタリングを追加、(3) 診断ポート削除時の権限エラーをハンドルするよう例外処理を追加。2コアシステムで500回連続実行テストで100%成功率を達成しました。
続きを読む
@AndyAyersMS ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssembly RyuJit コンパイラでローカル変数へのアクセスに変数番号(var nums)のアノテーションを追加する変更です。シャドウスタックにスピルされたローカル変数に対して、ネイティブダンプで見られるような追加のアノテーション情報を付与し、デバッグ情報の充実を図ります。
@radekdoulik ・ GitHub ・ arch-wasm area-VM-coreclr
WebAssembly(WASM)環境で動的メソッドがファイナライズされ再利用される際に、ポータブルエントリポイント(Portable Entrypoint)に古いインタプリタコードへのダングリングポインタが残される問題を修正します。インタプリタコードポインタをクリアする箇所でポータブルエントリポイントもリセットし、メモリ安全性を確保します。
@Copilot ・ GitHub ・ area-Diagnostics-coreclr
このPRは、cDAC SOSDacImpl に ISOSDacInterface::GetJitManagerList インターフェースの実装を追加するものです。JIT マネージャーの一覧取得機能をデータコントラクトアーキテクチャ(cDAC)経由で診断ツールが利用できるようになります。ExecutionManager契約に新しいメソッドを追加し、16個の新規ユニットテストを含めて173個の ExecutionManager テストが合格しています。
続きを読む
@Copilot ・ GitHub ・ area-System.Runtime.InteropServices.JavaScript
JSImportGeneratorとJSExportGeneratorから診断ロジックを独立したDiagnosticAnalyzerクラスに抽出し、ソースコード生成パスを実行しなくてもIDEで診断結果が表示されるようにしました。PR #123780のLibraryImportGeneratorと同じパターンに従っています。
@Copilot ・ GitHub ・ area-System.Runtime.InteropServices
このPRは、ComInterfaceGeneratorとVtableIndexStubGeneratorの診断ロジックを専用のDiagnosticAnalyzerクラスに分離しています。これにより、IDEが診断の表示タイミングと方法をより細かく制御できるようになり、#123780で確立されたパターンに従っています。
@Copilot ・ GitHub ・ area-System.Net.Security
AuthenticateAsServerAsyncとDispose()の競合状態中に、証明書/キーのSafeHandleが無効化される前にSetSslCertificateに到達する場合がある問題を修正します。Debug.AssertがプロセスをSIGABRTで強制終了させるのではなく、p/invokeマーシャラーがObjectDisposedExceptionを投げることを意図しています。
@jonathandavies-arm ・ GitHub ・ area-CodeGen-coreclr community-contribution
ARM64アーキテクチャにおいて、静的な符号なし定数0との比較時にands/bics命令を使用する最適化を修正しました。この修正により、符号なし定数0との比較が正確に処理され、JITコンパイラによる命令結合の最適化が適切に機能するようになります。
@saucecontrol ・ GitHub ・ area-CodeGen-coreclr community-contribution avx512
uint から浮動小数点への型変換(uint→float/double)をx86プラットフォーム上でヘルパー関数呼び出しなしで高速化するPull Requestです。AVX-512以前のx86では、32ビット変換用のネイティブ命令がないため、SSE命令を組み合わせた変換シーケンスを使用して、ヘルパー呼び出しのオーバーヘッドを排除します。典型的には、関数呼び出しの代わりにSSE命令(vcvtsi2sd、vaddsd、vcvtpd2psなど)で処理し、コード生成の簡潔化と若干の性能改善を実現します。
続きを読む
@tpa95 ・ GitHub ・ area-PAL-coreclr community-contribution
CoreCLRのinspect.cppとvirtual.cppで、静的解析ツール(SVACE)により検出された潜在的なnullポインタ逆参照の問題を修正しました。実環境では未観測ですが、予防的な修正となります。
@saucecontrol ・ GitHub ・ area-CodeGen-coreclr community-contribution
JIT コンパイラの x86/x64 アーキテクチャにおいて、ConditionalSelect と BlendVariable SIMD 操作の最適化を統一化しました。定数マスク時のフォーディング、ベクトル定数をマスク定数に変換する最適化、EVEX 組み込みゼロの活用、およびゼロとのブレンドを AND/ANDN 命令に最適化することで、生成コードサイズと実行効率が向上します。
2026年03月02日 (35 PRs) うち Bot 8 件 この日のページ →
@jakobbotsch ・ GitHub ・ area-ExceptionHandling-coreclr
Unix x64環境でのstackoverflowtesterテストの無効化を復元するPRです。PR #123248で失われた除外設定を、[ActiveIssue]属性を使用して再度有効にします。これにより、Windows以外のx64プラットフォームでのスタックオーバーフローテストの実行を防ぎます。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
JIT インライニング時に非同期コンテキストの保存/復元が必要な場合、インリー関数の戻り値式の評価順序が誤ってコンテキスト復元後に移動され、AsyncLocal のセマンティクスが変更される回帰バグを修正しました。戻り値式がコンテキスト復元前に評価されるよう、インリー関数の戻り値をスピルする一時変数の生成ロジックを拡張しています。
@radekdoulik ・ GitHub ・ arch-wasm area-ExceptionHandling-coreclr
WASM/CoreCLR上で無効化されていたランタイム/JITテストを再度有効化するPRです。issue #123793に関連する基盤の問題がPR #124296で修正されたため、複数のテストからActiveIssueスキップアノテーションを削除し、WASM環境でのテスト実行を復活させています。
@Copilot ・ GitHub ・ area-Host
CoreCLR テストプロジェクトで <RequiresProcessIsolation>true</RequiresProcessIsolation> を設定する必要がある場合のガイドラインドキュメントを追加しました。プロジェクトファイルのトリガー(環境変数、ランタイムホスト設定、トリミング、ネイティブ依存関係)とソースコードのトリガー(Environment.Exit、プロセス全体のGC操作、collectible ALC、カスタム Main など)をカバーする28個のルールで構成されています。
続きを読む
@Copilot ・ GitHub
RequiresProcessIsolationテストガイドラインのドキュメント改善PRです。AutoreleasePoolSupportルールをRuntimeHostConfigurationOptionに統合し、ドキュメント構造を整理。重複していたルール番号17のエラーも修正されています。
@MichalStrehovsky ・ GitHub ・ area-System.Diagnostics.Process
CoreCLR テストプロジェクトにおいて RequiresProcessIsolation 属性をいつ設定するかについてのガイドラインドキュメントを追加しました。プロジェクトプロパティとソースコードパターンに基づいた具体的なルールと設定トリガーを文書化しており、テスト開発者が適切にプロセス分離要件を判断できるようになります。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラのArrayStackコンテナにrange-based iteratorサポートを追加する変更です。BottomUpOrder()とTopDownOrder()というイテラブルビューを導入し、複数の最適化フェーズでインデックスベースのループをrange-forループに置き換え、コード可読性を向上させ、繰り返しのインデックスアクセス処理を削減します。
// 変更前
for (unsigned i = 0; i < stack.Height(); i++)
{
process(stack[i]);
}
// 変更後
for (auto item : stack.BottomUpOrder())
{
process(item);
}
続きを読む
@Copilot ・ GitHub ・ os-linux area-Infrastructure-mono
Mono AOT ビルドで SuperPMI テストのサブスクリプトに対して「No merged runner found」エラーが発生する問題を修正しています。SuperPMI は CoreCLR 専用のツールであり Mono プラットフォームでは不要なため、superpmicollect.csproj に MonoAotIncompatible マーカーを追加し、Mono LLVM AOT パイプラインから SuperPMI テストツリーを除外しました。
続きを読む
@sethjackson ・ GitHub ・ area-System.IO.Compression community-contribution os-openbsd
OpenBSD プラットフォーム対応の改善です。TARGET_OPENBSD マクロの定義、OpenBSD固有のディレクトリエントリフラグ DT_WHT のスキップ、ピアプロセスID取得時の getpeereid 使用、ファイルシステム情報取得時の必要なヘッダー追加などを実装しています。
@BrennanConroy ・ GitHub ・ bug area-System.IO.Pipelines
StreamPipeReader.CopyToAsync メソッドにおいて、バッファリングされたデータを正常に処理した後、読み取り位置を適切に進めない不具合を修正しました。ドレイン成功時にセグメントループが終了してsegmentがnullになるため、finally ブロックで AdvanceTo が呼ばれず、バッファリングデータが _readHead/_readIndex に残存して、後続の読み取りで重複返却される問題を解決します。
続きを読む
@max-charlamb ・ GitHub ・ area-Diagnostics-coreclr
cDAC(Contract-based DAC)のNonVirtualEntry2MethodDescメソッドが、precodeのメモリ範囲内にあるが無効なアドレスに対してInvalidOperationExceptionをスローしていた問題を修正しました。ネイティブDAC実装と同じ動作(NULLを返す)に統一することで、!clru コマンドがIL stubで正常に動作するようになります。
@mrvoorhe ・ GitHub ・ linkable-framework community-contribution area-Tools-ILLink
.NET 8からの変更で失われていた CustomizeTrimming メソッドの virtual 修飾子を復元するPRです。Unity's test frameworkが trimming customization hookをオーバーライドできるようにするための変更です。
@mrvoorhe ・ GitHub ・ linkable-framework community-contribution area-Tools-ILLink
ILLinkテストフレームワークのSkipUnresolved設定を整理する変更です。テストフレームワークのデフォルト値がILLink本体と一致していなかったため、デフォルト値をfalseからtrueに修正し、AddSkipUnresolvedメソッドが常に明示的な値をlinker引数に出力するようにしました。これにより、SkipUnresolved=falseを明示的に指定したテストが確実にその値で実行されるようになります。
続きを読む
@pavelsavara ・ GitHub ・ arch-wasm area-Host os-browser
WebAssembly(WASM)ブラウザ環境でのアセット読み込みにスロットリング機能を実装し、全ファイルタイプに対して有効化しました。アセット優先度の管理機能を追加し、onDownloadedAsset()がエラー時にもカウントされるよう修正しています。また、WebCIL名の修正も含まれています。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
BasicBlockクラスの公開フィールドをカプセル化し、関連するクリーンアップを実施。JITコンパイラのコア部分における設計改善で、27個のファイルにわたって直接フィールドアクセスをプロパティやメソッド経由に変更。
@MichalStrehovsky ・ GitHub ・ area-TypeSystem-coreclr
Loader テストスイートから不要な RequiresProcessIsolation 属性を削除するプルリクエストです。AI(Opus 4.6)により RequiresProcessIsolation が必要なケースの判定ルールを確立し、それに基づいてLoader ツリーの不要な属性を削除。その後、ビルドとテスト実行結果により削除の妥当性を検証しています。
@kg ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssembly RyuJIT コンパイラの Block Stores(ブロック転送命令)機能を実装するパート2。genCodeForCpObj の実装、stackifier の NIY シナリオ修正、メモリ操作の最適化により、参照を含む構造体のコピーコンパイルが可能に。ただしライトバリア呼び出し時にクラッシュする既知の問題あり。
// 参照を含む構造体コピー(ライトバリア実装待ち)
static unsafe void copyStructWithRefs(ref S2 a, ref S2 b) {
a = b;
}
// スタック上へのコピーは正常に動作
static unsafe void loadStructWithRefs(ref S2 src) {
S2 local = src;
}
続きを読む
@steveisok ・ GitHub ・ area-Diagnostics-coreclr
モバイルプラットフォームでのクロスDSO例外処理の問題を修正するため、IDacDbiInterfaceの119個の非HRESULTメソッドをすべてHRESULT返却方式に変換しました。DAC側で例外をキャッチしてHRESULTに変換することで、C++例外がDAC→DBI境界を越えることを完全に排除します。
// 変更前
void IDacDbiInterface::GetThreadContext(CORDB_ADDRESS address, void* context);
// 変更後
HRESULT IDacDbiInterface::GetThreadContext(CORDB_ADDRESS address, void* context);
続きを読む
@AaronRobinsonMSFT ・ GitHub ・ area-VM-coreclr
例外処理コードパスにおいて、非効率なMethodDescCallSite/CallDescrWorker呼び出しをより効率的なUnmanagedCallersOnly逆P/Invoke呼び出しに置き換えるPRです。excep.cpp内の6つの呼び出しサイト(GetExceptionMessage、ExceptionPreserveStackTrace、WrapNonCompliantException等)がUnmanagedCallersOnlyCallerパターンに変換され、マネージコード側に[UnmanagedCallersOnly]属性付きの静的ラッパーメソッドが追加されます。
続きを読む
@eiriktsarpalis ・ GitHub ・ area-skills
dotnet/runtime リポジトリにおいて、API提案のプロトタイピングと草案作成を自動化する api-proposal Copilot スキルを追加しました。このスキルは、Framework Design Guidelines の確認、プロトタイプ実装、テスト、リファレンスアセンブリ生成、提案ドキュメント作成といった7段階のパイプラインを自動化し、API提案の手探り的な実験作業を削減します。
続きを読む
@radekdoulik ・ GitHub ・ arch-wasm area-Infrastructure-coreclr
WebAssembly (WASM) アーキテクチャでのテスト実行環境を整備するPRです。run.cmdスクリプトがWASMアーキテクチャに対応し、テストビルドシステムの設定ファイルが更新されています。Windows環境でWASMターゲットのテスト実行が可能になりました。
@am11 ・ GitHub ・ area-ILTools-coreclr community-contribution
ilasmツール(IL Assembler)のパーサー生成方式をAntlr4BuildTasksに切り替えました。従来の手動メンテナンスされていたパーサー実装から、Antlr4による自動生成ベースの実装へ移行することで、保守性向上とCIL文法の一元管理が実現されます。
@ViveliDuCh ・ GitHub ・ area-System.Numerics
System.Numerics.Vectorsに新しいblittable色型Argb<T>とRgba<T>を追加します。これらのジェネリック構造体は、色データをメモリ効率的に表現し、System.Drawing.Primitivesとの統合をサポートします。実装はSystem.Private.CoreLibに配置され、System.Numerics.Vectorsがファサード層として機能する設計になっています。
// 使用例
var argb = new Argb<byte>(255, 128, 64, 32); // ARGB値
var rgba = new Rgba<byte>(128, 64, 32, 255); // RGBA値
続きを読む
@Copilot ・ GitHub ・ area-Meta
このPRは、string.Compare(...) == 0 パターンを Equals、StartsWith、EndsWith、AsSpan().Equals() などのより慣用的で読みやすいメソッドに置き換えています。約34ファイルにわたり、冗長な比較パターンを簡潔化し、コード品質を向上させます。
// 置き換え例
// 変更前
if (string.Compare(a, b, StringComparison.OrdinalIgnoreCase) == 0) { }
// 変更後
if (string.Equals(a, b, StringComparison.OrdinalIgnoreCase)) { }
// StartsWith の置き換え例
// 変更前
if (string.Compare(header, 0, "Basic ", 0, 6, StringComparison.Ordinal) == 0) { }
// 変更後
if (header.StartsWith("Basic ", StringComparison.Ordinal)) { }
続きを読む
@lewing ・ GitHub ・ arch-wasm area-Meta os-browser
.NET 11のリグレッションを修正し、Blazor WASM増分ビルド時のSRI整合性検証失敗を解決するPRです。Boot configのContentRootを$(OutDir)wwwrootから$(IntermediateOutputPath)に変更し、WebCilアセットの各項目に対してContentRoot="%(RootDir)%(Directory)"を設定することで、ビルド時と発行時のアセットIdentityが実際のファイルパスを正確に指すようにします。
// 修正例:Per-item ContentRoot設定
<ItemGroup>
<_WebCilAssetsCandidates
ContentRoot="%(RootDir)%(Directory)"
Include="..." />
</ItemGroup>
続きを読む
@matouskozak ・ GitHub ・ area-Diagnostics-coreclr
CoreCLR インタープリターにデバッガサポートを追加するPRです。IDEのブレークポイント設定とシングルステップ(ステップイン/オーバー/アウト)機能をインタープリター実行環境で実装しました。新しい INTOP_BREAKPOINT と INTOP_DEBUG_SEQ_POINT オペコードを導入し、インタープリター用の実行制御ロジックを拡張しています。
@SkyShield ・ GitHub ・ area-CodeGen-coreclr community-contribution arch-riscv
RISC-V JIT コンパイラのPHASE Generate codeフェーズで命令印字機能を有効化しました。JitDump設定時に、生成されるRISC-V命令が JIT ダンプ出力に表示されるようになり、デバッグの利便性が向上します。例えばfneg.d fa0, fs6やjalr ra, ??(ra)といった命令が出力されます。
2026年03月01日 (6 PRs) この日のページ →
@lewing ・ GitHub ・ area-System.Text.RegularExpressions
WASM等のマルチスレッド非対応プラットフォームで、NonBacktracking正規表現エンジンの深いネスト構造テストが失敗する問題を修正しています。テストを[ConditionalTheory]に変更し、マルチスレッド非対応環境ではNonBacktrackingエンジンのみをスキップするガード処理を追加することで、他のエンジン(Interpreter、Compiled)は引き続き全プラットフォームで実行されます。
続きを読む
@Copilot ・ GitHub ・ arch-wasm area-System.Runtime.InteropServices.JavaScript
Browser/WASM向けのビルドがrollup-plugin-dts v6.2.3とrollup 4.59.0の組み合わせで失敗する問題を修正しました。public-api.ts内のdeclare global {}ブロックがrollupによって誤ってエクスポート対象として扱われ、"global"が実在しない変数として検出されるのが原因です。修正によりdeclare global {}をrollupのエントリーポイントであるexport-api.tsに移動することで、エクスポート検証に引っかからないようにしました。
続きを読む
@Copilot ・ GitHub ・ area-System.Globalization
System.Text.Encoding.CodePagesのEncodingTable.csで、Dictionary + ReaderWriterLockSlimによる複雑なロック機構をConcurrentDictionaryに置き換えました。読み取り時の高速パスでロック取得が不要になり、パフォーマンスが向上します。既にSystem.Private.CoreLibで使用されているパターンに統一しました。
続きを読む
@Copilot ・ GitHub ・ area-System.Net.Sockets
Windows上のソケット非同期操作において、DynamicWinsockMethods.GetMethods()が全呼び出しで同じグローバルロックを獲得していたロック競合を削減。List<T> + lock(s_methodTable)をvolatile配列を使用したロックフリーな読み取りパスに置き換え、テーブルが完全に満たされた後の不要なシリアライズを除去。
// 変更前:すべてのsocket操作で単一ロック上でシリアライズ
lock (s_methodTable) { /* linear scan + possible add */ }
// 変更後:読み取りはロックフリー、書き込みはコピーオンライト
foreach (DynamicWinsockMethods methods in s_methodTable) // volatile読み取り、ロック不要
if (methods.Matches(...)) return methods;
return GetMethodsSlow(...); // キャッシュミス時のみロック取得
続きを読む
@pavelsavara ・ GitHub ・ arch-wasm area-Infrastructure-coreclr os-browser
このPRはWebAssembly(WASM)ブラウザテストスイートにおいてcoreCLRサポートを有効化するための変更です。主な内容は、WasmBrowserRunMainOnlyの削除、ネイティブテストカテゴリの追加、CoreCLR実行時のdotnet.diagnostics.jsの常時期待、ネイティブトレイトの無効化、およびAOTテストの分離です。
@Copilot ・ GitHub ・ area-Interop-coreclr
MetadataImport.GetMarshalAsで、SafeArrayに長さ0のユーザー定義型名がある場合にメモリ範囲外のデータを読み込んでTypeLoadExceptionが発生する回帰バグを修正します。tlibimpが生成するCOM相互運用アセンブリで発生していました。修正は、ネイティブ側でバイト長を提供してマネージド側で正確に読み込むように改善し、FCCallをQCallに変更して安全性を向上させています。
続きを読む