← アーカイブ一覧へ戻る
このページは、dotnet/runtime リポジトリにマージされたPull Requestを自動的に収集し、その内容をAIが要約した内容を表示しています。そのため、必ずしも正確な要約ではない場合があります。
日別 Pull Request 数
日付をクリックするとその日のセクションへ移動します。
ラベル別 Pull Request 数(上位10)
ラベル別 Pull Request 数の上位10
上位10件の合計566件を100%とした内訳です。各スライスの番号は凡例の番号に対応します。ラベルごとの件数は凡例を参照してください。
1. area-CodeGen-coreclr — 141 PRs (24.9%)
2. community-contribution — 77 PRs (13.6%)
3. Servicing-approved — 71 PRs (12.5%)
4. area-codeflow — 52 PRs (9.2%)
5. arch-wasm — 47 PRs (8.3%)
6. area-Diagnostics-cdac — 41 PRs (7.2%)
7. area-NativeAOT-coreclr — 38 PRs (6.7%)
8. area-VM-coreclr — 36 PRs (6.4%)
9. area-Infrastructure — 35 PRs (6.2%)
10. area-System.Security — 28 PRs (4.9%)
1
2
3
4
5
6
7
8
9
10
566
上位10件の合計
1 area-CodeGen-coreclr 141 PRs 24.9%
2 community-contribution 77 PRs 13.6%
3 Servicing-approved 71 PRs 12.5%
4 area-codeflow 52 PRs 9.2%
5 arch-wasm 47 PRs 8.3%
6 area-Diagnostics-cdac 41 PRs 7.2%
7 area-NativeAOT-coreclr 38 PRs 6.7%
8 area-VM-coreclr 36 PRs 6.4%
9 area-Infrastructure 35 PRs 6.2%
10 area-System.Security 28 PRs 4.9%
上位10件で全1016件中566件(55.7%)を占めます。ラベルは1つの Pull Request に複数付くため、比率は PR 数ではなくラベル付与の延べ数に対するものです。
各 Pull Request の概要
この月にマージされた 681 件を新しい日から順に並べています。タイトルをクリックするとその日のページの該当箇所へ移動します。Bot が作成した 72 件はタイトルのみにして、各日の最後にまとめています。
2026年06月30日 (33 PRs) うち Bot 1 件 この日のページ →
@sbomer ・ GitHub ・ area-NativeAOT-coreclr
Android NativeAOT環境でJNI GetStringUTFChars の呼び出しが失敗する問題を修正しました。[DisableRuntimeMarshalling] が指定されたテストアセンブリで、out byte パラメータがランタイムマーシャリングを要求し、NativeAOTが marshalling thunk をエミットする際にクラッシュしていました。JNI ABI形式の byte* パラメータに変更し、ローカル isCopy バイト変数のアドレスを渡すことで解決します。
続きを読む
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
ISOSDacInterface17にGetStressLogMemoryRangesメソッドを追加し、診断ツールがメモリ内ストレスログのバッキングチャンク(メモリ範囲)を列挙できるようにします。このインターフェースはまだシッピング製品で使用されていないため、破壊的変更として実装されています。メソッドはISOSMemoryEnumを返し、ストレスログのメモリ領域をディスカバリーおよび読み取り可能にします。
続きを読む
@radekdoulik ・ GitHub ・ arch-wasm area-Infrastructure-libraries
browser + CoreCLR (WASM) 構成で一時的に無効化されていたライブラリテストの一部を、実装及び検証を通じて安定稼働することが確認されたため、再度有効化するPRです。EventSource ActivityTracking、DLR動的言語ランタイム適合性テスト、Environment.ProcessPath、COM Variant マーシャリングに関する計19個のテストが対象です。
続きを読む
@akoeplinger ・ GitHub ・ area-Infrastructure
NuGetの上流issue修正に伴い、NU1511警告の誤検知抑制を削除しました。また、正当なNU1511抑制のコメントを統一し、.NET 11でベース共有フレームワークに移行されたアセンブリについて、P2P参照を.NETFrameworkのみに変更することで、一部の抑制を削除しました。
@Copilot ・ GitHub ・ area-System.Diagnostics.Process
Windows プラットフォームで ProcessStartInfo.KillOnParentExit 使用時に、子プロセスが親プロセスから独立した子孫プロセス(breakaway descendants)を作成できるようにするため、Job Object の設定を更新しました。JOB_OBJECT_LIMIT_BREAKAWAY_OK フラグを有効化することで、子プロセスは CREATE_BREAKAWAY_FROM_JOB フラグで親のジョブ制御から逃れることが可能になります。
続きを読む
@rcj1 ・ GitHub ・ area-Diagnostics-coreclr
DAC/DBI(Debugger Access Component/Debugging Interface)間のバージョンチェックに関連する不要なコードを削除するPRです。CheckDbiVersionエントリポイントとDbiVersion構造体、および関連する大規模なコメントブロックを削除し、DAC/DBI インターフェースを簡潔にします。
@am11 ・ GitHub ・ arch-arm64 arch-x64 community-contribution area-NativeAOT-coreclr arch-loongarch64 arch-riscv
Native AOTのランタイムにおいて、例外処理時にGetThread呼び出し後もthrow kind情報を保持するよう修正しました。例外ハンドリングのアーキテクチャ固有実装(amd64、arm64、loongarch64、riscv64)において、スタックレジスタの状態を適切に管理する変更です。
@AndyAyersMS ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssembly JITにおいて、逆ポストオーダー(RPO)/プリオーダーの計算結果がfunclet生成順序と一致するよう制御フロー構造を調整します。これにより、インターバル/カーソルインデックスと物理ブロック走査間の不一致が減少します。
@Copilot ・ GitHub ・ area-System.Reflection.Metadata
MacCatalyst上でTestCustomAttributeDecoderGenericUsingReflectionテストが失敗する問題に対応したものです。モバイル固有のリフレクション列挙型解決動作により失敗が発生するため、既存のiOS/tvOS向けプラットフォームスキップをMacCatalystにも拡張しています。
@MichalStrehovsky ・ GitHub ・ area-NativeAOT-coreclr
テストに ActiveIssue 属性を追加する修正。self_override_generic テストに新たに ActiveIssue を追加し、self_override5.il テストの既存の ActiveIssue を更新する。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
JIT コンパイラの fgRemoveUnreachableTry メソッドにおいて、到達不可能な領域に囲まれた到達可能に見える領域が正しく削除されないバグを修正しました。ブロック削除時に領域の終端を一貫して更新することで、アサーション失敗を解決します。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
WebAssembly上でのGCスタックウォーク時にジェネリックコンテキスト引数を確実に追跡できるようにするため、プロローグでジェネリックコンテキストをGC報告可能フレームスロットにスピルし、TransitionFrameのレジスタ情報表示でフレームポインタを適切に設定します。
@jakobbotsch ・ GitHub ・ area-VM-coreclr
async resumption stubでbyrefパラメータを使用する場合、無効なIL(initobjでbyref localを初期化)が生成される問題を修正。byref引数に対して直接null管理ポインタを読み込む方式に変更し、回避パターンをテストケースに追加することで、resumption stub作成パスを確実に検証するようにしました。
関連Issue: #129990
続きを読む
@tommcdon ・ GitHub ・ area-Diagnostics-coreclr
診断IPC(InterProcess Communication)メッセージ構築時に、大規模なPayloadによるサイレント切り詰めを防止するための変更です。Payloadサイズをより広い型(size_t)で計算し、ヘッダ+Payload合計がuint16_tメッセージサイズフィールドの範囲(最大65535バイト)を超える場合は失敗を返すようにしました。ProcessInfo/ProcessInfo2/ProcessInfo3、env-info、generate-core-dump応答Payloadのサイズ計算をbool戻り値+uint16_t出力パラメータのシグネチャに変更し、オーバーフロー時に明示的にエラーハンドリングしています。
続きを読む
@tarekgh ・ GitHub ・ area-System.Globalization
Apple プラットフォーム上で ur-IN カルチャーの TestNativeDigits テストが失敗する問題を修正します。Apple の ICU が CLDR 仕様の拡張アラビア数字(U+06F0-U+06F9)ではなくラテン数字(0-9)を返すため、テスト期待値をすべての Apple プラットフォーム(macOS、iOS、tvOS、MacCatalyst)で統一的に調整します。
@jakobbotsch ・ GitHub ・ area-VM-coreclr runtime-async
CoreCLRのティアード・コンパイル(Tiered Compilation)の対象条件を緩和し、ランタイム非同期メソッド(async version methods)がティアリングに参加可能にしました。これにより、ティアード PGO の候補となります。一方、サポートされていないラッパー・スンク非同期メソッドは除外されたままです。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
SuperPMI tpdiff マークダウン要約に、メソッドごとの回帰/改善例を追加するコマンドラインツール変更です。既存の詳細CSV内のコンテキストごとのスループット差分データを集約し、PDIFF%でランク付けされたFullOpts/MinOpts別トップNテーブルを出力します。Release JITがMethodFullNameを報告しない場合は、SPMI コンテキスト番号をフォールバック参照用に表示し、mcs -dumpMapやsuperpmi -c Nで詳細を確認可能にします。
続きを読む
@Copilot ・ GitHub ・ area-System.Threading
Unix上の名前付きミューテックス作成時における競合状態を修正します。複数プロセスが同時に同じ名前のミューテックスを作成しようとした場合、O_RDWRでENOENTが返されてもO_CREAT|O_EXCLでEEXISTエラーになる TOCTOU(Time-of-check-time-of-use)ウィンドウが存在し、ハンドルされないIOExceptionが発生していました。EnsureDirectoryExistsで既に使用されている再試行パターンをミラーリングすることで対応します。
続きを読む
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr runtime-async
MethodImplOptions.Synchronizedで修飾された非asyncメソッドがTask/ValueTaskを返す場合のランタイム非同期バージョン処理に対応しました。JITとインタプリタの両方で、モニタロック解放のタイミングを正しく制御し、テールコール最適化を禁止することで、awaitの前にロックが確実に解放されるようにしています。
@sbomer ・ GitHub ・ area-NativeAOT-coreclr
Android NativeAOT テスト APK のパッケージング設定を修正し、暗号信頼マネージャーの JNI コールバック シンボル Java_net_dot_android_crypto_DotnetProxyTrustManager_verifyRemoteCertificate が最終的な共有ライブラリに確実に保持・エクスポートされるようにします。これにより、以前除外されていた System.Net.Requests.Tests と System.Net.WebSockets.Client.Tests のテストが再度有効化されます。
続きを読む
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
x86 GCInfo デコーダーの cDAC 実装と、GcScanner.PromoteCallerStack の ICallingConvention.TryComputeArgGCRefMapBlob への書き換えを実施し、Windows x86/x64 での既知の問題をゼロに厳格化するPRです。変更後、x86 cDAC スタックウォーキングはランタイムと同等の機能を実現し、cdacstress GCREFS スイートで 4798/4798 パス(既知の問題なし)を達成しています。
続きを読む
@gbalykov ・ GitHub ・ community-contribution area-NativeAOT-coreclr
Tizen プラットフォーム向けの NativeAOT ビルド時に、toolchain.cmake で設定されるプラットフォーム固有のリンカーフラグが反映されていない問題を修正します。SetupOSSpecificProps で Tizen 固有の設定を考慮するようにしました。
@vitek-karas ・ GitHub ・ area-Infrastructure
CI Outer-Loop Failure Fixer のワークフローで使用される gh-aw-firewall ツーリングを 0.25.40 から 0.27.7 に更新するもの。新しいバージョンでは Squid プロキシの起動パスに改善が含まれており、sandbox/proxy の起動時の安定性が向上する。ワークフロー定義本体は変更されず、生成されたロックファイルのツーリングバージョンとイメージダイジェストのみが更新される。
続きを読む
@kotlarmilos ・ GitHub ・ os-ios area-CodeGen-Interpreter-coreclr
インタープリタ専用のx64ビルド(Apple mobileなど)において、Vector256<T>を使用するコードがVector256.get_IsHardwareAccelerated()でNullReferenceExceptionをスローする問題を修正します。インタープリタ専用モードでAVXを無効化することで、ReadyToRun(R2R)のx86-64-v2ベースラインと実行時に報告されるISA(命令セット)の一貫性を保ち、不正なコードパス選択を防ぎます。
続きを読む
@Copilot ・ GitHub ・ area-System.Diagnostics.Process
macOSでProcessStartInfo.StartSuspendedとSafeProcessHandle.Resume()のサポートを追加しました。macOS 10.5以降で利用可能なPOSIX_SPAWN_START_SUSPENDEDフラグを使用してプロセスを中断状態で起動し、SIGCONTシグナルで再開できるようになりました。
var process = new Process
{
StartInfo = new ProcessStartInfo("/usr/bin/app") { StartSuspended = true }
};
using var handle = SafeProcessHandle.Start(process.StartInfo);
// プロセスは中断状態...
handle.Resume(); // macOSではSIGCONTを送信
続きを読む
@StephenMolloy ・ GitHub ・ area-Serialization
XmlSchemaObjectから派生した型の逆シリアル化に対応するため、リフレクションベースのXmlSerializerの2つの関連バグを修正。
WriteLiteralStructMethodがXmlSchemaObject派生型でNotImplementedExceptionをスローしていた問題を、DecodeName = falseの設定で解決(スキーマ名のコロン含有問題を防止)
メンバーフラッシュループが読み取り専用コレクションプロパティ(XmlSchemaElement.Constraintsなど)に対してSetValueを呼び出し、ArgumentExceptionをスローしていた問題を、セッターなしプロパティを検出して既存コレクションインスタンスに直接アイテムを追加する処理で解決
続きを読む
@MihaZupan ・ GitHub ・ area-System.Net.Http
HTTP CONNECTプロキシトンネル経由でH2C(クリアテキストHTTP/2)接続を作成できるようにする変更です。これにより、HTTPプロキシ経由のHTTP/2通信でHTTP/1.1へのフォールバックを回避し、HTTP/2のパフォーマンス利点を活かせるようになります。WebSocketのプロキシトンネル対応と同様のメカニズムを適用しています。
@radekdoulik ・ GitHub ・ arch-wasm area-Infrastructure-libraries
Browser + CoreCLRの単一スレッドwasm環境におけるouterloop CI実行を整備するため、遅いライブラリテストスイートをCI実行可能にするパイプライン構成・タイムアウト管理・テストゲーティングを追加します。従来はouterloopパイプラインでwasm/CoreCLRの実行カバレッジがなく、今回新規に「slow tests([OuterLoop])を含む約200スイート、657k以上のテスト」を実行可能にしました。innerloop動作は変更されません。
続きを読む
@tulior ・ GitHub ・ area-System.Net.Sockets community-contribution
非ブロッキングSocket.Connectで保留状態を示すWouldBlock(Windows)またはInProgress(Unix)が返される場合、テレメトリがこれをエラーとして扱っていた問題を修正します。本PR後は、保留状態ではActivityのステータスを未設定のままとし、error.typeを省略し、対応するConnectFailedイベントを抑制します。他のSocketError値は既存のエラー処理パスを維持します。
続きを読む
@Copilot ・ GitHub ・ area-System.Net
MailAddress.Encode で生成される SMTP ヘッダーの表示名(DisplayName)に含まれるダブルクォート(")とバックスラッシュ(\)を RFC 5322 準拠のように正しくエスケープする修正です。Henry "The Fonz" Winkler や C:\path\to\file のような特殊文字を含む表示名を使用した際に、不正な quoted-string が生成される問題を解決します。
続きを読む
@Copilot ・ GitHub ・ area-System.Diagnostics.Process
Process.Start() にコールバックベースのオーバーロードを追加し、開発者がカスタムプラットフォームAPI(Windows の CreateProcess や Unix の posix_spawn など)でプロセスを作成しながら、.NET の Process インフラストラクチャ(ストリーム処理、WaitForExit など)を活用できるようにしました。新しい ref struct 型 WindowsProcessStartArguments と UnixProcessStartArguments は、プリペアされたスタート情報(標準ハンドル、コマンドラインやargv、環境ブロック、Unix では UTF-8 ポインタとしての実行可能ファイルパス)をコールバックに渡します。
続きを読む
@ylpoonlg ・ GitHub ・ area-CodeGen-coreclr community-contribution
ARM64 SVE(Scalable Vector Extension)のマスク付きハードウェア組み込み命令コード生成を整理・最適化するPR。#115508の最終段階として、コード生成ロジックの統合、movprfx命令の利用最適化、および関連テストの修正を実施。
2026年06月29日 (26 PRs) うち Bot 3 件 この日のページ →
@AndyAyersMS ・ GitHub ・ area-VM-coreclr
WebAssembly向けのRead-Ahead-of-Time (R2R) コンパイルにおいて、ジェネリック辞書のサイズチェックにオフバイワンエラーが存在していました。サイズチェック条件を size < slotOffset から size <= slotOffset に修正することで、辞書が要求されたスロットに対して十分な大きさでない場合に、ヘルパーパスへの適切なフォールバックを保証します。
@ilonatommy ・ GitHub ・ arch-wasm area-Infrastructure-mono
WebAssembly用Chrome/V8自動バージョンアップデート機構をmacOSに対応させるPRです。従来はLinux/Windowsのみの対応でしたが、本変更でmacOS版Chromeのバージョン管理を自動化します。また、バージョンダウングレードを防止する仕組みを追加し、手動アップグレード後の自動ダウングレードを防ぎます。
@Copilot ・ GitHub ・ area-System.Text.Json
System.Text.Json の多態的シリアライゼーション テスト 12 メソッドを NativeAOT で条件付きスキップするよう修正しました。これらのテストは CustomPolymorphismResolver を使用しており、ランタイム リフレクションに依存するため NativeAOT 環境では実行できません。共有基底クラスの変更により、4つの SourceGeneration テストクラスすべての亜種をカバーしています。
続きを読む
@MichalStrehovsky ・ GitHub ・ breaking-change needs-breaking-change-doc-created area-NativeAOT-coreclr
Native AOT環境で Assembly.GetCallingAssembly() を実装します。スタックトレースメタデータを使用して呼び出し元のアセンブリを特定する方式で、スタックトレース情報が利用可能な場合にのみサポートされます。CoreCLRではF5デバッグ下では動作しないため、これは破壊的変更となります。
@Copilot ・ GitHub ・ area-System.Threading
CoreCLR上のEnvironment.CurrentManagedThreadId実装を、FCall(JIT_GetCurrentManagedThreadId)からManagedThreadId.Currentへの単純なスレッド静的読み取りに変更します。これにより、NativeAOTおよびMonoと同じアプローチに統一され、パフォーマンスが向上します。
@mmitche ・ GitHub ・ Servicing-approved area-Infrastructure-libraries
スケジュール実行されるOuterloopビルドにおいて、Helixテスト失敗時の失敗処理を改善するバックポート。Scheduled outerloop実行時(always:false)にHelix work item/テスト失敗がビルド全体を失敗させないようにし、同時に失敗を警告として可視化する変更を release/10.0 ブランチに適用します。これにより、フレキなテストによるAzDOの不要な再キューイングを防止します。
続きを読む
@mmitche ・ GitHub ・ Servicing-approved area-Infrastructure-libraries
Scheduled outerloop Helix ビルドの失敗処理を改善するバックポート。Helix テスト失敗時に build を失敗させない(always:false)一方で、失敗を AzDO timeline に警告として表示し、不安定なテストによる不要な再キューイングを防止します。
@am11 ・ GitHub ・ area-System.Net.Sockets community-contribution os-openbsd
IPv6デュアルモードをサポートしないOpenBSDやWASIなどのOS上で、複数のアドレスファミリーへの接続を可能にする改善です。これらのプラットフォームでは単一のソケットで両方のアドレスファミリーに到達できないため、接続時に必要に応じてソケットハンドルを再作成します。この修正により、OpenBSDでのTLSエンドポイントへの接続失敗(dotnet restoreでHttpRequestException hr=0x80004005が発生していた)が解決されます。
続きを読む
@jakobbotsch ・ GitHub ・ area-VM-coreclr
P/Invokeの非同期バリアント(async variant)がインライン化されるべきではないことを保証するための修正です。通常、P/Invokeはインライン化に失敗しますが、非同期バリアントの場合はその呼び出しが成功してしまい、EH情報取得時にアサーション失敗が発生していました。この修正により、IL/EHメタデータ取得時に常に通常バリアント(ordinary variant)のMethodDescを使用するようにしています。
続きを読む
@MichalStrehovsky ・ GitHub ・ area-Infrastructure
クロスビルド(異なるアーキテクチャ間のビルド)を高速化するため、ホストアーキテクチャ用のcrossgen2/ILCツールが、すべてのJITフレーバーではなく、ターゲットアーキテクチャ専用の単一JITのみをビルド・パッケージするよう変更します。CI時間を約5分削減する予定です。
@adamperlin ・ GitHub ・ area-CodeGen-coreclr
WebAssembly向けRyuJITで、定数引数を用いたVector128.Createと大量のPackedSIMD操作のコード生成をサポート。定数ベクトル作成はv128.constに最適化され、表駆動方式により複数のSIMD演算(v128、(v128, v128)、(v128, v128, v128)型)に対応。
非定数Vector128.CreateとSIMD比較演算はスコープ外(比較は符号付き比較の実装に課題)。
続きを読む
@Copilot ・ GitHub ・ area-Infrastructure
CI失敗自動修正ワークフローにパイプラインカテゴリーゲートを追加し、JIT/GC/PGO関連のコードジェン圧力テストの失敗を既存の修正ポリシーテーブルから実装レベルで強制するものです。これにより、これらのパイプラインの失敗に対して製品コードの修正やワークアラウンドPRを開かせず、ループイン機構にルーティングするようになります。
@Copilot ・ GitHub ・ area-CodeGen-coreclr
JITのスカラー進化(SCEV)IR実装化処理で、失敗時にcompGenTreeID(デバッグ専用フィールド)がリセットされず、フェーズがMODIFIED_NOTHINGを報告すべき場合に矛盾が生じていた問題を修正。Materialize(Scev* scev)で実装化を試みる前にcompGenTreeIDのスナップショットを取得し、失敗時に復元することで、孤立したノードのID増加を防止。
INDEBUG(unsigned prevGenTreeID = m_compiler->compGenTreeID);
if (Materialize(scev, true, &result, &vnp))
{
return result;
}
INDEBUG(m_compiler->compGenTreeID = prevGenTreeID);
return nullptr;
続きを読む
@medhatiwari ・ GitHub ・ area-System.Net.Security community-contribution
RHEL 8環境でgss-ntlmssp 1.2.0がOpenSSL 1.1.1と組み合わせて使用される場合、NTLM Type 3(認証)メッセージ生成時に失敗する問題を修正します。マネージドNTLM実装を有効化する条件にRHEL 8(OpenSSL 3未満)を追加し、テスト失敗を解決します。
@dotnet-bot ・ GitHub ・ area-Infrastructure-libraries
OneLocBuildタスクによって自動生成されたローカライズファイル(xlf形式)のチェックインです。System.Runtime.InteropServices生成ツールの多言語リソース文字列が更新されました。翻訳に問題がある場合は、localization pipelineに報告してください。
@alinpahontu2912 ・ GitHub ・ area-System.Formats.Tar
System.Formats.Tarライブラリの同期・非同期実装の重複を排除するため、Adapterパターンを導入してリファクタリングしました。静的抽象インターフェースIReadWriteAdapterとSyncReadWriteAdapter/AsyncReadWriteAdapter実装を使用して、同期・非同期APIを共有の汎用*CoreAsync<TAdapter>メソッドに統一します。
@BoyBaykiller ・ GitHub ・ area-CodeGen-coreclr
JIT の tail-merge 処理における crossJumpVictim 選択ロジックを改善しました。従来は候補の処理順序に依存していたため、ランダムな差分が発生していました。早期終了を削除し、ブロック番号に基づく tie-break ロジックを追加することで、選択を順序に依存しない堅牢な実装に変更しました。
@Copilot ・ GitHub ・ area-Extensions-DependencyInjection
CallSiteFactory.CreateConstructorCallSite の構築者選択ロジックを再設計し、複数のコンストラクタが存在する場合の動作を決定論的にしました。従来の不安定な Array.Sort に依存する実装を、安定なアリティ降順(arity-desc)での選択に置き換え、キーサービスと既定値パラメータを考慮したパラメータ認識の曖昧性検出を実装しています。
@Copilot ・ GitHub ・ area-System.Net
FtpWebRequestとFtpControlStreamの入力検証を強化し、CR/LFとそのURL符号化形式(%0D/%0A)をより早期かつ一貫して検出・拒否します。従来は\r\nの組み合わせのみを検出していましたが、単独の\rや\n、またはURL符号化された形式が検出漏れしていました。
// URIの検証(リテラルとURL符号化の両方をチェック)
if (uri.OriginalString.AsSpan().ContainsAny('\r', '\n') ||
uri.OriginalString.Contains("%0A", StringComparison.OrdinalIgnoreCase) ||
uri.OriginalString.Contains("%0D", StringComparison.OrdinalIgnoreCase))
throw new FormatException(SR.net_ftp_no_newlines);
// FormatFtpCommandの検証(リテラルCR/LFのみチェック)
if (parameter is not null && parameter.AsSpan().ContainsAny('\r', '\n'))
throw new FormatException(SR.net_ftp_no_newlines);
続きを読む
@hez2010 ・ GitHub ・ area-CodeGen-coreclr community-contribution
仮想メソッドのデバイルチュアライゼーション機能を拡張し、インスタンス化スタブを必要とするジェネリック仮想メソッド(GVM)とジェネリックインターフェースのデフォルト実装メソッド(DIM)をサポートしました。JITの事前リファクタリングにより、ランタイムで必要な実装パラメータを自動的に計算・渡すことで、これまで失敗していたデバイルチュアライゼーションが可能になります。
@Copilot ・ GitHub ・ area-System.Text.Json
JsonStringEnumConverterの検証ロジックを緩和し、非Flags enumでは[JsonStringEnumMemberName("")]による空文字列識別子の使用を許可します。Flags enumでは引き続き空文字列を拒否します(カンマ区切り解析の曖昧性を回避)。これにより、XSD派生enumで空文字列をJSON表現とする要件に対応できます。
public enum YesOrNoOrEmpty
{
[JsonStringEnumMemberName("y")] Yes,
[JsonStringEnumMemberName("n")] No,
[JsonStringEnumMemberName("")] Empty // 以前はInvalidOperationException
}
続きを読む
@a74nh ・ GitHub ・ area-System.Runtime.Intrinsics linkable-framework community-contribution
ARM64プロセッサのSHA3およびSVE SHA3命令セット用のハードウェアイントリンシックスAPIを追加します。JIT認識・コード生成パスおよび関連テストを実装し、#98692と#94425を解決します。
新しいAPI使用例:
// SHA3命令の直接使用(ARM64でサポート)
if (Sha3.IsSupported)
{
// BCAX, EOR3, RAX1, XARなどの命令を利用可能
}
// SVE SHA3命令の直接使用
if (SveSha3.IsSupported)
{
// RAX1などのベクトル化SHA3命令を利用可能
}
続きを読む
@radekdoulik ・ GitHub ・ arch-wasm area-VM-coreclr
WebAssemblyインタープリタで、MethodImpl .overrideディレクティブによる仮想メソッドのvtableスロット再マップ時に発生するクラッシュを修正します。オーバーライドメソッドのPortableEntryPointが元のメソッドのvtableスロットに配置される場合、インタープリタコードの設定とメソッド準備が失敗していました。修正では、メソッドが実際に所有するスロットのコードを参照するよう、.overrideリダイレクトを解決します。
続きを読む
2026年06月28日 (10 PRs) うち Bot 1 件 この日のページ →
@max-charlamb ・ GitHub ・ area-NativeAOT-coreclr
NativeAOT の ELF オブジェクトライター内で、シンボルテーブル生成時のシンボル型分類ロジックを修正しました。従来はシンボルサイズのみで型を決定していたため、非実行可能セクション内のデータシンボルが誤った型(STT_NOTYPE または STT_FUNC)として出力されていました。本変更はセクションフラグに基づいて正しい型を割り当て、デバッガ(lldb/gdb/nm など)での正確なシンボル認識を実現します。
続きを読む
@AndyAyersMS ・ GitHub ・ area-VM-coreclr
WebAssemblyでのReadyToRun(R2R)コード実行時に、ジェネリック辞書ルックアップのデバッグアサーション(_DEBUGオンリー)が誤発火する問題を修正しました。WebAssemblyではR2Rコードが関数テーブル、データがリニアメモリに配置されるため、コード範囲ルックアップが正しいモジュールを解決できず、複数のR2Rイメージロード時にIsNativeImageSharedByアサーションが不適切に発火していました。修正後は、WebAssemblyで署名アドレスが現在のモジュールのR2Rイメージ境界内に存在することを検証するようになります。
続きを読む
@am11 ・ GitHub ・ area-Infrastructure-libraries community-contribution
portable builds(ポータブルビルド)において、runtime.jsonレガシーグラフに存在しないRID(例:openbsd-x64)に対する build-time RID フォールバックをスキップするための修正です。これにより、self-referencing RID による不正な動作を防止しています。portable buildではTargetRID == PortableTargetRIDであり、distro固有の情報を含まないため、フォールバック処理は不要となります。
続きを読む
@prozolic ・ GitHub ・ area-System.Collections
System.Collections.Immutableライブラリで、インラインthrow new InvalidOperationException文をThrowHelper.ThrowInvalidOperationException呼び出しに置き換える内部リファクタリング。FrozenSet/FrozenDictionaryで確立されているパターンに統一することで、例外処理の一貫性と保守性を向上させます。
続きを読む
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
macOS トライアージ ミニダンプでの cDAC の R2R スタックウォークが SoftwareExceptionFrame の一フレーム先で中止する問題を修正します。根本原因は、レガシー DAC のハッシュマップ プローブをスキップする奇数エントリポイント最適化にあり、プローブが参照するバケットページがトライアージダンプに列挙されず、cDAC コンシューマーがダンプに存在しないページを読み取ろうとして失敗します。
続きを読む
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラのInlineCandidateInfo構造体から未使用フィールドexactContextNeedsRuntimeLookupを削除するリファクタリングです。最近の変更により不要になったこのフィールドを削除し、コードベースをクリーンアップします。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr runtime-async
ValueTask返却型の非同期メソッドに対して、ExecutionContextの保存/復元が正しく行われていない問題を修正しました。VM内の非同期フラグチェック処理に誤りがあり、ValueTask変数がこのチェックで適切に扱われていませんでした。合わせてJIT内で最適化されたawaitをデバッグ時に選択的に制御する仕組みも追加されています。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
JITのモーフィング段階で、符号付き整数除算(GT_DIV)のConstant-CSE最適化を制御する処理を追加しました。magic-divide展開が後の段階で定数除数を認識できるよう、eligible な定数除数に DONT_CSE フラグを確実に設定します。符号なし除算(GT_UDIV/GT_UMOD)は既に対応済みでしたが、符号付き除算が漏れていました。
@VSadov ・ GitHub ・ area-System.Threading
シンロック(オブジェクトヘッダ)の取得/解放処理をCoreClrでネイティブコードからマネージドコードに移行し、CoreClrとNativeAOT間の実装の共有を拡大させました。また、シンロックが他のスレッドに所有されている場合にTryAcquireが過度にスピンする問題を修正しました。パフォーマンスはプラットフォームとロック方式に応じて最大+30%の改善を実現しており、一部で軽微な-3%程度の回帰が見られますが、これはハードウェア差による「アーキテクチャノイズ」と評価されています。
続きを読む
2026年06月27日 (14 PRs) この日のページ →
@akoeplinger ・ GitHub ・ Servicing-approved area-Build-mono
.NET 11.0p6ブランチにおいて、WebAssemblyツールチェーンを大幅にアップグレードします。Emscripten 3.1.56/LLVM 19 から Emscripten 5.0.6/LLVM 23 への移行に伴い、WASM例外処理(exnref)、pthreadワーカーのブートストラップ、ローダー機能検出、ランタイム互換性を更新します。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
WASM EH(Exception Handling)フレームスロットの固定位置をフレームアライメント後も保持するための修正です。#129815で追加されたアライメントパディングによってWASM EH関連スロットがフレーム底部から移動し、EHディスパッチが破損していた問題を解決します。
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
cDAC(Compact Data Access Contract)のStackWalk実装に関する2つのバグを修正しました。
FuncEvalFrameのリターンアドレス取得バグ : FuncEvalFrame::m_ReturnAddressフィールドを直接読み取るよう修正
フレーム状態遷移バグ : Frame状態でアンマネージドコンテキストの場合の状態遷移ロジックを修正し、不正なFrame → NativeMarker遷移を防止
内部診断テストで検出されました。
続きを読む
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
JITの冗長分岐最適化(Redundant Branch Opts)における値番号の陳腐化バグを修正。optRedundantDominatingBranchがドミネータツリーを走査する際に、中間の関係演算子を書き直した後も古い値番号でキャッシュされた値を使用していたため、不正な分岐の除去が発生していました。StreamReader.ValidateArgsAndOpenPathの条件ロジックが誤って最適化される具体例が報告されています。
続きを読む
@vcsjones ・ GitHub ・ area-System.Security tenet-performance
Apple プラットフォーム上での AES-KWP (AES Key Wrap with Padding) パフォーマンスを大幅に改善します。従来は ECB 暗号化/復号化の呼び出し毎にハンドル設定・破棄を繰り返していたのに対し、単一の lite cipher インスタンスを再利用することで 5〜10 倍のパフォーマンス向上と大幅なメモリ割り当ての削減を実現します。
@am11 ・ GitHub ・ community-contribution area-NativeAOT-coreclr os-openbsd
OpenBSD上でNativeAOT生成バイナリがスタートアップ時に即座に終了する問題を修正しました。OpenBSDのexecute-only機能が有効な場合、バイナリヘッダーの実行フラグが競合を引き起こしていたため、リンカオプション--no-execute-onlyを追加して無効化しています。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
WebAssemblyにおいて、仮想関数呼び出しがLDVIRTFTN経由でルーティングされる際に、ジェネリック型コンテキスト引数(CORINFO_CALLCONV_PARAMTYPE)が欠落していた問題を修正します。特に多次元配列のAddressアクセッサなど、型情報を必要とするメソッドへの呼び出しでシグネチャ不一致によるランタイムトラップが発生していました。修正では、隠し引数の計算を共有ヘルパーimpGetInstParamArに抽出し、Wasm LDVIRTFTN経路でも使用するようにしました。
続きを読む
@AaronRobinsonMSFT ・ GitHub ・ Servicing-approved area-Interop-coreclr
.NET 9での回帰により、MetadataImport.GetMarshalAsがメタデータブロブの長さ付きの文字列をヌル終端として誤読し、ガベージメモリを読み込んでいた問題を修正します。tlbimp生成のCOM相互運用アセンブリ(例:Interop.MFilesAPI)で、ParameterInfoのCustomAttributes取得時にTypeLoadExceptionが発生していました。
修正内容:
GetMarshalAsをFCALLからQCallに変換し、返されたポインタに明示的なUTF-8バイト長を追加
マネージド側で有界スパンデコーディングを使用し、ヌル終端読み込みを回避
メタデータブロブの後続バイトを不正に拒否していたネイティブアサートを緩和
続きを読む
@jakobbotsch ・ GitHub ・ area-ReadyToRun runtime-async
ReadyToRun IL body stripping処理を改善し、--strip-il-bodiesが有効な場合でも、ランタイムでのコンパイルに必要となる可能性があるメソッドの実IL を保持するようにしました。特に非async Task/ValueTask返却メソッドは、async版がランタイムで生成される際にそのILが必要になるため、最小限のthrowingスタブへの置き換えを回避します。
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
cdac(Contracts as Data Contract)フレームワークにデフォルト(空文字列バージョン)のコントラクト登録ロジック を導入します。対象がコントラクトのバージョンを広告しない場合のフォールバック機構 を確立します。
Register("", creator) で空文字列バージョンの実装を登録
対象がバージョンを広告しない場合、空文字列登録にフォールバック
対象がバージョンを広告する場合は完全一致が必須(フォールバックなし)→ バージョンスキュー検出を保持
続きを読む
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
cDACのArgIteratorポートを拡張し、ランタイムのComputeCallRefMapと完全に一致するGCRefMapブロブを生成できるようにしました。Windows x64/x86で0失敗を達成し、ARGITER検証パスをHelixに統合してCI上で回帰を検出します。
@MichalPetryka ・ GitHub ・ area-VM-coreclr community-contribution
デリゲート実装の死亡コード(使用されていないコード)を削除し、実装を簡潔にするクリーンアップです。#99200から分割されたPRで、CoreCLR、Mono、診断ツール(DAC)にまたがるデリゲート関連の不要なコードを整理します。
@Copilot ・ GitHub ・ area-System.Runtime
System.Text.Rune に IParsable<Rune> と ISpanParsable<Rune> インターフェースを明示的に実装し、ジェネリック解析サポートを拡張するPRです。既存の IUtf8SpanParsable<Rune> パターンに合わせて実装されています。
@jamesburton ・ GitHub ・ area-CodeGen-coreclr community-contribution
AVX-512 VNNI (AVX512-VNNI) ハードウェア intrinsics のサポートを追加します。新しい AvxVnni.V512 nested クラスを導入し、512ビット ベクトルに対する VPDPBUSD/VPDPWSSD/VPDPBUSDS 命令を公開します。CPUID AVX512-VNNI 検出をランタイム/JIT の AVXVNNI_V512 命令セット フラグに統合し、コード生成と LSRA 処理を拡張します。
続きを読む
2026年06月26日 (26 PRs) うち Bot 2 件 この日のページ →
@Copilot ・ GitHub ・ area-System.Net.Http
System.Net.Httpの診断テストにおいて、SendAsync_Success_ConnectionSetupActivityGraphRecordedテストが間欠的に失敗する問題に対応しました。ループバックサーバーの競合状態によりUnexpected EOF trying to read request headerエラーが発生するため(HTTP/2バリアント、Windows x86 Release環境で観測)、ActiveIssue属性でテストをスキップします。
続きを読む
@Copilot ・ GitHub ・ area-VM-coreclr
PAL時代の遺物となった oleauto.h シムヘッダーと、それを参照していた不要なCoreClRインクルードを削除するクリーンアップです。src/coreclr/pal/inc/rt/oleauto.h は現在のCoreClRビルドでは不要となっているため、関連するインクルード文と共に削除されました。
@sbomer ・ GitHub ・ linkable-framework area-Tools-ILLink
ILLink の MessageOrigin.ToString() が、最初のPDBシーケンスポイントより前のILオフセットに対応できていない問題を修正します。書き直された/生成されたILでは、警告の生成元が最初のシーケンスポイントより前に配置されることがあり、キャッシュされた警告をフラッシュする際に Last() が例外をスローしていました。本修正により、利用可能な最初のシーケンスポイントにフォールバックすることで、この形状に対応します。
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
Loop Inversion 最適化における「既に bottom-tested ループ」の判定を改善します。#128459 で導入された bail-out が、ループの実際の継続判定でない無関係な早期終了条件に誤反応していました。AnalyzeIteration で認識された IV テスト (Induction Variable Test) とラッチのテストブロックが一致する場合のみ bail-out を実行するように制限し、Dictionary<TKey,TValue>.Enumerator.MoveNext などで誤った loop inversion スキップを回避します。
続きを読む
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
runtime-diagnosticsパイプラインのSOS テストレグを、useCdac/noFallbackブール値から単一のdacModeパラメータに統一し、4つ目のテストレグを追加します。ビルドされたcDAC(mscordaccore_universal)を別のアーティファクトとして公開し、cdacレグで利用可能にします。
新しいSOS テストレグ構成(windows_x64 Release, testInterpreter):
cDAC (dacMode cdac) -- スタンドアロンcDAC経由でSOS実行
cDAC_fallback (dacMode cdacfallback) -- インボックスDAC がcDAC をホスト、フォールバック有効
cDAC_verify (dacMode cdacverify) -- インボックスDAC がcDAC をホスト、フォールバック無効
DAC (dacMode dac) -- レガシーDAC のみ
続きを読む
@pavelsavara ・ GitHub ・ arch-wasm area-Build-mono os-browser
WebAssemblyブラウザランタイムの例外処理を、レガシーエンコーディングから標準化されたexnrefベースの例外処理提案(try_table / throw_ref)へ移行します。Emscripten/emsdk、jiterpreterコード生成、機能検出、CI/テストランナーのフラグを統一的に更新し、WebAssemblyの標準EH提案に準拠させます。V8エンジンが--experimental-wasm-exnrefに未対応のため、V8テスト実行は一時的に無効化されます(#129849で追跡)。
続きを読む
@pavelsavara ・ GitHub ・ arch-wasm area-Tracing-mono os-browser
WebAssembler環境でのEventPipe CPU sampling profilerの停止問題を修正します。ブラウザのタイマー解像度が粗い場合、ms_since_last_sampleが0になり、ゼロ除算によってskips_per_periodがINT_MAXに固定されてサンプリングが永続的に停止する不具合を解決します。
@davidwrighton ・ GitHub ・ arch-wasm area-VM-coreclr
WebAssembly ReadyToRun (R2R) パイプラインにジェネリック辞書ルックアップのサポートを追加し、他のプラットフォームで使用されている DynamicHelper パターンを Wasm に適用します。Wasm .S アセンブリファイルのサポートを追加し、Crossgen2 がジェネリックルックアップの遅延ロードヘルパーロジックを生成するよう調整します。また、複数のランタイムヘルパーに対する事前計算されたサンクと、欠落ケースを検出するアサーションが追加されています。
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
ARM64のベクトル比較命令の最適化。CompareLessThan/CompareLessThanOrEqualでゼロベクトルとの比較時に、ゼロベクトルの物理化とオペランド交換を避け、直接「ゼロとの比較」命令形式(cmlt、cmle、fcmlt、fcmle)を発行するようにしました。これにより、命令数削減と性能向上を実現します。
// Before
movi v16.4s, #0
cmgt v0.4s, v16.4s, v0.4s
// After
cmlt v0.4s, v0.4s, #0
続きを読む
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
Task/ValueTask ファクトリメソッドをJITで認識する組み込み関数化により、async呼び出し規約での最適化を強化します。Task.FromResult、Task.CompletedTask、ValueTask.FromResult、ValueTask.CompletedTask、およびValueTask<T>コンストラクタを[Intrinsic]でマークし、JITがこれらのメソッドを直接展開することで、不要なAsyncHelpers.TransparentAwaitWithResult呼び出しを削除します。
// 最適化前:複数の呼び出しと割り当てが発生
private static Task<string> TaskCallee1() => Task.FromResult("abc");
// 最適化後:直接値を返すように展開される
private static Task<string> TaskCallee1()
{
// JITが"abc"を直接ロードして返すように変換
}
続きを読む
@AndyAyersMS ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssembly JIT コードジェネレーションの2つの正確性バグを修正します。
BBJ_CALLFINALLY非フォールスルー後退枝の問題 : finally ブロックが back-edge 経由で到達する場合(例:try/finally外のループヘッダーへの catch leave)、分岐が発行されず制御がループを抜けて finally が2度実行される問題を修正。
Null チェックフォーリングロードの問題 : WebAssembly ではヌルアドレスからのロードがフォルトしないため、配列要素アクセスがヌルポインタを正しく検出できず、NullReferenceException の代わりに IndexOutOfRangeException が発生する問題を修正。
続きを読む
@BrzVlad ・ GitHub ・ area-CodeGen-Interpreter-coreclr
インタープリタフレーム(InterpMethodContextFrame)の初期化時に、コンパイラの最適化による命令の並び替えで無効なIP(Instruction Pointer)がスタックオーバーフロー時にスタックウォーカーに観測される問題を修正しました。コンパイラバリアを使用してIP初期化の順序を明確に保証し、フレームをリストに公開する前に確実にIPをゼロ化しています。
@Copilot ・ GitHub ・ area-CodeGen-coreclr
Unsafe.As<string>(object) の不正なキャスト経路をテストする UnsafeTests.DangerousAs テストメソッドを削除しました。このテストは未定義動作に依存していたため、jitstress ARM実行環境で不安定な失敗を引き起こしていました。正当な使用シナリオ(オブジェクトに格納されたstringをstringにキャストする)をカバーする既存の As() テストは保持されます。
続きを読む
@NicoAvanzDev ・ GitHub ・ area-System.Net.Http community-contribution
HttpMethod.Query静的メソッドをテストデータに追加し、ハッシュコード理論テストのカバレッジを改善するテスト更新です。共有される静的HttpMethodテストデータにHttpMethod.Queryシングルトンを含めることで、組み込みHttpMethodインスタンスのカバレッジ一貫性を確保します。
@tarekgh ・ GitHub ・ area-Extensions-Configuration
Configuration Binderにおいて、コンストラクタパラメータ名とプロパティ名がケースのみで異なる場合(例:パラメータ instances とプロパティ Instances)、コレクションアイテムが重複される不具合を修正しました。根本原因は、フェーズ2でプロパティがコンストラクタパラメータでカバーされているかの判定時に大文字小文字を区別していたためです。修正により、バインダーの他の部分と同様に大文字小文字を区別しない比較(StringComparison.OrdinalIgnoreCase)に統一しました。
続きを読む
@pavelsavara ・ GitHub ・ arch-x64 area-Codegen-LLVM-mono
Mono LLVM full-AOT on x64において、ネストされたフィールドが8バイト境界をまたぐ小さい値型(≤16バイト)の呼び出し規約が不一致だった問題を修正。部分共有ジェネリック(gshared)コードが具体的メソッドを呼び出す際、opaque型として見える値型がスタックで渡されるのに対し、具体化されたメソッドではレジスタで受け取る、という不一致が発生していた。最新LLVMがbyval構造体をスタックに配置するため、値が破損していた。修正により、≤16バイト値型は常にレジスタで渡され、JITとLLVMバックエンド間の呼び出し規約が一致するようになった。
// 修正前:Nullable<GenQ<int>>のboxing/unboxing時に値が破損
using System;
public struct GenQ<T> where T : struct { public T? Field; }
public static class Repro {
static bool Gen<T>(T? o) where T : struct {
var v = (GenQ<int>)(ValueType)(object)o; // box T?, then unbox
return !v.Field.HasValue; // Mono LLVM full-AOT x64では不正な値を返す
}
static int Main() => Gen<GenQ<int>>(default(GenQ<int>)) ? 100 : 666;
}
続きを読む
@pavelsavara ・ GitHub ・ area-Codegen-AOT-mono
Mono full-AOT環境下で、マネージドAssemblyLoadContextのresolve hookが呼び出された際に発生する無限再入による無制限再帰(スタックオーバーフロー)を修正します。
根本原因は、resolve hook内でAssemblyNameパースが行われ、その際に汎用メソッド(MemoryExtensions.Split<T>)をJIT-コンパイルする必要が生じ、これが同じアセンブリの解決をトリガーして同じhookが再度呼び出されるという無限ループです。JIT/インタプリタでは汎用メソッドが既にキャッシュされているため、この問題は発生しません。
続きを読む
@mmitche ・ GitHub ・ area-Infrastructure-libraries
スケジュール実行時のHelix作業項目の失敗を警告として表示し、ビルド失敗と扱わない変更です。PR #129049で失敗したHelix作業項目が完全に非表示になっていた問題を改善し、タイムラインに失敗が可視化されるようにします。
@EgorBo ・ GitHub ・ area-System.Reflection.Metadata reduce-unsafe
System.Reflection.Metadata内のPEおよびBlobライターからunsafeコードを削除し、安全性と保守性を向上させます。具体的には、BinaryPrimitivesを使用したリトルエンディアン読み書きとイテレータ割り当て削減により、ポインタベースのコードを置き換えています。機能的な動作変更はありません。
@PranavSenthilnathan ・ GitHub ・ area-System.Security
Windows Insider Buildsで利用可能なBCrypt経由のComposite ML-DSA対応を実装しました。Windows上のデフォルト実装をマネージドからBCryptに変更し、PQDSA BlobメカニズムによるComposite ML-DSAのキー生成・インポート・エクスポート・署名・検証機能を追加しています。Composite ML-DSA非対応のWindowsバージョンでもマネージド実装でサポートされなくなります。
続きを読む
@EgorBo ・ GitHub ・ tenet-performance area-CodeGen-coreclr
Arm64 R2R(Read-to-Run)コード生成において、再配置可能間接アクセスのための adrp + add + ldr 命令シーケンスを adrp + ldr[#:lo12:] に最適化します。新しい ARM64_PAGEOFFSET_12L 再配置タイプを導入し、ページオフセットを ldr 命令に直接折り込むことで、1アクセスあたり1命令削減を実現。libraries.crossgen SPMI測定で -2.1 MB、System.Private.CoreLib.dll (R2R) では -192 KB の削減を達成しました。
続きを読む
@elinor-fung ・ GitHub ・ area-System.Runtime.InteropServices
Windows システム DLL の P/Invoke に対して [DefaultDllImportSearchPaths(DllImportSearchPath.System32)] 属性を追加し、DLL 検索パスを System32 に制限します。これにより、advapi32、kernel32、ntdll、ole32、user32 など OS ライブラリの P/Invoke の安全性と正確性を向上させます。セキュリティ向上と意図しないアセンブリ検索の防止を目的としています。
続きを読む
@elinor-fung ・ GitHub ・ area-HostModel
rootless podmanなどのchmod非対応ファイルシステムでdotnet buildと単一ファイル発行が失敗する問題を修正します。ファイル作成時に実行可能権限を設定し、事後的なchmodを回避することで、EPERM エラーを防ぎます。HostWriter(apphost)とBundler(単一ファイルバンドル)の両方が同じ問題の影響を受けており、共通ヘルパーで統一的に対応します。
@Copilot ・ GitHub ・ area-Extensions-Logging
コンソールロギングで信頼できないコントロール文字が出力されるセキュリティ脆弱性を修正するPRです。SimpleConsoleFormatterとSystemdConsoleFormatterで Unicode Cc(制御文字)/Cf(形式文字)を \uXXXX 形式にエスケープして出力することで、ターミナルエスケープシーケンスの実行やあいまいな出力を防止します。
2026年06月25日 (31 PRs) この日のページ →
@pavelsavara ・ GitHub ・ area-VM-meta-mono
Monoランタイムのlock_free_mempool_chunk_new関数におけるメモリアロケーション不足バグを修正しました。チャンク内のメモリポインタを16バイト境界にアライン調整する際、サイジングループが実際の利用可能サイズより8バイト少なく計算していたため、特定のページ境界サイズ(例:4KBページで4072バイト)でアサーションエラーが発生し、ランタイムがSIGABRTで中止していました。
修正内容:
// 変更前
while (size - sizeof (LockFreeMempoolChunk) < GINT_TO_UINT(len))
// 変更後
while (size - ALIGN_TO (sizeof (LockFreeMempoolChunk), 16) < GINT_TO_UINT(len))
続きを読む
@PranavSenthilnathan ・ GitHub ・ area-System.Security
ML-DSAキーのシード値を持つ場合、BCryptからシードblobとしてエクスポートされるが、NCryptへのインポート時に誤ってプライベートキーblobフォーマットで指定していた問題を修正。最近のWindowsインサイダービルドでテストが失敗していたため、エクスポートとインポートのblobタイプを一致させるように修正。
@lewing ・ GitHub ・ area-System.Numerics
WebAssembly(Wasm)上でPackedSimdをサポートすることにより、既存のVector128ベースの高速パスをブラウザ環境で有効化します。16進数/Guid形式化、UTF-8検証・変換、Teddy文字列検索、Adler32/XXH3ハッシング計算などの複数のSIMD最適化パスをWasm環境で利用可能にしました。PackedSimd.IsSupportedチェックを既存のSse2/AdvSimdチェックと並列して追加し、Mono AOT互換性の問題(コンパイル時定数が必要なPackedSimd.Shuffle)を回避するためPackedSimd.SwizzleとORの組み合わせで実装しています。
続きを読む
@AndyAyersMS ・ GitHub ・ area-ReadyToRun-coreclr
ReadyToRun ログで、ファイルパスが空の場合(WASM環境のメモリ上/Webcilアセンブリなど)にアセンブリ名が記録されていない問題を修正しました。PEAssembly::GetPath()が空の場合はPEAssembly::GetSimpleName()にフォールバックしてモジュール識別情報をログに含めるようにします。
@elinor-fung ・ GitHub ・ area-Interop-mono
MonoのDllImportResolverが正しいsearchPath値を受け取るよう修正します。ユーザーがDefaultDllImportSearchPaths属性を指定していない場合、Monoの内部デフォルト(AssemblyDirectory)ではなくnullが渡されるようになります。これにより、Monoの動作がCoreCLR/NativeAOTおよびDllImportResolverの公開契約に準拠します。
続きを読む
@jtschuster ・ GitHub ・ area-ReadyToRun
crossgen2 R2R コンパイルで、複数の inexact compilation units(バージョン番号は固定されるが composite image への組み込み方が実行時に決まるアセンブリ)にまたがる参照型のフィールドレイアウトがコンパイル時と実行時で異なることによる Verify_FieldOffset failfast を修正します。EncodeFieldBaseOffset でこのケースを検出し、baked offset の代わりに間接的な実行時解決フィールドオフセット (ENCODE_FIELD_OFFSET) にルーティングします。
続きを読む
@jtschuster ・ GitHub ・ area-ReadyToRun
ReadyToRun(R2R)イメージにおいて、アンボックス化スタブのメソッド参照が不正なコンパクトトークン形式にエンコードされ、GCリファレンスマップの不整合を引き起こしていた問題を修正しました。特にLarge Version Bubbleでコンパイルされたイメージにおいて、box int; tail.callvirt System.Object::ToString()のようなコードがチェックビルドでアサート失敗していました。
続きを読む
@richlander ・ GitHub ・ area-Infrastructure
AlpineベースのインフラストラクチャイメージをAlpine 3.23からAlpine 3.24へアップグレードするビルド・テストパイプラインの更新です。ビルドコンテナ、Helix(テスト基盤)のx64/arm32/arm64アーキテクチャ向けイメージ参照が一括更新されます。
@max-charlamb ・ GitHub ・ area-NativeAOT-coreclr
NativeAOT の Linux/ELF バイナリで、DotNetRuntimeContractDescriptor シンボルが linker の --gc-sections により削除されていた問題を修正します。このシンボルは cDAC(Compact Debugger Access Component)のコントラクトディスクリプタ検出に必要です。Windows では .def EXPORTS により適切にルート化されていましたが、Linux/ELF では version script のみでは不十分でした。
修正により、ELF プラットフォームで -Wl,-u,DotNetRuntimeContractDescriptor を linker オプションに追加し、シンボルを GC ルートとして強制的に保持します。
続きを読む
@AndyAyersMS ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssembly上で、16バイトのSIMD型(Vector128/Vector<T>)を値で渡す呼び出しにおいて、署名ではv128が要求されるのに対し、コード生成はi32(参照へのポインタ)を生成するため、WebAssemblyモジュール検証が失敗する問題を修正しました。該当メソッドをR2R非対応としてマークすることで、インタプリタにフォールバックさせ、モジュール検証の失敗を防ぎます。これによりSystem.Private.CoreLib.wasmの無効関数が59個から0個に削減されます。
続きを読む
@AndyAyersMS ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssembly R2R (ReadyToRun) 構成において、64ビットJSInterop値(long/BigInt、double、DateTime、Int52)がマネージド↔JS境界で破損する問題を修正します。根本原因は8バイトスタック局所変数が4バイトアライメントのままで、フレームサイズのアライメント漂流により、JSのHEAP64/HEAPF64型付き配列ビューが要求する8バイトアライメント要件を満たしていなかったことです。
続きを読む
@Copilot ・ GitHub ・ area-Infrastructure-coreclr
Azure DevOps パイプラインテンプレート global-build-job.yml の windows-arm64 タイムアウト判定ロジックを修正しました。timeoutInMinutes パラメータが文字列型として宣言されているため、gt(parameters.timeoutInMinutes, 75) は字句順比較(lexicographic compare)を行い、'360' < '75' という結果になってしまっていました。これにより、75分以上の明示的なタイムアウト値が正しく反映されず、ビルドが予期せずタイムアウトしていました。比較演算子の被演算数を入れ替えることで、数値比較に修正しました。
続きを読む
@ViveliDuCh ・ GitHub ・ Servicing-approved area-System.Memory
.NET 11.0-preview6向けのバックポート。メモリおよびテキストベースの型に対する4つの新しい公開Stream Wrapperの統合を完了するPR。
StringStream、ReadOnlyMemoryStream、WritableMemoryStream、ReadOnlySequenceStreamを新規追加し、#82801 に対応します。
@MihaZupan ・ GitHub ・ area-System.Memory
SearchValues.Createの範囲検出処理で手動のmin/maxループをReadOnlySpan<T>.Min()/.Max()ヘルパーに置き換え、コードの簡潔化とパフォーマンス向上を目指すもの。IMinMaxValue<T>制約の削除により、より多くの型に対応可能になります。
@am11 ・ GitHub ・ area-Infrastructure community-contribution
ビルドスクリプトの --arch 引数の指定方法を統一・簡素化する変更です。従来の --$arch フォーマットに加えて、より直感的な --arch $arch フォーマットをサポートすることで、開発ワークフローの柔軟性を向上させます。既存のワークフローを破壊しないよう、両方のフォーマットをサポートしています。
@saitama951 ・ GitHub ・ area-PAL-coreclr community-contribution
S390Xアーキテクチャ上のUTF-8からUTF-16への変換テストケースの失敗を修正します。前のPull Request(#128577)で導入された修正により、一部のテストケースが失敗するようになったため、その対応を行っています。
@MihaZupan ・ GitHub ・ area-System.Text.Json tenet-performance
System.Text.Jsonのデフォルトエンコーディング時における文字エスケープ処理の最適化。カスタムJavaScriptEncoderが指定されていない場合、SearchValues<T>とIndexOfAnyExceptを使用して、エスケープが必要な文字の検索において間接参照を削減し、パフォーマンスを向上させます。
@AaronRobinsonMSFT ・ GitHub ・ test-enhancement area-Infrastructure
.NET 11の新しいProcess.RunAndCaptureText APIをsrc/tests内の子プロセス実行パターン(stdin不要、ライブプロセス制御不要)に統一する。従来のProcess.Start + 非同期ストリーム読み込み / イベントハンドラーのパターンを置き換え、コード簡潔化と保守性向上を実現。
@Copilot ・ GitHub ・ area-System.IO.Compression
System.IO.Compression.Zstandard に新しい ZstandardDecompressionOptions クラスと対応するコンストラクタを追加し、デコーダーとストリームの設定をオプションオブジェクト経由で実施できるようにしました。これにより、ASP.NET Core ミドルウェアなどの呼び出し元がデコーダーのライフタイムをストリームに紐付けて管理できます。
// 新しいオプションベースのストリーム作成方法
var decompressStream = new ZstandardStream(stream, new ZstandardDecompressionOptions
{
Dictionary = dictionary,
MaxWindowLog = 24,
}, leaveOpen: true);
続きを読む
@rcj1 ・ GitHub ・ area-skills
コードレビュースキルのワークフロードキュメントを更新し、分析開始前に.github/instructionsからリポジトリ固有の指示を明示的に読み込むステップを追加しました。これにより、Copilotのコードレビューボットがカスタム指示を確実に取得できるようになります。
@jakobbotsch ・ GitHub ・ area-ReadyToRun runtime-async
crossgen2のJITインターフェースにおいて、COM interop関連のメソッドに対して非同期変種(async variant)の呼び出しが生成されるのを防ぐためのチェックを追加しました。VM側で実装されていたチェックをcrossgen2側にも適用し、呼び出し可能なランタイム非同期エントリポイントが存在しない場合に非同期変種の解決を避けるようにします。
@rcj1 ・ GitHub ・ area-Diagnostics-coreclr
DebuggerREGDISPLAY構造体とそれに関連する内部APIをDacDbi API表面から削除し、デバッガーの右側(debugger right-side)のレジスタ/スタックウォーク処理をDT_CONTEXTで直接操作するよう移行するリファクタリングです。これはより大規模なプラットフォーム固有レジスタリーダーの削除に向けた最初の段階です。
@BoyBaykiller ・ GitHub ・ area-CodeGen-coreclr Priority:1 community-contribution
Tier1-OSR(Tier-1 On-Stack Replacement)での「Inconsistent profile data」エラーを修正します。Head and tail mergeの処理中にプロファイルデータの矛盾が生じていた問題に対応し、JITコンパイラのプロファイルデータ整合性を改善します。
@svick ・ GitHub ・ area-Extensions-DependencyInjection
EmptyServiceProviderという新しい公開API(シングルトン)をMicrosoft.Extensions.DependencyInjection.Abstractionsに追加しました。これは何もアプリケーションサービスを含まないIServiceProvider実装で、開発者が独自の空プロバイダー実装を定義する必要がなくなります。new ServiceCollection().BuildServiceProvider()の動作をできるだけ正確に模倣しており、ドロップイン代替として利用可能です。
namespace Microsoft.Extensions.DependencyInjection;
public sealed class EmptyServiceProvider : IKeyedServiceProvider, IServiceProviderIsKeyedService
{
public static EmptyServiceProvider Instance { get; }
// IServiceProvider、IKeyedServiceProvider、IServiceProviderIsKeyedService を実装
}
続きを読む
@PranavSenthilnathan ・ GitHub ・ area-System.Security
SafeEcKeyHandleを削除し、EC_KEY操作をネイティブレイヤーで一元管理するリファクタリング。EC_KEY-backedのEVP_PKeyのパラメータエクスポートとECDsaOpenSsl/ECDiffieHellmanOpenSslのIntPtrコンストラクタで使用されていた最後の処理をネイティブコードに移行し、マネージド側のハンドル管理を簡素化します。
@PranavSenthilnathan ・ GitHub ・ area-System.Security
楕円曲線(ECDSA/ECDH)の暗号テストをSystem.Security.Cryptography.OpenSsl.TestsおよびSystem.Security.Cryptography.Cng.TestsからSystem.Security.Cryptography.Testsに統合し、プロバイダー抽象化を導入してテストの重複を排除します。xUnitの静的メンバー制約を回避するため、条件付き属性の代わりにSkipTestExceptionを使用したランタイムスキップに切り替えます。
続きを読む
@JulieLeeMSFT ・ GitHub ・ area-CodeGen-coreclr
JIT最適化リピート(JitOptRepeat/STRESS_OPT_REPEAT)時に、整数除算のGTF_DIV_MOD_NO_BY_ZEROフラグが流制御に依存した注釈として動作し、値番号処理やCSE/ループホイスティングが除算を支配的なチェック上に移動させて、誤ったDivideByZeroExceptionを発生させるミスコンパイルの修正。この除算をホイスティング不可にするためGTF_ORDER_SIDEEFFを追加し、流制御に依存した証明の場合のみピン留めする。
続きを読む
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
DacDbi参照ウォーク API(CreateRefWalk/DeleteRefWalk/WalkRefs)のcDAC管理実装を追加しました。ネイティブDacDbiインターフェース署名からwalkFQパラメーターを削除し、ダンプベースの検証テストを追加しています。#125728 を解決します。
@akoeplinger ・ GitHub ・ arch-wasm area-codeflow os-browser
Emscripten SDK を 3.1.56 から 5.0.6 へ、バンドル LLVM を 19 から 23 へアップグレードします。これに伴い、LLVM 23 への互換性対応、ネイティブビルドフラグの更新、WebAssembly スレッド処理の簡略化(独立した worker JS ファイルの廃止)、ファイルシステムのタイムスタンプ精度向上(ブラウザでのナノ秒対応)を実施します。
@BrzVlad ・ GitHub ・ area-crossgen2-coreclr
ReadyToRun (R2R) コンパイラにおいて、ジェネリック型上の非ジェネリック仮想メソッドの依存性検出を拡張しました。従来のGVM(Generic Virtual Method)メカニズムではジェネリックメソッドのみを処理していましたが、本PR により、ジェネリック型インスタンス上の非ジェネリック仮想メソッドスロットも適切にコンパイル対象として検出・解決されるようになります。
@EgorBo ・ GitHub ・ tenet-performance area-Infrastructure-coreclr
非Windows環境でのLibcoreClr.soに対するPGO(Profile Guided Optimization)インストルメンテーションを修正しました。従来は直接コンパイルされた2つのソースファイル(mscoree.cpp、exports.cpp)にのみPGOフラグが適用されていましたが、実際のランタイムコードが存在する静的ライブラリ(cee_wks、utilcode、coreclrpalなど)にはインストルメンテーションが不足していました。本修正により、ディレクトリスコープでPGOコンパイルフラグを適用し、coreclrツリー内のすべてのC/C++ソースに対してインストルメンテーションが行われるようになります。
続きを読む
2026年06月24日 (42 PRs) うち Bot 8 件 この日のページ →
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
NativeAOT ランタイムの cDAC (Compact Diagnostics and Analysis Contract) データディスクリプタに ManagedTypeSource コントラクトを登録します。これにより、診断ツールが NativeAOT 実行時にこのコントラクトをディスカバリーできるようになります。
@MihaZupan ・ GitHub ・ area-System.Text.Json tenet-performance
System.Text.JsonのUTF-8文字列エスケープパスの最適化。JsonWriterHelper.EscapeNextBytesメソッドをリファクタリングして、JITコンパイラが境界チェック(bounds check)を排除できるように構造を改善し、生成コードのサイズ削減とパフォーマンス向上を実現します。
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
JITのバリューナンバリングにおいて、ValueNumStore::IsKnownNonNullがSIMD基底アドレス(SVE gather/scatterなどの暗黙的な間接参照で生成される)を処理する際のアサーション失敗を修正します。ポインタ型以外のバリューナンバー(VN)に対してはアサーションの代わりに保守的にfalseを返すように変更し、チェックビルドでのアサーション例外を回避しながら既存の動作を保持します。
続きを読む
@hoyosjs ・ GitHub ・ area-Diagnostics-coreclr
Microsoft.DotNet.Cdac.Transport パッケージに含まれる mscordaccore_universal(cdac AOT)バイナリについて、Linux/macOS で未ストリップ状態で配布され、デバッグシンボルがシンボルパッケージに含まれていなかった問題を修正します。NativeAOT publish ディレクトリではなく CoreCLR artifacts ディレクトリ(ストリップ済みバイナリとシンボルファイルが配置されている)を参照し、既存のパッケージングインフラストラクチャによるシンボルファイルの自動検出と配布を可能にします。
続きを読む
@Copilot ・ GitHub ・ area-VM-coreclr
IMDInternalImport::GetUserString インターフェースから未使用の出力パラメータ fIs80Plus/pbIs80Plus を削除するクリーンアップです。すべてのコールサイトが NULL を渡すか値を無視していたため、インターフェース定義と実装(MDInternalRO、MDInternalRW)、および全コールサイトから削除しました。
@Copilot ・ GitHub ・ area-System.Security
AesGcmとAesCcmクラスに新しい公開プロパティKeySizeInBytesを追加し、インスタンス構築時に使用されたキーの長さをクエリできるようにします。このプロパティは128/192/256ビットのキーをサポートします。
@vcsjones ・ GitHub ・ area-System.Security breaking-change needs-breaking-change-doc-created
AsnEncodedData.RawDataプロパティのセッターを非推奨化(SYSLIB0065)し、暗号化APIにおけるデータ変更の不安全な方法を廃止します。リポジトリ内の呼び出し箇所を安全な構築方法(CopyFromなど)に更新しています。
@Copilot ・ GitHub ・ area-VM-coreclr
CoreCLRのジェネリック辞書/メソッド解決における稀なクラッシュを修正するため、辞書レイアウトポインタの公開と読み取りに対してVolatile意味論を適用しました。競合する複数スレッドによるレイアウトポインタのアクセスレースを排除し、Release/Acquire セマンティクスで一貫性を確保します。
// 公開時:VolatileStore を使用
VolatileStore(&pIMD->m_pDictLayout, pNewLayout);
// 読み取り時:VolatileLoad を使用
return HasOptionalFields() ? VolatileLoad(&GetOptionalFields()->m_pDictLayout) : NULL;
続きを読む
@eiriktsarpalis ・ GitHub ・ area-System.Text.Json
System.Text.Json のポリモーフィズムテストをテスト共有スイートに統合するテストのみのリファクタリングです。反射ベース(11ラッパー)とソースジェネレーション(4ラッパー)の両方で同じテストシナリオを実行できるよう、テストを tests/Common/ に移動し、SerializerWrapper パターン経由で実行されます。
@EgorBo ・ GitHub ・ area-System.Threading
CoreCLRのスレッドスタティクス TLSインデックス割り当てロジックにおける、8バイトのスレッドスタティク(long/double)がミスアライン(4バイト境界に配置)され、arm64プラットフォームでInterlocked.Increment実行時にSystem.DataMisalignedExceptionをスローする不具合を修正します。
根本原因はGetTLSIndexForThreadStatic内のアライメント選択ロジックで、bytesNeeded >= 8の判定後にelseキーワードが欠けており、その直後のbytesNeeded >= 4判定により8バイトアライメントが4バイトに上書きされていました。
続きを読む
@vitek-karas ・ GitHub ・ area-Codegen-AOT-mono
Mono AOT コンパイラにおいて、フィールド解決失敗時に発生する型ロードエラーを適切に処理するよう修正しました。メタデータエラー(MissingField/BadImage)を正しく消費し、ランタイム例外スロー IR へ適切に変換することで、インライン展開処理での予期しないアサーション失敗を防ぎます。
@janvorli ・ GitHub ・ area-GC-coreclr
CodeQLが指摘した異なる幅の型同士の比較に関する警告を修正するため、GCのheap_select::initメソッドのヒープ列挙ループを更新しました。heap_numループ変数の型をuint16_tからintに変更し、GCToOSInterface::GetProcessorForHeap(...)呼び出し時に明示的なキャストを追加することで、混合幅の比較を回避します。
@MichalStrehovsky ・ GitHub ・ area-NativeAOT-coreclr
NativeAOT実行時型ローダーにおいて、単一の型ロード時にunboxingとnon-unboxingのエントリポイントが同時に必要とされる場合に、同じジェネリック辞書が二重に構築されて登録に失敗する問題を修正します。修正では、型ローダーが作業を二重に実行することを許可しつつ、辞書割り当てのポイントで停止することで、重複登録を回避します。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
WebAssembly JITコンパイラの例外処理(EH)関連の検証エラーを修正します。主な変更は、try ブロック内の到達不可能なブロックが DFS ブロックレイアウト処理で発見されるようにし、EH の連続性を保つことです。
@pavelsavara ・ GitHub ・ area-Codegen-AOT-mono
Mono AOTコンパイラでnewobj命令の型ロード失敗時の動作を改善しました。従来は型ロード例外が発生するコンストラクタを呼び出すメソッドをコンパイル対象から除外していましたが、フルAOT環境ではExecutionEngineExceptionが発生していました。本修正により、JITと同様に実行時にTypeLoadExceptionをスロー する動作に統一しました。
@pavelsavara ・ GitHub ・ area-Codegen-AOT-mono
Mono LLVM full-AOT環境で、例外がLLVM生成のfinally/faultハンドラを通じてアンワインドされる際、メモリ移動を伴うGC実行によって例外オブジェクトがダングリングポインタになる問題を修正します。例外を生ポインタではなくピン留めGCハンドル経由で保持することで、GCが発生しても例外オブジェクトへの参照が有効に保たれます。
修正前はMonitor.Exitなど管理コード内のGCセーフポイントで例外オブジェクトがリロケートされ、アンワインド再開時に無効なポインタをデリファレンスしてSIGSEGVが発生。修正後は0/300テスト実行で再現なし(修正前は17%の確率で発生)。
続きを読む
@pavelsavara ・ GitHub ・ area-Codegen-AOT-mono
Mono AOTコンパイラが、クラス型フィールドを持つレイアウト付きクラスのマーシャリングラッパー(StructureToPtr/PtrToStructure)をAOTイメージに含めるよう修正しました。これまでは、ネストされたレイアウト付きクラスを含むクラスがJIT時のみ動作し、全AOTモード実行時にはExecutionEngineExceptionで失敗していました。
[StructLayout(LayoutKind.Sequential)]
class POINT { public int x, y; }
[StructLayout(LayoutKind.Sequential)]
class MINMAXINFO { public POINT ptMinTrackSize, ptMaxTrackSize; }
// 全AOTモード下では修正前はランタイムエラー、修正後は正常動作
続きを読む
@pavelsavara ・ GitHub ・ area-Codegen-AOT-mono
Monoの IL CEE_JMP オペコード処理を改善し、AOT コンパイル時に jmp を使用するメソッドが AOT イメージから除外されないようにしました。full-AOT 実行時に jmp メソッドが欠落してクラッシュする問題を解決します。
修正前は CEE_JMP が DISABLE_AOT() を呼び出して実メソッドを AOT イメージから除外していたため、実行時に ExecutionEngineException が発生していました。修正後は jmp を「call + return」として扱い、AOT コンパイル可能な形に変換します。
続きを読む
@eiriktsarpalis ・ GitHub ・ area-System.Text.Json tenet-performance
Utf8JsonReader.SkipWhiteSpaceをSearchValuesを用いたベクトル化処理で最適化し、長いホワイトスペース実行時のスキャン性能を向上させます。simdjsonの「次の興味深いバイトまでのベクトル化スキャン」という概念を、ストリーミング・単一パス・ゼロアロケーションという既存の制約を保ったまま適用します。すべての変更は内部実装(#if NETでゲート)であり、破壊的変更なし。
続きを読む
@MichalPetryka ・ GitHub ・ area-System.Reflection community-contribution
RemoveImplメソッドのnullability属性を修正し、CombineImplと同様にnull値を受け入れるようにします。このPRでは、nullを許容するパラメータに対する属性アノテーションを統一し、APIの一貫性を向上させています。
@am11 ・ GitHub ・ area-Infrastructure-coreclr community-contribution os-openbsd
OpenBSD プラットフォーム上でのランタイムテスト実行を可能にするための変更。テストビルドインフラストラクチャ、テストプラットフォーム定義、およびテスト実行スクリプトを更新し、OpenBSD をサポート対象プラットフォームとして追加します。
@jonathandavies-arm ・ GitHub ・ arch-arm64 area-CodeGen-coreclr community-contribution
ARM64 SVE(Scalable Vector Extension)における浮動小数点キャスト最適化に関連するディスアセンブリテストを追加します。不要な述語→ベクトル→述語変換が出力されていないことを検証するテストケースが含まれています。
@AndyAyersMS ・ GitHub ・ arch-wasm test-enhancement area-Infrastructure
Browser WASM統合テストランナーの参照解決を修正しました。マージされたランナープロジェクトの参照をビルド時に正規化し、異なるベースディレクトリからスキャンが実行される場合でも正しく参照を解決できるようにします。これにより、src\tests\build.cmd browserコマンドが正常に動作するようになります。
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
cDAC Loader契約に GetFileHeadersInfo(ModuleHandle handle, out uint timeStamp, out uint imageSize) APIを追加し、DacDbi API GetMetaDataFileInfoFromPEFile の実装をサポートします。GetPath(ModuleHandle) を GetPath(TargetPointer peAssemblyPtr, bool fallbackToHint = false) に変更し、モジュールパス情報をPEImageに移動させるリファクタリングも含まれます。
続きを読む
@sethjackson ・ GitHub ・ area-System.Diagnostics.Process community-contribution os-openbsd
System.Diagnostics.Process をOpenBSDプラットフォームに対応させるポーティング実装です。プロセス情報の取得、プロセス管理、およびプロセススレッド情報の取得機能をOpenBSD固有のインターオプ層を通じて実装し、既存の他のUnixプラットフォーム対応と同様の構造で統合しています。
@radekdoulik ・ GitHub ・ arch-wasm area-Build-mono
browser-wasm + CoreCLR環境でSystem.Formats.Nrbf.Testsテストスイートを再有効化します。
根本原因は、WebAssembly SDK のバンドルタスク ComputeWasmBuildAssets が相対パスのみで重複排除を行い、バージョンを無視していた点です。これにより、ランタイムパックのSystem.Runtime.Serialization.Formatters 8.1.0.0スタブがアプリローカル11.0.0.0版をシャドウイングし、テスト検出時に FileNotFoundException が発生していました。
修正では、MSBuild ターゲット _CoreCLRResolveRuntimePackVsAppLocalConflicts を追加し、SDK の ResolvePackageFileConflicts タスクを使用してバージョンベースでアセンブリバージョンの競合を解決してから webcil バンドルを構築します。
続きを読む
@sethjackson ・ GitHub ・ area-System.Net os-openbsd
System.Net.NetworkInformationでOpenBSDサポートを追加するPRです。System.Nativeレイヤーで既に実装されているOpenBSD対応を、マネージドレイヤーで有効化します。FreeBSDに存在するMsQuic固有の定義ファイルは不要なため、含めていません。
@lateralusX ・ GitHub ・ area-System.Threading.Tasks area-Diagnostics-coreclr
V1(コンパイラ生成のステートマシン型)async 実装に対するAsync Profilerインストルメンテーション機能を追加します。V1とV2の両async パスから統一的で明確に定義されたイベントストリームを出力し、ダウンストリームツールが両者を区別せずに消費できるようにします。V1専用のAppendAsyncCallstackイベントにより、レジューム時に完全な継続チェーンを再構築できます。
@Copilot ・ GitHub ・ area-Diagnostics-coreclr
cDAC(Compact DAC)の GetApproxTypeHandle DacDbi APIを追加するPRです。ネイティブの型ウォーク ロジックをマネージドにポートし、デバッガがダンプベースで近似型ハンドルを取得できるようにします。RuntimeTypeSystem APIの参照型判定ロジックを改善し、IsObjRef(TypeHandle)からIsCorElementTypeObjRef(CorElementType)へリファクタリングしています。
続きを読む
@Copilot ・ GitHub ・ area-Extensions-DependencyInjection
DI コンテナで複数のサービス登録がファクトリ経由で同じシングルトンインスタンスに解決される場合、スコープ破棄時に重複したインスタンスが捕捉されて複数回破棄される問題を修正しました。スコープ破棄開始時に遅延的に重複排除を行い、シングルトンは1回のみ破棄しつつ、依存オブジェクトの破棄順序を保持します。
代表的なシナリオ:
services.AddSingleton<TImpl>();
services.AddSingleton<IService1>(sp => sp.GetRequiredService<TImpl>());
services.AddSingleton<IService2>(sp => sp.GetRequiredService<TImpl>());
続きを読む
@manandre ・ GitHub ・ area-System.Memory community-contribution
ReadOnlySpan<T>に対してMinとMaxの拡張メソッドをMemoryExtensionsに追加します。デフォルトの比較器またはカスタムIComparer<T>をサポートし、空のスパンや参照型/null許容型を適切に処理します。LINQのEnumerable.Min/Maxのセマンティクスをスパン向けに実装します。
// 使用例
ReadOnlySpan<int> numbers = new[] { 3, 1, 4, 1, 5 };
int min = numbers.Min(); // 1
int max = numbers.Max(); // 5
// カスタム比較器の使用
var result = numbers.Max(comparer);
続きを読む
@Copilot ・ GitHub ・ area-Extensions-Hosting
Microsoft.Extensions.Hosting の機能的シャットダウンテスト(ShutdownTests)を CI で再有効化し、制限されたHelix/最小限のイメージ環境での互換性を確保するための硬化(ハードニング)を実施しました。テスト展開をソースツリーの検出ではなく、展開済み出力から実行し、外部プロセスツール(pgrep、kill)への依存を排除し、Unix シグナルハンドリングをランタイムの platform-specific signal mapping に合わせました。
続きを読む
@ViveliDuCh ・ GitHub ・ area-System.IO area-System.Memory
メモリおよびテキストベースの型に対する標準化されたストリームラッパーを新しい公開シール型として追加します。StringStream、ReadOnlyMemoryStream、WritableMemoryStream(CoreLib)、およびReadOnlySequenceStream(System.Memory)が導入され、テキスト・メモリデータをStream APIで統一的に扱えるようになります。
サンプルコード:
// StringStream: 文字列をストリーム化してエンコード
var stream = new StringStream("Hello, World!", Encoding.UTF8);
byte[] buffer = new byte[100];
int bytesRead = stream.Read(buffer, 0, buffer.Length);
// ReadOnlyMemoryStream: バイト配列の読み取り専用ストリーム
ReadOnlyMemory<byte> data = new byte[] { 1, 2, 3 };
var romStream = new ReadOnlyMemoryStream(data);
// WritableMemoryStream: 固定容量の読み書き可能ストリーム
Memory<byte> buffer = new byte[256];
var wmStream = new WritableMemoryStream(buffer);
wmStream.Write(new byte[] { 1, 2, 3 }, 0, 3);
// ReadOnlySequenceStream: ReadOnlySequence<byte>のストリーム化
ReadOnlySequence<byte> sequence = ...;
var rosStream = new ReadOnlySequenceStream(sequence);
続きを読む
@cston ・ GitHub ・ area-System.Linq.Expressions
Expression.CompileにおけるOrElseおよびAndAlso演算子の実装をを修正しました。これらの短絡評価演算子で2番目の式を評価する前に評価スタックを空にするようにしました。この修正により、以前のコミットの変更を元に戻しています。
2026年06月23日 (24 PRs) うち Bot 4 件 この日のページ →
@MichalStrehovsky ・ GitHub ・ area-NativeAOT-coreclr
NativeAOT の ジェネリック型ルックアップ処理において、メソッドエントリ(関数ポインタ)のジェネリック循環検出が一貫性を持つように改善されました。従来は canonical/non-concrete パス上でのみ循環検出が実施されていたのに対し、この変更により全パスで統一的に検出されるようになります。
@huoyaoyuan ・ GitHub ・ area-VM-coreclr community-contribution
ネストされたジェネリック型フィールドを持つValueType のGetHashCodeメソッドの不正な動作を修正します。この問題は #98754 の修正時に発見された未カバーのケースです。
@lewing ・ GitHub ・ area-Codegen-Interpreter-mono
Mono の WASM インタープリター・ジタープリターに Math.Truncate、Math.CopySign、Math.ScaleB 各メソッドのネイティブ WASM 命令対応を追加し、Half/BFloat16 の explicit conversion テストで WASM 特有の NaN 処理の問題に対する exemption スコープを最適化します。WASM ハードウェア命令(f64.trunc、f32.trunc、f64.copysign、f32.copysign)および既存の libm インポート(scalbn、scalbnf)を有効活用し、従来の BCL C# 実装での低速な解釈実行を排除します。
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
JITのループ反転ヒューリスティック(optTryInvertWhileLoop)を改善し、独自の境界チェックを持つループに対して、ループクローニングが有益である場合により積極的に反転を行うようにしました。同時に、過度に大きなループの反転を制限する従来の「too big to clone」「1.25x liberal」制限を撤廃し、より大きなループでのクローニング判断を後段のメカニズムに委譲します。
続きを読む
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
cDAC(Compact Data Access Contract)の IsSharedByGenericInstantiations の実装を修正するPRです。従来は IsCanonMT && HasInstantiation という条件で判定していましたが、これは過度に広すぎました。値型のジェネリック型(例:ArraySortHelper<int>)は独自のcanonical MTであり、実際にはinst argを必要としないメソッドに対して誤って InstArgMethodTable を報告していました。
本修正は、ランタイムの MethodTable::IsSharedByGenericInstantiations と同じロジック(GenericsMask ビットが SharedInst(0x20))を使用するよう改善します。これにより、ArraySortHelper<int>.cctor() や ReadOnlySpan<char>.ToString() など複数のメソッドが正しく分類されるようになります。
続きを読む
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
cDAC(Compact Data Access)のデバッグ検証パスにおいて、コンテキストバッファのメモリアライメントと初期化を改善しました。バッファを16バイト境界にアライメントし、ネイティブメモリ書き込み前にクリアすることで、アライメント障害と未初期化メモリからの誤検知を削減します。
@BrzVlad ・ GitHub ・ area-VM-coreclr
GC中断時のメソッド戻り値ハイジャック処理における、インタプリタへの戻り時のGCホール問題を修正しています。ハイジャック対象の戻りアドレスがJITコードでない場合(インタプリタなど)、ハイジャックを無効化することで、戻り値レジスタがスキャン対象から漏れる問題を解決します。
@Copilot ・ GitHub ・ area-Infrastructure-coreclr
windows-x86 release CoreCLR_LibrariesビルドがMergeMibcFilesターゲットで失敗する問題を解決するため、#129405で行われたdotnet-optimizationパッケージの依存関係更新をリバートしました。問題の根本原因は、dotnet-pgo mergeが非致命的な警告メッセージを出力し、MSBuildのExecタスクがそれをエラーと判定してビルドを失敗させたものです。
続きを読む
@tarekgh ・ GitHub ・ area-System.Diagnostics.Activity
DiagnosticSource EventSource bridge テストにおいて、遅いCI環境でのRemoteExecutorのタイムアウト問題を解決するため、デフォルトの60秒タイムアウトを180秒(3分)に増加させるもの。テスト実行の失敗を削減することを目的としています。
@lewing ・ GitHub ・ area-Codegen-LLVM-mono
Mono の LLVM バックエンド向けスカラー浮動小数点 API の intrinsic 認識を拡張します。MathF.Abs、MathF.Log、および IEEE 754-2019 の Single/Double.MinNumber/MaxNumber を LLVM intrinsic へ直接マッピングすることで、コード生成を最適化します。
@Copilot ・ GitHub ・ area-System.Runtime.InteropServices
ReferenceTrackerHostのs_globalHostServicesがIntPtr型に[FixedAddressValueType]属性を適用していましたが、この属性はプリミティブ型には対応していません。小さなラッパー値型を導入することで、COM ホストオブジェクトのレイアウトを変更せず、より適切に固定アドレスストレージを実装します。
[FixedAddressValueType]
private static readonly unsafe ReferenceTrackerHostObject s_globalHostServices =
new((IReferenceTrackerHostVftbl*)Unsafe.AsPointer(in HostServices.Vftbl));
private readonly unsafe struct ReferenceTrackerHostObject
{
public readonly IReferenceTrackerHostVftbl* Vftbl;
}
続きを読む
@AaronRobinsonMSFT ・ GitHub ・ area-VM-coreclr
HashBytes関数を最適化し、xxHash32プリミティブ(XXHash32_QueueRound/XXHash32_MixFinal)を使用して4バイト単位で処理することで、従来のバイト単位DJB2ハッシュを置き換えます。HashBytesは文字列リテラルのインターニングパス(JIT コンパイル中のldstrトークン解決)で使用されており、すべてのマネージドアプリケーションの定常状態コストの一部です。
xxHash32プリミティブをtypehashingalgorithms.hから新しい共有ヘッダsrc/coreclr/inc/dn_xxhash.hに抽出し、型ハッシング経路とHashBytes経路の両方で再利用できるようにします。
続きを読む
@MihaZupan ・ GitHub ・ area-System.Text.Json
Compiled および Source-Generated Regex エンジンで、最大イテレーション数に達した遅延ループからのバックトラック時に IndexOutOfRangeException が発生する問題を修正しました。遅延ループが複数回イテレーションした後、ループが終了時に正しくスタック状態をアンワインドしていなかったことが原因です。
// 修正例:遅延ループの最大イテレーション達成時のスタック巻き戻し
// 修正前: stackpos -= entriesPerIteration; // 1イテレーション分のみ
// 修正後: stackpos -= lazyloop_iteration * entriesPerIteration; // 全イテレーション分
続きを読む
@vcsjones ・ GitHub ・ area-System.Security
System.Security.AccessControlライブラリのコードスタイルをクリーンアップし、現在のコーディング標準に合わせた内部実装の整理です。機能的な変更はありません。
@tannergooding ・ GitHub ・ area-CodeGen-coreclr
SIMD関連の負荷、格納、間接参照を適切にマーク付けすることで、構造体の昇格(struct promotion)を防止し、SIMDビットキャストが行われるパフォーマンスクリティカルなコードの最適化を改善します。従来は直接的なローカル読み書きのみが認識されていましたが、本変更によりIND(LCL_ADDR ...)などのIR形状も含めて対応します。
@am11 ・ GitHub ・ area-System.Net.Http community-contribution os-openbsd
System.Net.HttpライブラリをOpenBSDプラットフォームに対応させるPull Requestです。OpenBSD環境での動作をサポートするための修正が施されています。
@mrek-msft ・ GitHub ・ area-System.IO.Compression
ZIP形式のZip64拡張情報フィールド解析を修正し、ZIP仕様書セクション4.5.3に準拠するようにしました。ローカルファイルヘッダー内では非圧縮サイズと圧縮サイズフィールドが必須であることを仕様で定義されているため、ローカルヘッダーからの出典かセントラルディレクトリからの出典かに応じて、これらフィールドを適切に処理するようにしました。
@rosebyte ・ GitHub ・ area-System.Diagnostics.Tracing
トレース設定のサポートを追加するPRです。ビルダースタイルAPIを用いた設定可能なトレース機能を実装し、Issue #100317の承認済み設計に準拠しています。
主な機能:
AddTracingとトレースビルダーAPI(Microsoft.Extensions.Diagnostics)
ソース・操作・リスナー・スコープマッチングによるトレース有効化/無効化ルール
設定ベースのトレース制御
ActivitySourceFactoryと関連するActivitySource/ActivityListenerの拡張
続きを読む
@Copilot ・ GitHub ・ arch-wasm area-Build-mono os-wasi os-browser
廃止予定のWebAssembly (WASM) コンソールテンプレート (wasmconsole、wasiconsole) と、これらのテンプレートをテストするための WASI ビルドテストプロジェクト (Wasi.Build.Tests) を削除します。WASM/WASI ビルドインフラストラクチャを簡潔化し、ブラウザテンプレートと手動作成のサンプルに統一します。
@BrzVlad ・ GitHub ・ tenet-performance area-CodeGen-Interpreter-coreclr
CoreCLR インタープリタのオペコード ディスパッチ機構を computed goto を使用した実装に変更し、パフォーマンスを大幅に向上させました。従来のスイッチ文ベースのディスパッチから、コンパイラが静的に生成したジャンプテーブルを使用した直接アドレス分岐に切り替えることで、インタープリタの実行速度を約 25% 向上させます。また、毎オペコード実行時の pFrame->ip 保存を削除し、GC トリガーまたは例外発生の可能性がある場合のみ明示的に保存することで、さらに約 3% の実行速度改善が期待されます。
続きを読む
2026年06月22日 (33 PRs) うち Bot 5 件 この日のページ →
@huoyaoyuan ・ GitHub ・ area-System.Numerics community-contribution
BFloat16テストにおけるコピー&ペーストエラーを修正。AIエージェントによるテスト実行中に発見されました。
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
cDAC(Compact Data Access Components)GC ストレステストを ARM32(linux_arm)で有効化し、それに伴い明らかになった命令ポインタ(IP)型の混乱を修正。ARM32 の Thumb ビット(LSB)が IP に含まれているが、cDAC がこれを適切に処理していなかったため、フレーム検証時にランタイムと cDAC の値が不一致になっていた。型システムで TargetPointer → TargetCodePointer に昇格させることで、コンパイル時に型の混乱を防止。
続きを読む
@Copilot ・ GitHub ・ area-System.Runtime.InteropServices
ReferenceTrackerNativeObjectWrapper内のGCHandleフィールドからreadonly修飾子を削除するバグ修正です。GCHandleは可変構造体であり、readonlyフィールドに対して変更メソッドを呼び出すと防御的コピーが作成され、GCHandle.Free()が実際のフィールドを更新できないことが原因で、ファイナライザー/リリース競合時に重複解放が発生していました。
// 変更前
internal readonly GCHandle _nativeObjectWrapperWeakHandle;
// 変更後
internal GCHandle _nativeObjectWrapperWeakHandle;
続きを読む
@pavelsavara ・ GitHub ・ arch-wasm area-Host os-browser
Blazor WebAssemblyで同じ遅延読み込みアセンブリを複数回ロードした場合に誤ったエラーが発生していた問題を修正しました。fetchAssemblyでvirtualPathがnormalizeVirtualPathによって破壊的に変更されることが原因でした。修正後は、loadLazyAssemblyの重複呼び出しは冪等なno-opとなり、2回目以降はfalseを返します。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラに新しいEH(例外処理)クリーンアップフェーズ fgRemoveUnreachableTry を追加します。このフェーズはメソッドエントリから到達不可能になったtryブロックを持つEH領域を検出・削除し、特にWebAssemblyなどの到達不可能なEHに対して非寛容なコントロールフローを持つプラットフォームでのコンパイルエラーを防ぎます。最適化時のみ実行され、funclet生成直前のEHクリーンアップフェーズセットで一度だけ実行されます。
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
ループクローニング時のエッジ尤度(edge likelihood)計算が不正確だった問題を修正しました。以前のコードは高速クローン(fast clone)に到達するために通過する必要のある条件分岐の総数を考慮していなかったため、各エッジの尤度が過度に高く推定されていました。特に入れ子ループのクローニング時にプロファイル情報が不正に膨張する問題が発生していました。修正内容は、高速クローンに到達するまでに通過する必要のある条件分岐数をカウントし、それに基づいて正しい尤度を計算するようにしたものです。
続きを読む
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
cDAC(CoreDump Diagnostic Access Component)に新しい FeatureFlags コントラクトを追加し、フィーチャーフラグ判定の一元化を実現します。同時に、GCヒープ分析に関するグローバルオプションの柔軟性を向上させ、CoreCLRとNativeAOTのデータディスクリプタ間の互換性を拡大します。
// 新しいFeatureFlagsコントラクトの使用例
bool isEnabled = target.Contracts.FeatureFlags.IsEnabled(RuntimeFeature.PortableEntrypoints);
続きを読む
@Copilot ・ GitHub ・ area-NativeAOT-coreclr
デリゲート型のバッキングフィールド名を実装の意図に合わせてリネームするコード一貫性向上の変更です。CoreCLRとNativeAOTの両ランタイムおよび関連ツール全体でフィールド名を統一します。
@EgorBo ・ GitHub ・ area-System.Text.Encoding reduce-unsafe
OptimizedInboxTextEncoder.GetIndexOfFirstCharToEncodeメソッドからunsafeポインタ走査を削除し、span スライシングとアンローリングループに置き換えました。動作変更なし。JITコンパイル時に範囲チェックが除去されることを検証済みです。
@lewing ・ GitHub ・ area-Build-mono
WebAssembly Browser MSBuildターゲットにおいて、ブートJSON生成時のタイムスタンプ処理を改善し、マルチビルドにおける不要な再圧縮を防止します。従来はブートJSON自体をタッチしていたため、下流の静的Webアセット圧縮パイプラインで誤ったキャッシュ判定が生じていました。新しく「完了」スタンプファイルを導入し、MSBuildの増分ビルドチェックを正確に保ちながら、ブートJSONのタイムスタンプを内容に基づく値のままで保持します。
続きを読む
@BrzVlad ・ GitHub ・ area-CodeGen-Interpreter-coreclr
CoreCLRインタープリタパイプラインのビルドジョブのタイムアウト時間を60分から120分に延長します。Windows ARM64などの遅いエージェント上でチェック済みプロダクトビルドが完了するのに十分な時間を確保することが目的です。他のランタイムパイプラインと同じ120分の設定に統一します。
@AndyAyersMS ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssembly (Wasm) JIT/R2R コード生成の検証エラーと assert 失敗を修正するPRです。Wasm 呼び出しシグネチャ構築の改善、各JITフェーズでの Wasm 特有の処理追加、ABI型付けの改善により、Wasm コンパイル時の互換性問題を解決します。
@jtschuster ・ GitHub ・ area-ReadyToRun
ILCompiler.ReadyToRun.Tests プロジェクトで、crossgen2 と wasm JIT の位置解決が test project の Configuration に依存していた問題を修正。CoreCLR artifacts と同じ $(CoreCLRConfiguration) / $(CoreCLRArtifactsPath) キーを使用するように統一することで、開発環境でテストプロジェクトと CoreCLR を異なる Configuration でビルドする際の問題を解決します(CI では影響なし)。
続きを読む
@Copilot ・ GitHub ・ area-System.Text.Json
JsonSchemaExporterがIEEE浮動小数点型(double?、float?、Half?)でJsonNumberHandling.AllowNamedFloatingPointLiteralsを使用する場合、anyOfスキーマとしてエクスポートされる際にnull値の受け入れをドロップするバグを修正しました。修正後は、{"anyOf":[{"type":["number","null"]},{"enum":["NaN","Infinity","-Infinity"]}]}のように正しくnullabilityを保持します。
続きを読む
@elinor-fung ・ GitHub ・ area-Host
corehost スタックの C++ から C への段階的な変換の一環として、fxr_resolver と依存する hostmisc の PAL/utils ヘルパーを C に変換します。既存の C++ エントリーポイントは薄いラッパーとして維持され、実装は C レイヤーに委譲されます。これにより、複数プラットフォーム(Windows/Unix)でバイナリサイズが大幅に削減されます。
@BrzVlad ・ GitHub ・ area-ReadyToRun area-crossgen2-coreclr
ReadyToRun (R2R) / CrossGen2 パイプラインでのテスト実行をスキップするための新しい R2RIncompatible フラグをランタイムテストに追加します。既存の CrossGenTest プロパティは R2R コンパイルを無効化するだけでしたが、このフラグは RunCrossGen2 が設定されている場合にテスト実行そのものをスキップしてテストの干渉を防ぎます。
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
JITのValueNumStore::IsKnownNonNull メソッドを改善し、nullability分析を強化しました。VN(値番号)の正規化とパターン認識を拡張することで、より積極的なnull-check除去が可能になります。
SPMI測定で80kbのコード削減を達成しており、以下のようなケースで冗長なnullcheckが削除されます:
string Foo(Dictionary<string, string> map) => map["some string key"];
static void Test(MyStruct[] arr, int i)
{
ref MyStruct x = ref arr[i];
if (i > 10)
{
_ = x.Y; // 冗長なnullcheckが除去される
}
}
続きを読む
@koen-lee ・ GitHub ・ area-System.Security community-contribution
OpenSSL X509Chain検証時、プロセス実行中のタイムゾーン変更により証明書の時間有効性判定が不安定になるバグを修正しました。従来は検証時刻をローカル時間の分解要素として渡していたため、.NETのキャッシュされたタイムゾーンとlibc のタイムゾーンが異なる場合に判定が反転していました。修正後はUTC UnixタイムスタンプをX509_VERIFY_PARAM_set_time に直接渡すことで、タイムゾーン変更の影響を排除しています。
続きを読む
@hez2010 ・ GitHub ・ area-CodeGen-coreclr community-contribution
JIT/EE インターフェースから getUnboxedEntry と getInstantiatedEntry API を削除し、アンボックス化エントリ情報を resolveVirtualMethod を通じてプロット直します。これにより、将来的に共有ジェネリック型の仮想化解除時にランタイムルックアップとアンボックススタブの組み合わせを統一的に処理できるようにします。
@saitama951 ・ GitHub ・ area-Tracing-coreclr
S390X(IBM System z大型コンピュータアーキテクチャ)でのEventPipeセッション終了時に、StopTracingCommandのペイロードに含まれるsession_idがエンディアン順序を正しく変換されないため、トレーシングが無限に継続する問題を修正しました。dotnet-gcdumpから送信されるIPC通信時に、session_idが正しい形式で渡されていなかった点を改善しています。
続きを読む
@rcj1 ・ GitHub ・ area-Diagnostics-coreclr
cDAC(DataContractReader)スタックを拡張して、継続オブジェクト(ContinuationObject)と非同期デバッグ情報を読み取るAPIを追加し、DacDbiインターフェース経由でParseContinuationとEnumerateAsyncLocalsを実装しました。これにより、非同期メソッドのデバッグ時に継続情報と非同期ローカル変数を効率的に取得できるようになります。
@Copilot ・ GitHub ・ area-System.Net
Dns.GetHostEntryおよび関連メソッドで、ホスト名に埋め込まれたヌル文字(\0)を事前に検証し、ArgumentExceptionをスローするように改善しました。ネイティブリゾルバー(getaddrinfo/gethostbyname)へ渡される前に無効なホスト名を拒否することで、ネイティブレイヤーでの暗黙的な文字列切り詰めと混乱したエラーを防ぎます。
// 修正前: 暗黙的に"foo"に切り詰められ、OSリゾルバーから SocketException が発生
Dns.GetHostEntry("foo\0bar");
// 修正後: ArgumentException をスロー
// System.ArgumentException: The host name contains an invalid character. (Parameter 'hostName')
続きを読む
@jonathandavies-arm ・ GitHub ・ area-CodeGen-coreclr community-contribution
ARM64における条件選択命令(Conditional Select)の低減処理に関する2つのバグを修正しました。
1つ目は、異なる幅のローカル変数を使用した際に型不一致が発生し、-1 + 1が0x1_0000_0000に化ける問題です。2つ目は、チェック付き加算/否定演算が条件選択に置き換わる際にオーバーフロー検出が無視される問題です。
続きを読む
@Ruihan-Yin ・ GitHub ・ area-CodeGen-coreclr community-contribution apx
AMD64プラットフォームでAPX(拡張汎用レジスタと新しいプレフィックスエンコーディング)対応の例外・コンテキスト処理を追加します。REX2およびEVEXプレフィックス付きIDIV/DIV命令での除数ゼロ例外とオーバーフロー例外の処理に対応し、AVX-512の有無に関わらずAPXレジスタ(R16–R31)の状態をサポートします。
@BoyBaykiller ・ GitHub ・ area-CodeGen-coreclr community-contribution
JITのswitch正規化ロジックを改善し、連続範囲を形成する数値に対して常にrangecheck最適化を適用するようにしました。従来はSWITCH_MAX_DISTANCEより大きい数値を持つswitch文のみが正規化されていましたが、本変更により小さい値でも連続範囲であれば最適化対象となります。
// 例: 以下のような小さい連続値でもrangecheck最適化が適用される
static bool Test(int a)
{
return a == 3 || a == 4 || a == 5;
}
続きを読む
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr runtime-async
JITがタスク返却型の同期メソッドの専用「ランタイム非同期版」をコンパイルできるようにするための拡張です。新しいJIT↔EEインターフェースAPI(getAwaitReturnCall)を追加し、同期メソッドのILを受け取ったJITが、テール位置の呼び出しをランタイム非同期呼び出しに変換し、その他の戻り値をAsyncHelpers.TransparentAwaitでラップして非同期化します。これにより、非同期タスク返却メソッドへの委譲オーバーヘッドを削減します。
続きを読む
@Copilot ・ GitHub ・ area-System.IO.Compression
ZipArchiveEntry の Update モードで、宣言されている非圧縮サイズが Array.MaxLength (約2GB) を超える場合の検証を改善します。これまでは MemoryStream コンストラクタで ArgumentOutOfRangeException が発生していましたが、今後は Open()/OpenAsync() 呼び出し時に即座に InvalidDataException を発生させるようにします。
// GetUncompressedData / GetUncompressedDataAsync の先頭で検証
if ((ulong)_uncompressedSize > (ulong)Array.MaxLength)
throw new InvalidDataException(SR.EntryUncompressedSizeTooLargeForUpdateMode);
_storedUncompressedData = new MemoryStream((int)_uncompressedSize);
続きを読む
@dhartglassMSFT ・ GitHub ・ area-System.Runtime.Intrinsics
SVE2(Scalable Vector Extensions 2)の欠落していたマスク命令を実装しました。CreateWhileWriteAfterRead*とSaturatingExtract*の4つの新しいメソッドファミリーを追加します。
CreateWhileWriteAfterRead*はCreateWhileReadAfterWrite*と異なり、ポインタ差分を直接計算するため、op2ptr = op1ptr - 1の場合の動作が異なります。SaturatingExtract*ファミリーは飽和演算で値をナロウイング(型を小さくして)抽出し、Upper変種は暗黙的なアウトパラメータを使用するため特別なRMW処理を必要とします。
続きを読む
2026年06月21日 (2 PRs) この日のページ →
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
WebAssembly(WASM)ターゲットではネイティブデバッガが存在せず、仮想レジスタがICorDebugInfoで表現できないため、WASMビルドでスコープ情報(compScopeInfo)の生成を無効化する変更です。あわせてリターン値の収集もこのフラグで制御するようにします。
@pavelsavara ・ GitHub ・ area-Build-mono
Emscripten 5.0.6 / LLVM 23へのアップグレードに向けたMono LLVM バックエンドの事前準備PR。LLVM 23の厳格な定数エンコーディングとより積極的な浮動小数点変換の認識に対応させる。すべてのLLVM 23対応コードはLLVM_API_VERSIONガードされており、現在のLLVM 19では動作的に同等であり、アップグレード前に安全にマージ可能。
2026年06月20日 (4 PRs) この日のページ →
@hez2010 ・ GitHub ・ area-CodeGen-coreclr community-contribution
JIT コンパイラにおいて、CreateGeometricSequence ノードを非無効ノード(non-invalid node)として適切にアノテーションする修正です。このノードは定数伝播(constant propagation)の最適化の恩恵を受けるため、GenTree ノードとして残される可能性があります。Pull Request #127690 からの積み残し作業です。
@Copilot ・ GitHub ・ area-CodeGen-coreclr
x64において Vector128<T>.ToScalar() による XMM→GPR レジスタ間転送の codegen バグを修正しました。contained operand として CreateScalar/CreateScalarUnsafe が最適化される場合、SIMD レジスタを参照する必要があるのに、整数 mov 命令が発行されていたため、誤った結果やアサーション失敗が発生していました。
修正により、operandDesc の kind (register/memory) に基づいて命令を正確に選択し、movq/movd を適切に発行するようになります。
// 修正前:誤った mov gpr, xmm
// 修正後:正しく movq xmm → gpr
ulong n = Vector128.CreateScalarUnsafe(x).AsUInt64().ToScalar();
return Table[n % 64] + n; // 正確な計算結果
続きを読む
@janvorli ・ GitHub ・ area-NativeAOT-coreclr
NativeAOT環境でのGCホール(ガベージコレクション追跡漏洩)を修正します。例外が funclet から再スローされ、その finally が実行中にGCが動作した場合、非揮発性レジスタに保持されているGC参照が正しく更新されないという問題を解決します。修正内容は、finally funclet から戻った後に非揮発性レジスタを ExInfo の REGDISPLAY で参照される位置に保存することです。
続きを読む
@lewing ・ GitHub ・ area-Codegen-LLVM-mono
Mono LLVM バックエンドの浮動小数点スカラー Math.Min/Max 実装を修正するPRです。従来の fcmp + select 方式から LLVM 12以降で利用可能な llvm.minimum/llvm.maximum 組み込み関数に変更し、NaN処理の仕様違反と AArch64 での誤コンパイルの両問題を解決します。
修正前の問題:
Math.Min(x, NaN) が x を返す(仕様では NaN を返すべき)
LLVM 23 の AArch64 バックエンドが fminnm/fmaxnm(NaN抑制型)にマッチして誤った結果を生成
修正後:
IEEE 754-2019 準拠の NaN 伝播型 minimum/maximum を使用
AArch64 では fmin/fmax(NaN伝播型)に正しくコンパイル
続きを読む
2026年06月19日 (22 PRs) うち Bot 5 件 この日のページ →
@hez2010 ・ GitHub ・ area-System.Runtime.Intrinsics community-contribution
SIMD Vector型に対するレーン構築・合成API(lane construction and composition APIs)を追加します。これにより、個別のスカラー値からベクトルを構築したり、ベクトルから特定のレーン(要素)を抽出・操作する機能が提供されます。WebAssembly SIMD パスには「Not Yet Implemented(NYI)」マーカーが付与されています。
@EgorBo ・ GitHub ・ area-System.IO reduce-unsafe
CRC-32C計算の内部ループにおいて、unsafe な MemoryMarshal.Cast<byte, ulong/uint> の再解釈をより安全な BinaryPrimitives のリトルエンディアン読み取りに置き換えました。SSE4.2とArm CRC32の両パスで共通の8/4/1バイト処理パイプラインを共有し、コード生成は変わりません。
@MichalStrehovsky ・ GitHub ・ area-System.Runtime.Intrinsics
PR #127690で追加された「レーン構築および合成API」の機能を完全に削除するリバート変更です。作成者の報告では、この機能がmainブランチを破損させたため、緊急対応として実装全体を取り除きます。
@elinor-fung ・ GitHub ・ area-AssemblyLoader
NGEN(.NET Native Image Generator)の廃止に伴い、すべてのランタイム(CoreCLR、Mono、NativeAOT)で未使用となっていた nativeImagePath パラメータを AssemblyLoadContext の LoadFromPath 関連メソッドから削除します。このパラメータは既に各ランタイムで無視されていたため、APIの簡潔化が目的です。
@lewing ・ GitHub ・ area-Build-mono
Wasm.Build.Tests の ToolCommand.ExecuteWithCapturedOutput でプロセスの Exited イベントと非同期出力ハンドラ間の競合状態を修正します。高速に終了するサブプロセス(例:Hello-World の dotnet run)で、出力ハンドラがすべてのデータを処理する前にプロセスが終了すると、キャプチャされた出力が空になる間欠的な失敗が発生していました。修正では await completionTask 後に Process.WaitForExit() を追加し、最終的な出力ドレイン(stdout/stderr の完全なフラッシュ)を強制します。
続きを読む
@sbomer ・ GitHub ・ area-NativeAOT-coreclr
Microsoft ホステッド公開 Mac プールへの負荷軽減を目的として、ILLink テストとランタイムトリミングテストから OSX(osx_x64)を削除するものです。作成者は、ILLink テストの OSX は プラットフォーム固有のロジックを実行しないため削除しても安全であり、トリミング済みライブラリテストについても既存の NativeAOT スモークテスト、ライブラリテスト、ILLink/AOT 固有テストによる十分なカバレッジがあると判断しています。
続きを読む
@am11 ・ GitHub ・ area-System.IO community-contribution os-openbsd
System.IO.FileSystem.WatcherをOpenBSDにポートします。このPull Requestは、OpenBSDプラットフォームでのファイルシステム監視機能の実装に必要な構成変更とテストの調整を含みます。
@am11 ・ GitHub ・ community-contribution area-NativeAOT-coreclr os-openbsd
OpenBSD上でAOT(Ahead-of-Time)ライブラリのビルド時に、libgssapi.so.9.0への動的リンクを追加することで、ld.lldリンカーのundefined symbol エラー(krb5_cc_get_lifetime)を解決しました。libs.nativeサブセットとの一貫性を保つための変更です。
@Copilot ・ GitHub ・ area-CodeGen-coreclr blocking-clean-ci-optional Priority:1
Windows ARM64プラットフォームのビルドパイプラインジョブがデフォルトの60分タイムアウトに達して失敗する問題を解決するため、タイムアウト処理をグローバルビルドジョブ設定層で実装しました。windows_arm64プラットフォーム専用に75分の最小タイムアウトを設定します。
@lewing ・ GitHub ・ area-VM-coreclr
WebAssembly(WASM)ランタイムで、ブラウザとWASI環境向けの異なるP/Invoke表面に対応するため、CoreCLRのcallhelpersシンク(thunk)をターゲットOS別に分割しました。生成されたthunkファイルはsrc/coreclr/vm/wasm/{browser,wasi}/に分け、CMakeビルドでCLR_CMAKE_TARGET_WASIに基づいて適切なサブディレクトリを選択します。WasmAppBuilderのジェネレータにTargetOSプロパティを追加し、[SupportedOSPlatform]/[UnsupportedOSPlatform]属性でP/Invokeをフィルタリングするようにしました。
続きを読む
@pavelsavara ・ GitHub ・ arch-wasm area-VM-threading-mono os-browser
Emscripten アップグレードに向けて、Mono WebAssembly スレッド(MT)ランタイムを準備するPRです。pthread_self への切り替え、WebAssembly.Module のワーカーへの伝播、JS相互運用の修正を実施します。また、マルチスレッド環境での RuntimeFeature.IsMultithreadingSupported の設定と、ワーカーキューの初期化タイミングの改善が含まれます。
続きを読む
@jtschuster ・ GitHub ・ area-ReadyToRun
crossgen2/ILCompilerで静的解析により報告された複数の潜在的バグを修正。主にnullポインタ逆参照の可能性と論理的な比較エラーを解決しています。
@Copilot ・ GitHub ・ arch-arm32 area-VM-coreclr
CoreCLRの「Wrapper」デリゲート種別を削除し、ARM32仮想スタブディスパッチ(VSD)の隠し引数パラメータ渡しをR4からR12レジスタに変更します。この変更により、ARM32 VSD ABI互換性のためだけに存在していたWrapper デリゲートインフラストラクチャ全体を廃止し、コンパイラおよびランタイムの実装を簡潔化します。
@cshung ・ GitHub ・ arch-arm32 community-contribution area-NativeAOT-coreclr
ARM32 Linuxでは SP下のメモリ領域がシグナル配送時に保証されないため、red zone(SP調整せずに下位メモリへの読み書き)の使用がサイレント破損やクラッシュを引き起こす可能性があります。本PR では、ARM32ランタイムスタブにおけるすべてのred zone使用法を排除し、明示的なスタック調整(push/pop)に置き換えています。これにより信頼性が向上し、NativeAOT interop thuks ではスタブサイズが20バイトから12バイトに縮小されます。
続きを読む
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
新しいISOSDacInterface17 COM インターフェースを追加し、cDAC の IStressLog コントラクトを SOS および clrmd に公開します。これにより、CoreCLR と NativeAOT の両方のプロセスから、ハードコードされた構造体オフセットを使用せずにストレスログを読み取ることができるようになります。
背景: SOS(!DumpLog)と clrmd は現在、CoreCLR レイアウトに一致するハードコードされたオフセットで raw メモリ読み取りを使用しており、NativeAOT のストレスログ読み取りには対応していません。cDAC はすでに両方のランタイムに対応した IStressLog コントラクトを実装しており、これを COM インターフェース層を介して公開します。
続きを読む
@JulieLeeMSFT ・ GitHub ・ area-CodeGen-coreclr
JITのInduction Variable(IV)最適化において、例外ハンドラ(EH handler)内で使用されるカウンタ変数への更新が誤って削除される問題を修正します。PR #127932でDo Not Enregister(DNER)とliveness検出が分離されたため、optLocalHasNonLoopUsesがcatch handlerに流入するIVを検出できなくなり、full-opt codegen(crossgen2、jitstress、AggressiveOptimization)で不正な結果が発生していました。
続きを読む
@hez2010 ・ GitHub ・ area-System.Runtime.Intrinsics community-contribution
Vector型に対するレーン構築・合成API とシーケンス生成API を追加するPRです。幾何級数、交互シーケンス、調和級数の生成、およびConcat/Zip/Unzip/Reverseなどのレーン操作機能が新たに公開APIとなります。JITはこれらをネイティブSIMD命令に展開し、ハードウェア非対応時は狭いベクトル幅での分解をサポートします。
2026年06月18日 (28 PRs) この日のページ →
@gbalykov ・ GitHub ・ area-System.Net.Security community-contribution
System.Net.Security テストプロジェクトのデバッグビルドにおいて、RuntimeInformation への参照が解決されないコンパイルエラーを修正しています。PR #129479 で導入された問題の回帰修正です。
@gbalykov ・ GitHub ・ area-System.Runtime.InteropServices community-contribution
Tizen ビルド時に CMake スクリプト(eng/native/output-toolchain-info.cmake)の出力に不要なメッセージが含まれていたため、XML 形式の出力が破損していました。このメッセージを削除することで、NativeExports.csproj の XmlPeek タスク処理が正常に動作するようになります。
@kotlarmilos ・ GitHub ・ area-Infrastructure
CI失敗スキャンワークフロー(ci-failure-scan)を更新し、JIT/GC/PGOストレステスト用パイプラインの18個がKBE(Known Build Error)ラベルとしてblocking-clean-ci-optionalを使用するように変更。これらのパイプラインはrequiredゲートの外で実行される任意のローリングジョブであるため、失敗時にBuild Analysisで表示されてもクリーンCIをブロックすべきではありません。
続きを読む
@Copilot ・ GitHub ・ area-System.Reflection
System.Reflection.ContextテストスイートのCustomReflectionContextExamples.AddCustomAttributeテストにNativeAOT環境でのみ適用される[ActiveIssue]属性を追加しました。既存の追跡Issue#73356を利用して、NativeAOT固有の問題を抑制しつつ、非NativeAOT環境での動作は変わりません。
@tommcdon ・ GitHub ・ area-Diagnostics-coreclr
デバッガーのCordbReferenceValue::GetPointerDataメソッドにおいて、ローカルキャッシュ(localValue)からオブジェクト参照を読み込んだ後、それをm_info.objRefに書き戻していなかった問題を修正しました。この不具合により、Span<T>などの値型のデバッガー可視化が失敗していました。
@davidwrighton ・ GitHub ・ area-VM-coreclr
macOS X64環境において、アセンブリのラベルをLOCAL_LABELに修正することで、リンカーによる関数の不正な分割を防止し、正しい動作を確保する変更です。ラベルを適切に指定しないとリンカーが関数を不正に細分化してしまい、予期しない動作につながるため、この修正が必要です。
@Copilot ・ GitHub ・ area-System.Reflection
IsClosedTypeAttribute に DerivedTypes プロパティを追加し、リフレクションベースのコンポーネントが TypeDef テーブルをスキャンせずに閉じられた型の派生型を検出できるようにします(API レビュー #129009 で承認済み)。
var attr = new IsClosedTypeAttribute();
attr.DerivedTypes; // Type.EmptyTypes (デフォルト)
attr.DerivedTypes = [typeof(Dog), typeof(Cat)];
attr.DerivedTypes = null; // Type.EmptyTypes に正規化される
続きを読む
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
cDAC(Compact Data Access Contract)の IRuntimeInfo コントラクトを拡張し、ターゲットランタイムの「flavor」(CoreCLR/NativeAOT)を識別する新しい GetRuntimeFlavor() API を追加しました。CoreCLR と NativeAOT の両方のデータディスクリプタを更新し、ランタイム情報の一貫した公開を実現します。
@kotlarmilos ・ GitHub ・ area-Infrastructure-coreclr os-ios
Apple モバイル/AOT な Helix テスト実行環境において、Microsoft.Extensions.DependencyInjection.ExternalContainers.Tests が aggressive trimming により反射機能が削除されるため、テストケースが発見されず(Tests run: 0)実行がクラッシュとして報告されるのを防ぐため、このテストプロジェクトをテスト対象から除外します。
続きを読む
@Copilot ・ GitHub ・ area-System.Diagnostics.Process
ProcessStartInfo.StartSuspended プロパティと SafeProcessHandle.Resume() メソッドを Windows に実装しました。プロセスを中断状態で起動し、後で再開できます。
ProcessStartInfo startInfo = new("myapp.exe") { StartSuspended = true };
using SafeProcessHandle handle = SafeProcessHandle.Start(startInfo);
// プロセスは作成されるがメインスレッドは中断状態
handle.Resume(); // ResumeThread経由でメインスレッドを再開
ProcessExitStatus status = handle.WaitForExit();
続きを読む
@AndyAyersMS ・ GitHub ・ arch-wasm area-CodeGen-coreclr
Wasm RyuJITバックエンド向けの複数の修正を含むPRです。SIMD16ローカル変数/フィールド読み込みをWasm SIMD NYI(Not Yet Implemented)として報告し、R2Rコンパイル時に対応メソッドをスキップできるようにします。また、固定レジスタセットを持たないターゲット(Wasm)でのretbufコール引数の仮定を緩和し、非同期try領域のSCC書き換え処理を改善します。
続きを読む
@am11 ・ GitHub ・ area-System.Net.Security community-contribution os-openbsd
System.Net.SecurityライブラリをOpenBSDプラットフォームに対応させるPull Requestです。プラットフォーム固有の条件分岐を追加し、OpenBSD環境でのSecurity機能の動作をサポートします。
@Copilot ・ GitHub ・ Servicing-approved area-System.Runtime.InteropServices
クロスアセンブリの[GeneratedComInterface]継承で、異なる外部基底インターフェースが同じ名前のメソッドを持つ場合、ComMethodInfo辞書キーの衝突によりCS8785エラーが発生する問題を修正します。生成時に外部定義メソッドの識別子にExternalSymbolIdを組み込むことで、キー衝突を回避します。
@pavelsavara ・ GitHub ・ arch-wasm area-Host os-browser
WebAssemblyローダーの設定マージロジックにおけるバグを修正。mergeResourcesで明示的に列挙されていないリソースフィールド(例:libraryInitializers)がマージ時に失われていた問題を解決。新しい実装では、明示的な処理が不要なフィールドも含めてすべてのリソースプロパティが保持されるようになります。
@Copilot ・ GitHub ・ area-System.Net
WebSocket例外の診断品質を向上させるPRです。無効なUTF-8テキストメッセージ受信、不正なクローズステータスコード/説明などのエラーケースで、単なる「Aborted state」というジェネリックなメッセージではなく、シナリオ固有の情報的なエラーメッセージを含むWebSocketExceptionをスローするようになりました。
従来の動作:
System.Net.WebSockets.WebSocketException (0x80004005): An exception caused the WebSocket to enter the Aborted state. Please see the InnerException, if present, for more details.
(InnerExceptionなし)
続きを読む
@rcj1 ・ GitHub ・ area-Diagnostics-coreclr
cDACのEdit-and-Continue(EnC)サポートを拡張し、GetEnCHangingFieldInfo機能を完全に実装するPRです。新しいIRuntimeMutableTypeSystem APIを通じて、EnC追加フィールドのストレージロケーション(静的フィールド・インスタンスフィールド)の特定と、フィールド修正の必要性判定をサポートします。
新しいAPI:
bool DoesEnCFieldDescNeedFixup(TargetPointer encFieldDescPointer);
TargetPointer GetEnCStaticFieldDataAddress(TargetPointer encFieldDescPointer);
TargetPointer GetEnCInstanceFieldAddress(TargetPointer objectAddress, TargetPointer encFieldDescPointer);
続きを読む
@MichalStrehovsky ・ GitHub ・ os-android area-NativeAOT-coreclr
NativeAOT Smoke TestsのAndroidプラットフォーム対応改善。UnmanagedCallersOnlyAssociatedSourceTypeテストがAndroid環境で失敗するため、プラットフォーム固有の早期終了処理を追加し、追跡中の問題へのリンクを含めました。
@tommcdon ・ GitHub ・ area-Diagnostics-coreclr
PR #128479で導入された管理対象戻り値のネイティブ変数エミッションにおいて、浮動小数点戻り値の場合にstoreVariableInRegisters(REG_FLOATRET, REG_NA)を使用していたが、これは整数レジスタを示すVLT_REGを設定してしまい、デバッガが整数レジスタでの読み込みに失敗する問題を修正します。
修正内容として、VLT_REG_FPを使用し0ベースのFPレジスタインデックス(REG_FLOATRET - REG_FP_FIRST)をエンコードすることで、デバッガのVLT_REG_FPハンドラが正しくREGISTER_AMD64_XMM0を加算してCorDebugRegisterに変換できるようにしました。
続きを読む
@MichalStrehovsky ・ GitHub ・ area-NativeAOT-coreclr
Windows NativeAOT ビルド統合で Visual Studio 検出をキャッシュ化する変更。vswhere.exe を使用して Visual Studio インストール路とバージョンを検証し、vcvarsall.bat の出力(ツールディレクトリと LIB パス)をキャッシュして、再ビルド時の再検出を回避する。
@kotlarmilos ・ GitHub ・ area-Infrastructure-mono
.NET 11移行に伴う、モバイルランタイムのCI設定更新です。MonoのAndroid/iOS/tvOSモバイルテストレグをランタイムCI パイプラインから削除し、WebAssembly MonoおよびCoreClR/NativeAOTのモバイルレグは維持されます。また、SDK検証用に一時的にglobal.jsonをプレビューSDKにピンし、NuGet.configにgeneral-testingフィードを追加しています。
続きを読む
@MichalStrehovsky ・ GitHub ・ area-NativeAOT-coreclr
正規型(canonical types)である__Canonと__UniversalCanonをジェネリック制約チェック時に正しく処理するため、キャスティングロジックと制約検証ロジックを更新しました。本変更により、NativeAOT/CoreCLRの共有TypeSystemが制約チェック時に__Canonを適切に扱え、リフレクションによるジェネリック型のインスタンス化がAOT/トリミング下で正しく保持されるようになります。
続きを読む
@eduardo-vp ・ GitHub ・ tenet-performance area-VM-coreclr
LoaderHeapの空きリスト(free list)が予期以上に増大し、スレッド競合により複数の冗長なメモリブロックがリストに追加されることで、線形スキャンが非常に遅くなる問題を修正します。サイズ別にバケット化された空きリスト構造を導入し、小さなブロックはO(1)で再利用、大きなブロックのみ線形スキャンするよう改善しました。
パフォーマンス改善実績:
実行時間:91.2秒 → 3.9秒(約95%削減)
メモリ使用量はほぼ同等(114.1MB → 117.5MB)
続きを読む
@eduardo-vp ・ GitHub ・ area-VM-coreclr
スタックトレース生成時にメモリ不足下でCultureInfo.InvariantCultureが未初期化のまま使用されることによるアサーション失敗を修正します。AppDomain起動時にCultureInfoクラス初期化子を事前実行し、スタックトレース生成パスが安全にInvariantCultureにアクセスできるようにします。
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
cDAC(Compact Data Access)のスタックウォーク機能とデバッガー契約を拡張し、ランタイムのhijack-stub検出と recovery機能を追加します。CreateStackWalkの新しいオーバーロード、HRESULT ベースのエラー報告を備えた呼び出し側提供バッファでのコンテキスト取得、および対応する DacDbi スタックウォーク API(作成・削除・設定・取得・アンワインド・チェック)を実装します。
続きを読む
@kotlarmilos ・ GitHub ・ area-CodeGen-Interpreter-coreclr
インタープリタで解釈されるメソッドのManaged Return Value (MRV)サポートを実装し、デバッガがメソッド実行からのステップ処理時に戻り値を表示できるようにします。インタープリタが戻り値を変数ホームスロットに保存することで、デバッガが他の変数ホームと同様にジェネリックに読み出せる仕組みです。
@Copilot ・ GitHub ・ area-System.Threading
DefaultPartitionedRateLimiterのNoopLimiterパーティション(IdleDurationが常にnullを返す)がHeartbeatタイマーで適切に破棄されていなかった問題を修正します。LimiterEntryラッパーを導入して最後のアクセス時刻を追跡し、IdleDurationがnullでも経過時間に基づいて未使用パーティションを削除できるようにしました。
@janvorli ・ GitHub ・ area-GC-coreclr
GCのビルドシステムをリファクタリングし、従来のwrapperファイルモデル(gcwks.cpp/gcsvr.cppおよびgceewks.cpp/gceesvr.cpp)から脱却しました。代わりに共有GC実装ソースを直接WKS/SVRの個別コンパイル単位として構築するよう変更します。新しい共有コンパイルコンテキストヘッダgcinternal.hを導入し、GC、VM、NativeAOT、GCサンプルのビルド構成を更新しました。
続きを読む
@VSadov ・ GitHub ・ area-GC-coreclr
Dependent Handlesのエージング機能を実装し、ガベージコレクション(GC)のパフォーマンスを改善します。従来、Dependent Handlesは世代管理(aging)されず常にGen 0に留まるため、毎回のGCで不要に訪問されていました。本変更により、Dependent Handlesが世代の昇格(aging)とリジュベネーション(若返り)に対応します。これにより、特に古い世代(tenured)のオブジェクトを参照するDependentHandlesの場合、GCのオーバーヘッドが削減されます。
続きを読む
2026年06月17日 (26 PRs) うち Bot 1 件 この日のページ →
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
JIT の optNarrowTree で再配置可能なハンドル定数をナロー化しないように修正するPR。ARM64 NativeAOT で、ポインタサイズのアドレスとして具体化する必要がある値に対して、バックエンドが32ビット命令形式を選択するのを防止します。
@Copilot ・ GitHub ・ area-System.Diagnostics.Process
Process.Run() と Process.RunAsync() の fileName オーバーロードに bool silent = false パラメータを追加し、プロセスの標準入出力をnullデバイスにリダイレクトできるようにしました。これにより、ストリーム処理に伴うデッドロックのリスクなしに、コンソール出力を簡潔に抑制できます。
// 使用例
Process.Run("dotnet", ["restore"], silent: true);
続きを読む
@vcsjones ・ GitHub ・ area-System.Security
OpenSSL 3プロバイダーの複数ロード機能に対応する変更です。単一のOSSL_LIB_CTXに複数のOpenSSLプロバイダーをロード可能にし、新しいマネージド公開APIを追加します。SafeEvpPKeyHandle.OpenKeyFromProviderにIEnumerable<string>型のプロバイダー名リストと、オプションのOpenSSL property queryパラメーターを受け付けるオーバーロードが導入されます。
SafeEvpPKeyHandle.OpenKeyFromProvider(
IEnumerable<string> providerNames,
string keyUri,
string? propertyQuery = null)
続きを読む
@max-charlamb ・ GitHub ・ area-Diagnostics-coreclr
CoreCLRが単一AppDomainモデルに統一されたため、ISOSDacInterfaceのAppDomain関連メソッドが呼び出し元から渡されるAppDomainアドレスパラメータを無視し、代わりに現在のAppDomainを直接取得するように更新されました。これは.NET Framework時代の遺産的パラメータを削除する変更です。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
CoreCLR JITのループ反転(loop inversion)コスト制限を調整し、ループクローニングから利益を得られるループでのループ反転を促進します。特に、IV(帰納変数)のインクリメントが条件ブロックではなくバックエッジソースブロックにある場合を認識し、コスト制限を引き上げることで、反転を可能にし、その後のループクローニングなどの最適化を有効にします。
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
Windows x86でSOS(デバッガ拡張)が!clruやILスタブMethodDescに対してGetCodeHeaderDataを実行した際にUnable to get codeHeader informationエラーが発生する問題を修正しました。x86のGC情報デコーダを既存のStackWalkコンテキストからGCInfoコントラクト下に移動・統合し、x86向けのIGCInfo実装(GCInfoX86_1)を新規実装・登録することで、複数のSOS機能(!clru、GetCodeHeaderData、GetMethodRegionInfo)が正常に機能するようになります。
続きを読む
@vcsjones ・ GitHub ・ area-System.Security
OpenSSL 3のプロバイダーベースの鍵読み込みパスにおいて、OSSL_STORE_INFO_PKEY型の秘密鍵エントリ処理時にOSSL_STORE_INFOメモリが解放されていなかったメモリリークを修正しました。CryptoNative_LoadKeyFromProvider関数でOSSL_STORE_INFO_get1_PKEY()で秘密鍵を抽出した後、OSSL_STORE_INFOを明示的に解放することで対応しています。
続きを読む
@elinor-fung ・ GitHub ・ area-Interop-coreclr
SAFEARRAY を IntPtr/UIntPtr 配列としてマーシャリングする際、ネイティブ要素サイズがポインタサイズより小さい場合にバッファオーバーランが発生する可能性がある問題を修正。要素サイズの不一致を検出して SafeArrayTypeMismatchException をスローするガードを追加しました。
@Kielek ・ GitHub ・ area-System.Diagnostics.Tracing community-contribution
W3C Trace Context Level 2仕様への準拠性を改善するため、W3CPropagatorのtracestateとtraceparentヘッダ処理を更新しました。仕様に従った厳密な検証、正規化、およびフューチャーバージョン対応を実装しています。
@gewarren ・ GitHub ・ area-System.Reflection
System.Reflection.Context.CustomReflectionContextのAPI補足説明をdotnet/docsリポジトリから本体に移動し、XML doc comments内にマークダウン形式の<remarks>と<example>を直接埋め込みます。例はテストプロジェクトのスニペットから参照され、ビルド時に検証されます。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラで、値がGC移動不可であることが証明できるピン留めされたローカル変数を自動的にピン留め解除するデータフロー解析パスを追加しました。特にstackallocで確保されたメモリへのポインタをピン留めするケース(例:fixed (T* p = stackalloc T[N]))に対応し、冗長なピン/アンピン操作をDead Code Eliminationで削除できるようにしています。
@kotlarmilos ・ GitHub ・ os-ios area-CodeGen-Interpreter-coreclr
インタープリタ下で実行されるマネージコード(デバッグ中)がCreateThreadデバッガイベントを送信していなかった問題を修正します。インタープリタが実行するスレッドの初回マネージコード実行時にCreateThreadイベントを直接通知することで、デバッガがICorDebugThreadを確立でき、ローカル変数の表示が可能になります。新しいTSNC_DebuggerThreadStartSentフラグにより、スレッドごとに最大1回のイベント送信に限定します。
続きを読む
@am11 ・ GitHub ・ community-contribution area-NativeAOT-coreclr
Alpine Linuxなどの環境で、GNU toolchainの依存性を排除した純粋なLLVM toolchain(clang + lld + compiler-rt)を使用してNativeAOT バイナリをビルドするための新しいプロパティ UsePureLLVMToolchain を追加しました。この変更により、webapiaot テンプレートで22,592バイトのバイナリサイズ削減が実現します。
使用例:
dotnet publish -p UsePureLLVMToolchain=true
続きを読む
@danmoseley ・ GitHub ・ area-System.DateTime
DateTime.ToString("G", CultureInfo.InvariantCulture)に対するfast pathを追加しました。既存の"o"、"r"、"s"、"u"形式のfast pathと同様に、TryFormatInvariantGを直接利用することで、null/empty形式と同一の高速化パスを提供します。fast pathはoffset.Ticks == NullOffset && ReferenceEquals(dtfi, DateTimeFormatInfo.InvariantInfo)で保護されており、DateTimeOffsetや独自のDateTimeFormatInfoは既存の処理を利用します。
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
xarch JIT の OptimizeConstCompare を拡張し、TYP_BYTE キャストを除去する最適化を実装しました。符号付きバイト比較で不要な符号拡張を回避し、(sbyte)x < -64 などが movsx 命令を使わずにバイトサイズ比較で実行されるようになります。x < 0 / x >= 0 の特殊なコード生成ケースの正確性を保つため、const == 0 かつ GT_LT/GT_GE の場合は最適化をスキップします。
続きを読む
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
JIT コンパイラの範囲チェック最適化を改善するPRです。SSA ベースの TryGetRange メソッドをグローバルアサーション伝播時の条件折り畳みに活用し、Span.Slice チェックなどのより多くのケースを最適化できるようにしました。バイナリサイズは約 1.2MB 削減されています。
@PranavSenthilnathan ・ GitHub ・ area-System.Security
DSAテストスイートを統合し、すべてのDSAテストロジックをSystem.Security.Cryptography.Testsに集約するリファクタリング。従来のSystem.Security.Cryptography.OpenSsl.Tests、System.Security.Cryptography.Csp.Tests、System.Security.Cryptography.Cng.Testsで重複していたテストを排除し、プロバイダー別の派生テストクラスで異なるDSAファクトリ(Default/CNG/CSP/OpenSSL)をテストする構造に変更。
続きを読む
@eduardo-vp ・ GitHub ・ area-NativeAOT-coreclr
Native AOT環境でOutOfMemoryException発生時に、Exception.ToString()が失敗してもメモリ割り当てなしで確実なOOMメッセージをstderrに出力できるようにしました。OOM時にメモリ割り当てができない状況下で、信頼性の高い診断情報を提供します。
@Youssef1313 ・ GitHub ・ area-System.ComponentModel.DataAnnotations
AsyncValidationAttributeのXMLドキュメントコメントに、属性実装者が非同期検証時に単一スレッド実行を前提としてはいけないという明示的な警告を追加しました。並列実行の可能性を明確にして、属性作成者が適切にスレッドセーフな実装を行うよう促します。
@Copilot ・ GitHub ・ area-CodeGen-coreclr
JIT-EE (JIT-VM) インターフェースメソッドの追加に関するスキルドキュメントを更新し、新しいメソッド追加時の位置やソート順序に関する制限がないことを明確化しました。ドキュメントの各ステップで繰り返される「特定位置への追加」という指示を削除し、実装ステップセクションの最上部に単一のNOTEを追加することで、位置やソート順は任意であることを明記しています。
@mmitche ・ GitHub ・ area-Infrastructure-libraries
スケジュール実行時のouterloopパイプラインが、Helixテスト失敗により不必要に再キューされる問題を修正します。always: falseトリガーはAzDoが最後の成功実行以降の変更がある場合のみ新規実行をキューするため、Helixテスト失敗で毎回ビルド失敗状態となり、同一コミットが日々再キューされていました。本修正により、スケジュール実行時のHelixステップでFailOnWorkItemFailureとFailOnTestFailureを無効化し、テスト失敗時も完全成功状態(exit 0)でビルドを終了させます。テスト結果は引き続き可視であり、無駄なHelix作業の再キューを回避できます。
続きを読む
@clamp03 ・ GitHub ・ bug arch-arm32 area-CodeGen-coreclr community-contribution
ARM32アーキテクチャでUSE_HELPERS_FOR_INT_DIVが無効化された場合、ネイティブARM除算命令を使用する際のJITコンパイルエラーを修正しました。また、欠落していたGT_UDIVケース(符号なし整数除算)を追加しています。
@dhartglassMSFT ・ GitHub ・ area-CodeGen-coreclr
JIT最適化関数 fgOptimizeHWIntrinsic において、SIMD HWIntrinsic の ADD(NEG(a), b) => SUB(b, a) 変換時にオペランドの評価順序を安全に入れ替えられるかを確認する gtCanSwapOrder チェックが欠落していた問題を修正します。この欠落により、副作用を持つ式で不正な最適化が発生し、コンパイラアサーション失敗を引き起こしていました。
続きを読む
@AaronRobinsonMSFT ・ GitHub ・ area-System.Runtime.InteropServices
COM Interface Generator に プロパティとインデクサーのサポート を追加します。[GeneratedComInterface] インターフェイスで C# プロパティを宣言でき、各アクセサーが vtable スロットにマッピングされます。これにより、生成される ABI が組み込み COM interop と一致し、より自然な C# インターフェイス設計が可能になります。プロパティ、インデクサー、デフォルト実装メンバー(DIM)のサポートも含まれます。
[GeneratedComInterface]
public partial interface IProperties
{
int IntProperty { get; set; } // getter: slot 3, setter: slot 4
string StringProperty { get; set; }
}
[GeneratedComInterface]
public partial interface IIndexers
{
int this[int i] { get; set; } // indexer also mapped to vtable slots
}
続きを読む
@cshung ・ GitHub ・ area-GC-coreclr community-contribution
GC standalone large pages emulation mode(セグメントパス)でのセグメンテーション違反(segfault)を修正しました。GCLargePages=2(エミュレーションモード)の際、メモリが予約されたままコミットされていなかったため、アクセス時にクラッシュが発生していました。virtual_alloc関数にint large_page_configパラメータを追加し、エミュレーションモードで正しくVirtualReserve + VirtualCommitを実行するように対応しました。
続きを読む
2026年06月16日 (24 PRs) うち Bot 1 件 この日のページ →
@leculver ・ GitHub ・ area-Diagnostics-cdac
cDACにおけるポインタ型フィールドの処理を改善し、OSX上でのテスト失敗を修正しました。IntPtr/UIntPtr型のフィールドが"nint"/"nuint"として報告される場合、これらをポインタとして扱えるよう対応しました。これにより、マネージドコード内のポインタサイズフィールドの読み取りが適切に機能するようになります。
@Copilot ・ GitHub ・ area-Infrastructure
CI Outer-Loop Failure Scanner の重複排除(dedup)精度を向上させ、JIT/GC/PGO コードジェン関連の失敗に対する修正ポリシーを強化するもの。最近クローズされた KBE(Known Build Error)の検索を 2 クエリから 4 クエリ変形に拡張し、タイトル言い換えや整合性フィルタリングを経た前例を捕捉。また、無関係なコード変更によるコードジェン バグ回避を禁止し、所有者への引き継ぎコメントを要求するよう方針を明確化。
続きを読む
@AndyAyersMS ・ GitHub ・ arch-wasm area-CodeGen-coreclr
Wasm R2R コード生成で、retless BBJ_CALLFINALLY がwasm関数/funcletを終了する際に、必要な末尾の end opcode が欠落してモジュール検証エラー(function body must end with end opcode)が発生していた問題を修正します。ブロックが最後のブロックまたはfunclet開始の直前にある場合、unreachable の後に end opcodeを発行するようになります。
続きを読む
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
コンパイル時データアクセス層(cDAC)において、計測済みILオフセットマッピングのサポートを追加し、これをレガシーDacDbiのGetILCodeVersionNodeDataフローに統合する変更です。InstrumentedILOffsetMappingの格納タイプをUINTに統一し、cDACデータディスクリプタとコントラクトAPIを拡張して、デバッガが実行時のILコードバージョン情報にアクセスできるようにします。
続きを読む
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
DAC/DBI API の「アドレス分類」機能を簡略化し、未使用だった GetAddressType/AddressType enum を単一の IsManagedCode ブール値クエリに置き換えました。ネイティブ CoreCLR 側と管理された cDAC レガシー実装、デバッガー DI(Debugging Interface)の両方を新しい API に対応させています。
@vcsjones ・ GitHub ・ area-System.Security
OpenSSL 3.0のOSSL_LIB_CTXコンテキストをプロセス期間中有効に保つように変更しました。従来はスレッド終了時に無効メモリアクセスが発生していましたが、コンテキストとプロバイダーをキャッシュして再利用することで問題を解決しています。これにより、名前付きキー(TPM等)のテストカバレッジも復活させています。
@janvorli ・ GitHub ・ area-CodeGen-Interpreter-coreclr
CoreCLRインタープリタの「catch後の再開(resume after catch)」機能を修正するPRです。ネイティブ例外処理を通じてマネージド例外を正しく処理し、GCがスタック走査を開始する際の参照フレームを確保することで、ControlledExecutionTestsで発生していたAccessViolationエラーを解決します。主な修正は、明示的フレーム削除時にもResumableFrameを追加してGCの起点を提供することです。
続きを読む
@MichalPetryka ・ GitHub ・ area-VM-coreclr community-contribution
CoreCLRにおけるデリゲートレイアウトの最適化。PR #129304に相当するCoreAOTの変更をCoreClrに適用し、デリゲートオブジェクトのメモリレイアウトを改善しています。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
Tier0 JITコンパイラで、ArgumentNullException.ThrowIfNull()が値型のボックス化に対して呼び出される場合の最適化を拡張しました。GT_BOXノードだけでなく、CORINFO_HELP_BOXヘルパー呼び出しとして表現されるボックス化パターンも認識し、不要なnull例外スロー処理を削除します。これにより、Tier0でのThrowIfNull(struct)が余分なアロケーションを行わなくなります。
続きを読む
@AndyAyersMS ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssembly R2R(Ready-to-Run)実行時における例外処理後の実行再開(resume after catch)機能を実装しました。try_tableブロックごとに exnref型のラッパーブロックを配置し、キャッチされた例外をfunclet単位の exnrefローカル変数で管理します。また、RtlRestoreContextタグを簡略化(()->())し、try-fault funcletの多重エントリポイント標識を廃止しています。
続きを読む
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
JITの範囲解析における RangeOps::Merge を改善し、PHI引数から範囲をマージする際の境界チェック最適化をより積極的に適用します。例えば [0..1] U [10..10] が [0..10] にマージされるような処理で、コードサイズを最大110k削減します。
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
JIT のコンパイラ最適化において、obj.GetType() の定数畳み込みを改善するPRです。オブジェクトが null である可能性がある場合でも、型が確定していれば定数畳み込みを行い、暗黙的な null チェック例外を VN 例外セットに保持することで NullReferenceException を抑制しません。これにより、不要な呼び出しが削除され、より効率的なコードが生成されます。
string _fld;
Type Foo() => _fld.GetType();
// 修正前:GetType()の呼び出しが残る
// 修正後:型が System.String と確定し、null チェック付きで定数に畳み込まれる
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
JIT ループクローニングの制限を緩和し、ストライド ≥ 58 の配列ループをサポートします。従来は stride < 58 で一律に拒否していましたが、大きなストライドに対しては実行時チェック arr.Length <= INT_MAX - s + 1 を追加することで対応。小さいストライドは暗黙的な Array.MaxLength バウンドで十分なため追加チェックなし。Span の同様の改善(#129309)に基づいています。
続きを読む
@ManickaP ・ GitHub ・ area-System.Net.Http
PR #128940で削除されたnetwork.peer.addressタグをSystem.Net.Http接続レベルのOpenTelemetryメトリクスに復元するリバート変更です。OpenTelemetry仕様の確認により、.NET向けの仕様は安定版であることが判明したため、復元が必要になりました。
@leculver ・ GitHub ・ area-Diagnostics-cdac
cDAC(Common Data Access Component)におけるCollectible Thread-Static変数の処理を修正するPRです。従来、Collectible分岐ではスロットポインタそのものを返していましたが、NonCollectible分岐と同様にOBJECTHANDLEを逆参照して実際のオブジェクトを返すように変更します。これにより、request.cpp内のObjectFromHandleUncheckedの動作と一致させ、clrmdの期待値と揃えます。
続きを読む
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
cDAC(Common Data Access Component)のLegacy実装をリファクタリングし、ランタイムグローバルおよびtypeinfoの直接読み取りを削除。代わりに型付きコントラクトアクセサを経由してルーティングしています。動作は保持されており、各リファクタリングは既存の読み取りを上位層(Legacy)から対応するContracts/*_1実装に移動するのみです。
@sablancoleis ・ GitHub ・ area-Extensions-Caching
MemoryCacheOptions.SizeLimitが設定されている場合、並行的なSet/Get/Remove操作下で内部の_cacheSizeカウンターが負の値にドリフトし、その後のすべてのSetが暗黙的に拒否される重大なバグを修正しました。この問題は.NET 9.0と10.0に影響します。
@adamperlin ・ GitHub ・ area-CodeGen-coreclr
WebAssembly(Wasm32)向けのハードウェア・イントリンシクス(SIMD)サポートをJIT層で有効化する基盤整備PR。FEATURE_SIMDおよびFEATURE_HW_INTRINSICSをWasm向けに有効化し、NYI_WASM_SIMDマクロと新たなJitWasmSimdNyiToR2RUnsupported設定オプションを導入。これにより、実装が進められるまでの間、R2R/crossgenの失敗を防止しながらインフラストラクチャの整備が進行される。
続きを読む
@leculver ・ GitHub ・ area-Diagnostics-cdac
このPRはcDAC(Compact Data Access Contract)のスタック参照列挙機能を拡張し、従来報告されていなかった2つのGCルートソースを追加します:
スレッドのGCFrame(GCPROTECT)チェーンで保護されたオブジェクト
スレッドのExInfoチェーンに保持されたインフライト例外オブジェクト
これにより、IStackWalk.WalkStackReferencesがより完全なGCルート情報を報告できるようになります。
続きを読む
@Copilot ・ GitHub ・ area-System.Net
ManagedWebSocket.ThrowIfInvalidMessageTypeで、無効なWebSocketMessageType値に対するArgumentExceptionメッセージが常に"Close"をハードコードしていた問題を修正しました。実際に渡されたmessageType値(未定義の列挙値を含む)がエラーメッセージに正確に反映されるようになります。
// 修正前: 常に "Close" を報告
// 修正後: 実際の messageType 値を報告
throw new ArgumentException(SR.Format(
SR.net_WebSockets_Argument_InvalidMessageType,
messageType, nameof(SendAsync), nameof(WebSocketMessageType.Binary),
nameof(WebSocketMessageType.Text), nameof(CloseOutputAsync)),
paramName);
続きを読む
@kg ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssembly (Wasm) RyuJIT コンパイラにおいて、GC参照/byref値がWasmシャドウスタック上に一時的に置かれ、GCに見えない状態でGCホール(GC holes)が発生する問題を修正します。新しいIRノード GT_WASM_SPILL_REF と専用パス WasmSpillRefs を導入し、ライブなref/byref値を専用のピンド(pinned)ローカル変数にスピルすることで、GCが参照を追跡できるようにします。
続きを読む
@kotlarmilos ・ GitHub ・ area-Infrastructure-coreclr linkable-framework os-ios
macCatalyst-arm64 CoreCLR環境でILLinkがxUnitの[MemberData]属性により参照される継承された静的フィールドを削除してしまう問題を修正します。[DynamicDependency]属性を追加して基本クラスの静的メンバーを保護し、トリミング時のメンバーデータ検出失敗を防ぎます。
@Copilot ・ GitHub ・ area-Infrastructure-coreclr os-ios
Apple モバイルプラットフォーム(tvOS arm64、iOS Simulator arm64、macCatalyst arm64)向けの Debug CoreCLR ライブラリスモークテストジョブを Azure Pipelines で再有効化します。これまでコメントアウトされていたジョブをコマンドから外し、テストカバレッジを復元するものです。
2026年06月15日 (19 PRs) うち Bot 4 件 この日のページ →
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
R2R直接呼び出しターゲットの読み込みを非フォルティングとしてマークするJIT最適化。LowerDirectCallで導入される2つのインダイレクション(IAT_PVALUEおよびWASM PEPローカル)によるメモリ読み込みは、nullでないことが保証されているため、GTF_IND_NONFAULTINGフラグを付与することで、後続のJITフェーズがこれらをフォルティング操作として扱わないようにします。
続きを読む
@sbomer ・ GitHub ・ area-NativeAOT-coreclr
NativeAOT private libunwind の部分リンク(partial link)時のリンカー選択ロジックを調整しました。CMAKE_LINKER が llvm-link に解決される場合、マッチング版の ld.lld を優先しつつ、利用不可の場合は ld(binutils)にフォールバックする変更です。
@adamperlin ・ GitHub ・ area-CodeGen-coreclr
WebAssembly RyuJIT コードジェネレータにおいて、シフト演算の左オペランド(シフト量)の型チェック時に、より小さい整数型(TYP_USHORTなど)が TYP_INT に変換される場合を正しく処理するようデバッグアサーションを修正します。従来は厳密に TYP_INT 型を要求していましたが、genActualType() を使用して実際の型をチェックするように改善しました。
@am11 ・ GitHub ・ area-PAL-coreclr os-SunOS community-contribution
illumos-x64プラットフォームでのGCC 13およびClang/LLVMツールチェーンでのビルド失敗を修正します。Solaris GCC 13での既定ビルド失敗に対応し、LLVM assembler(llvm-mc)とLLVMリンカー(lld)の上流で報告されたイシューに対するワークアラウンドを実装します。修正後、Azure Linux cross環境でのClangビルドがFreeBSD、OpenBSD、Haikuなど他のプラットフォームと同様に成功するようになります。
続きを読む
@steveisok ・ GitHub ・ NO-SQUASH Servicing-approved area-codeflow
release/9.0-stagingブランチからrelease/9.0への定期的なフォワードマージです。依存関係のバージョン更新、CI パイプラインの調整、グローバライゼーション関連のテスト調整が含まれています。マージにはコンフリクトがありません。
@steveisok ・ GitHub ・ NO-SQUASH Servicing-approved area-codeflow
release/8.0-stagingからrelease/8.0への定期的なマージです。主な変更は、JITループ・ホイスティング機能の修正、関連するリグレッションテストの追加、およびテスト・インフラストラクチャの更新が含まれています。
@kotlarmilos ・ GitHub ・ area-Infrastructure
Build Analysis の対象に外部ループ (outer-loop) AzDO パイプライン定義を追加し、JIT/GC ストレステスト、PGO、SuperPMI、インタープリタ、診断など複数のパイプラインの失敗を Known Build Errors (KBE) で分類・除外できるようにします。これにより、PR CI における外部ループパイプラインの失敗を適切に処理できるようになります。
@kotlarmilos ・ GitHub ・ area-Infrastructure linkable-framework os-ios
Apple CoreCLR モバイルテストスイートの3つの既知の失敗をテストスキップで対応し、1つをトリマー設定で修正しました。Moq の RefEmit コード生成、FMA による浮動小数点演算の誤差、トリミング後のアセンブリ解決の問題に対処しています。
@am11 ・ GitHub ・ arch-arm32 area-Infrastructure-libraries os-freebsd arch-x64 os-SunOS community-contribution os-openbsd
LibraryImportGenerator.Tests をBSD/SunOS プラットフォーム上で有効にするための変更です。ブートストラップテストビルドで動作するよう、toolchain.cmake のツールチェーン設定を修正し、DNNE プロジェクトが規約に従ってターゲット三連符(target-triplet)を設定できるようにしています。
@davidwrighton ・ GitHub ・ Servicing-approved area-VM-coreclr
PerfMap生成時のデッドロック問題を修正するバックポート(#129021からrelease/10.0へ)。PerfMapのロック(PerfMap::s_csPerfMap)をCRST_UNSAFE_ANYMODEに変更し、GCモード切り替え時のロック順序によるデッドロックを防止します。また、スタブロギングを無効化する環境変数(DOTNET_PerfMapGranularity=4)を追加し、問題を回避できるようにしています。
続きを読む
@AndyAyersMS ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssembly上のRyuJIT JITコンパイラでネイティブなwasm高速末尾呼び出し(fast tail calls)を有効化するPRです。明示的な末尾呼び出しがreturn_call/return_call_indirectに低レベル化されるようになり、SP引数にタグを付けてコード生成で影プロローグ調整を取り消し、呼び出し先が正しい影スタックポインタを受け取るようにします。暗黙的な末尾呼び出しは現在のところ通常の呼び出しのままです。
続きを読む
@MichalStrehovsky ・ GitHub ・ area-CodeGen-coreclr
NativeAOT JIT インターフェースハンドルから、デバッグ専用の高ビットタグを削除し、タグビットが保持されないターゲット上での有効なハンドル拒否を防ぎます。また、既存テストから NativeAOT 回避措置を削除して、影響を受けた回帰テストカバレッジを再有効化します。
クロスターゲットシナリオ(例:64ビットホストが32ビットターゲットをコンパイル)において、ハンドル値がホストポインタサイズとして処理されるよう RyuJIT の定数/ハンドルパイピングを調整し、定数インポート/伝播時の上位ビット切り詰めを回避して不正な定数畳み込みを防止します。
続きを読む
@maximmenshikov ・ GitHub ・ area-VM-coreclr community-contribution arch-riscv
RISC-V 64ビット環境でRhpInterfaceDispatchSlowの引数が破損する問題を修正しました。tail疑似命令の展開時にt1レジスタが使用され、ターゲット関数のパラメータが上書きされていたため、アドレス計算用に別のスクラッチレジスタを使用するよう変更しました。
@Copilot ・ GitHub ・ area-System.Reflection.Metadata
InstructionEncoderの長形式ローカル/引数命令(ldloc、stloc、ldloca、ldarg、ldarga、starg)がECMA-335に違反して4バイトのint32オペランドを出力していた問題を修正。これらの命令は2バイトのushortオペランドを使用すべきです。例えば、StoreLocal(256)はFE 0E 00 01 00 00(6バイト)ではなくFE 0E 00 01(4バイト)を出力すべきものでした。
続きを読む
@stephentoub ・ GitHub ・ area-skills
dotnet/runtimeリポジトリのAIエージェント向けコードレビューワークフローの更新と、AI生成コンテンツの開示テキストの標準化。ワークフロートリガーをslash_command(/code-reviewコメント)に変更し、手動トリガー、タイムアウト延長、同時実行制御、空PRガード機能を追加。複数のスキルおよびcopilot-instructions.md全体でAI開示表記を統一。
2026年06月14日 (6 PRs) この日のページ →
@pavelsavara ・ GitHub ・ arch-wasm area-Build-mono os-browser
このPRは、Emscripten 5.0.6/LLVM 23へのツールチェーンバージョンアップに依存しない WASM関連の独立した変更をまとめたものです。ブラウザテスト環境の更新、ランタイムのキープアライブ参照カウント修正、およびWASM_BIGINTに関連するビルド動作の調整を含みます。
@AndyAyersMS ・ GitHub ・ area-crossgen2-coreclr
Wasm インタプリタから R2R へのthunk引数順序を修正するパッチです。従来はretbufがthisの前に配置されていましたが、JIT(lvaInitArgs)と逆方向thunk(WasmR2RToInterpreterThunk)の期待値に合わせて、thisをretbufの前に配置するよう変更します。これにより、構造体戻り値を持つSynchronized メソッドでのNRE/pMT->Validateアサート失敗を解決します。
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラのxarchプラットフォーム向けフラグ設定分類を修正しました。ROL/ROR(ローテート)命令はZeroFlag(ZF)を更新しないにもかかわらず、シフト命令グループに分類されていたため、ゼロ比較の最適化時に古いZFをブランチが消費する問題を修正しています。
@pavelsavara ・ GitHub ・ arch-wasm area-System.Globalization os-browser
WebAssembly上のCoreCLR環境において、InvariantGlobalizationフラグが有効な場合にICU/グローバリゼーションモジュールをリンク対象から除外する機能を追加します。この変更により、不要なモジュールを含めないことでバイナリサイズを削減し、WebAssembly アプリケーションの最適化を実現します。
@max-charlamb ・ GitHub ・ area-Diagnostics-coreclr
cDAC(compact Data Access Component)診断パイプラインのリファクタリングとビルド修正を行うPRです。主な変更は:
runtime-diagnostics.ymlパイプラインを再構成し、プラットフォーム間で共有ビルドを活用して重複を削減
DataGeneratorTests のコンパイル失敗を修正(ReadNInt抽象メソッドの実装不足)
StackWalk データコントラクトドキュメントのクリーンアップ
続きを読む
@pavelsavara ・ GitHub ・ arch-wasm area-System.Globalization os-browser
CoreCLR WebAssembly ブラウザローダーが applicationCulture を ICU シャードの選択にのみ使用していた問題を修正しました。LANG 環境変数を "<applicationCulture>.UTF-8" に設定することで、ランタイムのデフォルトロケールが applicationCulture と一致するようになり、Mono の実装に合わせます。これにより、非デフォルトカルチャで起動した Blazor WebAssembly アプリケーションで発生していた InvalidOperationException ("culture change is not supported") が解決されます。
if (culture && loaderConfig.environmentVariables!["LANG"] === undefined) {
loaderConfig.environmentVariables!["LANG"] = `${culture}.UTF-8`;
}
続きを読む
2026年06月13日 (9 PRs) この日のページ →
@Copilot ・ GitHub ・ area-System.Security
Marinerはサポート終了したAzure Linuxの初期コード名であり、このPRではテストインフラストラクチャからすべてのPlatformDetection.IsMariner参照を削除します。レガシープラットフォーム検出ロジックを廃止し、テストスイートを現在サポートされているAzure Linuxの命名規則に整列させます。
@vcsjones ・ GitHub ・ area-System.Security
System.Security.Cryptography と System.Net.Security の名前付きキーテストに ActiveIssue 属性を追加し、メモリ破損の原因と疑われる複数のテストを一時的に無効化してCI安定性を確保するものです。#129339で報告されたセグメンテーション違反/メモリ破損の調査中、これらのテストを無効化することで CI の安定性を維持します。
@jkotas ・ GitHub ・ area-VM-coreclr
PR #128728で導入された「interpreter via native EH による catch後の再開」機能をリバートします。このリバートにより、例外処理の境界動作を以前の状態に戻し、interpreter の再開メカニズムを調整します。修正対象は Issue #129270 です。
@pavelsavara ・ GitHub ・ arch-wasm area-System.Runtime.InteropServices.JavaScript os-browser
Browser環境でJS相互運用を使用しないアプリケーション/テストにおいて、DOTNET_INTEROPを硬直的なリンク時依存関係から解放し、IL trimming時にSystemInteropJS_*マネージドエクスポートを削除できるようにします。これにより、JS interopを使用しないアプリケーションのバンドルサイズを削減できます。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
JITのforward-substitution最適化を拡張して、複数の使用サイトで「安価なアドレス一時変数」を置き換えられるようにしました。これにより、フィールド更新用のdup-spill一時変数がLowering段階でのアドレスモード格納をブロックしなくなります。また、FIELD_ADDRチェーンをはぎ取る処理をgtPeelFieldAddrsヘルパー関数として共通化し、複数の呼び出し元で再利用しています。
続きを読む
@MichalPetryka ・ GitHub ・ community-contribution area-NativeAOT-coreclr
NativeAOT環境におけるデリゲート呼び出しのパフォーマンス最適化です。デリゲート呼び出しに使用される2つのフィールドをメモリレイアウト上で隣接配置することで、キャッシュラインの分割を減らし、ARM64でのコード生成効率を向上させます。特にARM64ではldp(ペアロード)命令の利用が可能になり、命令数削減につながります。
@akoeplinger ・ GitHub ・ area-Infrastructure
macOS Helix キュー参照のバージョンアップと集約化。ハードコードされていた macOS Helix キュー名を、集中管理されている eng/pipelines/helix-platforms.yml の共有変数 $(helix_macos_*) に統一し、最新の macOS バージョンへ自動的に追従する変更です。
@davidwrighton ・ GitHub ・ area-VM-coreclr
WebAssembly ReadyToRun(R2R)シナリオにおける例外処理(EH)のランタイムおよびJIT対応を実装するインフラストラクチャを追加するPRです。新しいWasm例外タグ__coreclr_wasm_rtlrestorecontext_tagを導入し、ランタイム・JIT・ホスト全体でリロケーション処理とコンテキスト復元メカニズムをサポートします。現在、finallyブロックとcatchブロック本体は動作確認済みですが、catch後のresumeは追加のJIT変更が必要です。
続きを読む
@gewarren ・ GitHub ・ area-System.Text.RegularExpressions
dotnet-api-docsリポジトリから補足的なAPI remarks(備考)をdotnet/runtimeリポジトリに戻す移行作業です。このPRでは、System.Text.RegularExpressions.Regex.Matchクラスの remarks をXMLドキュメントコメント(///)に統合しています。
2026年06月12日 (33 PRs) うち Bot 6 件 この日のページ →
@vcsjones ・ GitHub ・ area-System.Security
X25519のOpenSSL実装における2つの重要な修正。
OpenSSL 1.1.1での秘密鍵検出ロジックを修正。従来のNULLバッファを使用した検出方法がOpenSSL 1.1.1で誤った結果を返すため、実サイズのバッファで検出し、その後メモリをクリア(cleanse)する実装に変更。
X25519DiffieHellmanOpenSsl.DeriveRawSecretAgreementCoreで_hasPrivateチェックを廃止。外部ハンドルから得られたキーの場合、秘密鍵のエクスポート可否は不明なため、OpenSSLプロバイダーに検証を委ねる設計に変更。PKCS#8および秘密鍵エクスポート時のチェックは継続。
続きを読む
@vcsjones ・ GitHub ・ area-System.Security
ネイティブ暗号化OpenSSL相互運用層のプリプロセッサガーディングを修正。#ifを#ifdefに変更して、未定義のFEATURE_DISTRO_AGNOSTIC_SSLマクロへの参照によるコンパイルエラーを防止します。また、末尾の不要な空白行を削除。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
JIT ループクローニングを拡張し、ストライド > 1 の Span<T> ループの最適化を可能にします。また、ループリミットから定数オフセットを分離する機能を追加し、for (int i = 0; i < span.Length - K; i += K) のようなパターンのクローニング対象化を実現します。ストライド > 1 の増加ループには limit <= INT_MAX - s + 1 の実行時オーバーフロー保護ガードを追加します。
// クローニング可能になったループパターン例
for (int i = 0; i < span.Length - K; i += K) { ... }
for (int i = 0; i < span.Length; i += 2) { ... }
for (int i = 0; i < span.Length; i += 3) { ... }
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
Wasm EH(例外処理)フローの変換処理における2つのO(N²)パターンを排除し、スケーラビリティを改善しました。数千の相互保護キャッチを共有する単一のdispatching tryを持つメソッド(例:b28158.il、約16,700キャッチ)で顕著なパフォーマンス低下が発生していた問題に対応します。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
JITのループ境界チェック削除(BCE)を拡張し、i != bound形式のループ条件から生成されるアサーション(equality/inequality assertions)を活用して、ループクローニングの対象外となるループでも範囲チェックを削除できるようにします。optCreateJTrueBoundsAssertionを拡張してチェック済み境界に対するEQ/NE比較のアサーションを生成し、RangeCheck::MergeAssertionでそれらを使用して変数の範囲を厳密化します。
続きを読む
@tommcdon ・ GitHub ・ area-Diagnostics-coreclr
DAC(デバッガ向けデータアクセス)モードで Array::GetDirectPointerToNonObjectElements() が誤ったアドレスを返していた回帰を修正します。DAC モードでは m_Array がホストアドレスを返しますが、PTR_KIND はターゲットアドレスを必要とします。PR #128961 による変更でこの問題が発生し、デバッガによる例外スタックトレース・ConditionalWeakTable・スタックフレームヘルパー配列の検査が破損していました。
続きを読む
@mthalman ・ GitHub ・ area-Setup
.NET分布パッケージングガイドラインに従い、dnxディスパッチャースクリプトをdotnet-hostパッケージに移行します。従来はdotnet/sdkのLinux SDKパッケージから配布されていたため、Canonicalのdotnet-hostパッケージがインストールされた環境でdpkgファイル競合が発生していました。このPRは対応するdotnet/sdkの変更と共に配布される必要があります。
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラの範囲チェック最適化を整理するリファクタリングです。ノード単位のOverflowMapキャッシュを削除し、Winden()呼び出しをTryGetRangeに統合することで処理を簡潔化します。また、a[a.Length - cns]とa[X u% a.Length]のバウンズチェック高速パスをRangeCheck::OptimizeRangeCheckからoptAssertionProp_BndsChkに移動し、GetRangeWorkerの不正な使用に関する正確性の問題を解決します。
続きを読む
@BrzVlad ・ GitHub ・ area-CodeGen-Interpreter-coreclr
#128728 後の回帰修正。インタープリタモード1でRethrowAfterCatchExceptionがJITフレームを通過する際に処理されず、terminate called after throwing an instance of 'ResumeAfterCatchException'エラーで失敗していた問題に対応。インタープリタ実行ループに例外を適切に伝播させるため、マネージド・ネイティブ境界でRethrowAfterCatchExceptionをキャッチして再スローする処理を追加。
続きを読む
@Copilot ・ GitHub ・ area-CodeGen-coreclr
JIT コンパイラの GenTreeIntCon ノード(整数定数を表す AST ノード)の全フィールドを private に変更し、アクセサメソッドを介してすべての読み取り/書き込みをルーティングします。これにより、定数ノードの変更を一元的に追跡/デバッグできるようになります。動作上の変更はなし。
@pavelsavara ・ GitHub ・ arch-wasm area-System.Globalization os-browser
WebAssembly(WASM)ビルドにおいて、InvariantGlobalization=trueが設定されている場合でも、CoreCLRのランタイムパックから国際化(ICU)関連の静的アーカイブを常にリンクするようにしました。これにより、生成されるGlobalizationNative_* P/Invoke参照のリンク時の未定義シンボルエラーを回避します。
@ViveliDuCh ・ GitHub ・ area-Extensions-Options
Microsoft.Extensions.Options.DataAnnotations ブリッジに非同期検証サポートを追加し、DataAnnotationValidateOptions<TOptions> が .NET 11+ で async オプション検証パイプラインに参加できるようにします。ValidateAsync メソッドは同期の Validate() と同じ再帰的な処理を行いつつ、Validator.TryValidateObjectAsync を使用して同期属性と AsyncValidationAttribute の両方を評価します。
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラのoptNarrowTreeCAST最適化ケースを修正し、ULONGとLONG型を同等に扱えるようにしました。これにより、キャスト操作の最適化がより広い範囲の整数型に対して正しく機能するようになります。
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
cDACコントラクトと従来のDAC/DBIブリッジを拡張し、オブジェクトとTypedByRefの検査APIをサポートしました。新しいAPI GetStringData()、GetSize()、GetTypedByRefInfo() を追加し、デバッガ側のオブジェクトデータ構造を DebuggerIPCE_ObjectData から DacDbiObjectData にリファクタリングしました。
void GetStringData(TargetPointer address, out uint length, out uint offsetToFirstChar);
ulong GetSize(TargetPointer address);
TypedByRefInfo GetTypedByRefInfo(TargetPointer typedByRef);
続きを読む
@tmds ・ GitHub ・ area-System.IO
Unix環境のFileStreamにおいて、ターミナルデバイス(シリアルポートなど)をオープンする際にO_NOCTTYフラグを追加し、デバイスがプロセスの制御ターミナルになることを防ぎます。このフラグがない場合、制御ターミナルを持たないプロセスでターミナルデバイスをオープンするとそれが制御ターミナルになり、デバイスが切断されたときに予期しないSIGHUPシグナルが送信されてプロセスが異常終了する問題が発生していました。
続きを読む
@alinpahontu2912 ・ GitHub ・ area-System.Formats.Tar
System.Formats.Tarライブラリにおいて、ArrayPoolから借り受けたバッファがtry/finallyブロックで確実に返却されるように修正しました。これにより、例外発生時にもバッファリークが発生しないようになります。
@adamperlin ・ GitHub ・ area-crossgen2-coreclr
WebAssembly 32ビット(Wasm32)アーキテクチャに対するISA定義を追加し、WasmBase、PackedSimd、Vector128の3つのISAを導入します。現段階ではSIMDサポート機能の実装はまだ行われず、将来のSIMD対応作業への基盤整備です。JIT/EEインターフェースの仕様変更に伴いGUIDが更新されています。
@VSadov ・ GitHub ・ area-System.Threading tenet-performance
Monitor.Wait/Pulse/PulseAllの実装をConditionalWeakTableから削除し、LockにConditionを直接関連付けることで最適化するもの。ManualResetEventSlimがMonitor.Waitを使用して実装されており、Task待機シナリオで頻繁に使用される際の問題を解決します。主な課題は、ConditionalWeakTableの使用により:
従属ハンドルがGC回の全体に影響を与える
テーブル全体のロック取得がコア数が多い環境で競合する
可能な限りConditionalWeakTableを避け、Lock内にConditionを直接格納する設計に変更。
続きを読む
@jtschuster ・ GitHub ・ area-ReadyToRun
CoreCLR AOT ツール(crossgen2/ilc)のイメージ生成時に、メモリ上の完全なイメージコピーを作成する代わりに、既存のストリームを使用してチェックサムを計算してから最終イメージにチェックサム reloc を出力するように改善しました。これにより大規模なメモリ割り当てを回避し、32ビット CI で発生していた OOM(メモリ不足)を防ぎます。
@dotnet-bot ・ GitHub ・ area-Infrastructure-libraries
OneLocBuildタスクによる自動チェックインPRです。System.Text.Json.genのリソースファイル(.xlf形式)の多言語翻訳内容を更新します。翻訳パイプラインから返却された翻訳ファイルを一括チェックインする定期的なメンテナンスです。
@sbomer ・ GitHub ・ area-NativeAOT-coreclr
NativeAOT ランタイムにおいて、libunwind シンボルの衝突を防ぐため、in-tree llvm-libunwind ソースを単一の再配置可能オブジェクトにビルドし、その定義されたグローバルシンボルをローカライズ(非公開化)する変更です。これにより、外部 libunwind とのリンク時の競合を回避します。
@Copilot ・ GitHub ・ area-Host
corehost の C++ から C への移行の一環として、hostmisc の trace と fx_ver モジュールを C に変換し、PAL/utils を C から呼び出し可能な形に再編成しました。trace.cpp を trace.c に置き換え、SemVer パーサーを C 実装に移行しながら、既存の C++ 呼び出し元向けのインライン互換層を提供します。CMake の更新で minipal を host バイナリにリンクしています。
続きを読む
@Copilot ・ GitHub ・ area-System.Threading
Windows ARM64でのPGOストレステスト中にPackPosTestとPackPosTest1でレース条件が発生し、IO完了コールバック内のEventWaitHandle.Set()でIOException: The handle is invalidが間欠的に発生していた問題を修正します。
GCがアンマネージドポインタを追跡できないため、helper.Wait()から戻った後にJITがhelperをデッドと判定し、ファイナライザが2番目のコールバック実行前にManualResetEventハンドルをクローズしていました。修正ではhelper.Wait()後にGC.KeepAlive(helper)を追加し、マネージドライフタイムをコールバックチェーン全体に延長します。
Assert.True(ThreadPool.UnsafeQueueNativeOverlapped(nativeOverlapped));
Assert.True(helper.Wait());
GC.KeepAlive(helper); // prevent finalization before second IOCP callback fires
続きを読む
@Copilot ・ GitHub ・ area-System.IO tenet-performance
非同期ファイルハンドル(FILE_FLAG_OVERLAPPED)での同期I/O実行時、RandomAccess.Windows.csのIOCP(I/O Completion Port)コールバック経由のアプローチを廃止。OVERLAPPED構造体のhEvent低位ビットを設定してIOCP完了キューイングを抑制し、シンプルなManualResetEventベースのアプローチに変更。これにより複雑性と割り当てが削減され、エラーハンドリングと例外待機パスの正確性が向上し、同期オーバー非同期パスのハンドル生存期間安全性が強化される。
続きを読む
@Copilot ・ GitHub ・ area-Setup
PackageOverrides.txtに欠落していたメタパッケージ、RIDセレクタパッケージ、ネイティブのみのパッケージを追加します。このファイルは共有フレームワークのNuGet枝刈りデータを定義します。旧TFM(netcoreapp1.0/1.1、netstandard1.6/2.0)の依存関係グラフに含まれるが、マネージドバイナリを持たないパッケージ27個を新たに登録します。
@pavelsavara ・ GitHub ・ arch-wasm area-System.Diagnostics os-browser
このPRは、単一スレッドのブラウザ/WASI環境でのCoreeCLRインタープリタに対して、2つのWASMプロファイリング機能を追加します:
EventPipe CPU サンプリングプロファイラー — dotnet-traceや JS collectCpuSamples APIで利用可能な.nettrace形式のCPUサンプルを生成する協調型シングルスレッドサンプリングプロファイラー
ブラウザDevTools プロファイラー — performance.measure()呼び出しを発行し、ブラウザのパフォーマンスタブでマネージドメソッド実行がネストされたフレームチャートとして表示される
両機能はDOTNET_WasmPerformanceInstrumentationメソッドセットフィルタで選択可能で、既存のWasmPerformanceInstrumentation MSBuildプロパティ(CoreCLR互換構文)を通じて有効化されます。
続きを読む
@jonathandavies-arm ・ GitHub ・ area-CodeGen-coreclr community-contribution
ARM64アーキテクチャにおいて、ビット領域の挿入・抽出を効率化するBFI(Bit Field Insert)およびBFX(Bit Field Extract)命令のサポートを追加しました。JITコンパイラの最適化レイヤーで、ビットパッキング・アンパッキングパターンを認識して、これらの専用命令に変換します。
BFI使用例:
return (a & 0xf) | ((b & 0x3) << 4); // 複数値を整数に詰め込む
BFX使用例:
return (x >> 5) & 0x1F; // 連続ビット範囲を抽出
続きを読む
2026年06月11日 (23 PRs) うち Bot 3 件 この日のページ →
@leculver ・ GitHub ・ area-Diagnostics-cdac
cDAC(Compact Data Access Component)の GetObjectStringData 実装をレガシーDAC(ClrDataAccess)の動作と一致させるもの。レガシーDAC では、有効な文字列に対して出力バッファなし(stringData == null または count == 0)で呼び出された場合、必要なバッファサイズを *pNeeded に格納しつつ E_INVALIDARG を返すが、cDAC は S_OK を返していた。cDAC の戻り値を E_INVALIDARG に修正し、HResult パリティアサーションの失敗を防ぐ。
続きを読む
@Kielek ・ GitHub ・ area-System.Diagnostics.Tracing community-contribution
W3C Baggage ヘッダーのパース処理を改善し、不正な形式のエントリを検出した場合に解析全体を中止するのではなく、そのエントリをスキップして後続の有効なエントリの処理を続行するようにしました。これにより、部分的に不正な Baggage ヘッダーでも有効なデータを抽出できるようになります。
@bartonjs ・ GitHub ・ breaking-change needs-breaking-change-doc-created area-System.Formats.Cbor
System.Formats.Cborに最大ネスト深度制限機能を追加。新しいCborReaderOptionsとCborWriterOptions型を導入し、CborReader/CborWriterにMaxDepthプロパティと対応するコンストラクタを追加。リーダーのデフォルトは64、ライターのデフォルトは1000(STJと共通)。MaxDepth==0は「深度なし」を意味する(Utf8JsonReader/Utf8JsonWriterと異なり)。
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラのFlowGraphTryRegions::Buildメソッドにおいて、ブロックを親try領域の祖先に追加する際に、funclet境界を超えないようにする修正です。ハンドラー領域に存在するブロックが外側のtryに誤って含まれるのを防ぎ、Wasm制御フロー最適化でのRPOレイアウト生成時のアサーション失敗を解決します。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
i != end ループ形式での境界チェック除外を実現するJIT最適化の拡張です。従来、i < end / i > end 形式ではループクローニングにより境界チェックが除外されていましたが、i != end 形式ではこの最適化が機能していませんでした。GT_NE演算子をサポートするよう NaturalLoopIterInfo を拡張し、ループクローニング条件生成ロジックを改善することで、!= ループに対しても効果的な境界チェック除外を実現します。
続きを読む
@kotlarmilos ・ GitHub ・ area-Infrastructure
CI/CD ワークフローの Known Build Error (KBE) 検出とフィードバック機構を改善するプルリクエストです。重複検出を強化し、最近クローズされた KBE やラベルなしの人為的報告を捉え、スケジュール実行時のフィードバック送信の堅牢性を向上させます。
@DoctorKrolic ・ GitHub ・ area-System.Net.Sockets community-contribution
Winsock初期化処理の簡略化。Interop.WSAStartup.csにおいて初期化ロジックを単純化し、コードの可読性と保守性を向上させています。
@clamp03 ・ GitHub ・ area-Infrastructure
Tizen ARM ターゲットの ARMEL アーキテクチャ識別を修正するPRです。#127578 の変更後、Tizen ARM ホストを正しく識別し CLR_CMAKE_HOST_ARCH を "armel" に設定することで、必要な SOFTFP ビルドオプションが適切に適用され、ランタイム障害が解決されます。
@AndyAyersMS ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssembly上のRyuJitにおいて、FlowGraphTryRegions::Buildで最上位のcatchretブロック処理を正しく行うように修正しました。これまでcatchretブロックがtryIndexを持たない場合(外側のcatchなど)、そのcatchretが関連するtry領域をランタイム再開必須としてマークしていませんでした。また、try領域を部分的に含むループのwasm-interval長を拡張し、throw helperを含めるようにし、overflow helper関数の呼び出しで渡される余分な引数の問題も修正しています。
続きを読む
@vseanreesermsft ・ GitHub ・ Servicing-approved area-System.Formats.Tar
release/8.0の内部変更をマージするPRです。主な改善として、(1) ByValTStrによる固定サイズANSI文字列マーシャリング(NativeAOT対応)の安全性向上、(2) シンボリックリンクを経由したディレクトリトラバーサル攻撃を防ぐためのtar抽出パス検証の強化が含まれます。
@vseanreesermsft ・ GitHub ・ Servicing-approved area-System.Formats.Tar
release/9.0の内部変更をマージするPRです。Tar抽出時のパス安全性を強化(シンリンクチェーン走査対策を含む)し、NativeAOT ANSI固定バッファ(ByValTStr)文字列マーシャリングをCoreCLRの動作に合わせて調整しています。
@mangod9 ・ GitHub ・ area-Infrastructure
.github/copilot-instructions.mdからcode-reviewエージェントの除外設定を削除し、デフォルトのCopilot Code Review(CCR)エージェントがカスタマイズされたレビュースキルを使用できるようにする変更です。
@BoyBaykiller ・ GitHub ・ area-CodeGen-coreclr community-contribution
JITのtail-merge最適化フェーズで空のブロック(empty blocks)が生成されないようにします。これにより、ダウンストリームフェーズが空のブロックの位置に依存して予期しない性能低下(regressions)が発生する問題を回避します。「optimize control flow」フェーズが先行して空のブロックを削除しているため、tail-mergeでも同様に空のブロックを生成しないことで一貫性を保ちます。
続きを読む
@am11 ・ GitHub ・ area-VM-coreclr port community-contribution os-openbsd
OpenBSD上での.NETランタイムのブートストラップビルドを有効にするためのポートです。CMakeビルド設定、PAL(Platform Abstraction Layer)、ネイティブAOT関連のコンポーネントに対して、OpenBSD固有の条件分岐やコンテキスト処理を追加します。
@jtschuster ・ GitHub ・ area-ReadyToRun
Composite Ready-to-Run イメージにおいて、マニフェストアセンブリ MVID テーブルのアラインメントを 1 バイトから 4 バイトに変更し、32-bit ARM での SIGBUS(アラインメント障害)を修正します。CoreCLR ランタイムが MVID テーブルの各エントリを GUID 値として読み込む際に 4 バイトアラインメントが必要ですが、前の ReadOnlyData ノードのサイズによってはテーブルが非 4 バイト境界に配置される可能性がありました。
続きを読む
@tannergooding ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラのGetRangeFromAssertionsを拡張し、int32に収まるTYP_LONG値に対するアサーション基盤の範囲導出を改善します。これにより、シフト演算やその他のVN操作を含むTYP_LONGシナリオに対応し、より多くのバウンズチェック最適化が可能になります。
@liveans ・ GitHub ・ area-System.Net.Security
macOSのSecureTransportにおいて、証明書検証失敗時にTLS alertフレームを明示的にワイヤー上に送信するよう修正しました。これまではWindows/Linux/Androidと異なり、TCPの接続リセットのみでalertを送信していませんでした。RFC 5246 §7.2 / RFC 8446 §6.2に従い、他のプラットフォームとの動作統一を実現します。
@unsafePtr ・ GitHub ・ area-System.Text.Json community-contribution
ReflectionEmitCachingMemberAccessor.CacheのTTL(Time To Live)計測ロジックを、DateTime.UtcNow.Ticksから単調増加するStopwatch.GetTimestamp()に変更します。これによりNTPステップなどの壁時計調整による影響を排除し、キャッシュ削除間隔とスライディング有効期限の計算をより堅牢にします。
@PranavSenthilnathan ・ GitHub ・ area-System.Security
OpenSSL 3.0以降で非推奨のEC_KEYAPIを避け、モダンなEVP_PKEYベースのAPIを優先するよう楕円曲線(EC)暗号化処理を改善しました。OpenSSL 3.0以前では従来のEC_KEYコードパスをフォールバックとして保持します。新しいネイティブAPIはFEATURE_DISTRO_AGNOSTIC_SSLのAPI_EXISTSでガードされています。
@elringus ・ GitHub ・ arch-wasm area-Build-mono community-contribution os-browser
WebAssemblyランタイムのブラウザローダーにおいて、buffer経由で提供されるsymbolsアセットの処理を修正しました。従来はpendingDownloadが事実上必須でしたが、この修正によりbufferでの供給が正常に機能するようになります。同時に、バッファアセットを使用するシナリオの回帰テストを追加しました。
2026年06月10日 (18 PRs) うち Bot 1 件 この日のページ →
@rcj1 ・ GitHub ・ area-Diagnostics-coreclr
cDAC(Compact Diagnostic Access Component)の契約解決処理における IRuntimeMutableTypeSystem のコントラクト名バグを修正しました。CachingContractRegistry / ContractDescriptorTarget が正しくコントラクトを発見できるよう、バージョン照合時に使用するコントラクト名を修正しています。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
ARM64プラットフォームにおいて、シフト演算を含む比較操作(CMP)の遅延レジスタ含有(containment)ロジックを修正しました。従来は比較命令の親ノードの型(常にTYP_INT)からシフト量の最大値を計算していたため、64ビット比較に含まれる32〜63ビットのシフトが含有できず、シフト命令と比較命令が分離されていました。本修正により、シフトノード自身の型を使用して最大シフト量を決定することで、cmp x0, x1, LSL #55 のような最適化された単一命令への含有が可能になります。
続きを読む
@BrzVlad ・ GitHub ・ area-VM-coreclr
ReadyToRun (R2R) コンポジット モード環境下で SystemCoreLibDirectory テストが失敗する問題を解決するため、このテストを CrossGen2/R2R コンパイルから除外します。テストが System.Private.CoreLib.dll をカスタムパスにコピーして検証する際に、R2R コンポジットイメージを参照するようになり、別の場所へのコピー時にR2Rイメージの読み込みが失敗するためです。
続きを読む
@BrzVlad ・ GitHub ・ area-System.Text.Json
System.Text.Jsonのテストスイートにおいて、Monoランタイムで失敗しているテストを[ActiveIssue]属性でスキップするようにしました。このアプローチにより、既知の問題を追跡用のGitHub Issueと紐付けながら、テストの失敗を一時的に無視できます。
@jakobbotsch ・ GitHub ・ area-System.Reflection runtime-async
非デフォルトTaskSchedulerを使用したawait継続パスで不要なメモリアロケーションを削減するリファクタリングです。CoreCLRの非同期継続コードがTaskSchedulerAwaitTaskContinuationインスタンスを割り当てずに直接継続をスケジュール/実行できるようにしながら、既存のインライン実行とキューイングの動作を保持します。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr runtime-async
非同期2(async2)のランタイム非同期変換において、continuation再利用時に戻り値参照をプロアクティブにクリアする変更です。これにより、continuationが再利用される際に結果オブジェクトが意図せず生存し続けることを防ぎます。Async1と同様に、resumption後に待機した呼び出しの戻り値をコピーした後、GC参照をクリアします。
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
rangecheck.cppにおける JIT コンパイラのクリーンアップ。Range Check が assertionprop と重複していた定数インデックス処理を削除し、Array の長さ取得ロジックを修正。従来の SSA ベース GetRangeWorker の不正な利用(DoesOverflow 呼び出し欠落)を VN ベース GetRangeFromAssertions に置き換え、正確性を向上させた。
続きを読む
@alinpahontu2912 ・ GitHub ・ area-System.IO.Compression
System.IO.Compression内のZIP64メタデータ解析を強化し、malformedなZIP64 extra-field値を即座に検出・拒否します。これまでは負の値が後で検出されていましたが、本変更によりパース時に早期終了してInvalidDataExceptionを発生させます。#127990 のフォローアップです。
@dotnet-renovate-bot ・ GitHub ・ area-Infrastructure community-contribution
ビルドツール前提条件用のコンテナイメージダイジェストを自動更新するPR。mcr.microsoft.com/dotnet-buildtools/prereqs イメージの22個のダイジェストが新しいバージョンに更新されています。これはRenovate Botによる自動化された依存関係更新です。
@pavelsavara ・ GitHub ・ arch-wasm area-Build-mono os-wasi
Mono AOT on WASIの有効化と、AOT-トリム済みWASIビルドに必要なテストインフラストラクチャの修正。
WASI起動時にAOTイメージから参照されるアセンブリの遅延読み込みを有効化し、コアlib初期化中の再入可能性による起動時中止を回避します。ビルドパイプライン、テストゲーティング、プラットフォーム検出を適応させ、トリム済みWASIテストレグが正常に動作するようにします。
続きを読む
@barosiak ・ GitHub ・ area-Diagnostics-cdac
EnumerateMonitorEventWaitList APIの実装を、DAC(デバッグアクセスコンポーネント)と cDAC(マネージドDAC)の両方から削除します。基盤となるwaiter-to-thread マッピング(Condition.t_waiterForCurrentThread)がCondition.Wait時にクリアされることで破損していること、および現在このAPIを呼び出すコンシューマーがないことから、E_NOTIMPLを返すように変更します。
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
JIT のループクローニング発見的手法を改善し、ループ本体のブロックを実行頻度で重み付けして費用計算を行うように変更しました。これにより、冷たいブロック(実行頻度の低いブロック)がクローニングの判定に過度に影響するのを防ぎ、ホット化可能な小さな GDV チェックを含むループに対してクローニングがより積極的に適用されるようになります。System.Collections.ContainsTrue<Int32>.ImmutableList で約 7% のパフォーマンス回復が見込まれます。
続きを読む
@jakobbotsch ・ GitHub ・ area-Meta runtime-async
Runtime async生成機能が利用可能になったが、現在のところASP.NETでパフォーマンス低下が報告されているため、プールされた非同期メソッド(PoolingAsyncValueTaskMethodBuilder*)に対してruntime async生成をオプトアウトするメカニズムを導入します。内部属性RuntimeAsyncMethodGenerationを新規定義し、該当するメソッドに[RuntimeAsyncMethodGeneration(false)]を適用して、runtime asyncへの変換を回避します。
続きを読む
@rzikm ・ GitHub ・ area-System.Net.Security
Unix/OpenSSL環境でTLS 1.3のPost-Handshake Authentication (PHA)が有効でない場合に、SslStream.NegotiateClientCertificateAsyncが例外をスローするのではなく、正常に何もしない(no-op)ように改善します。クライアント証明書をオファーしないピアとの通信時の暗号例外を回避します。
@BoyBaykiller ・ GitHub ・ area-CodeGen-coreclr community-contribution
JITコンパイラのデバッグビルドにおいて、igDataSizeの割り当てを修正するパッチです。igDataSizeは命令記述子(instruction descriptors)の開始アドレスからのサイズを表すべきですが、GC変数を含むIG全体のサイズ(gs)で割り当てられていました。これを正しくコードサイズ(sz)に変更し、デバッグアサーションエラーを解決します。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
CoreCLR JIT/VMのデバッグ情報表現を更新し、マネージド呼び出しの戻り値をCALL_INSTRUCTION IPマッピングエントリに依存する従来の方式から、新しいCALL_RETURN_ILNUMセンチネルとcallReturnValueILOffsetフィールドを持つ明示的なICorDebugInfo::NativeVarInfoエントリとして表現するように変更しました。この変更により、デバッグ情報のエンコード/デコード経路も対応が必要となります。
続きを読む
@tmds ・ GitHub ・ area-System.IO community-contribution
System.IO.FileSystemWatcherがLinux/macOS上で監視対象のルートディレクトリが削除または移動された場合にErrorイベントを発生させるように改善しました。これによりWindowsの動作に合わせて、監視が無効になったことを通知できるようになります。
2026年06月09日 (32 PRs) うち Bot 5 件 この日のページ →
@am11 ・ GitHub ・ area-Infrastructure community-contribution
--bootstrap ドキュメントを現在の実装状況に合わせて更新するPRです。ArchiveTests=true パラメータが個別ライブラリビルドでも機能するようになったことを反映しています。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
JITのループクローニング条件導出ロジックにおいて、配列長を上限とする減少ループで、ループ初期値(init)ではなく誤ってループ上限(limit)に基づいて境界チェック条件が生成される不具合を修正しました。optDeriveLoopCloningConditionsのHasArrayLengthLimitブランチで、identの上書きを増加ループのみに制限することで、減少ループが正しく初期値ベースの条件を保持するようにしています。
続きを読む
@radekdoulik ・ GitHub ・ arch-wasm area-Infrastructure-coreclr
App-level [UnmanagedCallersOnly] メソッドがCoreClR-Wasmで正常に動作するようにするための修正。Release配信時のネイティブリリンク設定と、PInvokeTableGeneratorの戻り値処理を改善し、従来Mono専用だったテストをCoreClRでも実行可能にします。
@rcj1 ・ GitHub ・ area-System.Diagnostics
スタックトレースのフォーマット処理を改善し、MethodImplAttributes.Asyncフラグに基づいてランタイム非同期メソッドを正しく"async"として扱うようにしました。これにより、EDI(Exception Dispatcher Interop)境界マーカーが不適切に付与されるのを防ぎます。NativeAOT上では回帰がないため、そのプラットフォーム上でのテストアサーションをスキップしています。
続きを読む
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
JIT値番号付け(Value Numbering)の最適化により、符号拡張された整数値の長整数比較を整数比較に狭められるようにしました。これにより、アサーション伝播や境界チェック削除などの下流最適化が、より広い範囲で適用できるようになります。
@janvorli ・ GitHub ・ area-crossgen2-coreclr
System V AMD64(x64 Unix)における構造体の戻り値分類ロジックの修正。ComputeReturnValueTreatmentメソッドで、2つのeightbyteがある場合に2番目のeightbyteの分類が誤って1番目の分類を再チェックしていたため、第1eightbyteがSSE分類で第2eightbyteが異なる分類の場合に誤分類が発生していました。この誤分類はGC holeにつながる可能性があります。
続きを読む
@Copilot ・ GitHub ・ area-CodeGen-coreclr
SuperPMI streaming toolのstreamingsuperpmi.cppファイルから重複している#include "commandline.h"を削除しました。ファイルには必要なincludeが残されており、動作上の変更はありません。
@kotlarmilos ・ GitHub ・ area-Infrastructure
CI Outer-Loop Failure Scanner — Feedbackワークフローはスケジュール実行時にトリガーとなるPull Requestが存在しないため、既存の[ci-scan-feedback]フィードバックPRへのプッシュと更新に失敗していました。本PRは、safe-outputsの設定をtarget: "*"に変更し、スケジュール実行時でも発見された既存PRを対象に操作できるように修正しています。
続きを読む
@vcsjones ・ GitHub ・ area-System.Security os-android cryptographic-docs-impact
AndroidプラットフォームでX25519楕円曲線暗号によるDiffie-Hellman鍵交換をサポートするための実装を追加します。Androidのネイティブ実装の特殊性に対応するため、SubjectPublicKeyInfo/PKCS#8形式への鍵のトランスコーディングと、秘密鍵から公開鍵を復元する機能を実装しています。秘密鍵から公開鍵を復元する際は、X25519(9, privateKey)を計算することで実現しています(9はベースポイントのu座標)。
続きを読む
@alinpahontu2912 ・ GitHub ・ area-System.Collections
ZstandardDictionary.Trainメソッドが、訓練済み辞書を保持するバッファを毎回新規割り当てしていたのを、ArrayPool<byte>.Sharedからレンタルするように変更しました。これにより、推奨される~100KB(zstd CLI デフォルトは112,640バイト)のサイズでLarge Object Heap(LOH)に着地していた割り当てを削減します。
@steveisok ・ GitHub ・ area-System.Diagnostics
PR #128735で実装されたランタイム非同期ケースにおけるEDI("--- End of stack trace from previous location ---")スキップ機能を、そのコミットを取り消して元の動作に戻すものです。非同期フレーム検出をコンパイラ生成のステートマシン型チェックに依存させるよう復帰させます。
@alinpahontu2912 ・ GitHub ・ area-System.IO.Compression
ZipArchiveの非同期読込時に、アーカイブコメント読込が同期的に行われていたのを修正。ZipEndOfCentralDirectoryBlock.ReadBlockAsync内でReadExactlyAsyncを使用するよう変更し、非同期パスの完全性を確保しました。
@lewing ・ GitHub ・ area-CodeGen-coreclr
WebAssembly JITにおいて、構造体の戻り値がプリミティブ型にリタイプされる際、整数定数の戻り値の型がネイティブ戻り値型と一致していない問題を修正します。WebAssemblyは型付きのバリュースタックを持つため、型の不一致によりコード生成が失敗していました(例:i64戻り値に対してi32.const 0を生成)。本修正により、System.Runtime.Intrinsics.Vector64<byte>.get_Zeroなどの小さな構造体定数戻りがWebAssembly R2Rコンパイルで正しく動作するようになります。
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
WASM向けReadyToRun(R2R)コンパイルにおいて、2つのクロスgen2 NYI(Not Yet Implemented)を解決します。FloatTraits::NaNとDoubleTraits::NaNをWebAssemblyの標準NaNパターンで実装し、同一サイズのビットキャストをno-opとして処理することで、不要な命令生成を削減します。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
WebAssembly RyuJIT コードジェネレータで GT_STORE_BLK 処理時に、initblk の塗りつぶし値が contained GT_INIT_VAL でラップされている場合の処理を修正しました。genConsumeRegs を経由せず、他のターゲットと同様に明示的にラップ解除した値を消費するようにすることで、非リーフ含有ノードに対する OperIsLeaf アサーション失敗を解決します。
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
WebAssembly(RyuJIT)向けにGT_CKFINITE命令のコード生成サポートを追加しました。浮動小数点数の有限性チェック(NaN/±Infの検出)をWasm環境で実装し、指数ビットのマスキングおよびテストよりも短いシーケンスで実現しています。
@kotlarmilos ・ GitHub ・ area-skills
CI外側ループの障害対応を自動化する新しいエージェントワークフロー ci-failure-fix を導入し、既存の「テストをミュート/無効化」アプローチを「実際の修正またはオーナーへの引き継ぎ」に置き換えます。スキャナをKBE(Known Build Errors)検出専用に縮小し、新ワークフローで確実な修正PR・ヘルプ要求PR・最終手段としてのコメント送信を3段階で実施します。
@Copilot ・ GitHub ・ area-Infrastructure
CI外側ループ失敗スキャナーが、レグ全体が落ちている場合(例:arm32 NativeAOTテストすべてがSIGBUSでクラッシュ)にN個の重複したKBE(Known Build Error)を生成する問題に対応しています。レグ単位の障害検出ルールを追加し、80%以上のワークアイテムが失敗した場合は複数の個別テストKBEではなく、1つのレグスコープKBEのみを作成するように改善しました。これにより、KBE生成の氾濫と既存Issueの重複クローズを防ぎます。
続きを読む
@Copilot ・ GitHub ・ area-Diagnostics-coreclr
Objective-C相互運用機能において、CoreCLRとNativeAOTで異なっていた参照追跡メモリの実装を統一するリファクタリング。CoreCLRをConditionalWeakTable<object, ObjcTrackingInformation>モデルに移行し、syncblkのタグ付きメモリストレージを廃止。これにより、両ランタイムで同じ管理CWT(ConditionalWeakTable)ベースの参照追跡実装を共有。
続きを読む
@elinor-fung ・ GitHub ・ area-Interop-coreclr
COM interop における基底クラスと派生クラスの間での ComMethodTable 共有時に、インターフェース メソッドが異なるターゲット メソッドに解決される場合の不正な動作を修正します。#126002 の変更により、ComMethodTable レイアウト時に派生クラスのオーバーライドが先に確定されると、基底クラスが間違ったメソッドを呼び出す問題が発生していました。
[ComVisible(true)]
public interface IFoo { void DoWork(); }
[ComVisible(true), ComDefaultInterface(typeof(IFoo))]
public class Base : IFoo { public virtual void DoWork() { } }
[ComVisible(true), ComDefaultInterface(typeof(IFoo))]
public class Derived : Base { public override void DoWork() { } }
続きを読む
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
cDAC(CoreClr Data Access Component)のGCストレス検証フレームワークを追加します。このフレームワークは、cDACのスタック参照列挙をランタイムのGCルート報告と比較し、すべてのストレスポイントで検証します。ネイティブ比較器がメモリアロケーション時点でmscordaccore_universalをインプロセスロードし、cDACと実行時の両方に対してスタック参照を列挙させて正規化・照合します。
続きを読む
@janvorli ・ GitHub ・ area-CodeGen-Interpreter-coreclr
インタープリタコードの例外処理後の再開(resume-after-catch)メカニズムを、libunwindに依存した従来の実装からネイティブC++例外処理を使用する方式に変更しました。管理フレーム境界での明示的なフレームスキップ処理を追加し、インタープリタスタックポインタの保存状態を削除することで、WASM実装と同様の統一された例外アンワインド方式を実現します。
@matouskozak ・ GitHub ・ area-Infrastructure os-ios os-tvos os-maccatalyst
iOS/tvOS シミュレータ、Mac Catalyst、および iOS/tvOS デバイスの Helix キュー参照を eng/pipelines/helix-platforms.yml に集約し、arm64 シミュレータキューを OSX.15.Arm64 から OSX.26.Arm64(Tahoe)にバンプします。iOS ファミリーキューの一元化により、今後のバンプは helix-platforms.yml のみの変更で対応可能になります。
続きを読む
@Youssef1313 ・ GitHub ・ area-Extensions-Hosting
HostFactoryResolver.ResolveHostFactoryを拡張し、Microsoft.Extensions.Hostingが発行する任意のDiagnosticSourceイベントをリッスンできるようにしました。オプショナルなarbitraryActionsマップを追加することで、既存のHostBuilding/HostBuiltフローに加えて、ツール・テスト用途で追加のイベント監視が可能になります。本変更はランタイム動作への影響はなく、内部クラスの機能拡張です。
続きを読む
@Copilot ・ GitHub ・ area-System.Text.Json
非同期JSON シリアル化中にプロパティベースの IAsyncEnumerable<T> エンumeratorが適切に破棄されていなかった問題を修正します。従来は全オブジェクトのシリアル化完了後に破棄していたため、同じレベルの複数の IAsyncEnumerable<T> プロパティがあると、先行するエumeratorが破棄される前に後続プロパティの列挙が開始され、リソースリーク(EF Coreでの接続漏洩など)が発生していました。本修正により、エumerator完了時にインラインで DisposeAsync() を呼び出し、非同期破棄の場合は待機可能にしています。
// 修正前: BがAのDisposeAsync完了を待たずに列挙開始
// 修正後: AのDisposeAsync完了後、Bが開始
await JsonSerializer.SerializeAsync(stream, new {
A = dbContext.Products.AsAsyncEnumerable(),
B = dbContext.Products.AsAsyncEnumerable()
});
続きを読む
@Copilot ・ GitHub ・ area-System.Diagnostics.Process
SafeProcessHandle.Open(int processId)およびSafeProcessHandle.TryOpen(int processId, out SafeProcessHandle? handle)、ならびにProcess.TryGetProcessByIdの新しいPublic APIを実装しました。既存プロセスをPIDで開くための方法を提供し、Windows/Unix間のエラーハンドリング一貫性を確保しています。
// SafeProcessHandle による直接的なハンドル取得
SafeProcessHandle handle = SafeProcessHandle.Open(processId);
// TryOpen パターン
if (SafeProcessHandle.TryOpen(processId, out var handle))
{
// ハンドル使用
}
// Process.TryGetProcessById による Process インスタンス取得
if (Process.TryGetProcessById(processId, out var process))
{
// プロセス使用
}
続きを読む
@Copilot ・ GitHub ・ area-System.Net.Security
NegotiateAuthenticationが未登録のSPN(Service Principal Name)に対して、WindowsおよびUnixの両プラットフォームでGenericFailureではなくTargetUnknownステータスを返すように修正しました。KDC内に存在しないターゲットSPNに対する認証エラーが正しく分類されるようになります。
// 修正後:未登録のSPNに対して正しくTargetUnknownを返す
var client = new NegotiateAuthentication(new NegotiateAuthenticationClientOptions
{
TargetName = "HTTP/nonexistent-server.example.com"
});
client.GetOutgoingBlob(null, out var statusCode);
// statusCode == NegotiateAuthenticationStatusCode.TargetUnknown
続きを読む
2026年06月08日 (28 PRs) うち Bot 2 件 この日のページ →
@SwapnilGaikwad ・ GitHub ・ arch-arm64 area-VM-coreclr community-contribution
ARM64プロセッサのPAC-RET(Pointer Authentication Code - Return)機能において、リターンアドレスをストリップする際にヒント空間命令を使用するように変更しました。フレームポインタ(FP)とリンクレジスタ(LR)をアンワインド情報とともに保存することで、LRが上書きされた状態でアンワインドが発生するシナリオに対応しています。
@am11 ・ GitHub ・ area-System.Globalization community-contribution os-openbsd
OpenBSDにおけるICUライブラリの読み込みに対応しました。OpenBSDはICUバージョン番号ではなくABIバージョニングをSONAMEで使用するため、バージョン付きライブラリ名の読み込みではなく、バージョンなしのdlopen呼び出しとシンボルバージョニングプローブを使用するよう変更しました。
@rcj1 ・ GitHub ・ area-Diagnostics-coreclr
cDAC(Compact Diagnostic Access Component)のRuntimeTypeSystem_1コントラクト実装において、MethodDescから開始するコードパスで_methodTables辞書にアクセスする前に、MethodTableが確実に作成・キャッシュされるように修正しました。これにより、MethodDesc経由で汎用コンテキストやメタデータ関連プロパティをクエリする際のKeyNotFoundExceptionなどのランタイム失敗を防ぎます。
続きを読む
@MichalStrehovsky ・ GitHub ・ area-NativeAOT-coreclr
NativeAOT/ILCにおける凍結オブジェクトのシンボル名マングリング処理で、数字で終わる型名とアロケーションサイトIDが衝突する問題を修正します。型名とIDの間に区切り文字を挿入することで、名前の曖昧性を排除します。
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
cDAC(Compact Data Access Contract)の RuntimeTypeSystem コントラクトで、Continuation 関連のグローバルポインタ(_continuationMethodTablePointer と _continuationSingletonEEClassPointer)が遅延初期化される問題を修正します。これらのポインタはスタートアップ時には初期化されず、最初の Continuation 作成時に初期化されるため、ライブターゲットの診断時に null 値を読む可能性がありました。本修正により、キャッシュされた値が null の場合、必要に応じて再度ポインタを読み込むようになります。
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
WASM R2R JITコンパイラのgenCodeForBinaryOverflow関数において、符号なし加算・減算(GT_ADD/GT_SUB)のオーバーフロー検出ロジックが誤って符号付きXORベースのアルゴリズムを使用していた問題を修正しました。treeNode->IsUnsigned()フラグを正しく参照し、符号なしオーバーフロー検出を実装します。
@am11 ・ GitHub ・ area-PAL-coreclr community-contribution os-openbsd
OpenBSDプラットフォームにおける実行可能ファイルのパスを取得する機能を実装しました。OpenBSD固有のシステムコール対応により、ランタイムの実行ファイルパス取得の互換性を向上させます。
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
Range Check最適化における複数の健全性バグを修正し、より正確な値域推論を実装します。主な改善は、RangeOps::Orの不正な範囲計算の修正、UDIV命令の定数範囲サポート追加、チェック付きバウンドとVN-relop assertionsからのm_isVNNeverNegativeの自動計算、およびO2K_VN_ADD_CNSの範囲推論を安全なrelop(LT/LE)に限定することです。
例:[3..5] | [4..7]は従来[7..7](不正)と計算されていましたが、修正により正しい範囲が計算されます。
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
JIT値番号付け(VN)の不正な簡約を修正しました。NOT(relop(x,y))をReverse(relop)(x,y)に書き換える最適化が削除されます。GT_NOTはビット反転演算子であり論理否定ではないため、0/1の結果に対して~vは-1か-2を生成する一方、Reverse(relop)は0か1を生成します。これにより、補数値の下流で使用される算術演算(例:~v3 >= -1)が誤った方向に畳み込まれていました。NOT(NOT(x)) => xの簡約は正しいため保持されます。
続きを読む
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
JIT コンパイラの tail-merge 最適化フェーズを統合しました。スタンドアロンの PHASE_MERGE_THROWS フェーズを削除し、その機能を PHASE_HEAD_TAIL_MERGE に統合することで、コード複雑性を低減しつつ、terminal block(return/throw)の tail-merge 動作を拡張しました。結果として win-x64 でバイナリサイズが 13KB 削減されました。
続きを読む
@am11 ・ GitHub ・ area-System.Runtime community-contribution os-openbsd
OpenBSD上でEnvironment.WorkingSetプロパティを実装します。FreeBSDの実装パターンに従い、プロセス情報取得の相互運用層を追加することで、OpenBSDでのbootstrap build対応を実現します。
@Copilot ・ GitHub ・ area-System.Net.Http
HttpRequestMessage.VersionPolicy と HttpClient.DefaultVersionPolicy のセッターに入力値検証を追加しました。無効な HttpVersionPolicy enum値を早期に検出し、ArgumentException を発生させることで、リクエストパイプライン内部での失敗やsilent mis-behaviorを防止します。
public HttpVersionPolicy VersionPolicy
{
get => _versionPolicy;
set
{
if ((uint)value > (uint)HttpVersionPolicy.RequestVersionExact)
{
throw new ArgumentException(SR.Format(SR.net_invalid_enum, nameof(HttpVersionPolicy)), nameof(value));
}
CheckDisposed();
_versionPolicy = value;
}
}
続きを読む
@AndyAyersMS ・ GitHub ・ area-crossgen2-coreclr
WebAssemblyのR2R(ReadyToRun)JITで、仮想呼び出しがLDVIRTFTNパスに強制される際に、隠し型パラメータ(MD配列のイントリンシック処理など)を含むシグネチャを許可するためのデバッグアサーションを緩和する変更です。
@davidwrighton ・ GitHub ・ area-VM-coreclr
PerfMapログのロック(s_csPerfMap)をCRST_UNSAFE_ANYMODEに変更し、GCモードの切り替えに関連するデッドロックを回避します。また、VirtualCallStubManager のスタブ生成パスを更新し、PerfMapログが有効な場合に安全にプリエンプティブモードに移行できるようにします。
@dhartglassMSFT ・ GitHub ・ area-CodeGen-coreclr
JIT Fuzzer(Antigen)のビルドパイプラインを、外部の独立リポジトリからdotnet/jitutilsリポジトリへ移行する変更です。スパース・チェックアウトを活用して、jitutils全体ではなく必要な部分のみを取得することで、クローン時間を削減します。
@kotlarmilos ・ GitHub ・ os-ios area-CodeGen-Interpreter-coreclr
インタープリタのみの実行モード(フル インタープリタまたはno-JITビルド)において、x64 iOS/tvOSシミュレータ上でVector<T>が256ビットに拡張されてしまう問題を修正しました。インタープリタは128ビットVector<T>のみをサポートしているため、AVX2が利用可能でも128ビットに制限する必要があります。また、Crossgen2が生成するReadyToRun(R2R)コードのベースラインをx86-64-v3からx86-64-v2に変更し、インタープリタとの一致を確保しました。
続きを読む
@liveans ・ GitHub ・ area-System.Net.Security
Windows SSPI/SChannel の SEC_E_MUTUAL_AUTH_FAILED (0x8009035D) ステータスをマッピングに追加します。これにより、TLS クライアント認証ハンドシェイク失敗時に AuthenticationException が発生し、Debug.Fail でのクラッシュを防ぎます。
@MichalStrehovsky ・ GitHub ・ area-NativeAOT-coreclr
NativeAOT型プレ初期化インタプリタ/シリアライザの正確性を修正するPRです。ネストされたプレ初期化評価における参照同一性の保持、vtable類似スロット初期化バグの修正、冷凍オブジェクトの可変性追跡をより保守的にしています。
@Copilot ・ GitHub ・ area-NativeAOT-coreclr
NativeAOT集約実行形式(aggregate executable)シム バイナリにおいて、マネージドアセンブリのWin32リソースを保持するサポートを追加します。DumpNativeResourcesMSBuildタスクでPEのWin32リソースを.resファイルに変換し、Windowsシム生成時にこれをリンクして、実行時にリソースの存在を検証するテストを追加しました。
@MichalStrehovsky ・ GitHub ・ area-NativeAOT-coreclr
型システム名前サーフェスを ReadOnlySpan<byte> から新しい Utf8StringRef 型に移行するPRです。これにより、デバッガ表示の改善(文字列として意味のある表示)と、SequenceEqual の代わりに == 演算子での文字列比較が可能になります。
@BrzVlad ・ GitHub ・ area-ReadyToRun
ReadyToRun (R2R) コンパイラにおいて、ジェネリック循環検出をデフォルトで有効化し、GVM(Generic Virtual Method)スキャンの過度な展開を防ぐ変更です。System.Linq.Parallel.Tests のコンパイルオーバーフロー問題を解決するため、ジェネリック循環の可能性があるメソッド/型に対して GVM 依存関係の生成をスキップしてコンパイルの過度な増大を抑制します。
続きを読む
@Copilot ・ GitHub ・ area-CodeGen-coreclr
ハードウェア割り込み(HW intrinsic)の戻り値の型情報を追跡する仕組みを改善しました。従来は複数のコンシューマー(assertionprop、rangecheck、valuenum)が長いID用スイッチでboolまたはscalar Tを返すintrinsicを個別に列挙していましたが、これをintrinsicテーブルのフラグ(HW_Flag_ReturnsBoolean、HW_Flag_ReturnsScalarT)に統一し、HWIntrinsicInfo経由でクエリ可能にしました。
続きを読む
@vitek-karas ・ GitHub ・ area-Infrastructure
CI失敗スキャンフィードバックワークフロー(ci-failure-scan-feedback)の編集権限を拡張し、メインスキャナープロンプト(ci-failure-scan.md)に加えて、共有KBE作成手順ファイル(.github/workflows/shared/create-kbe.instructions.md)の更新を許可するようにしました。コンパイルされたロックワークフローを再生成し、Safe Outputs設定を同期化しています。
続きを読む
@radekdoulik ・ GitHub ・ arch-wasm area-CodeGen-Interpreter-coreclr
WebAssembly/Browser環境のCoreCLRインタープリタで暗黙的テールコール(ITC)検出機能を実装し、mutual_recursion.fsテストを再度有効化したPRです。インタープリタのスタックオーバーフロー問題を解決し、F#で発行されたコードの深い再帰処理に対応しています。
@saucecontrol ・ GitHub ・ area-CodeGen-coreclr community-contribution
xarch(x86-64)ベクトル化バイト乗算のJIT コード生成を改善しました。次のベクトルサイズへの拡張が不可能な場合、従来の実装では不効率な分割・拡張・乗算・縮小を2回繰り返していましたが、奇数/偶数バイトアプローチを採用することで約2倍のパフォーマンス向上を実現しています。
@Copilot ・ GitHub ・ area-NativeAOT-coreclr
NativeAOT で Out of Memory 例外により終了する際、Linux 上で診断情報なしに Aborted とのみ出力される問題を修正しました。RuntimeExceptionHelpers.FailFast の最小限フェイルファスト処理で、OOM メッセージを stderr に出力してから Abort() を呼び出すように改善しました。プロセス出力は try/catch {} で保護されているため、二次的なメモリ割り当て失敗時も既存の abort パスに進みます。
修正前: Aborted
修正後: Out of memory.
続きを読む
2026年06月07日 (9 PRs) この日のページ →
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
WebAssembly JITにおいて、追跡されたGC変数(tracked GC vars)をGC情報では未追跡(untracked)として報告し、適切にゼロ初期化するようにしました。Wasm JITは追跡されたGCスロットのライフタイム情報を出力しないため(noTrackedGCSlotsがtrueの場合)、この修正により、(liveness)追跡されたGC変数の正確な処理を実現しています。
@Copilot ・ GitHub ・ area-PAL-coreclr
PAL(Platform Abstraction Layer)ヘッダから削除された FILE_FLAG_NO_BUFFERING を使用していた MapViewOfFile/test1 テストを削除しました。このテストはWindows以外のすべてのプラットフォームでコンパイル失敗を引き起こしていたため、テスト定義ファイルと共に削除されています。
@Copilot ・ GitHub ・ area-System.Threading
Unix WaitSubsystem から未使用の優先待機(prioritized wait)パスを削除するコード削減変更です。内部APIから prioritize パラメータを完全に除去し、FIFO(先入れ先出し)の公平な待機方式のみをサポートするように統一しました。公開APIには影響なし。
// Before
public void RegisterWait(int waitedCount, bool prioritize, bool isWaitForAll)
{
if (prioritize)
waitedListNodes[i].RegisterPrioritizedWait(waitedObjects[i]!);
else
waitedListNodes[i].RegisterWait(waitedObjects[i]!);
}
// After
public void RegisterWait(int waitedCount, bool isWaitForAll)
{
waitedListNodes[i].RegisterWait(waitedObjects[i]!);
}
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
Wasm R2R コンパイルで仮想関数ポインタ検索(ldvirtftn)の処理を修正しました。Wasm は CORINFO_HELP_READYTORUN_VIRTUAL_FUNC_PTR ヘルパーに対応していないため、ReadyToRun 固有の最適化パスをバイパスし、代わりに標準的なランタイム CORINFO_HELP_VIRTUAL_FUNC_PTR ヘルパーを使用するようにルーティングします。
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
WebAssembly上でのRyuJIT実行時にGC参照スロットをプロローグで明示的にゼロ初期化するためのPRです。単一のmemory.fill命令を使用して、シャドウスタック上のGC参照スロットをゼロ初期化します。
@pavelsavara ・ GitHub ・ arch-wasm area-Build-mono os-wasi
Mono WASI ツールチェーンを WASI SDK 33.0、wasmtime 45.0.0、WASIp2 0.2.8 にアップグレードし、wasi-libc の新しいディスクリプタテーブル設計(タグ付き合併からファットポインタ+vtable 設計、遅延 pollable 生成)に対応する変更です。System.Net.Sockets のソケットイベントループを更新し、廃止された Node.js ラン スクリプトを削除し、WASI ハンドラが非対応のテストシナリオをスキップします。
続きを読む
@ViveliDuCh ・ GitHub ・ area-System.ComponentModel.DataAnnotations
Microsoft.Extensions.Optionsに非同期スタートアップ検証機能を追加します。新しいIAsyncValidateOptions<T>インターフェースとIAsyncStartupValidatorにより、Host.StartAsync()実行時に非同期検証パイプラインが動作します。既存の同期パス(IOptions<T>.Value、OptionsFactory.Create())は完全に同期のままであり、既存の動作に影響を与えません。
// 非同期検証の例
services.Configure<MyOptions>(configuration)
.Validate(async (options, ct) =>
{
var isValid = await ValidateAsync(options);
return isValid;
});
続きを読む
@rcj1 ・ GitHub ・ area-System.Diagnostics
スタックトレースの整形処理において、runtime-async メソッドに対して EDI(Exception Dispatcher Indicator)境界を非表示にする変更です。コンパイラ生成の非同期ステートマシンと同様に、runtime-async メソッドでも --- End of stack trace from previous location --- という境界表示をスキップし、スタックトレースの可読性を向上させます。
続きを読む
@StephenMolloy ・ GitHub ・ area-Serialization
XmlSerializerにおけるcollectible型の処理を改善するPRです。特にジェネリックコンテナ(List<T>や配列)に含まれるcollectible型に対して、適切なAssemblyLoadContext (ALC) にシリアライザーキャッシュを関連付けることで、メモリリークを防ぎcollectible アセンブリの正常なアンロードを実現します。
2026年06月06日 (9 PRs) この日のページ →
@am11 ・ GitHub ・ area-PAL-coreclr community-contribution
Windows PAL(Platform Abstraction Layer)から未使用で移植性がないFILE_FLAG_NO_BUFFERINGフラグを削除します。このフラグはファイルI/O操作で使用されていないため、コードベースから完全に削除されます。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
Wasm ABIにおいて、TypedReferenceが暗黙的な参照渡し(implicit byref)として扱われるため、CORINFO_HELP_GETREFANYヘルパーをpure関数として標識しないよう修正されました。Windows x64と同じ制限を適用することで、JITの最適化時に副作用を正しく認識させることを目的としています。
@sethjackson ・ GitHub ・ area-System.Threading community-contribution os-openbsd
OpenBSD環境でのCPalThread::GetStackBase()とCPalThread::GetStackLimit()メソッドのサポートを追加します。OpenBSDはpthread_attr_get_npやpthread_getattr_npを提供していないため、代わりにpthread_stackseg_np関数を使用してスタック属性を取得します。
@jtschuster ・ GitHub ・ area-ReadyToRun
Composite ReadyToRunにおいて、ランタイム非同期な仮想メソッドへのdevirtualized呼び出しをawaitするランタイム非同期呼び出し元が、コンパイラ生成の非同期thunkへのトークン解決時にIndexOutOfRangeExceptionまたはトークン破損を引き起こす問題を修正します。devirtualized対象のケースでGetPrimaryMethodDefinition()をGetTypicalMethodDefinition()の前に呼び出すことで、基本となるEcmaMethodとそのModuleを取得し、正しいトークンパスを使用します。
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
WebAssembly JITコンパイラにおいて、SCC(Strongly Connected Component)ディスパッチャーのWasm try regionへの配置ロジックを改善しました。SCC headerがWasm try entryである場合、ディスパッチャーをtry region内に配置することで、EH/try-region entry rulesを適切に遵守するようにしました。
@tannergooding ・ GitHub ・ area-CodeGen-coreclr
最適化下での非サポート組み込み関数(intrinsics)に対して must-throw 最適化を有効にします。これにより、例外スロー処理のコールドブロックが統合され、コードサイズの回帰を削減します。最適化されたコードではスタックトレース情報の喪失が既に可能であるため、各スロー処理が一意のカレー関数を持つ必要がなくなります。
@huoyaoyuan ・ GitHub ・ area-PAL-coreclr community-contribution
PAL(Platform Abstraction Layer)の process object 実装を削除し、プロセスハンドルセマンティクスを簡略化するリファクタリングです。現在のプロセスのみをサポートする pseudo handle に統一し、不要なプロセスオブジェクトとセッションID追跡機能を廃止します。
@Copilot ・ GitHub ・ area-System.Text.Json
System.Text.Json の多相シリアライゼーションにおいて、開いた(未検証の)ジェネリック型を [JsonDerivedType] 属性で指定し、実行時に閉じた型に解決する機能を追加しました。リフレクションベースのリゾルバーとソースジェネレーターの両方で、開いたジェネリック派生型を閉じた派生型に統合して登録します。これにより、ジェネリック階層での多相シリアライゼーション対応が改善されます。
サンプルコード:
[JsonDerivedType(typeof(Derived<>), "d")]
public class Base<T> { ... }
public class Derived<T> : Base<T> { ... }
// Base<int> → Derived<int>
// Base<string> → Derived<string>
続きを読む
@huoyaoyuan ・ GitHub ・ EventPipe area-PAL-coreclr community-contribution
PAL(Platform Abstraction Layer)からGetCommandLineWを削除し、Unix環境でのコマンドライン取得の実装を簡素化しました。CoreCLRの診断フォールバックはminipal_getexepath()を使用して実行可能ファイルパスベースのアプローチに変更されています。
2026年06月05日 (14 PRs) うち Bot 1 件 この日のページ →
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
JIT回帰テスト ElidedBoundsChecks から SimdLoadBetweenBCs テストケースを削除するものです。PR #128965 で Vector128.Create の例外動作が変更され、連続した配列インデックスからの単一 SIMD ロードとして認識されなくなったため、このテストは現在の動作と合致しなくなりました。
@vcsjones ・ GitHub ・ area-System.Security
AndroidのConscrypt/BoringSSLがRSA 16K (16384ビット)キーを適切に処理できず、BoringSSLのエラーキューをクリアしないため、RSA 16Kキーのインポート時に発生したエラーが他の暗号操作に漏れて不正な例外が発生する問題を修正します。本PRではユニットテストでRSA 16Kキーの処理を回避することで、テスト結果の不安定化を防ぎます。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
SuperPMI の asmdiffs-checked-release ビルドで -ignoreStoredConfig を使用する際、WebAssembly JIT 向けの JitWasmNyiToR2RUnsupported=1 設定が失われることで、未実装のオペコード(例:GT_ASYNC_CONTINUATION)に対してアサーション失敗が発生していた問題を修正します。wasm ターゲットの場合に外部から明示的にこのオプションを再適用することで、R2R-unsupported として適切にスキップされるように動作を復元します。
続きを読む
@danmoseley ・ GitHub ・ area-System.DateTime
DateTimeの"O"形式(ISO 8601ラウンドトリップ)パーサーのテンス秒処理を簡略化しました。7桁の小数秒は常にTimeSpan.TicksPerSecond(10,000,000)と一致するため、浮動小数点の除算・乗算・丸め処理を経由せず、直接tickカウントとしてTryAddTicksに渡すことで、処理を簡素化しかつ精度を保証します。この変更は完全に下位互換性があり(10M個の7桁値すべてで同一の結果を確認)、同時に若干のパフォーマンス向上が得られます。
続きを読む
@ManickaP ・ GitHub ・ area-System.Net.Http
httpbin.orgエンドポイントからの一時的な503 ServiceUnavailable応答がテスト失敗を引き起こす問題を修正します。既存の502/504エラーと同様に、503応答をテストで無視する対象として追加することで、リモートサーバーの不安定性に起因するテストの不安定性を低減します。
@prozolic ・ GitHub ・ area-System.Collections community-contribution
OrderedDictionary<TKey, TValue>.Remove(KeyValuePair<TKey, TValue>) メソッドにおいて、冗長なルックアップを削除する最適化を実施しました。TryGetValue から取得したインデックスを使用して RemoveAt を呼び出すことで、2回目のルックアップを回避します。また、IDictionary.Add の重複した null チェックも削除しました。
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
SuperPMI の asm near-diffing パイプラインに WebAssembly (Wasm32) サポートを追加します。CoreDisTools を v1.7.0 に更新して Wasm 逆アセンブリ機能を有効化し、SuperPMI の NearDiffer と CompileResult に Wasm 固有のオフセット・リロケーション処理を実装します。
@barosiak ・ GitHub ・ area-Diagnostics-cdac
cDAC(Compact Diagnostics and Analysis Component)で GetThreadOwningMonitorLock メソッドを実装しました。このメソッドはマネージド実装(DacDbiImpl)でSync Blockのロック情報を読み込み、所有スレッドを解決します。#if DEBUG配下で従来のDAC実装との互換性検証も含まれています。
@BrzVlad ・ GitHub ・ area-CodeGen-Interpreter-coreclr
CLRインタプリタのGC生存性レポート(liveness reporting)を修正し、ローカル変数が実際に設定を完了するまで生存状態にならないようにしました。これにより、未初期化のスタック領域が誤ってGCルートとして報告されるのを防ぎます。
修正前:変数の生存性は値を設定する命令の開始位置から開始され、命令実行中でも変数が活きているものとして見なされていました。
修正後:変数の生存性は値を設定する命令の終了位置から開始され、命令完全実行後のみ活きているものとして報告されます。
続きを読む
@eduardo-vp ・ GitHub ・ os-windows tenet-performance area-VM-coreclr
大量のLCG(Lightweight Code Generation)メソッド作成時におけるUnwindInfoTableでのロック競合を削減する最適化です。.NET 10で確認された性能低下(.NET 9比で169%遅化)に対応し、グローバルロックをテーブル単位のロックに変更、ロック取得の条件付き化、バイナリサーチの導入などにより、LCGストレスベンチマーク(300K メソッド)では.NET 10比で44%改善を実現しています。
続きを読む
@BoyBaykiller ・ GitHub ・ area-CodeGen-coreclr community-contribution
JITコンパイラのRETURN/THROW ブロックマージ処理を修正しました。tailMergePreds(nullptr)が一度だけ呼び出されていましたが、複数のセットを処理するために繰り返し呼び出す必要があるという問題を修正しています。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
JIT コンパイラに新しい最適化フェーズ optBoundsCheckCoalesce を追加します。このフェーズはアサーション伝播の前に実行され、同じブロック内で同じ長さVNを持つ定数インデックスの境界チェックをマージしています。
例:a[0] + a[1] + a[2] + a[3] では、最初のチェックのインデックスを3に書き換え、残りの3つのチェックを「範囲内」としてマークすることで、アサーション伝播時に削除されるようにします。
続きを読む
@Copilot ・ GitHub ・ area-Serialization
DataContractJsonSerializerがSetSerializationSurrogateProvider()で設定されたISerializationSurrogateProviderを内部シリアライザーコンテキストに正しく渡していない問題を修正しました。修正により、DataContractJsonSerializerの動作がDataContractSerializerと一貫するようになります。
続きを読む
2026年06月04日 (26 PRs) うち Bot 5 件 この日のページ →
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラ内の複雑で到達不可能になったSIMD「連続引数(contiguous-args)」最適化パスを削除し、SIMD import/morphパイプラインを簡潔化します。この変換の複雑性に対して実際の効果が限定的であると判断された結果の削除です。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
ループクローニング時に遅延パス(slow-path)プリヘッダーを挿入する際のEH(例外処理)領域ブックキーピングのバグを修正します。ループの字句的末尾と実際の挿入ポイントが異なる場合に、EH領域が不正に縮小されるのを防ぎます。現在のクローニングコードパスでは到達不可能ですが、より一般的なループアンスイッチングのプロトタイプ実装で発生していました。
@BoyBaykiller ・ GitHub ・ area-CodeGen-coreclr community-contribution
JITコンパイラの型チェックアサーション失敗を修正します。異なる型のoperandを比較する場合(例:byref と long)でアサーションが発火していた問題を解決。アサーション条件をimporter.cppの既存検証ロジックに合わせて変更し、より広い範囲の有効なIR構造に対応します。
@kg ・ GitHub ・ arch-wasm area-VM-coreclr
WebAssembly上でGC情報デコーダーのスタックスロットアドレス計算を修正するもの。GC_FRAMEREG_RELスタックスロットを解決する際、エンコードされたスタックベースレジスタがREG_NAになる問題に対応します。
@Copilot ・ GitHub ・ area-System.Net.Http
HTTP/2接続で、サーバーから受信したSETTINGS_MAX_CONCURRENT_STREAMSを同じホストの接続プール単位で記憶し、新規接続時にその値を初期値として使用するようにしました。これにより、サーバーが低いストリーム同時実行数制限を課す場合に、過度なストリーム数を送信して後続の再試行が必要になるシナリオを回避できます。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
JITのブール値最適化コードにおいて、プロファイル尤度計算とUB(未定義動作)の2つの問題を修正しました。
optOptimizeBoolsUpdateTreesでの分岐尤度計算式を修正(正確には(1-p1) * p2_true)
GetIntersectionでの符号付きオーバーフロー時のUBを防止
存在しないフラグ参照コメントを更新
続きを読む
@ManickaP ・ GitHub ・ area-System.Net.Http
OpenTelemetry仕様の更新に対応して、HTTP接続メトリクスからnetwork.peer.addressタグを削除しました。このタグはOTelで「Opt-In」属性に変更されたため、.NETではサポート対象外として削除されています。これによりメトリクスのカーディナリティ圧力を軽減します。
@akoeplinger ・ GitHub ・ Servicing-approved area-Infrastructure os-ios os-tvos
macOS ヒーリックス (Helix) テスト キューを OSX.15 に統一するための変更。テスト環境の一貫性を確保するための構成更新です。
@Copilot ・ GitHub ・ area-System.Security os-android
Android プラットフォームにおいて X.509 チェーン構築時の名前制約違反の検証結果が、現在のテスト期待値と異なるため、該当するテストを ActiveIssue でマークしてスキップするようにしました。非 Android プラットフォームではテストカバレッジを維持します。
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
cDACのテスト構造を再編成し、ユニットテストと再利用可能なテスト基盤を明確に分離する変更です。テスト基盤(MockMemorySpace、ContractDescriptorBuilder、DumpTestBase、属性フィルタリングなど)を独立したライブラリプロジェクト TestInfrastructure として抽出し、NuGetパッケージとして配布可能にしました。これにより、ダウンストリームプロジェクトがInternalsVisibleToなしで公開APIベースのテストハーネスを活用できます。
続きを読む
@davidwrighton ・ GitHub ・ area-crossgen2-coreclr
WebAssembly R2R ファイル内の GC 情報エンコード/デコードの不整合を修正しました。ライター側の不要な 4 バイト アライメントを削除し、リーダー側が WebAssembly 固有の GC 情報フォーマットを正しく処理するようにしました。併せて R2RDump の診断機能を強化しました。
@steveisok ・ GitHub ・ Servicing-approved area-Tracing-coreclr
EventPipeの CPU サンプリングレートを設定可能にするバックポート。DOTNET_EventPipeThreadSamplingRate 環境変数で、デフォルトの 1ms から任意のサンプリング間隔(ms単位)にオーバーライドできます。Cosmicが報告した高いオーバーヘッドに対応するため、main からの変更をrelease/10.0にバックポートしました。
@mdh1418 ・ GitHub ・ area-Diagnostics-coreclr
AndroidおよびApple mobileプラットフォーム上で、createdumpがヘルパープロセスをフォークできない場合のクラッシュレポート出力を管理する生涯管理機能を追加します。このPRは、クラッシュレポートを境界のある回転ディレクトリに保存し、保持ポリシーを適用することで、アプリのプライベートストレージに無限に蓄積されるのを防ぎます。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
JIT ループクローニング最適化において、配列参照の型を正確に追跡するように修正しました。従来はすべての配列参照を TYP_REF と仮定していましたが、スタック割り当てされた配列など TYP_I_IMPL や TYP_BYREF として参照される場合に対応します。抽出時に観察された実際の参照型とローカル型を保持し、ループクローニング条件の新しいIRノード生成時に使用することで、型安全性を確保します。
続きを読む
@Copilot ・ GitHub ・ area-System.Net.Http
HTTP/3のレスポンスヘッダ予算追跡ロジックをHTTP/2と一致させるよう改善しました。従来のHEADERSフレームペイロードサイズに基づく予算チェックから、デコードされた各ヘッダエントリ(名前長+値長)ごとの追跡に変更し、MaxResponseHeadersLengthの適切な実装を実現しています。
@svick ・ GitHub ・ Servicing-approved area-System.Globalization
System.GlobalizationのNumberFormatInfoグループサイズテストを修正し、プラットフォーム固有のグローバライゼーションデータの違いに対応するようにしました。本修正は9.0-stagingで発生したテスト失敗の修正をrelease/8.0-stagingにバックポートしたものです(#120546からのバックポート)。
@svick ・ GitHub ・ Servicing-approved area-System.Numerics
release/9.0-stagingで失敗していたNumberFormatInfo.NumberGroupSizesテストを修正するバックポート(#120546より)。Apple OS の最新グローバライゼーションデータによって、ur-INカルチャのグループサイズが変更されたため、テストが複数の有効な値を受け入れるように更新されました。
@steveisok ・ GitHub ・ area-System.Diagnostics
FileVersionInfo.GetVersionInfo(string) メソッドのXML ドキュメンテーションに、信頼できるファイルのみを使用すべき旨の注意書きを追加しました。悪意のある、または不正な形式のファイル入力に起因するリスクについて、呼び出し側に警告します。
@BoyBaykiller ・ GitHub ・ area-CodeGen-coreclr community-contribution
JIT最適化として、ビットマスク比較を正規化する変換を追加しました。(A & pow2) == pow2 を (A & pow2) != 0 に、(A & pow2) != pow2 を (A & pow2) == 0 に統一します。右辺が常に0になるこの正規形により、後続の最適化(optimizeBools、分配変換など)がより効果的に機能するようになります。
// 正規化前後の例
static bool Example(int foo)
{
return ((foo & 4) == 4) || ((foo & 8) == 8);
}
// 正規化後: (foo & 12) != 0 相当に最適化される可能性
続きを読む
@sbomer ・ GitHub ・ linkable-framework area-Tools-ILLink
ILLinkマーキングパイプラインを更新して、XML記述子によって保持されたメンバーをリフレクション可視として扱うようにします。さらに、それらの宣言型もリフレクション可視としてマークし、バリアント型キャストや明示的レイアウトフィールドなど、リフレクション依存のセマンティクスを保持します。
@StephenMolloy ・ GitHub ・ area-Serialization
CodeExporter.csにDebug.Assert文を追加し、DataContractの特定のサブタイプについてコードが暗黙的に仮定していた内容を明示的に検証するようにしました。NetFx時代の内部可視コードから外部アセンブリへの移行に伴い、DataContractの内部構造へのアクセスが制限されたため、事前条件の検証を強化するものです。
2026年06月03日 (33 PRs) うち Bot 4 件 この日のページ →
@akoeplinger ・ GitHub ・ area-System.Security
Linux bionic arm環境での64ビットtime_t要件チェックを条件付きコンパイルから除外する変更です。#128826の変更によりTARGET_ANDROIDが定義されるようになったため、Android NDK API 24(32ビットtime_tのみ対応)でのビルドエラーが発生していました。linux-bionicはOpenSSL暗号ライブラリを自身でビルドしないため、当該チェックと32ビットtime_tプローブはこのプラットフォームで不要です。TARGET_ANDROIDをガード条件から除外することで、このビルドエラーを解決します。
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
JITの条件ブロック最適化(optOptimizeBoolsCondBlock)において、符号なし整数型の入力に対する不適切な最適化を防止するための修正です。(x == 0) || (x relop 0) 形式の条件ブロック対の折り畳み最適化時に、符号なし入力がある場合は最適化をスキップするようにしました。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
WebAssemblyにおけるJIT コンパイルの機能を有効化するための設定変更です。JitWasmFuncletsのデフォルト値を0から1に変更することで、funclets(例外処理関連のセカンダリエントリポイント)を含むメソッドが、遅延bailoutを経由せずにコード生成されるようになります。先行PR #128736のマージに依存します。
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
JIT アサーション伝播における optCanProp* 短絡フラグを削除し、状態追跡を簡略化するとともに、アサーション伝播チェックを常に有効化する変更。これによりコード複雑性を削減し、JitOptRepeat 後の陳腐なアサーションに関連する潜在的な正確性問題を修正します。
@tannergooding ・ GitHub ・ area-CodeGen-coreclr
JIT範囲分析の改善により、RangeCheck::ComputeRangeがGetRangeFromAssertionsをより多くのTYP_INT型の式に活用できるようにしました。整数定数の抽出を改善し、32ビット環境やより広い定数でのssize_tの切り詰めを回避します。
@vcsjones ・ GitHub ・ area-System.Security
Apple暗号ネイティブシムのSwiftクラスベースの不透明ハンドルをポインタベースのSwift値型に置き換え、複数のコピー読み込み時のObjCクラス重複登録を防止します。また、将来のSwiftバインディングでローカル定義のSwift ObjCクラスメタデータを導入しないよう検証するビルド後スクリプト(verify-no-swift-objc-classes.sh)を追加します。
@Copilot ・ GitHub ・ area-Host
DllGetClassObjectのCOM契約違反を修正するPRです。失敗パス(CLSID未検索、get_com_delegate失敗)でHRESULTを返す際に*ppv出力パラメータが初期化されていない問題を解決します。関数エントリで*ppv = nullptrを初期化し、ppv == nullptrの場合はE_POINTERを返すガード処理を追加しています。
@vseanreesermsft ・ GitHub ・ Servicing-approved area-codeflow
.NET 9のサービシング版における製品バージョンを9.0.17から9.0.18へアップデートするブランディング変更です。ビルドシステム全体で使用されるバージョン番号を統一します。
@vseanreesermsft ・ GitHub ・ Servicing-approved area-codeflow
.NET 8.0のバージョンメタデータを8.0.28から8.0.29へ更新するパッチリリース用のブランディング変更です。
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
cDAC データ生成器(Microsoft.Diagnostics.DataContractReader.DataGenerator)を Abstractions NuGetパッケージのアナライザーアセットとしてパックし、ダウンストリームコンシューマーが PackageReference 経由で自動的に生成器を取得できるようにします。これまでのリポジトリ内 ProjectReference は不要になります。
続きを読む
@eiriktsarpalis ・ GitHub ・ area-System.Text.Json
System.Text.Jsonのunion型シリアライゼーションの2つの欠陥を修正します:
値型のFoo(T)とFoo(T?)コンストラクタオーバーロードが混在する場合 、メタデータ層がそれらを単一のnullableケースに統合していた問題を、両方のオーバーロードを別々のUnionCaseSpecとして保持するように修正。これによりnew Foo((int)42)が正しくtypeof(int)と判定され、nullableオーバーロードへの正しなディスパッチが実現します。
default(struct union)の状態でのシリアライゼーション が例外をスローしていた問題を修正。JSONnullとして正しくシリアライズされ、ラウンドトリップが成功するようにしました。
続きを読む
@BrzVlad ・ GitHub ・ area-System.Globalization os-ios
XCode 26.4でClang 21がバンドルされるようになり、新しい警告フラグ(-Wimplicit-int-enum-castと-Wimplicit-void-ptr-cast)が追加されました。これらの警告がビルドエラーとして検出されるため、iOS Simulator向けのネイティブコード(Objective-C/C)に明示的なキャスト処理を追加してビルドエラーを解決しています。
@MichalStrehovsky ・ GitHub ・ area-NativeAOT-coreclr
NativeAOT コンパイラの名前マングリング機能から UTF-16 中心のコード経路を削除し、Utf8String ベースの実装に移行するリファクタリング。文字列リテラルマングリング API を Utf8String を返すように変更し、孤立した UTF-16 サロゲート文字の正しい処理を検証する煙テストを追加。
@MichalStrehovsky ・ GitHub ・ area-NativeAOT-coreclr
NativeAOTの名前マングラー(難読化されたアセンブリ向け)において、フィールドとメソッドが同じマングル名に衝突する問題を修正しました。サニタイズされた難読化名(例:"\u0003\u000e" → "__")がフィールドとメソッド間で重複するのを防ぐため、フィールド名の区切り文字を"__"から"__field__"に変更しました。
@bartonjs ・ GitHub ・ area-System.Security
DER検証ロジックを再帰的な実装から反復的な実装に変更し、深くネストされたASN.1値によるStackOverflowExceptionを防止します。明示的なスタック/キューを使用した反復走査により、構造化値の検証時に予期しないスタックオーバーフローが発生しなくなります。
@Copilot ・ GitHub ・ area-VM-coreclr
レガシーな例外処理(EH)時代の遺物である IsCallerSPValid フラグを削除し、呼び出し元フレームの妥当性チェックを IsCallerContextValid に統一します。これにより、セマンティクスの乖離を排除し、コード全体で一貫した文脈ベースの妥当性判定を実現します。
@barosiak ・ GitHub ・ area-Diagnostics-cdac
cDAC (Common Data Access Component) の DBI レイヤーに GetManagedStoppedContext を実装し、ネイティブ DAC のロジックをマネージド実装に移植しました。また、Thread データディスクリプタに InteropDebuggingHijacked フィールドを追加し、テストとモックインフラストラクチャを拡張しています。
@ericstj ・ GitHub ・ area-Infrastructure-libraries
PlatformDocAnalyzerをコンパイルビルド設定の構成スコープの適用範囲を変更するPRです。eng/generators.targetsからeng/Analyzers.targetsへ移動し、EnablePlatformDocAnalyzerプロパティで制御可能にしました。デフォルトではsrc/librariesソースプロジェクトで有効になります。これにより、アナライザーは明示的にオプトインしない限りライブラリプロジェクトに限定されます。
続きを読む
@Copilot ・ GitHub ・ area-Diagnostics-coreclr
DacDbi APIをEnumerateClassFieldsとEnumerateInstantiationFieldsのコールバックベース実装に置き換え、Edit and Continue (EnC)対応のcDAC IEditAndContinue コントラクトを追加する変更です。フィールド列挙APIをコールバック駆動に変更し、EnC機能向けの新しいランタイムタイプシステムAPIを公開しています。
続きを読む
@elinor-fung ・ GitHub ・ Servicing-approved area-Interop-coreclr
.NET 9で導入された遅延的なエントリポイント割り当て(#101580)による回帰を修正します。COM インターフェースを実装する基底クラスと、そのメソッドをオーバーライドする派生クラスが共有の ComMethodTable を持つ場合、派生クラスが先に作成されると、共有の ComMethodTable がレイアウトされる際に基底クラスの仮想テーブル スロットが復元されず、NULL スロット経由のディスパッチでクラッシュしていました。修正により、ComMethodTable のレイアウト時に親の MethodTable チェーンを走査し、基底クラスのスロットを確実に復元します。
続きを読む
@pavelsavara ・ GitHub ・ arch-wasm area-Diagnostics-coreclr os-browser
このPRはBrowser WASM上のシングルスレッド環境でCoreClrのEventPipeジニスティクスインフラストラクチャを有効にします。EventPipeを使用して、パフォーマンストレーシングとイベントログ機能をBrowser環境で利用できるようにするための実装です。.wasmファイルサイズの増加が予想されます。
@elinor-fung ・ GitHub ・ area-Host
SYSTEM_CORELIB_DIRECTORYという新しいホスト向けランタイムプロパティを追加しました。このプロパティにより、ホストはSystem.Private.CoreLib.dllの明示的な配置ディレクトリをランタイムに指定できます。PR #128278でTPA走査フォールバックが削除されたことで、iOSなどのモバイルプラットフォームでcoreclrとSystem.Private.CoreLib.dllが同じ場所に配置されていないシナリオが破損したため、この明示的で オプトインの契約を提供することで解決します。
続きを読む
@jakobbotsch ・ GitHub ・ area-NativeAOT-coreclr
x86 NativeAOT環境におけるasync継続のhijacking時のGC参照報告の問題を修正。async関数をhijackする際、ECXレジスタの保存・復元は実装されていましたが、そのレジスタがGC参照を含むかどうかを判定するGC情報報告が欠落していました。x86では他プラットフォームと異なり、GC情報をコールサイトで報告する必要があるため、この修正により適切なGC root報告が可能になります。
続きを読む
@simonrozsival ・ GitHub ・ area-System.Security os-android
AndroidでX.509チェーン構築時にX509ChainContextの初期化失敗が起因するネイティブアボート問題を修正します。実装エラーにより、管理コードが無効なX509ChainContext*をネイティブメソッドに渡しプロセス終了していましたが、本修正により初期化失敗時に管理側でCryptographicExceptionをスローしフェイルセーフになります。
@mrek-msft ・ GitHub ・ area-System.Net
Server-Sent Events (SSE) パーサーで、改行のない極端に長い行を処理する際の無制限バッファ増長を防ぐため、64 MiBの最大行長制限を導入しました。この制限を超えた場合、専用の例外メッセージを含むInvalidDataExceptionをスローするようになります。
@Copilot ・ GitHub ・ area-Codegen-AOT-mono
AllSubsets_Mono_MiniFullAot_RuntimeTestsビルドレグの破損を修正するPRです。InvalidCSharp.ilprojがMonoAOT非互換でビルドから除外される一方、依存するValidate.csprojが同様にゲートされていなかったため、CS0246エラーが発生していました。Validate.csprojに<MonoAotIncompatible>true</MonoAotIncompatible>を追加し、ビルド時のゲートと既存のランタイム時[ActiveIssue]ゲートを整合させます。
続きを読む
@davidwrighton ・ GitHub ・ area-crossgen2-coreclr
WASMのReadyToRun形式をメモリアドレスベースからバーチャルIP(仮想命令ポインタ)ベースのアドレッシングに変更し、それに対応するR2RDumpの更新を行います。RUNTIME_FUNCTION テーブルのBeginAddressフィールドがバーチャルIPとIsFuncletフラグをエンコードし、テーブル末尾に最小関数テーブルインデックスを追加する形式変更が含まれます。
@Copilot ・ GitHub ・ area-Diagnostics-cdac
ネイティブDAC から管理型cDAC へ GetILCodeAndSig DacDbi エントリーポイントを移植します。このAPIは、メソッドのILコード(アドレス/サイズ)とそのローカル変数シグネチャトークンを返します。これまでのE_NOTIMPLフォールバックを、メタデータ/ローダーベースのIL検索とシグネチャトークン抽出で置き換えます。
@Copilot ・ GitHub ・ area-NativeAOT-coreclr
UnmanagedCallersOnlyAttributeに新しい公開プロパティAssociatedSourceTypeを追加し、NativeAOTにおいてアンマネージドエクスポートを条件付きで生成できるようにします。これにより、関連ソース型がトリミング時に存続する場合のみネイティブエントリーポイントが保持・エクスポートされます。
[UnmanagedCallersOnly(
EntryPoint = "MyObjectProxy_MyMethod",
AssociatedSourceType = typeof(MyObject))]
static void MyMethod(IntPtr handle) { }
続きを読む
2026年06月02日 (42 PRs) うち Bot 7 件 この日のページ →
@tommcdon ・ GitHub ・ area-Diagnostics-coreclr
マネージドデバッグのスタックウォークをサポートするため、DacDbiInterfaceImpl::GetContextにE_NOTIMPLフォールバックを復元しました。プラットフォームでICorDebugDataTarget::GetThreadContextがE_NOTIMPLを返す場合、スレッドのFrameチェーンを走査してREGDISPLAYからレジスタコンテキストを再構築することで、非Windows環境での管理されたデバッグを有効にします。
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
SuperPMI収集パイプラインを調整し、browser/wasm corelib crossgen2の収集でChecked wasm cross-targeting JIT を使用するようにしました。これにより、収集中にJITアサーションが有効になります。
@MichalStrehovsky ・ GitHub ・ area-NativeAOT-coreclr
PR #128667で追加されたAndroid上でのllvm-libunwindの未使用シンボルをガード処理をリバートします。このリバートにより、以前のシンボルガード機能が削除されます。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
JIT ループクローニングに収益性判定ロジックを追加しました。サイクル削減効果とコード重複コストの比率に基づいて、ループクローニング候補を受け入れるかどうかを決定します。新しい設定値 JitCloneLoopsMinPerCallRatio(デフォルト値:4)でこのヒューリスティックの厳密さを制御できます。
@Copilot ・ GitHub ・ area-VM-coreclr
Collectible Assembly Load Context (ALC)のティアダウン中に、VSD(Virtual Stub Dispatch)のDispatchCacheバケットエントリがInsert/PromoteChainEntryと同時にアンリンクされ、キャッシュの単一ライター仮定に違反することで、自己参照チェーンサイクルが発生してVSD解決がハングするバグを修正します。本変更はアンリンクパスのライター側シリアライゼーションを復元します。
続きを読む
@Copilot ・ GitHub ・ area-CodeGen-coreclr
AVX-512 FMA intrinsics with embedded-rounding において、non-immediate operand時のジャンプテーブルフォールバック処理がレジスタエイリアシングによるアサーション失敗を引き起こしていた問題を修正。手動で命令を生成していたパスを既存のgenFmaIntrinsicヘルパー関数経由に統一し、適切なオペランドスワッピングと形式選択(132/213/231)を確保することで、ライブソースレジスタの破壊を防止します。
続きを読む
@akoeplinger ・ GitHub ・ Servicing-approved area-Infrastructure
macOS 14 Arm64 Open ビルドキューをmacOS 15 Arm64 Open キューに置き換えます。iOS/Catalyst シミュレーターターゲットが現在macOS 15キューで統一して対応可能になったための変更です。
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
cDAC(Compact Diagnostic Access Component)のキャッシュ管理を改善するため、Flush() メソッドを Flush(FlushScope) オーバーロードに置き換え、FlushScope 列挙型を導入しました。FlushScope.All は全キャッシュをクリア(従来動作)、FlushScope.TargetState はターゲット状態キャッシュのみをクリアします。これにより、不変メタデータ(CoreLib の型情報など)をストレステスト中に保持でき、基本割り当てストレステストで 2 倍のパフォーマンス向上を実現しています。
続きを読む
@leculver ・ GitHub ・ area-Diagnostics-cdac
cDac(CoreCLR Data Access Component)の2つのバグを修正します:
StressLog アドレス修正 : StressLog グローバルポインタが誤ったアドレスをエクスポートしていた問題を、&StressLog::theLog の正しいアドレスに修正
NativeAOT 境界の例外対策 : cDac のアンマネージド エントリポイントで例外がキャッチされておらず、NativeAOT コンパイル時にプロセスがハードクラッシュする問題を、try/catch で囲んで HRESULT で返却するように修正
続きを読む
@Copilot ・ GitHub ・ area-Infrastructure
CI Outer-Loop Failure ScannerのプロンプトLet me update to reduce unwanted test-disable PRsと重複するKnown Build Error (KBE)の自動ファイリングを削減します。以下の2つの改善を実施:
メンテナーが問題調査や修正予定を示している場合、test-disable PRの自動作成を抑止
同一スキャン実行内で異なるパイプライン定義にまたがる同じシグネチャのKBEの重複ファイリングを防止
続きを読む
@Copilot ・ GitHub ・ area-PAL-coreclr
AndroidのネイティブビルドにおけるLinux定義の一貫性を改善するPRです。マネージド層では既にTargetsLinuxがAndroidに適用されていましたが、ネイティブC/C++コンパイル定義では一貫性がありませんでした。このPRでは、AndroidビルドにおいてTARGET_LINUXを定義し、TARGET_LINUX || TARGET_ANDROIDの重複チェックを簡潔化する一方、Linux固有の機能(NUMA syscalls等)はAndroidから明示的に除外し、既存の動作を保持します。
// 変更前
#if defined(TARGET_LINUX) || defined(TARGET_ANDROID)
// 変更後
#if defined(TARGET_LINUX)
// Android固有の除外は保持
#if defined(TARGET_LINUX) && !defined(TARGET_ANDROID)
続きを読む
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
x64 JITのwrite barrier(書き込みバリア)ヘルパー関数において、浮動小数点レジスタ、SIMDレジスタ、マスクレジスタをキルセットから除外し、これらのレジスタがCORINFO_HELP_ASSIGN_REFおよびCORINFO_HELP_CHECKED_ASSIGN_REF呼び出しをまたいで生存可能にするパフォーマンス最適化です。ドキュメント化されたヘルパーABIに一致させ、不要なレジスタスピルを削減します。
続きを読む
@Copilot ・ GitHub ・ area-CodeGen-coreclr
32ビットターゲットでCoercedConstantValue<ssize_t>がTYP_LONG値を切り詰める問題を修正します。IsVNIntegralConstant関数が定数をint64_tとして読み込むことで、FitsIn<T>チェック前に完全な64ビット値を保持し、任意のTYP_LONG定数が誤ってより小さい整数型に適合すると報告されるのを防ぎます。
// 修正前
ssize_t val = CoercedConstantValue<ssize_t>(vn);
// 修正後
int64_t val = CoercedConstantValue<int64_t>(vn);
続きを読む
@rzikm ・ GitHub ・ area-System.Formats.Tar
System.IO.Compression(ZipArchive)とSystem.Formats.Tarに存在していた重複したSubReadStream実装を、src/libraries/Common配下の共有クラスに統合します。TarのSeekableSubReadStreamサブクラスは廃止し、seekability判定をsuperStream.CanSeekでインライン処理するよう変更します。
続きを読む
@adamperlin ・ GitHub ・ arch-wasm area-crossgen2-coreclr
WasmObjectWriterにfunclet抽出機能を追加し、コンパイル済みメソッドに付属するfuncletを個別のWasm関数として処理できるようにしました。新しいINodeWithFuncletsインターフェースを導入し、ReadyToRunおよびNativeAOTの双方でEHInfoとFrameInfoフィールドに汎用的にアクセス可能にしています。funcletはオブジェクトファイル内に連続的にレイアウトされ、Wasmテーブルに連続して追加されるため、funclet iのインデックスはメソッドMのテーブルインデックス + iで算出できます。
続きを読む
@dhartglassMSFT ・ GitHub ・ area-CodeGen-coreclr
ARM64でのプロファイラーフック(PROF_HOOK)周辺での不要なスピリング(レジスタ退避)を削除する修正です。
ARM64ではq8-q15の下位64ビット(d8-d15)のみがカリー保存レジスタですが、LSRA(Linear Scan Register Allocator)は現在、プロファイラーフック周辺のすべての上位半分保存参照について、上位半分をd8-d15にスピリングしています。
本修正では、PROF_HOOKはq0-q7を破壊しないため、これらのレジスタの上位半分はスピリングが不要であることを明記し、不要なスピリングを排除します。
続きを読む
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
cdac(共通診断アドレスコンバーター)ジェネレータの構造をリファクタリングするフォローアップPR。LayoutPairを汎用的なLayoutSetに一般化し、複数のレイアウトソースに対応できるように拡張。同時に実装ガイド文書IData.mdをツリー内に移動。
@tannergooding ・ GitHub ・ area-CodeGen-coreclr
NI_PRIMITIVE_Log2 プリミティブ・インストリンシックの JIT インポーターを修正し、符号付き/符号なし入力の判定を正確に行うようにしました。これまでは非正確な型チェックにより符号なし入力に対してコードが実行されていませんでしたが、正確な型 (JitType2PreciseVarType) を使用することで、符号なし引数の展開を有効化し、符号付き引数に対しても条件付き例外スロー パスを追加します。
Log2 の展開は LeadingZeroCount(value | 1) を用いて 0 -> 0 の契約を満たします。
続きを読む
@ViveliDuCh ・ GitHub ・ area-System.ComponentModel.DataAnnotations
System.ComponentModel.DataAnnotationsに非同期検証機能を追加するPR。新しいAsyncValidationAttribute抽象基底クラス、IAsyncValidatableObjectインターフェース、および8つの非同期Validatorメソッド(TryValidateObjectAsync、ValidatePropertyAsyncなど)を実装し、データベースアクセスやAPI呼び出しを伴う検証シナリオに対応します。
続きを読む
@am11 ・ GitHub ・ area-Infrastructure community-contribution
Pre-commit hookのフォーマット処理における2つの問題を修正しました。Native formatがファイルが見つからないエラーを発生させ、Managed formatが静かに失敗して実際のフォーマットを実行していない問題に対応しています。
@barosiak ・ GitHub ・ area-Diagnostics-cdac
DAC/DBI インターフェースから GetObjectContents メソッドを削除するリファクタリング。ネイティブ実装は divalue.cpp での呼び出しを直接的な VmPtrToCookie キャストに置き換えることで冗長化した機能を廃止します。
@VSadov ・ GitHub ・ area-System.Threading
スレッドプール管理のセマフォ実装を統一し、Windows/Unix間の動作差異を解消するパッチの再適用です。前回(#125193)の変更は NuGet restore ベンチマーク回帰により revert されましたが、本PRではその根本原因(WaitOnAddress のスピン時間と優先度ブーストによる Cold スレッドの早期起動、さらには不要な作業キュースキャン)に対する緩和策を導入しています。
続きを読む
@Copilot ・ GitHub ・ area-System.Runtime
C#コンパイラがclosed型宣言に付与するIsClosedTypeAttribute属性を公開する変更です。ユーザーが直接記述することを意図していないため、[EditorBrowsable(Never)]でマークされています。
namespace System.Runtime.CompilerServices
{
[EditorBrowsable(EditorBrowsableState.Never)]
[AttributeUsage(AttributeTargets.Class, Inherited = false)]
public sealed class IsClosedTypeAttribute : Attribute
{
public IsClosedTypeAttribute() { }
}
}
続きを読む
@Copilot ・ GitHub ・ area-NativeAOT-coreclr
NativeAOT共有ライブラリが複数の実行可能エントリポイントを集約し、プラットフォーム別(Windows/Linux/macOS)の小型シムを生成する機能を追加します。IncludeInAggregateExecutable はEnablePreviewFeatures=trueでのみ有効になります。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
インライン化後に実行される新しいJITフェーズを追加します。各基本ブロック内の最初のno-return呼び出し(戻らない呼び出し)の後にある不到達ステートメントと制御フローエッジを削除し、ブロックをBBJ_THROWに変換します。これにより、resolve-GDVsフェーズおよび後続のフェーズで、より効果的なクリーンアップが可能になります。
@AaronRobinsonMSFT ・ GitHub ・ area-System.Runtime.InteropServices
Objective-C相互運用性において、ObjectiveCMarshal.GetOrCreateReferenceTrackingMemory(object)という新しい公開APIを追加しました。このAPIは、GCHandleを作成することなくオブジェクトのタグ付きメモリスパンを返すもので、CreateReferenceTrackingHandleよりも効率的です。
@kotlarmilos ・ GitHub ・ os-ios area-CodeGen-Interpreter-coreclr
Apple モバイル CoreCLR テスト機能の改善を目的とした、stale なテスト除外・スキップ設定の削除。runtime-extra-platforms ビルド 1429699 の結果に基づき、iOS/tvOS/macCatalyst シミュレーターで実行可能になったテストプロジェクト・テストケースの除外条件を削除し、テストカバレッジを拡大する。また、深い再帰呼び出しを行う DataContractSerializer テストを、明示的に 16MB の大きなスタックを持つワーカースレッド上で実行するよう調整。
続きを読む
@Copilot ・ GitHub ・ area-Host
.runtimeconfig.dev.json で指定された configProperties が .runtimeconfig.json の同じプロパティ値で上書きされる問題を修正しました。今後は、dev設定が本設定より優先されるようになります。これにより、開発環境での設定上書きが機能するようになります。
@alinpahontu2912 ・ GitHub ・ area-System.IO
.NET 11で導入されたMemoryStreamの破壊的変更を戻すPRです。最大容量を超えた場合にArgumentOutOfRangeExceptionではなくOutOfMemoryExceptionを発生させるようにします。これにより、容量超過時の例外型が配列割り当て失敗時の標準的な例外と統一されます。
@SwapnilGaikwad ・ GitHub ・ area-VM-coreclr community-contribution
ARM64プロセッサ上のPointer Authentication Code (PAC-RET) セキュリティ機能に対するVM・CoreCLRのサポート実装。PACはリターンアドレスの改ざん検出によるセキュリティ強化メカニズムで、スタックウォーク、例外処理、スレッド一時停止などの実行時の重要な領域でPACシグネチャ検証と処理に対応する。デフォルトは無効化されており、別のPR #125436で完全な実装が進行中。
続きを読む
@dotnet-renovate-bot ・ GitHub ・ area-Infrastructure community-contribution
dotnet/runtimeリポジトリで使用されるコンテナイメージ(mcr.microsoft.com/dotnet-buildtools/prereqs)のダイジェストを自動更新するPRです。42個のコンテナイメージダイジェストが新しいバージョンに更新されています。これは依存関係自動更新ボット(.NET Renovate Bot)により自動生成されました。
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
JIT条件付き脱出分析(CEA)におけるGDV保護下のenumerator割り当てクローン化時の誤컴파일を修正します。CheckForGuardedAllocationOrCopyが仮想呼び出しなど認識されないソースからのストアを記録していなかったため、複数のdef を持つenumerator localでも不正なクローン化が行われていました。修正により、未追跡ソースからのストアをappearanceとして記録し、複数のdefが存在する場合はクローン化を回避します。
続きを読む
@Copilot ・ GitHub ・ area-Serialization
XmlSerializerが空のXmlElementメンバーを逆シリアル化する際に、後続の兄弟要素を誤って消費してしまうバグを修正しました。<Description/>のような自己閉じタグの後の要素が、次のメンバーではなくXmlElementのコンテンツとして読み込まれていました。
public class Root {
public XmlElement Description { get; set; }
public string Name { get; set; }
}
// 修正前: Description = <Name>Test</Name>, Name = null
// 修正後: Description = null, Name = "Test"
var obj = serializer.Deserialize(new StringReader(
@"<Root><Description/><Name>Test</Name></Root>"));
続きを読む
@StephenMolloy ・ GitHub ・ area-Serialization
XSD スキーマからコード生成する際に、コレクション項目のNullability情報をスキーマ定義から正確に抽出・キャッシュし、コード生成時に活用することで、より正確なNullability処理を実現するもの。スキーマインポート時に ContractCodeDomInfo.CollectionItemIsNullable にNullability情報を格納し、コード生成パイプラインで従来のヒューリスティクスの代わりにこれを参照する。
続きを読む
@imcarolwang ・ GitHub ・ area-Serialization
XML解析時に不完全なプリフィックス要素(例:<s:)を処理する際、ReadObjectがArgumentExceptionをスローしていた動作を修正します。これをSerializationExceptionでラップするようにして、シリアライザーのコントラクトに統一しました。
2026年06月01日 (35 PRs) うち Bot 3 件 この日のページ →
@Copilot ・ GitHub ・ Servicing-approved arch-wasm area-Infrastructure-mono os-wasi
WASI CI環境におけるライブラリの互換性問題に対応するため、8.0-stagingブランチで WASI関連のCI テストをコメントアウトするバックポート。Ubuntu 26.04のイメージ更新により、wasi-sdk のwasm-ldが動的にリンクするlibxml2.so.2がlibxml2.so.16に名前変更されたことで、既にWASI CI ジョブが破損しているため、これらのテストを一時的に無効化します。
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
SPMI (SuperPMI) のWebAssembly クロスターゲット収集時における問題を修正します。getClassGClayout で host のポインタサイズではなく target のポインタサイズを使用するよう修正し、importer で処理されていない must-expand intrinsic に対して NYI_WASM アサートを追加します。
@Copilot ・ GitHub ・ area-System.Diagnostics.Process test-enhancement
複数のファイナライゼーション関連テストがJITストレス環境下でCreateAndRelease()ヘルパーがインライン化されることで失敗する問題を解決します。[MethodImpl(MethodImplOptions.NoInlining)]属性を追加してインライン化を明示的に防止し、オブジェクトのライフタイム管理と最終化タイミングを安定させます。
@filipnavara ・ GitHub ・ community-contribution area-NativeAOT-coreclr
Unix NativeAOT環境におけるPalInterlockedExchange64マクロの戻り値の型を修正しました。ローカル変数resultをint32_tからint64_tに変更することで、64ビット値が32ビットに切り詰められる問題を解決します。このマクロはイベントトレーシングとYieldProcessorNormalizationで使用されています。
@Copilot ・ GitHub ・ area-System.IO.Compression
ZLibNative.cs内の時代遅れのコメントブロックを削除するメンテナンスPRです。"Dev12"への言及と存在しないreleaseHandleFailed MDAについての説明コメントを削除し、コードの鮮度を向上させます。
@kotlarmilos ・ GitHub ・ area-Infrastructure
CI失敗スキャンワークフローに対して、KBE(Known Build Error)を発行する前に<!-- ci-scan-match-count: <N> hits in failure.log -->マーカーの存在と正の値を検証する事前チェックゲートを追加します。これにより、マーカーが欠落している(またはN==0の)不完全なKBEが誤ってファイルされるのを防ぎます。
@kotlarmilos ・ GitHub ・ area-Infrastructure
CI失敗スキャンのKPIトラッカー生成ロジック(Step 7)を簡略化し、過度に複雑な統計計算(Wilson信頼区間など)を削除して、運用者が必要とする基本的なカウント指標とCI障害シグナルに特化させました。スキャナー運用開始から30日未満という初期段階の実運用フィードバックに基づいた改善です。
@Copilot ・ GitHub ・ area-Infrastructure
CI Failure Scanner ワークフロー プロンプト(.github/workflows/ci-failure-scan.md)を強化し、Known Build Error (KBE)の検出、安定性の判定基準、クローズ済みKBEに対するテスト無効化PRの回避をより厳密にします。ドキュメントのみの変更です。
@kotlarmilos ・ GitHub ・ area-Infrastructure
CI失敗スキャナーの判定ロジック(Step 4.7)を拡張し、メンテナーが最近クローズした未マージの[ci-scan]テスト無効化PRを「無効化禁止」シグナルとして扱うようにしました。同じテストまたはKBEに対して30日以内にメンテナーがクローズしたPRがある場合、新しい証拠(メンテナーコメント等)がない限り、再ファイリングを防止します。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
JITのasync変換処理における尾部マージ/再利用チェック(AsyncTransformation::IsReusableSuspension)のTODOコメントを削除し、継続レイアウト等価チェックが必要な具体的な理由を説明するコメントに置き換えました。async/awaitのコード生成時に、異なる制御フローパスでローカル変数の生存期間が異なる場合でも、一部のパスのみでsave操作を実行する必要があるケースを記述しています。
続きを読む
@Copilot ・ GitHub ・ area-System.Security
tvOS arm64などの動的コード生成非対応プラットフォームでのXSLT関連テスト失敗を解決するPR。XslCompiledTransformが動的コード支援を必要とするため、暗号化検証テストに到達する前にNotSupportedExceptionが発生していた問題を、テストを条件付きで実行することで解決。
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))]
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
WebAssembly向けCoreLibのSuperPMI収集機能を有効化するため、インフラストラクチャを更新したPR。wasm対応のcrossgen2コレクション環境を整備し、正しいホストJITビットとCoreLibディレクトリ構成をセットアップします。
@prozolic ・ GitHub ・ area-System.Runtime community-contribution
ValueTuple<T1,...,T7,TRest> のメソッドでパターン変数キャプチャを使用し、冗長なボックス化を排除する変更です。is IValueTupleInternal rest パターンマッチングにより、参照型フィールドを含む ValueTuple<TRest> がキャストされる際のボックス化を回避し、GetHashCode、ToString、ITuple.Length、ITuple インデクサーのヒープアロケーションを削減します。
続きを読む
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
x86 JIT(JIT32_GCENCODER)のスタック間struct copyにおけるGC安全性の脆弱性を修正します。スタックターゲットのstruct copyでLowerCopyBlockStoreが無条件にdoCpObj = falseを設定していたため、GC対応でない単純な展開コピー(genCodeForCpBlkUnroll)を使用され、スクラッチレジスタの参照報告がないまま実行されていました。GC発生時にスクラッチレジスタが陳腐化し、それがローカル変数に格納されることで、GCが既に解放済みオブジェクトを指すbyrefと誤認識する問題が発生していました。
修正により、x86はGC対応のCpObjパス(小さいstructはスロット単位の分解、大きいstructはバルク書き込みバリア)に留まります。
続きを読む
@Copilot ・ GitHub ・ area-Diagnostics-cdac
cDAC(Compact Diagnostics and Analytics Contracts)の管理型リソース解決機能を強化し、ManagedTypeSource_1.TryResolveTypeがシステムアセンブリ未初期化時(スタートアップ初期段階や部分的に初期化されたターゲットなど)に例外をスローするのを防ぎます。nullシステムアセンブリを「型解決不可」として扱い、ArgumentNullExceptionの発生を回避します。
TargetPointer systemAssembly = loader.GetSystemAssembly();
if (systemAssembly == TargetPointer.Null)
{
mdReader = null;
return false;
}
ModuleHandle moduleHandle = loader.GetModuleHandleFromAssemblyPtr(systemAssembly);
続きを読む
@Copilot ・ GitHub ・ area-Diagnostics-cdac
デリゲート検査用のDacDbi API(GetDelegateFunctionDataとGetDelegateTargetObject)をマネージド cDAC層に実装します。ネイティブ層でGetDelegateTypeを削除し、両APIのシグネチャを簡略化した上での実装です。新しいIObject.GetDelegateInfoコントラクトメンバーとDelegateデータ記述子を追加し、デリゲートの種類(クローズド/オープン/マルチキャスト/ラッパー)に応じた分岐ロジックを実装します。
続きを読む
@Copilot ・ GitHub ・ Servicing-approved arch-wasm test-enhancement area-Infrastructure-mono os-wasi
Ubuntu 26.04でのlibxml2.soライブラリ名変更により、WASI SDKのwasm-ldが破損し、9.0-stagingブランチのCI/CD パイプラインが失敗している問題に対応するパッチです。WASI CI ジョブを無効化してローリングビルドをアンブロックします。
@kotlarmilos ・ GitHub ・ area-Infrastructure os-ios
iOS デバイス Helix キューのインフラストラクチャ問題(#123796 )により、runtime.yml パイプラインの iOS デバイステスト3本の脚を iOS シミュレータ(arm64)に切り替えるもの。テストカバレッジを継続しながら、デバイスキューへの依存を回避する一時的な対応です。
@pavelsavara ・ GitHub ・ arch-wasm area-Host os-browser
WebAssembly (Wasm) ビルドテストの拡充と関連するランタイム実装の改善。アプリケーション環境設定、遅延アセンブリ読み込み、およびアプリ設定機能に関するテストケース追加と、WebAssemblyランタイムの資産管理・設定処理の改善を含みます。
@kotlarmilos ・ GitHub ・ area-Infrastructure
CI障害スキャナーワークフローのプロンプトを改善し、以下の3点を強化しました:
Step 4.7で参照されたIssueのbodyと最新5コメントを読み込み、ルートコーズIssue上の「disable不可」シグナルを検出
ActiveIssueの完全な4パラメータオーバーロード (string, TestPlatforms, TargetFrameworkMonikers, TestRuntimes) を文書化し、パラメータの順序入れ替え防止を明示
テスト無効化PR用のプリコンパイル検証チェックリストを追加
続きを読む
@rzikm ・ GitHub ・ area-System.IO.Compression
Inflater/Deflaterの並行処理時のレース条件を修正するPR。Disposeがネイティブzlibの呼び出しと同期されていないため、あるスレッドでInflate/Deflate実行中に別スレッドでDisposeが呼ばれると、z_streamがメモリ解放されてuse-after-freeクラッシュが発生する問題を修正。DangerousAddRef/DangerousReleaseを用いてネイティブ呼び出しをブラケット化し、全てのインフライト呼び出しが完了するまでReleaseHandleの実行を遅延させる。
続きを読む
@rzikm ・ GitHub ・ area-System.Formats.Tar
GNU sparse tar エントリの抽出時に、ディスク領域の無駄な事前割り当てを回避し、スパースファイル対応の抽出を実装しました。GNU sparse エントリは実サイズを報告しますが、アーカイブには圧縮されたペイロードのみを格納しているため、従来の実装では数KBのアーカイブから数GBのディスク領域を無駄に予約していました。本変更により、実装された領域のみを書き込み、ファイルシステムがサポートしている場合はホール(穴)を保持します。
続きを読む
@Copilot ・ GitHub ・ area-Infrastructure
macOS/MacCatalystで長年使用されていたclang 7.0.2のバグ対応として書かれた-fstack-protectorのハードコード部分を削除し、-fstack-protector-strongを無条件に有効化します。現代的なclangおよびgccコンパイラは全て-fstack-protector-strongをサポートしているため、AppleターゲットをUnixホストの他のターゲットと揃えます。
続きを読む
@tannergooding ・ GitHub ・ area-CodeGen-coreclr
CoreCLR JIT のレンジ推論ロジックを改善し、複数の intrinsic 操作がValue Numbering、Assertion Propagation、Range Check Elimination 全体で一貫したレンジ情報を提供するようにしました。PR #128677 での最適化の後退を防ぎ、非負値やレンジ情報を正しく追跡します。
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
JIT コンパイラの LowerBlockStore の init-block(メモリゼロ初期化)処理を統一し、ターゲット固有の重複コードを削除しました。共有実装 LowerInitBlockStore を導入し、x86 の BlkOpKindRepInstr(rep stos/movs命令)を廃止して、他のターゲットと同じく展開またはメモリセット呼び出しに統一しています。WebAssembly は独立した実装のため除外されています。
続きを読む
@tommcdon ・ GitHub ・ area-Diagnostics-coreclr
Edit-and-Continue (EnC) リマップ時に、非同期メソッドの継続引数がローカルフレーム領域で破棄される問題を修正します。専用のIL番号(ASYNC_CONTINUATION_ILNUM = -4)を割り当てることで、継続引数がNativeVarInfoに出現し、全プラットフォームで保持されるようにしました。この変更に伴い、MAX_ILNUMが-4から-5に変更され、NativeVarInfo エンコーディングのバイアスが調整されました。R2R メジャーバージョンはアップグレードされています。
続きを読む
@Copilot ・ GitHub ・ area-Diagnostics-cdac
cDACベースのDacDbi実装にGCヒープウォーキング機能を追加するプルリクエストです。ネイティブDACの実装をリファクタリングし、ヒープ破損時にセグメント内を単純にストライドするのではなく、次の有効なセグメントに進むように改善しています。cDAC側には線形キャッシュを備えたヒープウォーキングアルゴリズムを実装し、ネイティブ実装とのパリティを実現しています。
@mdh1418 ・ GitHub ・ area-Diagnostics-coreclr
クラッシュレポート生成が無限に hang するのを防ぐため、in-proc crash reporter にウォッチドッグ機構を追加しました。ウォッチドッグは設定可能なタイムアウト(デフォルト 30 秒)でレポート生成を監視し、タイムアウト時には SIGABRT で プロセスを強制終了します。パイプベースの通知チャネルとデタッチされたウォッチドッグスレッドを使用し、POSIX 互換性と async-signal-safe な実装を確保しています。
続きを読む
@rzikm ・ GitHub ・ area-System.Net.Security tenet-performance
Linux上のOpenSSL SslStreamメモリBIO実装を、呼び出し元が供給したマネージバッファウィンドウで動作するカスタムBIO_METHODに置き換えることで、TLSレコードのメモリコピーを削減します。すべてのSSL操作(ハンドシェイク、暗号化、復号化)を単一のP/Invokeにラップし、ウィンドウのセットアップ、SSL呼び出し実行、テアダウンを1つのネイティブフレーム内で行います。これにより、BIOステージングのmemcpy削減と、SSL_readがユーザーのMemory<byte>に直接平文を書き込めるようになります。
続きを読む
@Copilot ・ GitHub ・ area-Infrastructure
CI triage agentic workflowとCI pipeline monitor skillに、日次/週次で実行される3つのcrossgen2パイプライン(definition ID: 134, 136, 141)を追加するもの。これらのパイプラインは最近の失敗ビルドがあるにもかかわらず、ci-failure-scan workflowでトリアージされていませんでした。既存の定義IDリソース(109–160)の範囲内にあるため、JIT/GC/PGO stressスキルによるトリアージが自動的に適用されます。
続きを読む
@BoyBaykiller ・ GitHub ・ area-CodeGen-coreclr community-contribution
JITコンパイラのfgOptimizeRelationalComparison最適化を拡張し、EQ/NE(等値比較)演算子に対しても型キャスト除去最適化を適用するようにしました。これまでは順序比較演算子(LT, LE, GE, GT)のみが対象でした。
例:(ulong)(a) == uint.MaxValueは、冗長なキャスト変換と64ビット比較ではなく、32ビット比較に最適化されるようになります。
続きを読む
@dotnet-bot ・ GitHub ・ area-System.Text.Json
OneLocBuild自動化タスクによるローカライズファイルのチェックインです。System.Runtime.InteropServicesとSystem.Text.Jsonライブラリの生成コード用リソース(.xlfファイル)が、ダウンストリームのローカライズパイプラインから返却された翻訳ソースに基づいて更新されています。