← アーカイブ一覧へ戻る
このページは、dotnet/runtime リポジトリにマージされたPull Requestを自動的に収集し、その内容をAIが要約した内容を表示しています。そのため、必ずしも正確な要約ではない場合があります。
日別 Pull Request 数
日付をクリックするとその日のセクションへ移動します。
ラベル別 Pull Request 数(上位10)
ラベル別 Pull Request 数の上位10
上位10件の合計637件を100%とした内訳です。各スライスの番号は凡例の番号に対応します。ラベルごとの件数は凡例を参照してください。
1. area-CodeGen-coreclr — 142 PRs (22.3%)
2. Servicing-approved — 75 PRs (11.8%)
3. community-contribution — 75 PRs (11.8%)
4. arch-wasm — 65 PRs (10.2%)
5. area-VM-coreclr — 55 PRs (8.6%)
6. area-Infrastructure — 52 PRs (8.2%)
7. area-Diagnostics-cdac — 50 PRs (7.8%)
8. area-codeflow — 50 PRs (7.8%)
9. area-System.Numerics — 37 PRs (5.8%)
10. area-Diagnostics-coreclr — 36 PRs (5.7%)
1
2
3
4
5
6
7
8
9
10
637
上位10件の合計
1 area-CodeGen-coreclr 142 PRs 22.3%
2 Servicing-approved 75 PRs 11.8%
3 community-contribution 75 PRs 11.8%
4 arch-wasm 65 PRs 10.2%
5 area-VM-coreclr 55 PRs 8.6%
6 area-Infrastructure 52 PRs 8.2%
7 area-Diagnostics-cdac 50 PRs 7.8%
8 area-codeflow 50 PRs 7.8%
9 area-System.Numerics 37 PRs 5.8%
10 area-Diagnostics-coreclr 36 PRs 5.7%
上位10件で全1272件中637件(50.1%)を占めます。ラベルは1つの Pull Request に複数付くため、比率は PR 数ではなくラベル付与の延べ数に対するものです。
各 Pull Request の概要
この月にマージされた 875 件を新しい日から順に並べています。タイトルをクリックするとその日のページの該当箇所へ移動します。Bot が作成した 74 件はタイトルのみにして、各日の最後にまとめています。
2026年07月31日 (35 PRs) うち Bot 7 件 この日のページ →
@Copilot ・ GitHub ・ area-GC-coreclr
NativeAOT の Server GC で ETW GCHeapDump トレース中に発生するクラッシュを修正します。GcScanRootsForETW が未初期化の sc->thread_number (-1) を IsThreadUsingAllocationContextHeap に渡すことで、Server GC では g_heaps[-1] への範囲外読み取り(0xC0000005)が発生し、Workstation GC ではスタックルートなしのヒープダンプが生成されていました。
続きを読む
@Copilot ・ GitHub ・ area-GC-coreclr
SuppressGCTransitionNegativeTestがGCストレス環境で失敗する問題を修正するPRです。PR #126108でXUnit属性によるGCStressIncompatibleスキップに置き換えられましたが、このテストは非デフォルトのCLRTestExitCode(クラッシュ終了コード)を指定しており、XUnitレベルのスキップが100を返すため、ハーネスが期待する終了コードと矛盾していました。この問題を解決するために、プロジェクト設定でGCストレス互換性チェックを復元し、ドキュメントに新しいテスト規則を追加します。
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr Priority:1
Wasm環境でのJIT最適化における引数インデックスの扱いの不具合を修正します。Wasm上では管理呼び出しに隠し引数WasmShadowStackPointerが追加されるため、GetArgByIndex(n)とGetUserArgByIndex(n)が異なる値を返します。本修正では、ユーザー引数のみを対象とする場面でGetUserArgByIndex(n)を使用するよう統一し、キャスト補助関数の引数判定エラーによるNullReferenceException発生を防止します。
続きを読む
@pavelsavara ・ GitHub ・ arch-wasm area-Build-mono
CoreCLR browser-wasm native relink機能をパッケージ化されたSDK(例:daily wasm-tools workload)から動作するように修正するPRです。Emscriptenキャッシュの環境変数設定、ヘッダファイルのパッケージング、ランタイムパックへのVM/minipalヘッダ追加により、復元されたSDK環境でのビルドを可能にしました。
@rcj1 ・ GitHub ・ area-Infrastructure
dotnet/runtimeリポジトリのCopilot指示ガイドを更新し、インタラクティブCLI使用時に、ユーザーが明示的にビルド/テスト実行をスキップするよう指示した場合に、自動化されたビルド/テスト処理をスキップすることを許可します。これにより、反復的な編集作業中の不要な自動処理を削減することが目的です。
@tannergooding ・ GitHub ・ area-CodeGen-coreclr
JIT値番号付けのバグを修正しました。GC値を非GCテンポラリにキャストする際、異なるpinned領域からの等価なストアに同じ値番号を割り当てていたため、CSEが圧縮GC後の古い生アドレスを再利用する問題がありました。各ストアに一意の値番号を付与し、sequential pinned領域とループ形式の両方に対する回帰テストを追加します。
@elinor-fung ・ GitHub ・ area-Host
Windows apphostのエラーダイアログ処理から、カスタム接頭辞(" _ ")によるエラーメッセージの特殊処理を削除しました。この接頭辞はapphost自身でのみ生成されていましたが、現在は出力されなくなったため、対応コードを削除したものです。
@Copilot ・ GitHub ・ area-Host
6年前からアクティブな問題としてマークされていた Bundle_can_be_renamed_while_running テストを削除します。このテストは共有の TestFixture が [Theory] 実行間で非決定的な失敗を引き起こしていたため無効化されていましたが、この期間に関連する報告済みの問題がないため、削除することで技術負債を削減します。
@elinor-fung ・ GitHub ・ area-Host
ホスティングレイヤーの StatusCode enum を公開C言語ヘッダー host_error_codes.h として出荷します。これにより、ネイティブホストコンシューマーは hostfxr、hostpolicy、nethost APIから返されるエラーコードを手動で再定義する必要がなくなります。ヘッダーは Microsoft.NETCore.DotNetAppHost パッケージに含まれ、純粋なC言語コードとしてコンパイル可能です。
続きを読む
@vcsjones ・ GitHub ・ tenet-performance area-System.Formats.Asn1
ASN.1制限文字列エンコーディングのNumericString とPrintableString に対して、SIMD(ベクトル化)による高速化を実装するフォローアップ。これら2つのエンコーディングは、連続した文字範囲ではなく複数の範囲と個別文字から構成されるため、複数範囲チェックが必要です。小さな入力ではスカラーパスの高速化により、ベンチマーク回帰を補完しています。
@Copilot ・ GitHub ・ area-Diagnostics-cdac
IXCLRStackWalk インターフェースの GetFrameType および SetContext メソッドを cDAC (Compact Data Access Component) に統合します。これらのメソッドにより、スタックウォーク時のフレームタイプ取得とコンテキスト設定が可能になります。なお、CLRDATA_STACK_WALK_REQUEST_SET_FIRST_FRAME リクエストは現在の実装コンテキストでは no-op として残されています。
続きを読む
@Copilot ・ GitHub ・ area-ReadyToRun
Crossgen2で生成されるネイティブPDB(*.ni.pdb)のGUIDがゼロになる問題を修正します。原因はReadyToRunObjectWriterの出力ストリームがバッファリングされたままSavePdbに渡され、ディスク上の不完全なイメージが読み込まれたためです。ネストされたusingブロックでストリームをフラッシュ・クローズすることで、PDBファイルの同一性がDLLと一致するようになります。
続きを読む
@am11 ・ GitHub ・ area-Diagnostics-coreclr community-contribution
in-processクラッシュレポーターの対応OSを拡張します。従来はLinuxに限定されていた機能を、すべてのUnix OSに対応させることで、より広範な環境でのクラッシュレポート生成を可能にします。
@tannergooding ・ GitHub ・ area-System.Numerics
UTF-8数値パーサーの境界外読み取りバグを修正しました。NumberFormatInfoの UTF-8キャッシュにNULターミネータが存在しないため、MatchCharsが配列境界を超えて読み込み、セパレータマッチングの失敗により数字が符号の一部として解析されていました。例えばfa-IRの8バイトNegativeSignを持つカルチャでは"-1234"が-234と解析されていました。修正により、キャッシュに末尾NULバイトを追加し、パターンマッチングをvalue.Lengthで制限することで安全性を確保しました。
続きを読む
@svick ・ GitHub ・ area-Extensions-DependencyInjection
DI(Dependency Injection)コンテナのシングルトン解決時に、コンストラクタ内で再入的に同じサービスを解決しようとする場合の動作を検証する回帰テストを追加しました。このテストは、循環依存エラーが発生した場合でも複数のシングルトンインスタンスが生成されないことを確認します。
@lateralusX ・ GitHub ・ area-Codegen-Interpreter-mono
Monoインタープリタの最適化ティア(INTERP_OPT_SUPER_INSTRUCTIONS)における自己割り当てコンストラクタのミスコンパイルを修正しました。in(byref)パラメータが宛先とエイリアスする場合、ECMA-335に準拠してコンストラクタが古い値を参照できるよう、中間値の一時コピーを経由するようにしました。
修正前は以下のコードが誤動作していました:
a = new GEJ(a.x, a.y, a.z, a.infinity);
インタープリタティアアップ後、アドレス取得されたローカル変数への直接書き込み最適化により、コンストラクタが読み書き同時実行の状態に陥り、フィールドがゼロ化されていました。
続きを読む
@Copilot ・ GitHub ・ area-Diagnostics-coreclr
GetPEFileMDInternalRWをHasReadWriteMetadataにリネームし、内部ターゲットアドレスを公開する代わりにメタデータの書き込み可能性を直接返すように変更しました。ネイティブとマネージドのDacDbiインターフェース、cDAC、およびそれらの呼び出し元を更新しています。
@AndyAyersMS ・ GitHub ・ arch-wasm area-CodeGen-coreclr Priority:1
WebAssembly上でのRyuJit実行時、非同期再開とEH変換によってtry領域の中間にエッジが挿入される問題を解決するPRです。try領域を単一エントリ領域に変換する新しいfgWasmRepairTryEntriesフェーズを導入し、Wasm構造制御フローの要件を満たします。従来のSCC変換に頼る機構を廃止し、より堅牢で保守性の高い実装に置き換えています。
@Copilot ・ GitHub ・ area-Diagnostics-coreclr
NativeAOT の従来のデバッグヘッダコントラクト (DebugHeader.cpp、PopulateDebugHeaders、DotNetRuntimeDebugHeader) を削除するPRです。ランタイム診断検出が DotNetRuntimeContractDescriptor に統一されたため、レガシな実装は不要になりました。
@hoyosjs ・ GitHub ・ area-Diagnostics-coreclr
cDAC (Compact Data Access Contract) スタック配下の全プロダクト、ツール、テストプロジェクトをターゲットフレームワークから $(NetCoreAppToolCurrent) (net11) から $(NetCoreAppMinimum) (net10) に変更するリターゲティング。これにより、リリース済みのSDKでのビルドが可能になります。
@joshuajyue ・ GitHub ・ area-System.Collections
BitArrayにReadOnlySpan<bool>、ReadOnlySpan<byte>、ReadOnlySpan<int>を受け取るコンストラクタを追加しました。既存の配列コンストラクタはスパンオーバーロードを経由するようにリファクタリングされ、nullチェックとオーバーフロー動作は保持されます。Boolean SIMD最適化、スカラー残余処理、整数エンディアン動作も維持されます。
// 使用例
BitArray ba1 = new BitArray(new ReadOnlySpan<bool>(boolArray));
BitArray ba2 = new BitArray(new ReadOnlySpan<byte>(byteArray));
BitArray ba3 = new BitArray(new ReadOnlySpan<int>(intArray));
続きを読む
@EgorBo ・ GitHub ・ linkable-framework area-Tools-ILLink
unsafe-v2マイグレーションツーリングにメモリ安全性契約の一貫性を修正するRoslynコード修正プロバイダを2つ追加します。SynchronizeUnsafeContractCodeFixProviderは派生メンバーと基底メンバー間のunsafe契約の不一致(CS9364/9365/9366)を修正し、MatchPartialSafetyModifierCodeFixProviderは部分メンバー宣言間の修飾子不一致(CS0764/CS9390)を修正します。既存の診断IDのみを使用し、新規追加はありません。
続きを読む
@adamperlin ・ GitHub ・ area-CodeGen-coreclr Priority:1
x86ターゲットにおいて、デバッグスピリングコード実行時にTYP_BYREFからTYP_INTへの暗黙的キャストが正しく実行されていない問題を修正します。PR #129866によってWindows x86でPDB読み取りが有効になったことで、従来x64でのみ実行されていたキャスト正規化ロジックがx86でも必要になりました。
@alinpahontu2912 ・ GitHub ・ area-Meta
ZIP暗号化ストリーム(ZipCryptoStream、WinZipAesStream)のファザーを修正し、リフレクションを使用した内部ストリーム構築から実際のZipArchiveの暗号化/復号化パスを通じたテストに変更しました。ZipCryptoおよびWinZip AES(128/192/256ビット)の暗号化ラウンドトリップ検証(同期・非同期)と、不正なパスワードシナリオのテストを追加しています。
続きを読む
@tannergooding ・ GitHub ・ area-CodeGen-coreclr Priority:1
JIT codegen内で、LSRA(Linear Scan Register Allocation)スピルテンポラリから再ロードされるキャストが、実際の型ではなく元の小型メモリオペランド型として処理される問題を修正しました。符号付き小型源(sbyteなど)から符号なしキャストへの場合、1バイトのmovzxが誤って符号拡張ビットをゼロクリアする、または checked buildでアサーション失敗を引き起こしていました。
続きを読む
@jtschuster ・ GitHub ・ arch-wasm area-ReadyToRun
WebAssembly object writer において、異なるセクション内のシンボル追跡をアドホックフィールドから専用のWasmSymbolManagerクラスに抽出しました。これにより、物理セクションまたは論理 WASM インデックス空間内のシンボル管理が統一され、WASM インデックス再配置の処理が簡潔になります。また、インポートセクションを「凍結」し、各論理インデックス空間においてインポートが最初になるように強制します。
続きを読む
@kotlarmilos ・ GitHub ・ area-Diagnostics-coreclr
iOSでDebug時にcorelibがR2Rコンパイルされている場合、スレッド実行時にR2Rコードとインタプリタコードの両方でDebugger::CreateThreadイベントが重複して発生する問題を修正します。新しいper-threadフラグTSNC_DebuggerThreadStartSentを導入し、最初に到達したパスだけがイベントを送信し、2番目のパスはスキップすることで、重複するthread-attachイベントと不要なデバッギーの一時停止を防止します。
続きを読む
@Ruihan-Yin ・ GitHub ・ area-CodeGen-coreclr community-contribution
APX(Advanced Performance Extensions)とEVEX命令エンコーディングの処理を簡潔化するリファクタリング。TakesApxExtendedEvexPrefixを廃止し、TakesEvexPrefixに統一して、SIMD EVEX と APX 拡張 EVEX の両方を一元管理します。可読性と堅牢性の向上を目指し、スループットへの悪影響を最小化します。
2026年07月30日 (30 PRs) この日のページ →
@Copilot ・ GitHub ・ area-Diagnostics-cdac
cDAC(Component Data Access Contract)向けに GetNativeCodeInfo と GetNativeCodeInfoForAddr DacDbi APIを実装し、レガシーDAC動作との互換性を確保します。ネイティブコード領域の解決、MethodDesc、ジェネリック状態、モジュール/トークン、EnCバージョンの取得に対応し、非同期バリアント、インタープリタプリコード、32ビットアドレスなどのエッジケースを処理します。
続きを読む
@adamperlin ・ GitHub ・ area-CodeGen-coreclr
WebAssembly(Wasm)コード生成において到達不可能なコードパスに関連する NYI_WASM(Not Yet Implemented for WebAssembly)マクロの不要なインスタンスを削除しました。また、Wasm向けに不要な emitJumpDistBind を条件付きコンパイルで制御します。
@AndyAyersMS ・ GitHub ・ arch-wasm area-CodeGen-coreclr Priority:1
WASM環境でlocalloc(GT_LCLHEAP)が関数呼び出しの引数に含まれる場合、引数評価順序の問題を修正します。シャドウスタックポインタがlocalloc後の正確なスタックポインタを反映するよう、引数を一時変数に評価することで対応しています。
@MihaZupan ・ GitHub ・ area-System.Net
Uri コンストラクタのパフォーマンス回帰を修正するため、stackalloc ベースの ValueStringBuilder の使用を専用ヘルパーメソッドに移動しました。これにより、大規模なメソッド内での JIT/codegen の悪影響を軽減し、Uri 解析パスのスループットを向上させます。
@BrzVlad ・ GitHub ・ area-CodeGen-Interpreter-coreclr
CLR インタプリタの Peephole 最適化ロジックにおいて、STLOC/LDLOC オペコードのサイズ計算とオペランドデコーディングの不具合を修正しています。これらのオペコードは IL ストリーム上で 4 バイトですが、長形式オペコード(0xFE プレフィックス)を適切に処理していなかったため、ローカル変数の取得に失敗し、無効なメモリアクセスによるクラッシュが発生する可能性がありました。
@adamperlin ・ GitHub ・ area-CodeGen-coreclr
Wasm SIMD固有のNYI(Not Yet Implemented)エスケープハッチであるNYI_WASM_SIMDマクロとJitWasmSimdNyiToR2RUnsupportedJIT設定オプションを削除し、既存の「到達不可能」メカニズム(unreached()、NO_WAY()、IMPL_LIMITATION())に置き換える変更です。これにより、Wasm SIMD処理のエラーハンドリングをより明確で標準化された形式に統一します。
続きを読む
@arrowd ・ GitHub ・ area-System.Diagnostics.Process community-contribution
FreeBSD環境で GetProcInfo() ヘルパーメソッドが無効なプロセスID(PID)を渡された際に未処理例外をスローする問題を修正しました。短命プロセスがPIDが無効になるほど速く終了する場合に頻繁に発生する可能性があるため、呼び出しをtry-catchブロックで囲んで対応しています。
@MichalStrehovsky ・ GitHub ・ area-GC-coreclr
GCリグレッションテストプロジェクト(460373)にプロセス分離要件を追加します。これは#126108の影響による変更で、テスト実行時に他のテストへの副作用(例:漏洩したGCハンドル)を防ぐため、プロセス内実行ではなくプロセス分離での実行を強制します。
@MichalStrehovsky ・ GitHub ・ area-GC-coreclr
GCハンドルのリグレッションテストプロジェクト 445488 にプロセス分離を有効にする設定を追加します。これは #126108 の影響に対応するもので、リークされたGCハンドルがテスト間で干渉するのを防ぐためです。
@eiriktsarpalis ・ GitHub ・ area-System.Text.Json
System.Text.JsonでSystem.Numerics.BFloat16、Decimal32、Decimal64、Decimal128の組み込みシリアライゼーション機能を実装しました。JsonMetadataServicesに対応する4つの公開プロパティが追加されます。
namespace System.Text.Json.Serialization.Metadata
{
public static partial class JsonMetadataServices
{
public static JsonConverter<System.Numerics.BFloat16> BFloat16Converter { get; }
public static JsonConverter<System.Numerics.Decimal32> Decimal32Converter { get; }
public static JsonConverter<System.Numerics.Decimal64> Decimal64Converter { get; }
public static JsonConverter<System.Numerics.Decimal128> Decimal128Converter { get; }
}
}
続きを読む
@lewing ・ GitHub ・ arch-arm64 area-CodeGen-coreclr
arm64 の checked JIT で Vector64.Shuffle / Vector64.ShuffleNative が64ビット要素型(1D アレンジメント)の場合にアサーション失敗していた問題を修正しました。シャッフルインデックスのスケーリング時に、この特定のケースではスカラーシフト組み込み関数を使用するようにしました。
// Vector64<nint> や Vector64<nuint> での変数インデックス指定時に有効
var indices = stackalloc int[] { 0 };
var result = Vector64.Shuffle(vector, GetIndices(indices)); // 変数インデックス経由で修正パスを通る
続きを読む
@rosebyte ・ GitHub ・ area-Extensions-FileSystem
.NET 5以降、PhysicalPathを報告しながらCreateReadStreamでコンテンツを変換するカスタムIFileProvider(暗号化されたappsettings.jsonを復号化するケースなど)が設定システムで無視される問題を修正します。FileConfigurationProviderの高速パスを、正確にPhysicalFileInfo型の場合のみに限定し、カスタムプロバイダーの変換ロジックを尊重しつつ、同期I/O最適化を維持します。
続きを読む
@rosebyte ・ GitHub ・ breaking-change area-Extensions-Configuration needs-breaking-change-doc-created
ChainedConfigurationProvider.TryGetのロジックを修正し、空文字列("")を有効な値として扱うように変更しました。これまでは!string.IsNullOrEmpty(value)を使用していたため、空文字列を持つキーが見つからないものとして扱われていました。この修正により、チェーン設定の動作が.NET 10で標準化された「空文字列は値、nullは欠落」というルールに合致するようになります。
続きを読む
@rosebyte ・ GitHub ・ area-Extensions-Configuration source-generator
Configuration Binder source generatorが、C#キーワード(base、eventなど)をメンバー名として持つモデルに対して生成されたコードをコンパイルできないバグを修正しました。キーワード名の識別子に@プレフィックスを付与することで、有効なC#コードの生成を実現します。
@PranavSenthilnathan ・ GitHub ・ area-System.Security
.NET Framework上でML-DSA(Module-Lattice-Based Digital Signature Algorithm)のCMS署名テストを有効化するテスト更新です。プラットフォームがML-DSAをサポートしている場合、SignedCmsおよびSignerInfoのML-DSA関連テストを実行可能にし、Windows CAPIのSHAKEダイジェストアルゴリズム非対応に関する既知制限を適切にハンドルします。
続きを読む
@tannergooding ・ GitHub ・ area-skills
dotnet/runtimeのGitHub Copilot指示ファイルを、活動(コード作成、PR作成、レビュー、ビルド・テスト)別に分割し、常にロードされるプロンプト内容を削減しました。.github/copilot-instructions.mdは3,934トークンから1,725トークンに削減(-56% )され、ビルド・テスト手順は新しいbuild-and-testスキルに分離され、レビュー基準はpr-assessment.mdに独立させられました。この変更により、文脈サイズの削減によるAIコスト削減と、ルール発火の誤作動防止が実現されています。
続きを読む
@janvorli ・ GitHub ・ Servicing-approved area-GC-coreclr
GCメモリ管理の稀なエッジケースにおいて、g_gc_lowest_addressが不正に0に設定されてしまう問題を修正します。この問題が発生すると、GCがNULLポインタを有効なヒープ参照として扱い、クラッシュの原因となります。
@tannergooding ・ GitHub ・ area-System.Numerics
Decimal32/Decimal64/Decimal128 の ToString メソッドが、ラウンドトリップ可能な結果を生成し、コホート(同じ値を表現する異なるエンコーディング)を保持するように修正されました。
主な改善点:
正の quantum exponent を持つ値が固定小数点表記で表示されていたため、再パース時に異なるコホートメンバーに解析されていた問題を解決
ゼロ係数の quantum を保持するよう DecimalIeee754ToNumber を修正
丸め動作を IEEE 754 に準拠した ties-to-even に統一
負のゼロの符号を保持
出力例:
// 修正前 → 修正後
1e7: "10000000" → "1E+07"
10e6: "10000000" → "1.0E+07"
0e2: "0" → "0E+02"
-0 (E2フォーマット): "0.00E+000" → "-0.00E+000"
0.5 (F0フォーマット): "1" → "0" // ties-to-even
続きを読む
@Copilot ・ GitHub ・ area-Diagnostics-cdac
cDACでIXCLRDataTypeDefinitionのメタデータメソッド(GetCorElementType、GetName、GetTokenAndScope)を実装し、レガシーDACの命名規則とセマンティクスに合わせました。ClrDataTypeDefinitionにモジュール、型ハンドル、メタデータトークンを保持し、デバッグビルドではcDACの結果とレガシーDACの結果を相互検証します。
@Copilot ・ GitHub ・ area-Diagnostics-cdac
cDACでIXCLRDataExceptionState.GetManagedObjectを実装し、マネージド例外オブジェクトの取得機能をレガシーDAC互換の動作で提供します。スローされたオブジェクトハンドルをClrDataValueに解決し、オブジェクトサイジングセマンティクスを保持します。
@tannergooding ・ GitHub ・ area-System.Collections
2020年から無効化されていた System.Buffers.ArrayPool.Tests.CollectionTests.PollingEventFires テストを再度有効化するPR。ArrayPool の完全な実装改善により、元々の問題は解消されたが、BufferTrimPoll イベント発火の検証ロジックをGC/ファイナライザータイミングの揺らぎに強くするため、ポーリング検査にリトライロジックを追加しています。
続きを読む
@kkokosa ・ GitHub ・ area-GC-coreclr
Workstation背景GC(セグメント方式)で発生するアクセス違反の修正。フォアグラウンドGC中に未リンク状態の拡張セグメント上のマークアレイが未コミット状態のままとなり、後続のBGCでピンオブジェクトのスキャン時に無効メモリへのアクセスが発生していた。Server GCで既に実装されている安全ネット(拡張セグメント追跡とマークアレイ再コミット)をWorkstation GCに拡張することで修正。
続きを読む
@iremyux ・ GitHub ・ area-System.IO.Compression
System.IO.Compression内の6つのzlib系ストリームレス圧縮/展開コーダー(DeflateEncoder/DeflateDecoder、ZLibEncoder/ZLibDecoder、GZipEncoder/GZipDecoder)にReset()メソッドを追加し、インスタンスを初期状態に戻して再利用できるようにします。
var encoder = new DeflateEncoder();
encoder.Encode(data1, buffer1, out _, out _);
encoder.Reset(); // 初期状態に戻す
encoder.Encode(data2, buffer2, out _, out _); // 新しい圧縮操作を開始
続きを読む
@StephenMolloy ・ GitHub ・ area-Serialization
XmlSerializerのUnknownAttributeイベントが、プリミティブ型・配列・コレクション型にマップされた要素の不正な属性に対して発火していなかった問題を修正しました。これまでこれらの型は属性をチェックせずコンテンツを直接読み込んでいたため、余分な属性は無視されていました。修正後、ユーザー定義型と同様に属性を走査し、UnknownAttributeイベントを発火させるようになります。
続きを読む
@ManickaP ・ GitHub ・ area-System.Net.Http
System.Net.Httpクライアントメトリクスの高カーディナリティタグによるデータ蓄積問題を緩和するため、http.client.open_connectionsとhttp.client.active_requestsをイベントベースのUpDownCounter<long>から、スナップショット報告型のObservableUpDownCounter<long>に変更します。これにより、モニタリング側でのメトリクスデータ蓄積を軽減します。
重要な互換性への影響 : MeterListenerを直接利用している場合、RecordObservableInstruments()の呼び出しが必須になります。
続きを読む
@kkokosa ・ GitHub ・ area-GC-coreclr
Server GC環境でDATAS(Dynamic Adaptation To Application Sizes)が有効な場合、GC.GetTotalAllocatedBytes()が非単調(減少)になるバグを修正しました。根本原因は、アクティブなヒープ数のみを集計していたため、ヒープが一時停止されると割り当てバイト数が減少していました。修正は、現在アクティブなヒープだけでなく、存在したすべてのヒープの累積値を集計することで、単調性を保証します。
続きを読む
@Sahithbasani ・ GitHub ・ area-Extensions-Configuration community-contribution
Configuration Binder ソースジェネレータが、null値のゲッター専用コレクションプロパティへのバインディングを試みていた問題を修正。ゲッター専用プロパティは割り当てできないため、バインドされた一時的なコレクションがすぐに破棄される無駄な割り当てが発生していました。本変更により、プロパティ値が非nullの場合のみバインディングロジックを実行するようになります。
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
このPRはデバッガのメタデータ取得をレガシーな「リモートMD構造逆シリアライゼーション」パスから、DacDbi + cDAC ベースのシリアライゼーション手法に切り替えます。読み書き可能なメタデータ(MDInternalRW)をcontiguousなECMA-335 metadataブロブとしてシリアライズし、cDACのEcmaMetadataコントラクト内に処理をカプセル化することで、従来のカスタムデータソースインフラストラクチャ全体を削除します。
続きを読む
@teo-tsirpanis ・ GitHub ・ area-System.Text.Json community-contribution
System.Text.Jsonのリフレクションベースメンバーアクセッサをリファクタリングし、サポートされているフレームワークでMethodInvoker/ConstructorInvoker APIを使用するよう更新しました。これによりメソッド呼び出しが高速化され、TargetInvocationExceptionでのラッピングが回避されます。また、属性の存在確認をIsDefinedに置き換えて不要なアロケーションを削減しています。
続きを読む
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr runtime-async
JITのランタイム非同期処理において、lvaAsyncContinuationArg != nullptr による暗黙的な「再開済み」判定を、明示的なブール型ローカル変数 lvaResumedIndicator に置き換えます。これは非同期メソッドのインライン化を実現するための基盤変更です。従来の判定方法はインライン関数では無効であるため、明確な指標変数が必要とされています。
2026年07月29日 (31 PRs) この日のページ →
@Copilot ・ GitHub ・ area-Infrastructure
スタックされたPR(中間ブランチをターゲットとするPR)のCI自動キューイングをサポートするため、AzDO パイプラインのPRブランチフィルターを拡張しました。従来はmain/releaseパターンに限定されていたため、スタック内の下流PRが検証を自動実行できていませんでした。
@mdh1418 ・ GitHub ・ area-CodeGen-coreclr
macOS/Linux での in-proc crash reporter 対応に伴い、意図的にクラッシュを誘発するテストで余分なクラッシュレポート出力が生成されるようになった問題を修正します。テスト環境のDOTNET_EnableCrashReport環境変数を明示的に無効化し、テスト出力のノイズを削減します。
@pavelsavara ・ GitHub ・ arch-wasm area-Build-mono
WebAssembly マルチスレッド build (WasmEnableThreads=true) で、実行時に _emscripten_force_exit 関数が見つからないエラーが発生する問題を修正します。Mono ブラウザ build 設定で、Emscripten のエクスポート対象に emscripten_force_exit を追加します。
@rcj1 ・ GitHub ・ area-Diagnostics-coreclr
CoreCLRのデバッガー右側(DBI)におけるDB_IPCE_FIRST_LOG_MESSAGEイベント処理で、ログメッセージ内容の長さ検証を削除します。ログスイッチ/カテゴリ名の検証はMAX_LOG_SWITCH_NAME_LENを使用するよう変更されます。
@mdh1418 ・ GitHub ・ area-VM-coreclr
CoreCLR のクラッシュダンプ終了ロジックにおいて、スタックオーバーフロー終了コードの確認時に発生する符号付き/符号なし比較警告(-Werrorで エラーとして扱われる)を修正しました。exitCodeをCOR_E_STACKOVERFLOWと比較する際に明示的なstatic_cast<UINT>(...)を追加することで、型の不一致を解決しています。
@tommcdon ・ GitHub ・ area-Diagnostics-coreclr
cDAC(Compact Debugging Access Component)のDacDbiImpl.GetModulePathメソッドが、ディスク上のパスを持たないモジュール(動的/メモリ内モジュール)に対してIStringHolderを未割り当てのまま返していた問題を修正します。修正により、パスレスモジュールの場合も空文字列を割り当てることで、デバッガーのモジュール読み込みコールバック時の"bad OnModuleLoad"エラーを防ぎます。
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
WebAssembly(WASM)バックエンド用のJIT emitterに対して、ピープホール最適化を追加しました。local.set N直後にlocal.get Nが続く場合、これを単一のlocal.tee N命令に折り畳むことで、R2R corelib コード セクションサイズを2.56%削減します。
@lewing ・ GitHub ・ area-crossgen2-coreclr
ReadyToRunCompilerContextのコンストラクタシグネチャ変更に対応していないWasmArgumentLayoutTests.csのビルドエラーを修正します。CreateWasmContext()メソッドで新しく追加されたtargetAllowsRuntimeCodeGenerationパラメータを渡すことで、セマンティックマージコンフリクトを解決します。Wasmターゲットではランタイムコード生成がサポートされていないため、このパラメータはfalseに設定されます。
続きを読む
@mdh1418 ・ GitHub ・ area-System.Diagnostics.Tracing
EventListenersLock と ArrayPoolEventSource の静的コンストラクタ間のデッドロックを修正します。dotnet-counters が .NET アプリの初期化中に起動されると、Thread A が EventListenersLock を保持しながら文字列補間経由で ArrayPool<char> を初めて使用し、Thread B が ArrayPoolEventSource の型初期化ロックを保持しながら EventListenersLock を待機するという循環依存でデッドロックが発生していました。修正は ArrayPoolEventSource を InitializeDefaultEventSources() で事前初期化することで、この循環依存を防止します。
続きを読む
@elinor-fung ・ GitHub ・ area-Host
corehost の C 言語への変換後、使用されなくなった hostmisc の C++ ラッパー関数を削除するクリーンアップです。DOTNET_ROOT 環境変数ヘルパー、pal::get_timestamp、pal::is_directory の未参照の C++ ラッパーを削除し、機能に影響はありません。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラの正確性の問題を修正。GenTree::Compareがarray要素アドレス関連ノード(GT_ARR_ELEM、GT_ARR_ADDR、GT_INDEX_ADDR)の要素メタデータを無視していたため、要素型やスケールのみが異なる配列要素アドレスが同一として扱われ、不正にtail merge/CSEで畳み込まれていました。
@tannergooding ・ GitHub ・ area-CodeGen-coreclr Priority:2
Avx.Compare / Avx512F.Compare が非定数の FloatComparisonMode 引数(ループ帰納変数など)を受け取る場合、FullOpts最適化下で不正な結果またはアクセス違反を引き起こしていた問題を修正します。根本原因は、JITコンパイラがマネージドフォールバックへの呼び出しハンドルを ConvertMaskToVector ラッパーノードに誤って設定し、内部の比較演算に必要な引数がセットアップされていなかったことです。修正により、ハンドル設定を内部のマスク操作ノードに向け直します。
続きを読む
@mdh1418 ・ GitHub ・ area-VM-coreclr
クラッシュレポート時のスタックウォーク処理で、フレーム化されたトランジションフレーム(マネージドP/Invoke遷移時のネイティブクラッシュなど)に対するILオフセット解決を回避する変更です。前回の修正(#131273)ではCrawlFrame::GetRelOffset()の呼び出しを避けていましたが、本修正ではGetILOffsetFromNative()の呼び出しも条件付きで制限し、Checked-buildのアサーション失敗を防ぎます。
続きを読む
@tannergooding ・ GitHub ・ area-VM-coreclr
SIMD型の判定ロジックを、名前空間ベースの包括的チェックから明示的な許可リストへ変更します。これにより、System.NumericsとSystem.Runtime.Intrinsics内の非SIMD [Intrinsic]型(例:Matrix3x2/Matrix4x4)のフィールドが正しく列挙され、JITに報告されます。JIT-EE GUID変更なし。
@EgorBo ・ GitHub ・ area-System.Runtime.Caching Priority:0
System.Runtime.Cachingの内部カウンター実装を最適化し、高い競合状況下でのMemoryCacheのパフォーマンスを大幅に改善しています。以下の2つの主要な変更を実施:
MemoryCacheStoreから冗長なヒット率ブックキーピングを削除し、ヒット率をHitsとMissesから動的に計算するように変更
Countersのlong[]バッキングストレージをキャッシュラインで分離されたフィールドを持つ明示的にレイアウトされた構造体に置き換え、Interlocked操作をスイッチベースで実行
続きを読む
@Copilot ・ GitHub ・ area-System.Security
CI自動修正ワークフロー(ci-failure-fix)に対して、プラットフォーム固有の暗号化設定に関連するSystem.Security.Cryptography.*テストの失敗を適切にルーティングするガイドラインを追加しました。ディストロ固有の暗号設定(AzureLinux/mariner、linux_musl、FIPS、OpenSSLプロバイダ変種など)でのみ失敗するテストに対して、推測的で自信のあるPRの自動作成を防ぎ、セキュリティ領域のオーナーへの判断を委譲する変更です。
続きを読む
@hoyosjs ・ GitHub ・ area-Infrastructure-coreclr
新しいデバッグインターフェース実装 mscordbi_universal を追加します。従来の mscordbi とは異なり、DAC(Debugging Access Component)のPALを共有せず、独自のプライベートPALを所有しています。cDAC ICorDebugパスの実装に対応し、Microsoft.DotNet.Cdac.Transport パッケージに組み込まれます。従来の mscordbi は変更されていません。
続きを読む
@eduardo-vp ・ GitHub ・ area-System.Threading
フォアグラウンドスレッドのシャットダウンテストでxunitラッパーとフォアグラウンドスレッド間のレース条件を修正します。Thread.Sleepの待機時間を1秒延長し、ラッパーを削除することで、JITストレス下でもテストが確実に成功するようにします。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
WebAssembly RyuJIT コードジェネレータにおいて、制御フロー処理後に各リージョン(メインメソッドおよび各funclet)のブロックが連続しているかを検証するデバッグアサーションを追加します。これにより、wasm関数体生成時のブロック順序の整合性を確保します。
@mdh1418 ・ GitHub ・ area-PAL-coreclr
Linux と macOS で既存のクラッシュレポート設定を使用した in-proc クラッシュレポーターを有効化します。DOTNET_DbgEnableMiniDump=1 は引き続き createdump を選択し、DOTNET_EnableCrashReport=1 または DOTNET_EnableCrashReportOnly=1 で in-proc レポーターが有効になります。モバイルプラットフォームは既存の動作を保持します。
続きを読む
@lewing ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssemblyのJITコンパイラで、複数のヘルパー呼び出しのモデル化された戻り値の型が、実際のヘルパー関数のシグネチャと不一致だった問題を修正します。Wasmではcall_indirectのシグネチャが戻り値型から導出されるため、型の不一致はエンジンによる「function signature mismatch」トラップを引き起こしていました。
3つの問題を修正:①インラインunboxの遅延パス、②CORINFO_HELP_UNBOX_TYPETESTへの呼び出し再ターゲット時の型更新漏れ、③CORINFO_HELP_CHECK_OBJの型モデリング。
続きを読む
@hoyosjs ・ GitHub ・ area-Diagnostics-coreclr
Windows PE エクスポートディレクトリの解析処理をdbgutil のTryGetSymbolで強化します。ICorDebugDataTargetから読み取ったPEデータを信頼できないものとして扱い、破損やメモリマッピング不足、不完全なモジュールデータに対する耐性を向上させます。
@lewing ・ GitHub ・ arch-wasm area-Build-mono
WebAssemblyビルド/テストツール(emsdk、wasi-sdk、wasmtime、ブラウザ/V8など)の取得を統一し、バージョンとホストRIDをキーにした共有キャッシュに移行するリファクタリング。従来は3つの異なる場所・バージョンスキーム・陳腐化戦略で管理されていたツールを、<root>/<tool>/<version>-<host rid>/パターンで一元化し、キャッシュミスをバージョン番号で自動実現、クローン間での共有を実現します。
続きを読む
@Copilot ・ GitHub ・ area-Infrastructure
ML-DSA draft-10 PKCS#8テストの古い条件付きゲーティングを削除し、MLDsa.IsSupportedを直接参照するよう更新しました。Windows固有の回避策を廃止し、現在のプラットフォーム機能チェックに統一します。
[ConditionalTheory(typeof(MLDsa), nameof(MLDsa.IsSupported))]
public static void ComputeSignature_MLDsa_Roundtrip(string hashAlgorithm)
続きを読む
@jkoritzinsky ・ GitHub ・ area-ReadyToRun
Crossgen2が未解決の制約付き静的仮想インターフェイスメソッド呼び出しをR2R(ReadyToRun)コードとしてコンパイルできるようにする変更です。従来はランタイムJIT後退を強制していましたが、本変更によりCORINFO_CALL_CODE_POINTERを使用したランタイム検索パスを導入し、ConstrainedMethodEntrySlotでランタイム決定された制約をエンコードします。これによりSystem.RuntimeType+IGenericCacheEntry<TCache>.CreateAndCacheがR2Rコードとして生成されるようになります。
続きを読む
@StephenMolloy ・ GitHub ・ area-Serialization
コンストラクタを持たないコレクション型に対する XsdDataContractExporter のスキーマエクスポート動作を一貫させます。プロセスグローバルキャッシュへの型キャッシング順序に依存して、同じ型でもエクスポート時に InvalidDataContractException が発生する場合と発生しない場合が混在していた問題を修正。verifyConstructor フラグをスレッドして、スキーマエクスポート時はコンストラクタ検証を無効化し、シリアル化・デシリアル化時は従来通り検証を実施します。
続きを読む
@vcsjones ・ GitHub ・ tenet-performance area-System.Formats.Asn1
ASN.1 BMPString(ビッグエンディアンUCS-2エンコーディング)の符号化・復号化処理にSIMD(ベクトル化)最適化を導入しました。BMPEncodingは固定幅で、サロゲートペアを含まないプレーン0のみに対応しています。小さな入力では若干のレジスタ圧力増加による0.5nsの回帰が見られますが、一般的な名前などの中規模入力では顕著なパフォーマンス向上が実現されています。
@svick ・ GitHub ・ area-Extensions-Configuration
Configuration Binding ソースジェネレータがパラメータ付きコンストラクタを持つ型でコレクションプロパティを重複バインドする問題を修正します。コンストラクタで初期化されたコレクションアイテムが再バインド時に追加され、結果として2倍に複製される問題を解決します。
修正例:ints: [1, 2, 3, 4, 5] がバインドされた場合、修正前は 1, 2, 3, 4, 5, 1, 2, 3, 4, 5 と複製されていましたが、修正後は正しく 1, 2, 3, 4, 5 となります。
続きを読む
@hoyosjs ・ GitHub ・ area-Diagnostics-coreclr
cDAC(Compact Data Access Contract)がIXCLRDataProcess、ISosDac*、CorDBオブジェクトを返す前に、対象ランタイムが必要なすべてのコントラクトを公開しているか事前に検証し、不足している場合は分類可能な特定のHRESULTで失敗するようにします。新しいValidateForDataAccess(Target)メソッドは、これらのインターフェースが依存するコントラクト(直接・推移的)全体をインスタンス化なしで検証し、プラットフォーム条件付きコントラクト(Windowsのみ要求など)にも対応します。
続きを読む
@AaronRobinsonMSFT ・ GitHub ・ area-VM-coreclr
CoreCLRのCOMおよびリファレンスカウント型RAII"ホルダー"を統一し、LifetimeHolder<Traits>パターンに収束させるリファクタリングです。3つの異なるCOMインターフェースホルダー(ReleaseHolder、ComHolderPreemp、ComHolderAnyMode)を統合し、レガシーなSpecializedWrapperAPI(Extract、Clear、GetValueなど)を廃止します。
続きを読む
@huoyaoyuan ・ GitHub ・ area-Infrastructure-coreclr community-contribution
CMakePresets.json スキーマを 3.26 バージョンに更新するものです。
2026年07月28日 (29 PRs) うち Bot 2 件 この日のページ →
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
JITのRange Check分析において、RBOのジャンプスレッド処理後に孤立したプリデセッサブロック(bbPreds == nullptr)から不正な範囲アサーション(edge assertions)がマージされることで、誤ったコード生成が発生していた問題を修正します。PHI_ARG入力時に孤立したブロックをチェックし、到達不可能なブロックからのアサーション処理をスキップします。
@janvorli ・ GitHub ・ Servicing-approved area-VM-coreclr
Windows上でUnmanagedCallersOnly属性を持つメソッド内のcatchから例外がスローされる場合の例外ハンドリング(EH)の不具合を修正します。この問題は.NET 9で新しい例外処理がデフォルト有効化された際に発生した回帰です。catch内からの例外が正しくCallEHFuncletとして検出されず、UnmanagedCallersOnlyメソッド自体から例外が逃げると誤認識されてしまい、同じcatchに何度も再進入して無限ループとスタックオーバーフローを引き起こしていました。
続きを読む
@EgorBo ・ GitHub ・ area-Infrastructure
Windows開発環境のセットアップドキュメント(windows-requirements.md)のwingetセクションを更新し、Visual StudioとPythonのインストール手順を最新化しました。ARM64マシンで検証済みです。
@eiriktsarpalis ・ GitHub ・ area-System.Text.Json
System.Text.JsonのMemberAccessor選択ロジックを変更し、動的コード生成がサポートされている場合にReflection.Emitベースのアクセサを優先するように復元します。これにより、インタープリタベースのランタイムでリフレクションベースのシリアライゼーションパフォーマンスを改善します。
@tommcdon ・ GitHub ・ area-NativeAOT-coreclr
マネージド例外処理ヘルパーメソッドをデバッガスタックから隠すため、3つのメソッドに[StackTraceHidden]および[DebuggerHidden]属性を追加する変更です。前回のPR #130646で属性ベースの隠蔽に移行した際に見落とされたメソッドを補完し、arm64/インタプリタ構成でのデバッガのコールスタック表示(mdbg where、現在位置、ステップ実行)を正規化します。
@davidwrighton ・ GitHub ・ area-CodeGen-Interpreter-coreclr
CoreCLR インタープリタのデリゲート呼び出し低速パスにおいて、COOP→PREEMPT トランジションのタイミングを修正しました。GetMultiCallableAddrOfCode → MethodDesc::GetTemporaryEntryPoint を経由するAPI呼び出しが必要な場合、トランジションを事前に実行するよう調整しています。
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
Edit and Continue (EnC) で追加された静的フィールドのアドレス取得処理を修正し、CoreCLR の EnCAddedStaticField::GetFieldData() の動作に合わせました。プリミティブ型はインラインストレージのアドレスを、マネージド型(Class/ValueType)は間接参照を通じてGC追跡対象のストレージアドレスを返すように修正されました。
@elinor-fung ・ GitHub ・ area-Host
singlefilehostが静的にリンクされたホスティングコンポーネントに対して、実際のリポジトリコミットハッシュを含めるようにします。これまではCoreClrのビルドプロセスでコミットハッシュが渡されなかったため、常に"static"と報告されていました。本変更により、corehost.projと同じ方式でSourceRevisionId経由でコミットハッシュをCoreCLR nativeビルドに配信し、dotnet/hostfxr/apphostと同様に実際のバージョン情報を含めるようにします。
続きを読む
@agocke ・ GitHub ・ area-NativeAOT-coreclr
NativeAOT/ILCで、ldftnがジェネリックコンテキスト引数を必要とするメソッドをターゲットとする場合、インライニング中のジェネリックコンテキストから不正に参照される問題を修正。インライナーとインリーニのジェネリックパラメータの不一致によりIndexOutOfRangeExceptionが発生していた問題を解決します。
class Gen<T>
{
[MethodImpl(MethodImplOptions.NoInlining)]
public static Type Method() => typeof(T);
}
static unsafe nint GetPtr<U>() => (nint)(delegate*<Type>)&Gen<U>.Method;
class Caller<X>
{
[MethodImpl(MethodImplOptions.NoInlining)]
public static nint Run() => GetPtr<X>();
}
続きを読む
@ksharperd ・ GitHub ・ area-System.Net.Security community-contribution
Windows Native APIのSetCredentialsAttributesW P/Invoke宣言を修正し、C言語のunsigned long型(Windows上では4バイト)に対応させるために、longからuintへ型を変更しました。
@lewing ・ GitHub ・ arch-wasm area-Build-mono
Browser-Wasm向けCoreC LRアプリのパブリッシュ失敗を修正するPull Requestです。Sdk.targetsでMonoプロップスを無条件にインポートすることにより、CoreCLRパスがMonoのターゲット定義を継承し、実装されていないターゲット_WasmBuildAppCoreへの依存が発生していました。修正内容は、BrowserWasmApp.propsとBrowserWasmApp.targetsのインポートをUseMonoRuntime != 'false'条件に変更し、CoreCLRパスには独立したBrowserWasmApp.CoreCLR.targetsを使用するようにします。
続きを読む
@Copilot ・ GitHub ・ arch-wasm area-System.Runtime.InteropServices.JavaScript os-browser
WebAssembly/Browser ランタイムの公開API(dotnet.d.ts)から未使用の AssetEntry インターフェースを削除しました。このインターフェースは公開API に含まれていながら、他の公開型から参照されていないデッドコードでした。内部実装では AssetEntryInternal が依存しているため、内部型定義は保持されています。
@MihaZupan ・ GitHub ・ area-System.Net
Uri の非ASCII十六進数アンエスケープ処理を最適化するPR。HexConverter のテーブルルックアップを使用して手動の十六進数計算を置き換え、ホットループの境界チェックを縮小することで、パフォーマンスを改善しています。
@Copilot ・ GitHub ・ area-Diagnostics-cdac
CLRDataMethodDefinitionのIL範囲列挙および代表的なエントリアドレス取得APIをcDAC(コンテナデータアクセスコンポーネント)に実装します。StartEnumExtents、EnumExtent、EndEnumExtents、GetRepresentativeEntryAddressメソッドを追加し、レガシーDAC動作(tiny/fat ILヘッダーおよび単一ショット列挙)を保持します。
続きを読む
@lewing ・ GitHub ・ arch-wasm area-VM-coreclr
WebAssembly R2R(Read-to-Run)パスにおいて、NativeImageEagerFixupsとPregeneratedStringThunksの2つのクリティカルセクション(Crst)ロックが定義済みの取得順序なしで取得されることによるCrstレベル違反を修正します。CrstTypes.defにAcquiredBefore PregeneratedStringThunksエッジを追加し、ロック間に明確な順序付けを確立します。
続きを読む
@tannergooding ・ GitHub ・ area-Interop-coreclr
System.Numerics.Decimal32/64/128 に対する ABI 特別処理を実装しました。これまで Int128/UInt128 と異なり、特別なABI処理がなかったため、Decimal128 のアラインメントが 8 バイトになっていたこと、および P/Invoke での値渡しマーシャリングで診断エラーを出さずに誤ったコード生成をしていた問題を解決します。Decimal128 は 16 バイトアラインメント、Decimal32/Decimal64 は自然なアラインメント(それぞれ 4/8 バイト)を適用し、すべての値渡しマーシャリングを MarshalDirectiveException でブロックします。
続きを読む
@svick ・ GitHub ・ area-Infrastructure
CI失敗スキャナーが重複するKnown Build Error (KBE)を不正に作成する問題を修正。テスト識別子の完全な名前を優先的に検索し、存在しないAzDO attachmentではなくGitHub checkを通じてBuild Analysis情報を参照するように改善。これにより、アンダースコア区切りのメソッド名を含む短縮名検索でマッチしなかった既存KBEが正しく検出される。
@mangod9 ・ GitHub ・ area-Extensions-Logging
EventSourceLogger.ToJsonで、JSONメッセージキーワード有効時(例:dotnet-trace収集時)の毎ログイベント呼び出しにおける割り当てを削減します。[ThreadStatic]でキャッシュされたMemoryStreamとUtf8JsonWriterを再利用し、呼び出しごとにMemoryStream.SetLength(0)とUtf8JsonWriter.Reset(stream)でリセットします。返却されるJSON文字列以外の割り当てを排除しました。
続きを読む
@BrzVlad ・ GitHub ・ area-Codegen-JIT-mono
Monoランタイムにおいて、インターフェースメソッドの再抽象化(reabstraction)時にIMT(Interface Method Table)スロットが不正に計算される問題を修正しました。build_imt_slotsメソッドで再抽象化されたメソッドに対する正しいvtableスロットの対応付けが行われていなかった問題を解決しています。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
Wasm ReadyToRun(R2R)パイプラインに対して、runtime-async メソッド(例: async/await)のコード生成サポートを追加します。非同期継続(async continuation)を Wasm グローバル変数で管理し、シグネチャに 'a' マーカーを追加してasync呼び出しを識別。JIT、EE、ILCompiler、ツール、Wasmホスト全体で非同期resume メタデータと継続値の受け渡しに必要な再配置とサンク処理を実装します。
続きを読む
@Copilot ・ GitHub ・ area-Infrastructure
Apple mobileプラットフォームでのComposite ReadyToRunパブリッシング時に、コンパイル済みコードが拒否または独自のLoadContextで利用不可になった場合に、CoreCLRインタープリターフォールバックに必要なILが削除されるのを防ぐ変更です。IL削除ポリシーを調整し、メソッドごとの命令セットサポート固定機能を持つメソッドのILを保持し、固定命令セットプラットフォーム(Apple mobile/ブラウザ)で互換性を確保します。
続きを読む
@StephenMolloy ・ GitHub ・ area-Serialization
DataContractSerializerがIExtensibleDataObjectを実装する型に対し、CDATA区間内に値を持つ不明な要素を逆シリアル化する際にSerializationExceptionをスローしていた問題を修正しました。CDATA をテキストと同様に処理することで、ラウンドトリップセマンティクスを保持しながら正常に処理できるようにしました。
@StephenMolloy ・ GitHub ・ area-Serialization
[XmlText]属性を持つ配列型メンバーのラウンドトリップ問題を修正。従来は複数要素が区切文字なしで連結されていたため、デシリアライズ時に単一値として読み込まれていました。本修正により、XML仕様に準拠した4つのXML空白文字(0x20、0x09、0x0D、0x0A)で区切られた形式でシリアライズ/デシリアライズするようになります。この動作は[XmlAttribute]リスト型の既存動作に合わせています。
続きを読む
@rcj1 ・ GitHub ・ area-Diagnostics-coreclr
Edit-and-Continue (EnC) 機能がコード バージョニング インフラストラクチャに統合されました。EnC編集は明示的なILコードバージョンとして表現され、ReJITとは区別されます。各編集は単一の新しいILCodeVersionと単一のNativeCodeVersionに対応します。EnCとReJITは相互に互換性がありません。
@StephenMolloy ・ GitHub ・ area-Serialization
反射ベースのXmlSerializerで、派生したIXmlSerializable型の逆シリアル化サポートを実装しました。xsi:type属性を正しく解析して派生型を特定し、以前はNotImplementedExceptionをスローしていた処理を適切に処理できるようになりました。長年未実装だった機能がこのPRで解決されます。
@snickolls-arm ・ GitHub ・ area-CodeGen-coreclr community-contribution
ARM64アーキテクチャにおいて、TYP_SIMDおよびTYP_MASKローカル変数のゼロ初期化処理を改善しました。ベクタストア命令のループを用いてUnknownSizeFrame全体を初期化し、デバッグコードではTYP_SIMDローカルを個別にポイズン値(ブロードキャスト)で初期化します。TYP_MASKローカルはアドレス公開されないためポイズン化しません。初期化コードは関数の最初の基本ブロックで生成されます。
続きを読む
@a74nh ・ GitHub ・ area-CodeGen-coreclr community-contribution
Arm64 SVE(Scalable Vector Extension)向けに、スケーラブルな定数ベクトルとマスクのサポートを追加します。従来の固定サイズのデータブロックの代わりに、反復値、開始値と段階値を持つシーケンス、または最初のレーンの値で残りがゼロのいずれかで表現されます。これにより、ベースタイプを持つ未知のサイズの定数がサポートされます。
サポートされる操作:
Sve.CreateTrueMask*()、Sve.CreateFalseMask*()
Vector.Create()、Vector.CreateScalar()、Vector.CreateScalarUnsafe()、Vector.CreateSequence()
続きを読む
2026年07月27日 (28 PRs) うち Bot 2 件 この日のページ →
@tannergooding ・ GitHub ・ area-crossgen2-coreclr
WebAssembly (wasm) の v128 シグネチャ解析(RaiseSignature)を決定的にする変更です。従来は並列コンパイル時にキャッシュされた最初のv128型に依存していましたが、wasm ABIで完全に決定される16バイト・16バイトアライメント境界に基づき、正規の Vector128<byte> に統一しました。これにより、コンパイル順序に依存しない安定的なシグネチャ生成を実現し、複数のテストケース(v128アライメント検証、引数レイアウト検証)を追加して回帰防止を図ります。
続きを読む
@mrek-msft ・ GitHub ・ Servicing-approved area-Extensions-Configuration
FileConfigurationProviderのIO例外処理を改善し、例外をOnLoadExceptionコールバックに適切に転送するようにしたバックポート。顧客からの長年の報告によるIssueに対応。
@vcsjones ・ GitHub ・ area-System.Security test-bug
OpenSSLのデフォルトプロバイダーにおけるKMAC(Keccak Message Authentication Code)の鍵サイズ制限(4~512バイト)をプロバイダー検出に頼らず、実行時にゼロ長鍵のインポート可否を試行して判定するように変更しました。Windows やSymCrypt-OpenSSLには同制限がないため、プラットフォーム依存の鍵サイズ要件を動的に決定します。
@tannergooding ・ GitHub ・ area-System.Memory
.NET Framework (net481) でのMicrosoft.Bcl.Memory.Testsのビルド破損を修正しています。PR #131280でAllocationHelperがMarshal.AllocHGlobalからNativeMemoryに変更されましたが、net481ではNativeMemoryが存在しないため、テスト用のNativeMemoryポリフィルを追加しました。
// 変更前
memory = (IntPtr)NativeMemory.Alloc((nuint)size);
// 変更後
memory = (IntPtr)NativeMemory.Alloc((nuint)(void*)size);
続きを読む
@lewing ・ GitHub ・ arch-wasm area-VM-coreclr
WebAssemblyのJITコンパイラにおいて、構造体パラメータの依存的に昇格されたフィールドに対するフレームオフセット割り当てが正しく行われていない不具合を修正します。wasm上ではパラメータがローカル変数として到着し、プロローグでホーミングされるため、lvaAssignFrameOffsetsToPromotedStructsでTARGET_WASMを処理対象に追加することで、フィールドが正しい親のオフセット相対位置を取得できるようにします。
続きを読む
@SapiensAnatis ・ GitHub ・ area-System.Net.Http community-contribution
NO_PROXY/no_proxy環境変数で指定されるIPv4/IPv6のCIDR記法(例:127.0.0.0/8)に対応しました。従来は完全一致するエントリ(例:127.0.0.1)のみが処理され、CIDR記法は無視されていました。本変更により、CIDR記法のネットワークアドレスを指定してプロキシをバイパスする機能が実装されます。CIDR解析はHttpEnvironmentProxy構築時に行われ、リクエスト処理のオーバーヘッドを最小化しています。
続きを読む
@lewing ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssembly上でGCがフレーム上のGC参照を再配置した場合、スタック上にコピーされた古い参照ポインタが残ってNullReferenceExceptionが発生する問題を修正しました。WasmABIの仕様に従い、フレーム上のGC参照をGCに対してピン留め(GC_SLOT_PINNED)として報告することで、GCが参照を再配置する際に確実に更新されるようにしました。非Wasmターゲットには影響なく、生成イメージにコードは追加されません。
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
WebAssembly JIT バックエンドで、関数内でイメージベースが3回以上参照される場合、グローバルから毎回取得する代わりにローカル変数にキャッシュする最適化を実装します。グローバルインデックスへのアクセスは6バイトのコスト(パディング付きリロケーション)がかかるため、ローカル変数キャッシュによりコードサイズを削減します。
SPC R2R コード部分: 21,820,681 → 21,010,052 バイト(-810,629 バイト、-3.71%)
続きを読む
@Copilot ・ GitHub ・ area-Diagnostics-cdac
cDAC(Common Data Architecture)における ClrDataTypeInstance の GetName と GetDefinition メソッドをメタデータキャッシュへのフォールバック無しで実装するもの。型ハンドルパスを通じた名前フォーマット、配列・関数ポインタ・パラメータ化型・アンロード済みTypeDefなど様々な型定義の解決に対応し、ClrDataTypeDefinition にモジュール・トークン・nullable型ハンドル状態を追加する。
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
ループ反転(loop inversion)時にループ出口ブロックの重みを再計算することで、プロファイル一貫性の問題を回避する修正。従来の減算ベースの重み更新では、既存の小さなプロファイル不一致が増幅されるため、複製されたブロックの重みが更新された後に入力エッジから出口ブロックの重みを再計算する方式に変更しました。
@lewing ・ GitHub ・ arch-wasm area-VM-meta-mono os-browser
WebAssembly/ブラウザ環境において、2GB以上のヒープ境界を越えるInterop動作の整合性を検証する包括的な適合性テストへと、既存のメモリテストを拡張しました。wasm i32がJavaScriptで符号付き数値として到着するため、2GB以上のポインタは負の値として現れ、これまでのテストでは検出できなかった暗黙的な失敗モードが存在していました。新しいテストはInterop境界全体でのデータ整合性を検証し、すべてのランタイム割り当てが2GB以上に配置されていることを確認します。
続きを読む
@Copilot ・ GitHub ・ area-VM-coreclr
PEAssemblyクラスから未使用の静的ヘルパーメソッドを削除するリファクタリング。UrlToPathメソッドを完全に削除し、FindLastPathSeparatorメソッドを既存のSString::FindBackへの呼び出しにインライン化することで、コードの簡潔性を向上させます。
@TemRevil ・ GitHub ・ area-Extensions-Configuration community-contribution source-generator
Configuration Binder ソースジェネレータが、唯一のメンバーが非バインド可能な読み取り専用コレクションコンストラクタパラメータのみであるパラメータ化コンストラクタ型に対して、生成されないInitializeメソッドへの呼び出しを出力していた問題を修正しました。これによりCS0103コンパイルエラーが発生していました。
// Before: コンパイルエラー(InitializeOptionsが存在しない)
public record Options(IReadOnlyList<string> Values);
var options = config.Get<Options>();
// After: 正常に動作
続きを読む
@janvorli ・ GitHub ・ area-GC-coreclr
GCのカードテーブル拡張ロジックにおけるエッジケース修正です。仮想メモリブロックのアドレスが特定の条件(g_gc_lowest_addressがg_gc_highest_addressの正確に2/3)に該当する場合、g_gc_lowest_addressが誤って0に設定され、GCがNULLポインタを含むヒープメモリとして処理してしまう問題を修正しています。原因は境界値チェックで>を使用していたもので、>=に変更することでg_gc_lowest_addressがOS_PAGE_SIZEの最小値にクランプされるようになります。
続きを読む
@hoyosjs ・ GitHub ・ area-Diagnostics-coreclr
cDAC(Contract Data Access Component)を通じたライブデバッグを有効化するための基盤整備。DacDbiInterfaceInstanceエクスポートがcontractDescriptorAddressパラメータを受け取り、DBI側でシンボルから取得したランタイムのコントラクト記述子アドレスをcDAC側に渡すことで、ライブICorDebugセッションがcDACで処理可能になります。
続きを読む
@kkokosa ・ GitHub ・ area-GC-coreclr
GC.GetTotalMemory(false)がregions GC (.NET 7以降のデフォルト)で間欠的に負の値を返すバグを修正します。根本原因は、gen0のサイズ計算時にephemeral regionまでの領域のみをカウントしていた一方で、断片化はすべてのgen0 region を対象にカウントしていたため、符号なし整数の減算がアンダーフローして負の長整数にキャストされていました。
@Copilot ・ GitHub ・ area-Infrastructure
JsonSchemaExporterがバイト配列型(byte[]、Memory<byte>、ReadOnlyMemory<byte>)に対してJSON Schemaに"contentEncoding": "base64"を出力していなかった問題を修正。System.Text.Jsonがこれらの型をbase64文字列としてシリアライズしているにもかかわらず、スキーマ定義と実装が不一致していました。JSON Schema 2020-12の仕様に準拠するため、エンコード形式を明示的に記載するようになりました。
続きを読む
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
JITが値型インスタンスメソッド呼び出しでのボックス化を回避する最適化を再実装するもの。RefSafetyRulesAttributeと[UnscopedRef]属性を参照して、値型のthisポインタが呼び出し先から脱出しないことが保証される場合にのみボックスを避ける。依存: #130863、修正対象: #130185。
@janvorli ・ GitHub ・ area-Host
macOSで外部共有ライブラリをロードする際、ホスト実行ファイル/ライブラリ内のローカルなC++ RTTI/typeinfo シンボルが誤ってバインドされ、型付きC例外キャッチが失敗する問題を修正します。リンカオプションでホストから不要なシンボルのエクスポートを抑制し、外部ライブラリがlibc の正しいtypeinfoを参照するようにします。
@jakobbotsch ・ GitHub ・ area-System.IO runtime-async
StreamReaderとStreamWriterの非同期読み書き重複実行診断の実装を改善し、不要なTaskオブジェクトの割り当てを回避するもの。従来は_asyncReadTaskフィールドで進行中のタスクを追跡していたが、本変更では軽量な_asyncIOInProgressフラグとtry-finallyスコープを使用する実装に切り替え。これにより、ランタイム非同期呼び出しにおけるタスク割り当てを削減しつつ、async1呼び出し元での回帰を防ぐ。
続きを読む
@StephenMolloy ・ GitHub ・ area-Serialization
リフレクションベースの XmlSerializer(ReflectionXmlSerializationReader)が、[XmlChoiceIdentifier] 属性を持つ列挙型メンバーを逆シリアル化する際に、[XmlEnum] エイリアスを正しく解決できない問題を修正しました。従来の直接的な識別子比較から、既に計算済みの要素インデックスを使用した位置ベースの解決に変更し、IL 生成リーダーと同じ動作を実現しました。
続きを読む
@mdh1418 ・ GitHub ・ area-Diagnostics-coreclr
InProc Crash ReporterのCreateReport()メソッドにおいて、複数のスレッドが同時に呼び出される場合のシリアライゼーションを改善しました。従来は最初のスレッドのみがクラッシュレポートを生成し、他のスレッドはすぐにPROCAbort()に進んでプロセスをダウンさせていたため、レポートが途中で切り詰められる問題がありました。本変更により、負けたスレッドはCreateReport()内でブロックされ、優勝スレッドがレポート生成を完了するまで待機するようになります。
続きを読む
@StephenMolloy ・ GitHub ・ area-Serialization
リフレクションベースのXmlSerializerデシリアライザーが、[XmlElement(Order = N)]で明示的に順序付けられたメンバー(xsd:sequence)をサポートしていなかった問題を修正します。従来はIsSequence()が常にfalseにハードコーディングされていたため、同じ要素名で順序のみで区別されるメンバーが誤割り当てされていました。IL/CodeGenベースのリーダーと同じ順序追跡状態マシンを実装し、現在のシーケンス位置を追跡して期待されるメンバーのみをマッチさせます。
続きを読む
@Copilot ・ GitHub ・ area-GC-coreclr
MSBuild の <JitOptimizationSensitive> と <GCStressIncompatible> プロパティを [SkipOnCoreClr(...)] XUnit 属性に移行する大規模リファクタリング。ビルド時のプロセス分離要件をテスト実行時の属性ベースのスキップに置き換えることで、テスト実行時のプロセス分離オーバーヘッドを削減し、テストをインプロセスで実行可能にする。
// 変更前
[Fact]
public void MyTest() { }
// .csproj: <GCStressIncompatible>true</GCStressIncompatible>
// 変更後
[SkipOnCoreClr("This test is not compatible with GC stress.", RuntimeTestModes.AnyGCStress)]
[Fact]
public void MyTest() { }
続きを読む
@mrek-msft ・ GitHub ・ breaking-change area-Extensions-FileSystem
FileConfigurationProviderのIO例外処理を改善し、ファイルオープン時のIO失敗を従来のデータ解析失敗と同じ方法でOnLoadExceptionコールバックを通じて処理するように統一しました。これにより、リロード時に予期しない例外が発生する問題(#113964)が解決されます。
@filipnavara ・ GitHub ・ os-mac-os-x os-ios community-contribution area-NativeAOT-coreclr
ARM64およびx64向けMach-Oオブジェクトファイル生成時に、IMAGE_REL_BASED_RELPTR32リロケーションをエミュレートする際にld-primeがアサート失敗する問題に対応しました。セクション内に2^19バイト間隔でアンカーラベルを配置し、リロケーション加数を最も近いアンカーラベルからの相対値として調整することで、加数を符号付き20ビット範囲内に保証します。
2026年07月26日 (1 PRs) この日のページ →
@rcj1 ・ GitHub ・ area-Infrastructure
CCA(Copilot Code Automation)のワークフロー指示を更新し、ベースラインビルドルールに例外を追加しました。CCAがfeature branchでビルド破損を修正できるようにするため、ベースラインビルドが非mainブランチで失敗した場合の修正を許可する例外を導入しています。
2026年07月25日 (12 PRs) この日のページ →
@hoyosjs ・ GitHub ・ area-Diagnostics-coreclr
cDAC(Compact DAC)エクスポート層に新しいアンマネージエクスポート DbgShimCreateInstanceFromContractDescriptor を追加し、ICLRContractLocator の実装をデータターゲットに要求せずにコントラクト記述子アドレスから直接DAC/SOSインターフェースを作成できるようにします。同時に既存のコード構造をリファクタリングし、QueryInterfaceのHRESULT処理の潜在的なバグを修正します。
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
WebAssemblyのR2R (Ready-to-Run) コード生成において、メモリロード操作の最適化を実施しました。再配置可能なアドレス定数をロード命令に統合し、別個のi32.const/i32.addの組み合わせの代わりに、memargオフセットに直接再配置情報を埋め込むことで、System.Private.CoreLib のWasmコードセクションを削減しています。
@Copilot ・ GitHub ・ area-Host
host_mode_t::split_fxモードを削除するPRです。このモードは.NET 1.x時代の古いシナリオ(coreclrが.NETルートの隣にあり、ルートに<app>.deps.jsonがなく、カレントディレクトリに<app>.runtimeconfig.jsonがある場合)に対応していましたが、多年前から存在しないシナリオであり、現在は混乱や不正な動作を引き起こす可能性があるため削除されます。
続きを読む
@Copilot ・ GitHub ・ area-Diagnostics-coreclr
cDAC(Compact DAC)に対してメソッド定義をアドレスで列挙する機能を実装しました。StartEnumMethodDefinitionsByAddress、EnumMethodDefinitionByAddress、EndEnumMethodDefinitionsByAddress の3つのメソッドを ClrDataProcess に追加し、モジュールメタデータとILアドレスからメソッド定義を解決します。Tiny/Fat形式のメソッドヘッダに対応し、レガシーDAC の動作と互換性を保ちながら、複数のアーキテクチャでテストされています。
続きを読む
@Copilot ・ GitHub ・ area-Diagnostics-cdac
マネージド型ハンドル命名機能を実装し、ネイティブ TypeHandle::GetName の出力と一致する動作を提供します。本実装により、ClrDataTypeInstance.GetName などの診断機能が利用可能になります。
MethodTables、TypeDescs、修飾子、ジェネリック変数、関数ポインタ、インスタンス化、配列のフォーマットを対応し、既存の TypeNameBuilder のジェネリック・インスタンス化フォーマット処理を再利用しています。
続きを読む
@tannergooding ・ GitHub ・ area-System.Buffers
Base64.DecodeFromUtf8InPlaceにSIMD高速化パスを追加し、既存のDecodeFromで使用されているAVX-512/AVX2/AdvSimd/Vector128ヘルパー関数を再利用しました。これまでスカラーループのみであった実装を、ハードウェアの機能に応じた最適化パスに対応させることで、大規模なインプレース復号のスループットを大幅に改善します。
@sbomer ・ GitHub ・ linkable-framework area-Tools-ILLink
ネストされた型フォワーダーをリフレクション経由で解決する際に、エクスポートされた型チェーン全体を保持するよう ILLinker の型名解決の記録機構を改善しました。型名文字列から解決されるすべての単純型をトラッキングすることで、ネストされたフォワーダー(ジェネリック・非ジェネリック両方)が適切に保存されるようになります。
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
cDAC(COMPLUS Debugging Access Component)で IXCLRDataProcess3::GetFunctionTable を実装し、WinDbgなどのアウト・プロセス・アンワインダーが DAC の OutOfProcessFunctionTableCallbackEx エクスポートに依存せず、動的関数テーブルを列挙できるようにしました。ExecutionManager コントラクトに GetDynamicFunctionTableEntries API を追加し、ニブル・マップを逆向きに走査してランタイム関数エントリを収集します。
続きを読む
@lewing ・ GitHub ・ arch-wasm area-Diagnostics-coreclr
非Emscripten WebAssembly(WASI経由wasi-sdk)ビルドにおいて、cDAC契約記述子ゲッターGetDotNetRuntimeContractDescriptorがエクスポートされず、--gc-sectionsによってモジュールから削除されていた問題を修正します。Emscripten向けのEMSCRIPTEN_KEEPALIVEと同様の効果を、wasi-sdk向けに__attribute__((export_name(...)))を使用して実現し、ネイティブホストがWASI上でランタイムデータコントラクト記述子を発見できるようにします。
続きを読む
@maraf ・ GitHub ・ arch-wasm test-enhancement area-Infrastructure-mono os-browser
WebAssembly SDK タスクのユニットテストを整理し、GenerateWasmBootJson テストを一時的な Pack.Tasks.Tests プロジェクトから主要な Wasm.Build.Tests プロジェクトへ移動しました。テスト基盤の統合と不要なプロジェクト構成の削減が目的です。
@adamperlin ・ GitHub ・ area-CodeGen-coreclr
WebAssembly SIMD対応のRyuJIT JITコンパイラに、PackedSimd.Shuffleの完全なコード生成サポートを追加します。定数マスクの場合はネイティブシャッフル命令を生成し、非定数マスクの場合はSwizzle+Swizzle+Or演算に変換します。これにより、System.Private.CoreLibの内部SIMD処理が適切にコンパイル可能になります。
非定数マスク時の変換ロジック:マスク値の範囲[0,31]に対して、第1ベクトルの要素選択時と第2ベクトルの要素選択時でマスク値を調整(mask - 16)し、Swizzle操作(範囲外インデックスは0を出力)と論理OR結合で実現します。
続きを読む
@rcj1 ・ GitHub ・ area-Diagnostics-coreclr
cDAC(Contracts Data Access Component)のスタックウォーク機能を拡張し、DacDbiImpl.GetStackWalkCurrentFrameInfo APIを実装しました。デバッガが各フレームの詳細情報(フレーム分類、funclet/interrupt状態、環境SP、正確なジェネリック引数トークン)を取得できるようになります。
2026年07月24日 (37 PRs) この日のページ →
@Copilot ・ GitHub ・ area-Diagnostics-cdac
cDAC(Component Data Access Contract)の複数のクラスに対して CLRDATA_REQUEST_REVISION メソッドを実装し、ネイティブDAC互換の動作を実現するPRです。引数検証、エラーハンドリング、ユニットテストを追加し、レガシーDAC との相互検証をデバッグビルドで実施しています。
@tannergooding ・ GitHub ・ area-System.Runtime
大規模多次元配列テスト(Copy_LargeMultiDimensionalArrayとClear_LargeMultiDimensionalArray)のメモリ割り当てを縮小し、Helix環境でのOOM killer起動を防止します。short[2, 2_000_000_000](8GB)からbyte[2, 1_073_741_825](2GB)に変更しても、テストの本来の目的であるint.MaxValueを超える平坦化要素数でのネイティブサイズインデックスパス(Array.Copy/Array.Clear)の検証は変わらないため、テストの実行範囲を狭めずに問題を解決できます。
続きを読む
@lewing ・ GitHub ・ area-CodeGen-coreclr
WebAssembly上のクロスジェン(R2R)で、Vector128<T>およびSystem.Numerics.Vector<T>の引数スタック配置の8バイト/16バイトの不一致を修正しました。この不一致により、後続の引数(汎用コンテキスト参照など)が破損し、Base64Url.DecodeFromUtf8で偽のNullReferenceExceptionが発生していました。
@tannergooding ・ GitHub ・ area-System.Runtime
WASM PackedSimd intrinsicsクラスの全メンバーにドキュメントコメントを追加し、#88574で追跡されていた最後の未文書化intrinsicsクラスをカバーします。各メンバーはC intrinsicプロトタイプとWebAssembly SIMD命令仕様を含む統一された形式で文書化されます。
/// <summary>
/// <para>v128_t wasm_i8x16_splat (int8_t a)</para>
/// <para>i8x16.splat : [i32] -> [v128]</para>
/// </summary>
続きを読む
@am11 ・ GitHub ・ area-CodeGen-coreclr community-contribution
Runtime_131285.csproj ファイル内のコメントフォーマッティングの問題を修正するPull Requestです。プロジェクトファイルのコメント形式を正しい形式に修正しました。
@matouskozak ・ GitHub ・ area-Infrastructure-mono os-ios
ランタイムパイプラインのiOS関連ジョブを一時的にデバイス実行からシミュレータ実行に切り替える変更です。NativeAOTおよびCoreClrライブラリテストジョブの実行対象をios_arm64からiossimulator_arm64に変更し、#123796の解決まで暫定運用する予定です。
@Copilot ・ GitHub ・ area-Diagnostics-cdac
cDAC(Compact Diagnostic Access Component)のマネージド型ラッパー用スキャフォルディングを追加するPRです。CLRDataTypeDefinitionとCLRDataTypeInstanceのCOMラッパーを実装し、フォールバック有効時はレガシー実装へ委譲し、フォールバック不可時はE_NOTIMPLを返します。現時点ではコントラクト支援の実装は含まれていません。
続きを読む
@MichalPetryka ・ GitHub ・ community-contribution area-NativeAOT-coreclr
NAOT環境で使用されていないRhIsGCBridgeActiveインポートを削除するクリーンアップです。このメソッドはエクスポートもされておらず、コード内で呼び出されていない不要な実装でした。
@tannergooding ・ GitHub ・ area-System.Numerics
System.Half の比較演算子とCompareTo メソッドを最適化しました。主な改善は:
CompareTo を書き直し、演算子チェーンと冗長なNaN/符号/ゼロチェックを排除
AVX2対応環境で <、<=、CompareTo に (float)Half 変換を経由した高速パスを追加
AVX2環境では CompareTo が約3.8倍高速化(13.06 us → 3.47 us)、operator < は約2倍高速化(4.76 us → 2.41 us)しました。AVX2非対応環境でも従来の実装より高速です。
続きを読む
@bartonjs ・ GitHub ・ area-System.Security
SignedCmsのML-DSA署名検証を強化し、証明書のML-DSAパラメータセットがCMS SignerInfoに格納されている署名アルゴリズムOIDと一致することを確認するようにしました。OIDとキーの不一致がある場合、署名検証が失敗するようになります。
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
未使用のGC署名型プロバイダー(GcSignatureTypeProvider)とその関連型を削除するPull Requestです。同時に古い設計ドキュメントとストレステストデバッギーのコメント参照も削除されています。
@tannergooding ・ GitHub ・ area-System.Numerics
Half型のmodulus演算でnegative zero(負のゼロ)を保持するテストケースを再度有効化するPR。2022年にWindows x64 Debug環境での非決定的な符号損失を回避するためにコメントアウトされていた2つのテストが、現在の環境では問題が解決されたため、安全に復活させることができるようになった。float、double、NFloatの同等のテストは既に有効かつグリーン状態にある。
続きを読む
@vcsjones ・ GitHub ・ area-System.Formats.Asn1
ML-KEM(ML-KEM-512/768/1024)とML-DSA(ML-DSA-44/65/87)のOID(Object Identifier)をSystem.Formats.Asn1の既知OID検索テーブルに追加します。これにより、AsnWriter/AsnDecoderがこれらのポスト量子暗号アルゴリズムに対して高速パスマッピングを使用できるようになります。
CAB Forum(認証局・ブラウザフォーラム)の S/MIME CA/B WG が SMC013投票でML-DSAとML-KEMを承認しており、サーバー証明書やコード署名ワーキンググループでも検討が進められているため、仕様実装の準備として追加されます。
続きを読む
@tannergooding ・ GitHub ・ area-System.Numerics
ARM/ARM64プラットフォームにおいて、Math.Pow(x, 1)およびMathF.Pow(x, 1)がサブノーマル数(double.Epsilonなど)を入力とした場合に誤って0を返していた問題を修正します。ARM/ARM64 CRTはpowをexp(y * log(x))で計算するため、y=1の場合にサブノーマル値がアンダーフローしていました。数学的にはpow(x, 1) = x(NaN、±inf、±0を含む全てのx)が成立するため、y == 1での早期リターンを追加します。
続きを読む
@elinor-fung ・ GitHub ・ area-Host
macOS 26でcodesignコマンドがarm64/arm64_32アーキテクチャのMach-Oオブジェクトをハッシュする際、コードディレクトリページサイズを4 KiBから16 KiBに変更したことに対応する変更です。HostModelの管理されたad-hocシッパーをMach-O CPUタイプに基づいてページサイズを決定するように更新し、macOS 26+でのcodesign出力とのマッチングを実現します。16 KiBページサイズは古いarm64 macOSバージョンでも動作します。
続きを読む
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
cDAC(CoreCLR Data Access Contract)の使用グラフを分析するRoslyn ベースのアナライザーと、その分析結果から自動生成される契約使用ドキュメント、およびドキュメントの同期を強制するリポジトリゲートを追加します。
IDataソースジェネレータを拡張して、生成されたメンバーに依存性メタデータ([DataDescriptorDependency]、[UsesDataDescriptorTypeSize]属性)を付与し、アナライザーが実装の詳細に依存せずにディスクリプタ読み取りを特定できるようにします。契約ドキュメント内に自動生成される使用セクションを挿入し、ドキュメントの陳腐化検出とバージョンごとのドキュメント確認を自動化します。
続きを読む
@tannergooding ・ GitHub ・ area-System.Memory
System.Memory.Tests の3つの大規模メモリ [OuterLoop] テスト(CopyToLargeSizeTest x2 と TestParser2GiBOverflow)を削除します。これらのテストは4~16GBのメモリを消費し、14GBの外部ループマシンで不安定でした。大規模コードパスの検証は不要と判断されたため、テストスイートの信頼性向上のために削除されます。
@barosiak ・ GitHub ・ area-Diagnostics-coreclr
cDAC(Compact Diagnostics and Analysis Component)の従来型DBIシムに IsThreadSuspendedOrHijacked メソッドを実装します。このメソッドは Thread コントラクトの ThreadData.State から結果を導出し、スレッドがサスペンドされているか、ハイジャック状態にあるかを判定します。
@lateralusX ・ GitHub ・ area-VM-coreclr
インプロセスクラッシュレポーターのスタックウォークコールバックが、CrawlFrameがFrameLessであるかチェックせずにGetRelOffsetを呼び出していた問題を修正しました。GetRelOffsetメソッドはこの条件をアサートしているため、デバッグビルドではアボートが発生していました。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
superpmi.py -detailsオプションがディレクトリパスを指定できるように拡張されました。複数のコレクション(MCHファイル)をリプレイする際に、各コレクションごとに個別のdetails CSVファイルを出力できるようになります。
@BrzVlad ・ GitHub ・ area-CodeGen-Interpreter-coreclr
CoreCLR インタープリタの実行速度が JIT より大幅に遅いため、インタープリタ環境でのテストタイムアウトを回避する変更です。#130968 で追加されたパフォーマンステストをインタープリタ環境では無効化し、JIT環境での実行時のみカバレッジを保ちます。
@lateralusX ・ GitHub ・ area-Diagnostics-coreclr
CoreCLRの内部プロセス crash reporterに、ランタイム実行中にプログラムからオンデマンドでクラッシュレポートを生成する機能を追加します。致命的エラーハンドラー(#129543で提案)から呼び出し可能な新しいエントリーポイント InProcCrashReportCreateReport を提供し、JSON またはログ形式でレポートをコールバックに出力できます。
@rzikm ・ GitHub ・ area-System.Net.Security
マネージドSPNEGO実装でKerberos認証失敗時にNTLMへの自動フォールバックを実装。Linux(MIT krb5)でKDC/TGTが利用できない場合、GSS_S_NO_CREDエラーが発生してNTLMへのフォールバックが実行されず401エラーが返される問題を修正。OpenBSD(Heimdal)では既に機能していた回復可能なエラーとして処理する動作を全Unixプラットフォームに統一。
@Copilot ・ GitHub ・ area-System.Diagnostics.Process
Processクラスに4つの新しいメソッドを追加するAPI実装です。SafeProcessHandleで提供されていた機能を直接Processインスタンスから利用できるようになります。
public bool Signal(PosixSignal signal);
public ProcessExitStatus WaitForExitStatus();
public bool TryWaitForExitStatus(TimeSpan timeout, out ProcessExitStatus? exitStatus);
public Task<ProcessExitStatus> WaitForExitStatusAsync(CancellationToken cancellationToken = default);
続きを読む
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラで使用されていない関数を削除する内部実装の整理を行いました。合計192行のコードが削除されています。
@EgorBo ・ GitHub ・ linkable-framework area-Tools-ILLink
unsafe-v2ルールへの移行を支援する新しいアナライザーとコード修正機能を追加します。Roslynアナライザーに基づき、extern メンバーへの unsafe/safe修飾子追加、無効な unsafe修飾子の削除、ポインタシグネチャに対する unsafe要件チェック、XMLドキュメントによる安全性記述の検証などを実装します。これらの機能はILLinkの一部として提供されます。
@Copilot ・ GitHub ・ area-Diagnostics-cdac
IXCLRDataProcessインターフェイスをレガシーDAC fallbackからcDAC(Contracts-based Data Access Component)に移行する実装です。既存のcDACコントラクトを活用して、アプリケーションドメイン・モジュール列挙/検索、タスク検索、アドレス分類、GetDataByAddressなどの機能をcDACで提供します。ネイティブHRESULT、列挙動作、チャイルドラッパーの互換性を保持しています。
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr Priority:1
JIT コンパイラの GC 情報エンコーディングを更新し、隣接する no-GC リージョンが存在する場合でも、各 IGF_NOGCINTERRUPT(非割り込み可能)リージョンの最初の命令が一貫してインタラプティブル(割り込み可能)として扱われるようにしました。これにより、ランタイム/デバッガーが使用するインタラプティブル範囲の報告精度が向上します。
@steveisok ・ GitHub ・ area-Tracing-coreclr
EventSourceの可変長引数(varargs)WriteEventオーバーロードがEventPipeで不正にフィルタリングされていた問題を修正しました。キーワード0(すべてマッチ)で有効化されたプロバイダーにおいて、varargs経由のイベントが誤ってドロップされていた根本原因は、EventProviderImpl.IsEnabledがキーワードマスク0を「すべてのキーワードにマッチ」として扱わなかったためです。修正によりETW/EventPipeの型付きイベント経路と同じフィルタリングロジックが適用されるようになりました。
続きを読む
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
非同期ヘルパーメソッドの中で常にサスペンドするものについて、JITの最適化を行います。これらのメソッドに対して「継続を返したか?」のnullチェックを生成せず、無条件にサスペンションパスへ分岐することで、不要なコード生成を削減します。
@Copilot ・ GitHub ・ area-Extensions-Configuration source-generator
Configuration Binder ソースジェネレータが、バインド不可能なプロパティ(内部・プライベート・ゲッターのみの collection、[ConfigurationKeyName] 無視など)を通じてのみ到達可能な型に対して不要な BindCore ヘルパーを生成していた問題を修正します。コンストラクタパラメータに対応するプロパティの場合は、プロパティがバインド不可能でも型登録をスキップしません。
続きを読む
@Copilot ・ GitHub ・ area-Extensions-Configuration source-generator
Configuration Binder ソースジェネレータが、推移的依存関係から解決不可能なメタデータ型を参照するメンバーを処理する際に生成する非コンパイル可能なコードの問題を修正します。エラーシンボル(型の欠落・曖昧性)を含むメンバーをスキップし、スキップされたメンバーに対してSYSLIB1101警告を発行することで、リフレクション実装との差分を可視化します。
@Copilot ・ GitHub ・ area-VM-coreclr
Linux CoreCLR環境で、静的抽象インターフェースメンバーを使用した再帰的に制約されたvalue typeのNullable<T>をロードする際のクラッシュを修正しました。System V struct分類時に、一時的に未解決のネストされたvalue type フィールドメタデータを保守的にフォールバックさせることで、アサーション失敗を防いでいます。
修正例:
public readonly record struct UserId(EntityIdValue<UserId> Value) : IEntityId<UserId>;
class MyNullableUser
{
public UserId? UserId { get; set; }
}
続きを読む
@vcsjones ・ GitHub ・ area-Meta
Android開発コンテナ設定を更新し、標準開発コンテナと同じ開発便宜機能(sshdとcopilot-cli)を追加するもの。PR #124855と同等のAndroid版アップデート。
@jkoritzinsky ・ GitHub ・ area-VM-coreclr
CoreCLR内のコントラクトシステムからPOSTCONDITION/RETURN/RETVALマクロインフラストラクチャを削除します。これらのマクロは複雑なテンプレート機構(PseudoTemplate/Returner等)が必要でしたが、実際のポストコンディションはトートロジーか前提条件の繰り返しであることが多く、価値が限定的でした。CONTRACT/CONTRACT_VOIDブロックをCONTRACTLに変換し、RETURN exprをreturn exprに置き換えています。
続きを読む
@Copilot ・ GitHub ・ area-Host
apphostおよび関連ホストコンポーネントをC++からCに段階的に移行するリファクタリング。apphostとsinglefilehostの共通エントリーポイントapphost.cを導入し、dotnetは別途dotnet.cppに分離。内部実装をC化することで、特にWindows x64でバイナリサイズが大幅に削減 されました。これは公開APIの変更ではなく、内部実装の最適化です。
@Copilot ・ GitHub ・ area-System.Net
.NET 10で導入された回帰により、FTPSデータストリームのSslStreamがクローズされずプロトコル違反が発生していた問題を修正しました。PR #106451でリファクタリングされたFtpDataStreamが、SSL/非SSL両対応となった際に、CloseExメソッドでSslStreamのクローズ処理を落としていたのが原因です。修正により、SslStreamの適切なTLSシャットダウンと、その後のNetworkStreamのタイムアウト付きクローズを実現しました。
// FtpControlStream: SslStream生成時にleaveInnerStreamOpen=true
SslStream sslStream = new SslStream(_dataStream, true,
ServicePointManager.ServerCertificateValidationCallback);
// FtpDataStream.CloseEx: SSL/非SSLで異なるストリームの場合
if (_stream != _originalStream)
{
if ((closeState & CloseExState.Abort) == 0)
_stream.Close(); // グレースフルなSSLシャットダウン
else
_stream.Dispose(); // 中止時はスキップ
}
// NetworkStreamは常にタイムアウト付きでクローズ
続きを読む
2026年07月23日 (38 PRs) うち Bot 2 件 この日のページ →
@lewing ・ GitHub ・ area-CodeGen-coreclr
WebAssembly R2R (crossgen) で、async メソッド内の try { ...; return; } catch { } パターンにおいて、try ブロックが早期に return で抜ける場合に有効な wasm モジュールが実行時に RuntimeError: unreachable でトラップしていた問題を修正しました。
根本原因は Compiler::fgWasmControlFlow() で、外側の catch-try を跨ぐ非連続な前方分岐が最内層の try 位置で wasm Block を開始していたことです。修正では、外側の catch-try の開始位置で Block を開始することで、分岐が正しい継続アドレスに解決されるようにしました。
続きを読む
@lewing ・ GitHub ・ area-VM-coreclr
WebAssembly(wasm32) R2R モジュール生成時に、例外ハンドラー機能(funclet)の境界を超えて throw-helper ブロックが接続されることで、funclet の終了 opcode (0x0b) が欠落し無効な WASM が生成される問題を修正。bbInTryRegions は字句的な try ネストのみをテストし、実際の関数領域(funclet)の所属を確認していなかったため、外側の try 領域の helper が別の handler funclet 内の side-entry に接続され、RPO レイアウト時に main method helper が funclet 内に埋め込まれていた。
続きを読む
@alinpahontu2912 ・ GitHub ・ area-System.IO.Compression
ZipArchive の中央ディレクトリ破損チェックが不足していた問題を修正しました。非同期読み込みと同期読み込みの両方のパスで、破損した中央ディレクトリを検出するための検証処理を追加しています。
@lewing ・ GitHub ・ area-VM-coreclr
WebAssembly(WASM)上での相互運用性向上のため、Vector128<T>と16バイトVector<T>パラメータの署名キー生成を修正するPRです。crossgen2が生成するinterp→R2Rサンク('V')とVM実行時の署名キー生成の不一致により、ベクトル型を値で渡すinterp→R2R呼び出しが失敗していた問題を解決します。
@lewing ・ GitHub ・ area-VM-coreclr
WebAssembly限定のReadyToRun (R2R) スタックウォーク修正。R2Rコンパイル済みマネージドコードが例外アンワインドやGetCallersAssembly、Assembly.Loadなどのスタックウォーク処理に参加する際に発生していた2つの正確性の問題を解決します。
@bartonjs ・ GitHub ・ area-System.Security
Windows環境におけるAIA(Authority Information Access)証明書の取得制限の検証テストをWindowsの動作バリエーションに対応させました。テスト対象のWindowsバージョンによって1回のX509Chain.Build呼び出しで取得可能なAIA証明書数が異なる問題(2個 vs 3個)に対応し、テストの不安定性を軽減します。
@tannergooding ・ GitHub ・ area-System.Numerics
WebAssembly SIMD(PackedSimd)カバレッジを拡大する変更。Base64エンコード/デコードをPackedSimdで加速し、byte/ushort型のLeadingZeroCountに対して、ビット操作とPopCountを用いたソフトウェアベクトル フォールバックを追加します。RyuJIT WASM バックエンドに基づく監査で、x86/Armのみ対応していたコードがWASM上でスカラパスに落ちていた本質的なギャップを修正します。
続きを読む
@jkoritzinsky ・ GitHub ・ area-ILTools-coreclr
FullPdbThrowerテストプロジェクトをilasm round-trip テストから除外する変更です。ilasmはポータブルPDBのみをサポートしているのに対し、このプロジェクトはWindows形式の「Full」(クラシック)PDBを生成するため、互換性がありません。
@lewing ・ GitHub ・ area-VM-coreclr
WASM JITコード生成のバグを修正しました。SIMD レジスタパラメータからスカラーフィールドを抽出する際に、不正なv128型が生成されていた問題を解決しています。
修正内容:SIMD ローカルからスカラーを抽出する際、WASM ではgtNewSimdGetElementNodeを使用して明示的なレーン抽出を行うことで、ネイティブターゲットの暗黙的な型再解釈に依存しない実装に改めました。
// 例:SIMD パラメータからスカラーフィールド抽出時
// 修正前:v128 ローカルを直接スカラー型として読み取り(型エラー)
// 修正後:extract_lane 操作を用いた明示的な抽出
続きを読む
@sbomer ・ GitHub ・ linkable-framework area-Tools-ILLink
ILLink の到達不可能ブロック最適化器における例外ハンドラの到達可能性分析を修正しました。従来は handlers が1回のみスキャンされていたため、ネストされたハンドラがそれを囲むハンドラ本体の走査前に到達不可能と分類され、必要なクリーンアップコードが誤って削除されていました。修正により、新たに到達可能になったハンドラボディによって追加のネストされた保護領域が公開されるまで、handlers を反復的に再スキャンするようになります。
続きを読む
@bartonjs ・ GitHub ・ area-System.Formats.Cbor
CborReader.TryReadTextStringにおいて、非ASCII UTF-8データを含む不定長連結テキスト文字列の処理を修正しました。チャンクごとの宛先スパン進行が、チャンクのバイト長ではなく、実際に書き込まれた文字数 で行われるよう改正し、ReadTextStringとTryReadTextStringの動作を一致させます。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
WebAssemblyプラットフォーム上のJITコンパイラが、ジェネリック型のVector128<T>(型名:Vector128\1)をVector128組み込み関数として認識できるように拡張した変更です。従来は非ジェネリックのVector128`のみに対応していました。
@kasperk81 ・ GitHub ・ area-Meta
Newtonsoft.Jsonの依存関係をSystem.Text.Jsonに置き換え、RID(Runtime Identifier)グラフ生成ツールを更新しました。これにより、不要な外部依存関係を削除し、.NETの標準JSON処理ライブラリを活用します。
@tannergooding ・ GitHub ・ area-System.Numerics
TotalOrderIeee754Comparer<T>の汎用比較ロジックにおいて、指数と仮数のバイト長が異なる場合の正確性バグを修正します。カスタムIFloatingPointIeee754<T>実装でGetExponentByteCount()が可変長の値を返す場合、従来の MSB フリップ + SequenceCompareTo トリックが正しい符号付き二進法補数の順序を保証していませんでした。本修正により、異なるバイト長のビッグエンディアン符号化を正確に比較し、さらに効率的な高速パスを追加します。
続きを読む
@MichalStrehovsky ・ GitHub ・ area-System.Globalization
Windows環境でのICU shimコンポーネントにおけるfprintfフォーマット文字列の不一致を修正しました。GetLastError()の値を出力する際に、正しい長さ修飾子を使用するようにしました。
@MichalStrehovsky ・ GitHub ・ area-NativeAOT-coreclr
clang を使用して Windows 上で clr.aot をコンパイルする際に発生する符号付き/符号なし整数型の比較に関する警告を修正しました。主に型キャストやリテラル値の型指定を調整して、Windows コンパイラの厳密な警告設定(/we4018、-Wsign-compare)に対応しています。
@tannergooding ・ GitHub ・ area-Codegen-LLVM-mono
Mono LLVM バックエンドにおける MinNumber/MaxNumber の実装を修正し、IEEE 754-2019 の minimumNumber/maximumNumber セマンティクスに準拠させました。特に、ゼロの符号を正しく保持するよう改善しました。例えば MinNumber(+0.0, -0.0) は -0.0 を返すようになります。従来は llvm.minnum/maxnum を使用していましたが、ゼロの符号が未指定であったため、x86 上で minnum(+0, -0) が +0 を返していました。新たに llvm.minimumnum/maximumnum に変更し、符号を保持しつつ NaN も正しく抑制します。
続きを読む
@dhartglassMSFT ・ GitHub ・ area-CodeGen-coreclr Priority:1
GCストレステスト時のポインタピニング問題を修正しました。テストケース GitHub_130437 で、アンマネージドポインタ型の int32* pinned ではピニングが正しく機能していなかったため(GC型でないため無視される)、マネージド byref 型の uint32& pinned / int64& pinned に変更しました。SVE2 gather 組み込み関数の呼び出し時には conv.u 命令でbyrefをアンマネージドポインタに変換して対応しています。
続きを読む
@janvorli ・ GitHub ・ area-ExceptionHandling-coreclr
Windows上でUnmanagedCallersOnly属性が付与されたメソッドのcatch句から例外がthrowされた場合、例外のアンワインド分類が誤って逆P/Invoke遷移として処理される問題を修正しました。この問題により同じcatch句が繰り返し呼び出され、無限ループとスタックオーバーフローが発生していました。
@MihaZupan ・ GitHub ・ area-System.Net.Http linkable-framework
SocketsHttpHandlerのコネクションプールをSNI(Server Name Indication)で分割しない実験的オプションを追加します。これにより、異なるホストに対するTLSコネクションでも、同一IPアドレスのような共有インフラストラクチャ環境では、コネクション再利用が可能になります。
[UnsafeAccessor(UnsafeAccessorKind.Method)]
private static extern void ExperimentalDangerousDoNotPartitionConnectionPoolBySni(HttpRequestMessage request);
現在は内部APIとしての提供で、.NET 12での公開API化は将来的な検討対象です。
続きを読む
@Copilot ・ GitHub ・ area-Host
linux-bionicプラットフォーム(Termux on Android)でのシングルファイル自己完結型バイナリが、singlefilehostではなくapphostに誤ってフォールバックしていた問題を修正します。CoreCLRをlinux-bionicで有効化し、singlefilehostをAppHost packに含めることで、正常に機能する~30MBのバンドルを生成できるようにします。
@lewing ・ GitHub ・ area-Codegen-AOT-mono
Mono wasm AOT (llvmonly) 環境で、非プリミティブ構造体の Nullable<T> を非ジェネリックインターフェース(例:IEnumerator.Current → object)経由でボックス化する際にランタイムトラップが発生する問題を修正します。root cause は Nullable<T>.Box/Unbox が合成メソッドであり AOT コンパイラに見落とされ、必要な gsharedvt out-sig ラッパーが生成されないことです。修正では add_generic_class_with_depth に Nullable<T>.Box/Unbox を明示的に追加して確実に AOT コンパイルさせます。
続きを読む
@lewing ・ GitHub ・ arch-wasm area-VM-coreclr
WebAssembly環境でフラットなWebcil形式のR2R(ReadyToRun)複合イメージをランタイムが読み込めるようにするための、最小限なVM側の変更を実装するPRです。crossgen2が生成するWasm用R2R複合イメージはフラットなWebcil形式ですが、既存のR2R/PEデコーダはマップされたPE形式を想定していたため、ランタイムがR2Rヘッダやセクションを見つけられない問題を解決します。
続きを読む
@tommcdon ・ GitHub ・ area-Diagnostics-coreclr
ARM64プラットフォーム上でのデバッガサポートを拡張し、浮動小数点レジスタ(V0–V31)のデバッグ情報対応を追加するものです。これにより、単一レジスタのFP検査と、2つのレジスタで表現されるHFA/HVA戻り値の検査が可能になります。ReadyToRun形式のメジャー/最小バージョンを26に引き上げています。
@LuckyXu-HF ・ GitHub ・ area-CodeGen-coreclr community-contribution arch-loongarch64
LoongArch64アーキテクチャのRhpNewArrayFast関数におけるm_usComponentSizeロードの修正。PR#130019で導入されたMaxArrayElementSizeに関連するSIGBUSエラーを解決し、ダンプ時のGC情報出力機能を追加します。
@janvorli ・ GitHub ・ area-VM-coreclr
Address Sanitizerが検出した2つのメモリ管理の問題を修正します:
基底クラスのポインタに対して::スコープ解決演算子を使用したdelete呼び出しを修正(サイズ付き削除で実際の型ではなく基底クラスのサイズを使用していた問題)
配列の誤った非配列削除演算子での削除を修正
続きを読む
@MichalStrehovsky ・ GitHub ・ area-NativeAOT-coreclr
NativeAOT環境において、インターフェースメソッドとジェネリック仮想メソッド(GVM)のディスパッチセル情報エンコーディングをNative Layoutを使用した、より圧縮された形式に変更します。複数のディスパッチセルが同じディスクリプタ(辞書+セルごとのインデックス)を共有する場合、辞書ベースのエンコーディングを使用し、より小さい場合は既存の直接エンコーディングにフォールバックします。
@rzikm ・ GitHub ・ area-System.Net.Security
Unix(GSSAPI)プラットフォームにおけるNegotiateサーバー側認証にTLSチャネルバインディング(CBT)対応を追加します。マネージドコード層からNegotiateAuthenticationPal.Unixを通じてチャネルバインディングトークンをネイティブレイヤーに渡し、GSSAPIのgss_accept_sec_contextで検証されるようにします。バインディング不一致はGSS_S_BAD_BINDINGSとして検出され、既存のクライアント側動作と一致します。
続きを読む
@Copilot ・ GitHub ・ area-VM-coreclr
Runtime async (async2) とコンパイラ状態マシン async (async1) の動作を検証するため、System.Exceptionを継承しないオブジェクトのスロー時の挙動をカバーするテストを追加。RuntimeCompatibilityAttribute(WrapNonExceptionThrows)がRuntimeWrappedExceptionでのラッピング動作を制御する場面での両者の一致/乖離を確認します。
// async1 (state machine) vs async2 (runtime async)
public static async Task ThrowAfterYieldAsync2()
{
await Task.Yield();
NonExceptionThrower.ThrowNonException(); // IL経由で文字列をスロー
}
[RuntimeAsyncMethodGeneration(false)]
public static async Task ThrowAfterYieldAsync1()
{
await Task.Yield();
NonExceptionThrower.ThrowNonException();
}
続きを読む
@BrzVlad ・ GitHub ・ area-ReadyToRun
ReadyToRun(R2R)コンパイラがSZArray型のメソッドをコンパイルサポートするよう拡張した変更です。配列型がジェネリック・コレクション・インターフェース(IList<T>など)の呼び出しを解決する際、実行時にSZArrayHelperメソッドにディスパッチされるメソッドを検出・コンパイルできるようになります。条件付き依存関係を活用することでコンパイル対象メソッドを約6倍削減し、フレームワークサイズ増加は0.1%未満に抑制しています。
続きを読む
@arrowd ・ GitHub ・ area-System.Net.Sockets os-freebsd community-contribution
System.NativeのkeventコードでEV_RECEIPTフラグの使用を廃止します。EV_RECEIPTは変更リスト登録失敗の詳細な検出やエラー時の処理停止に用いられますが、本コードではこれらの機能が必要ないため、フラグを削除することで FreeBSD/OpenBSD向けの回避コードを廃止できます。
@wfurt ・ GitHub ・ area-System.Net.Security
System.Net.Securityに実験的な 低レベルTLS状態機械API(TlsContext、TlsSession、TlsBufferSession、TlsSocketSession、TlsOperationStatus)を導入します。呼び出し元がバッファ管理とI/Oスケジューリングを制御する非ブロッキング、呼び出し元駆動のTLSフローを実現し、高パフォーマンスシナリオに対応します。OpenSSL、SChannel、Apple Network.frameworkをサポートしており、Linux、macOS、Windows、FreeBSDで動作します。
続きを読む
@dhartglassMSFT ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラのGTF_ORDER_SIDEEFFフラグの管理を改善し、不正に伝播した順序制約をクリアして、if-conversionとbool最適化をより有効に機能させる変更です。
動機となった例:o.GetType() == typeof(int) || o.GetType() == typeof(uint) || o.GetType() == typeof(long)のように、副作用フラグが残存していたブロックのためにOR結合できなかったケースを最適化します。
続きを読む
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
ISOSDacInterface18 COM インターフェースを追加し、GCInfo検査APIをSOS DAC経由で公開します。このPRは、GCヘッダー、セーフポイント、割り込み可能範囲、スロットライフタイムをネイティブDACおよびマネージドcDACから検査可能にします。同時にARM Thumbビット関連のバグ修正を含みます。
@davidwrighton ・ GitHub ・ area-VM-coreclr
このPRはPerfMapロジックの呼び出しをプリエンプティブGCモードでのみ 実行するよう修正します。WindowsでのPerfMap API利用可能化に伴い、プリエンプティブ遷移(GCX_PREEMP/GCX_MAYBE_PREEMP)を戦略的に追加して、GCコントラクト要件を満たします。また、多くの呼び出しサイトから#ifdef FEATURE_PERFMAPガードを削除し、機能有効時は実装、無効時はスタブを提供する形に統一しました。
続きを読む
@Copilot ・ GitHub ・ area-Meta linkable-framework
ILLinkトリマーが、ジェネリック型パラメータをキャプチャするラムダを含むasync partialメソッドのコンパイラ生成型を解析する際にKeyNotFoundExceptionでクラッシュする問題の回帰テストを追加しました。
Roslyn がこれらのメソッドに [AsyncStateMachineAttribute] を出力せず、ILLink の TryGetStateMachineType がこの属性に依存しているため、状態マシン型が generatedTypeToTypeArgs に追加されません。その結果、ラムダの表示クラスの所有者が見つからない状態マシン型を参照する場合、MapGeneratedTypeTypeParameters がクラッシュします。
partial class PartialAsyncMethodWithLambda
{
public async partial Task<T> GetData<[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicMethods)] T>() where T : new()
{
var tcs = new TaskCompletionSource<T>();
Action<T> callback = (result) =>
{
_ = typeof(T).GetMethods();
tcs.TrySetResult(result);
};
callback(new T());
return await tcs.Task;
}
}
続きを読む
2026年07月22日 (35 PRs) うち Bot 4 件 この日のページ →
@lewing ・ GitHub ・ area-VM-coreclr
WebAssembly環境において、R2R(ReadyToRun)コンパイル済みコードから呼び出されるマネージドプログラムのエントリーポイントが未初期化のPortableEntryPoint(PEP)に解決される場合、間接呼び出しが失敗してトラップするか、全プログラムのインタープリータフォールバックが発生する問題を修正します。RunMainInternal内でエントリーポイントアドレスを取得した直後にMethodDesc::EnsurePortableEntryPointIsCallableFromR2Rを呼び出し、PEPをネイティブR2Rコードまたは正しく型付けされたインタープリータサンク(thunk)に確実に発行します。
// RunMainInternal内での追加コード
pParam->pFD->EnsureActive();
PCODE entryPoint = pParam->pFD->GetSingleCallableAddrOfCode();
#ifdef FEATURE_PORTABLE_ENTRYPOINTS
MethodDesc::EnsurePortableEntryPointIsCallableFromR2R(entryPoint);
#endif // FEATURE_PORTABLE_ENTRYPOINTS
続きを読む
@MichalStrehovsky ・ GitHub ・ area-System.IO.Compression
Windows zlib アロケーター実装における K&R スタイルの関数パラメータ宣言を標準 C 関数プロトタイプに置き換え、modern コンパイラとの互換性を向上させました。z_custom_calloc と z_custom_cfree 関数が対象です。
@teo-tsirpanis ・ GitHub ・ area-System.Threading community-contribution
PreallocatedOverlappedクラスにおいて、ポータブルスレッドプールとWindowsスレッドプール向けの実装が同一であるメソッドの不要な層を削除しました。外部向けエントリーポイントから直接処理をルーティングするよう整理し、コードの重複を排除しています。
@davidwrighton ・ GitHub ・ area-VM-coreclr
MethodDataObject::FillEntryDataForAncestorの最適化(#130151の後続PR)で導入された「NULL終端スロットの事前解決」による性能改善を保持しつつ、クラスの本来的な遅延設計(PopulateNextLevelで1レベルずつ処理)を復元する変更です。従来の実装では継承チェーン全体を即座に走査していたため、テーリング遅延を増加させていました。この変更により、スロットごとの判定をレベル単位で遅延実行 に改め、メモリ割り当てなしで同一の結果を実現します。
続きを読む
@tannergooding ・ GitHub ・ area-CodeGen-coreclr
Runtime_131137 JIT回帰テストを、不要なプロセス分離設定から統合済みの共有リグレッションテストランナー Regression_ro_2.csproj にマージします。このテストは環境変数設定、ホストコンフィグ、プロセス全体の状態変更を行わないため、requiresprocessisolation.md のプロセス分離ルールに該当しません。
@barosiak ・ GitHub ・ area-Diagnostics-cdac
cDAC(Compact Debugger Access Component)のレガシーDbi層にDacDbiImpl.GetMetadataを実装しました。このメソッドは、IEcmaMetadataコントラクトを使用してターゲットメタデータスパンを取得します。通常のモジュールは読み取り専用メタデータを、Reflection.Emitまたは動的生成されたモジュールは保存された読み取り/書き込みメタデータを返します。
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr Priority:1
OSR(On-Stack Replacement)対応コードにおいて、fgHeadTailMergeがOSR保護されたエントリブロック(fgEntryBB)を、人工的なbbRefsインクリメントが適用されている間に削除しようとするのを防止します。これにより、削除対象ブロックにbbRefs == 0とbbPreds == nullptrを要求するfgRemoveBlockのアサーション違反を回避します。
続きを読む
@matouskozak ・ GitHub ・ area-Meta agentic-workflows
Agentic workflows内の脅威検出(threat-detection)機能における認証の失敗を修正するPRです。gh-aw v0.81.6で生成されたdetectionジョブのneeds:がpat_poolを含めていなかったため、COPILOT_GITHUB_TOKENが空になり503エラーが発生していました。gh-aw v0.82.6へのアップグレードで修正されたため、5つのagentic workflowを再コンパイルします。
続きを読む
@Copilot ・ GitHub ・ area-NativeAOT-coreclr
NativeAOT環境でSystem.Delegateに存在していた到達不可能なコードパスを削除するクリーンアップです。Delegate.IsDynamicDelegate()メソッドが不可能な条件(GetThunk(MulticastThunk) == IntPtr.Zero)をチェックしていたため、DynamicInvokeImplの動的デリゲートブランチが実行されることはありませんでした。本変更により、不要なロジックを削除し、DynamicInvokeを既存のリフレクションベースの呼び出しパスに統一します。
続きを読む
@rzikm ・ GitHub ・ Servicing-approved area-System.Net.Security
release/9.0-stagingブランチにおいて、MalformedPacketsDuringHandshakeテストの不安定性を修正するテストのみの変更。テストをMalformedPacketsDuringRenegotiation_ThrowsAuthenticationExceptionに改名し、TLS 1.2での再ネゴシエーション動作を強制し、オフラインCI環境での証明書チェーン関連の失敗を回避するため証明書失効確認を無効化。mainブランチで既に検証済みの修正をバックポート。
続きを読む
@rzikm ・ GitHub ・ Servicing-approved area-System.Net.Security
System.Net.Securityテスト群の不安定性を解決するテスト修正です。MalformedPacketsDuringHandshakeテストがCI環境で間欠的に失敗する問題をmainブランチの修正(#130756)をバックポートすることで対応しました。テストをTLS 1.2での再ネゴシエーション動作に限定し、証明書チェーン検証を無効化することで、オフラインCI環境での失敗を排除します。
@rzikm ・ GitHub ・ area-System.Net.Security
System.Net.SecurityのNegotiateAuthenticationサーバーサイドコンストラクタにプラットフォームチェックを追加しました。Extended Protectionが有効(PolicyEnforcement.Always)でありながら、OSがExtended Protectionをサポートしていない場合にPlatformNotSupportedExceptionを投出するようになります。これにより、非Windows環境での予期しない動作を防ぎ、開発者に対して明確なエラーメッセージを提供します。
続きを読む
@BrzVlad ・ GitHub ・ area-System.Diagnostics
CLR インタプリタで非同期スタックトレース診断テストが失敗する問題に対応したもの。GetResult が例外をスロー する ValueTask ソースの場合、インタプリタ上ではスタックトレースが不正な位置(new 命令)を指すため、このテストケースをインタプリタでスキップするように隔離しました。
@adamperlin ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssembly RyuJIT レジスタアロケーションにおいて、PackedSimd load_lane/store_lane 型操作でのアドレス オペランドに対するnullチェック用テンポラリが正しく消費されていなかった問題を修正します。PR #130822 で導入されたバグを解決し、メモリ参照レポート中に未解放のテンポラリ割り当てが残るのを防ぎます。
@tannergooding ・ GitHub ・ area-System.Numerics
TotalOrderIeee754Comparer<T>がIEEE 754 decimals (Decimal32/Decimal64/Decimal128)に対応し、正しくtotalOrder semanticsを実装するようになりました。また、組み込み型(BFloat16、NFloat、decimal型)に対するtypeof(T)高速パスを追加し、ジェネリック/インターフェースディスパッチのオーバーヘッドを削減します。
続きを読む
@alinpahontu2912 ・ GitHub ・ Servicing-approved area-System.IO
Windows環境でのタール展開テストの不安定性を修正するPR。ファイル型シンボリックリンクがディレクトリを指す場合、Windows buildの種類によってUnauthorizedAccessExceptionまたはIOExceptionのいずれかが発生する可能性があるため、例外チェックを拡大して両方の例外を許容するようにしました。ディレクトリトラバーサル拒否のテスト意図は維持されます。
@alinpahontu2912 ・ GitHub ・ Servicing-approved area-System.IO
Windows環境でのTarFile.ExtractToDirectoryテストの例外チェックを修正します。ディレクトリトラバーサルを試みるチェーンシンボリックリンクを含むアーカイブ抽出時に、Windowsのビルド環境によって発生する例外タイプが異なる問題に対応しました。同じ基本的な拒否動作でも、UnauthorizedAccessException(型不一致シンボリックリンク解決時の失敗)またはIOException(ファイルシンボリックリンク既存箇所へのディレクトリ作成失敗)のいずれかが発生する可能性があるため、テストを更新して両方の例外を受け入れるようにしています。
続きを読む
@dotnet-renovate-bot ・ GitHub ・ area-Infrastructure community-contribution
ビルド基盤インフラストラクチャで使用されるコンテナイメージのダイジェスト値を自動更新するPRです。mcr.microsoft.com/dotnet-buildtools/prereqsコンテナイメージの複数のダイジェストハッシュが更新されており、ビルド環境の依存関係を最新の状態に保つものです。
@elinor-fung ・ GitHub ・ area-NativeAOT-coreclr
CMake 3.26の最小要件に基づいて、CoreCLRおよびNativeAOTのWindows CMakebuild設定で/Z7コンパイルオプションをMSVC_DEBUG_INFORMATION_FORMAT Embedded target propertyに置き換え。これにより、object librariesにCodeViewデバッグ情報を埋め込み、外部のvc140.pdbへの参照を避けることができます。
続きを読む
@krwq ・ GitHub ・ area-System.Security
SignedXml.CheckSignedInfo メソッドにおいて、HMAC署名検証時に全体的な比較を行うように修正されました。これは署名値の検証プロセスをより堅牢にするためのセキュリティ関連の変更です。
@krwq ・ GitHub ・ area-System.Xml
XML解析時の属性重複チェック処理のパフォーマンスを改善しました。従来のソート+走査方式からHashSet<NodeData>とアトム化された名前比較器を使用した方式に変更し、属性が多いドキュメントでの処理効率を向上させています。また属性読み込みの非線形スケーリング回帰を検出するための性能テストを追加しました。
@tannergooding ・ GitHub ・ area-crossgen2-coreclr
WebAssembly上でVector128<T>をネイティブなwasm v128値として扱うようにコード生成ABI(Application Binary Interface)を改善しました。従来は128ビットSIMD値がi32(byref ポインタ)として到着していたため、複数のコード生成パスでNYI_WASM_SIMDを発行してインタプリタにフォールバックしていました。本変更により、Vector128<T>はv128プリミティブとして物理値化され、SIMD演算が実際にwasm上で実行可能になります。
続きを読む
@jakobbotsch ・ GitHub ・ area-Meta
RefSafetyRulesAttributeに基づく値型インスタンスのエスケープ制限に関するIL妥当性仕様を、ECMA-335追補ドキュメントに追加します。アセンブリレベルでSystem.Runtime.CompilerServices.RefSafetyRulesAttributeを適用することで、値型インスタンスメソッドのthisがエスケープされる場合を制限する新しいオプトイン規則を定義し、安全なボクシング除去などの最適化を可能にします(Version 11+)。
続きを読む
@Copilot ・ GitHub ・ arch-wasm area-Infrastructure os-browser
WebAssembly ブートストラップ JSON 生成ロジックを更新し、runtimeconfig.dev.json ファイルのサポートを追加しました。従来は runtimeconfig.json のみを処理していましたが、SDK がデバッグビルドで Hot Reload スイッチを注入する際に使用する dev 設定ファイルを新たに考慮します。非公開ビルド時(!IsPublish)に dev 設定を メイン設定にマージし、dev 値がメイン設定値をオーバーライドします。
続きを読む
@lewing ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssembly上の класс初期化JITヘルパー(CORINFO_HELP_INITCLASS / CORINFO_HELP_INITINSTCLASS)をJIT呼び出し側で値を返すタイプ(TYP_I_IMPL)としてモデル化し、wasm call_indirect署名とランタイムディスパッチの整合性を取る変更です。既にcorlib側はこれらのヘルパーをvoid*を返すよう更新されていますが、JIT呼び出し側がTYP_VOIDのままだったため、署名ミスマッチのトラップが発生していました。
続きを読む
@noahfalk ・ GitHub ・ area-Diagnostics-coreclr
WinDbgの診断機能を新しいcDAC(Compact Diagnostics Access Component)に移行するため、関数テーブルルックアップ機能用の新しいCOM インターフェース IXCLRDataFunctionTableAccess をスタブ実装として追加します。従来のDAC の OutOfProcessFunctionTableCallbackEx エクスポート関数に依存せず、汎用インターフェースとして設計されています。
続きを読む
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
cDAC(Cross-DAC)のIData<T>ソースジェネレータを改修し、データフィールドの読み込みを遅延評価 (最初のプロパティアクセス時)に変更しました。従来の即座評価(コンストラクタ時)から遅延評価に移行することで、ランタイムバージョン間でデータディスクリプタが異なる場合の互換性が向上します。IDataインスタンスは、データディスクリプタに欠落したフィールドがあってもコンストラクタ成功し、実際に読み込む際にのみ失敗します。
続きを読む
@alinpahontu2912 ・ GitHub ・ Servicing-approved area-System.Formats.Tar
System.Formats.Tarのシンボリックリンク解決機能における回帰を修正するバックポート。Tar展開時にシンボリックリンク先への経路計算で長さの不整合が発生し、ArgumentOutOfRangeExceptionがスローされていた問題を解決。macOSの/varや/tmpなどのシンボリックリンク先への抽出が機能していなかった。
@richlander ・ GitHub ・ Servicing-approved area-Infrastructure
Alpine Linuxベースのインフラストラクチャイメージをバージョン3.23から3.24にアップデートする、release/10.0ブランチへのサービシングポート。ビルドコンテナ、Helixテストの複数プラットフォーム(musl x64/arm32/arm64)の参照を一括更新します。
@snickolls-arm ・ GitHub ・ area-CodeGen-coreclr community-contribution
Arm64 SVE(スカラーベクトル拡張)イントリンシックスで、HW_Flag_ReturnsPerElementMaskフラグを持つノードのサポートを改善します。埋め込みマスクを持つイントリンシックノードをConditionalSelectでラップする際に、op3の定数ノードが適切なマスク型を持つようにします。ConditionalSelect_Predicatesの実装を拡張し、マスク要素のセマンティクスに合わせてコード生成およびエミッタ動作を更新します。
続きを読む
@39otsu ・ GitHub ・ area-Infrastructure community-contribution
AddressSanitizer (ASan) インストルメンテーションが Windows/MSVC でビルドおよび動作できない複数の問題を修正します。シンボルエクスポート、呼び出し規約、リンカーフラグの処理を改善し、正常なビルドと動作を確保します。VS 17.14 p7、MSVC 14.44.35207 で検証済み。
2026年07月21日 (56 PRs) うち Bot 10 件 この日のページ →
@tannergooding ・ GitHub ・ area-CodeGen-coreclr
#130837のフォローアップとして、JITコンパイラ内の複数のJITDUMP呼び出しから、フォーマット文字列に対応する変換指定子(%)を持たないまま渡されている未使用の末尾引数を削除します。すべてDEBUGビルドのみの変更で、実行時の動作は変わりません。
@tannergooding ・ GitHub ・ area-CodeGen-coreclr Priority:1
PR #130444での透過的なスカラー/ベクトル再解釈ノード(CreateScalarUnsafe、GetLowerなど)の削除により、x64 RyuJIT HWIntrinsic コード生成で2つのバグが発生。オペランドの型 に依存していたコード生成決定が、削除後の型変更により誤動作する問題を修正。ConvertToVector128/256Int*の過負荷選択と、AVX2ギャザー命令のVSIBインデックス幅の決定ロジックを修正。
続きを読む
@tannergooding ・ GitHub ・ area-skills
GitHub Copilotのcode-reviewスキルに、ファイルパスではなくディフコンテンツに基づいたSIMD型の検出 によりvectorizationスキルをルーティングする機能を追加します。これにより、リポジトリ全体のSIMD関連コード変更に対して、一貫してベクトル化チェックリストが適用されるようになります。
@MihaZupan ・ GitHub ・ area-System.Net.Http
SocketsHttpHandlerの接続蒸発評価時における配列割り当てを削減するパフォーマンス改善です。HTTP/2およびHTTP/3接続を反復処理する際に、List<T>.ToArray()の代わりにCollectionsMarshal.AsSpan()を使用することで、不要なメモリ割り当てを回避します。
@eduardo-vp ・ GitHub ・ area-System.Threading GCStress JitStress
foreground-shutdown リグレッションテストを再度有効化するPR。CoreCLR限定のActiveIssueスキップアノテーションを削除し、CIで自動スキップされずにテストが実行されるようになります。元のIssue #84006は #103877 で解決済みと判断されました。
@tannergooding ・ GitHub ・ area-System.Numerics breaking-change
Complex<T> および非ジェネリック Complex を C23 Annex G(IEC 60559互換複素算術)の特殊値(符号付きゼロ、無限大、NaN)要件に準拠させます。乗算・除算時に無限大回復メカニズムを導入し、初等関数(Sqrt、Exp、Logなど)に Annex G プロローグを追加します。これは特殊値入力の動作を変更する破壊的変更 であり、以前は NaN を返していた多くのケースで Annex G が要求する有向無限大、符号付きゼロ、または特定の符号付き結果を返すようになります。
続きを読む
@tannergooding ・ GitHub ・ area-System.Numerics
Number.Dragon4の浮動小数点数最短形式化において、正確な2の累乗に対するhasUnequalMargins計算時に32ビットシフト(1U << ...)を使用していたため、double型で誤った結果が生じていました。これにより2^-25や2^-958のような値がラウンドトリップ不可能な文字列に変換されていました。
例:
2^-25: 2.980232238769531E-08 (修正前) → 2.9802322387695312E-08 (修正後)
2^-958: 4.104536801298376E-289 (修正前) → 4.1045368012983762E-289 (修正後)
修正前の文字列をパースすると、より小さいdouble値に戻ります。
続きを読む
@Copilot ・ GitHub ・ area-CodeGen-Interpreter-coreclr
WebAssemblyの混合インタプリタ/R2Rディスパッチを実現するため、文字列コンストラクタのcalli cookie処理とprestubの管理FCallヘルパー公開ロジックを抽出・改善するものです。インタプリタ→R2R間のコンストラクタ呼び出しと、ネイティブR2Rヘルパーの処理を最適化します。
@Copilot ・ GitHub ・ area-VM-coreclr
WASM上でのスレッド静的変数初期化時の無限再帰を修正しました。GetThreadStaticsBase()がStaticsHelpers.GetNonGCThreadStaticBaseを経由して自身を呼び出す再帰ループを、WASM専用のネイティブFCall GetThreadStaticsBaseNativeを追加することで回避しています。
@Copilot ・ GitHub ・ area-VM-coreclr
WASM ポータブルエントリポイント互換性のため、InitClass と InitInstantiatedClass のヘルパーメソッドの戻り値を void から void* に変更します。WASM の call_indirect シグネチャは戻り値の個数を含む完全一致が必須ですが、JIT はこれらのヘルパーを値を返すものとしてモデル化しているため、ダミーの null を返すように修正しました。
@Copilot ・ GitHub ・ area-ExceptionHandling-coreclr
Runtime async (async2) とコンパイラstate-machine async (async1) の動作一致性をテストするため、非System.Exceptionオブジェクトのスロー処理に関するランタイム非同期テストを追加します。RuntimeCompatibilityAttribute(WrapNonExceptionThrows)により、スローされたオブジェクトがRuntimeWrappedExceptionでラップされるかどうかを制御します。
// async1 (state machine) vs async2 (runtime async) — 同一本体、異なる生成方式
[RuntimeAsyncMethodGeneration(false)]
public static async Task ThrowAfterYieldAsync1()
{
await Task.Yield();
NonExceptionThrower.ThrowNonException(); // 文字列をスロー (IL)
}
public static async Task ThrowAfterYieldAsync2()
{
await Task.Yield();
NonExceptionThrower.ThrowNonException();
}
続きを読む
@vcsjones ・ GitHub ・ tenet-performance area-System.Formats.Asn1
ASN.1エンコーディング/デコーディングにおいて、IA5StringおよびVisibleStringのエンコード・デコード処理をSystem.Numerics.Vector<T>を用いてベクトル化しました。文字単位/バイト単位の処理から、Vector<T>のサイズ単位での処理に変更することで、大幅なパフォーマンス向上を実現します。.NETCoreApp以降のビルドのみが対象で、ダウンレベル実装は既存の動作を維持しています。
続きを読む
@tannergooding ・ GitHub ・ area-skills
SIMD/ベクトル化ガイダンスをリポジトリ外の公式ドキュメント(dotnet/docs#54834)への参照に簡潔化し、dotnet/runtime固有のノウハウのみを保持します。また、SIMD/ハードウェア内在関数の作成・レビュー向けの新しいvectorizationスキルを追加します。
@AaronRobinsonMSFT ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラの範囲チェック処理を担当するsrc/coreclr/jit/rangecheck.h内の長い行を折り返し、可読性を向上させるフォーマッティング変更です。動作上の変更はありません。
@DrewScoggins ・ GitHub ・ area-Infrastructure-mono
パフォーマンス測定用サンプルアプリのビルドパイプラインテンプレートで、MSBuild binlogアーティファクトの命名規則を修正するもの。PR #128498で診断アーティファクトとして分類された際に付与された_Attempt$(System.JobAttempt)サフィックスを削除し、ダウンストリームのdotnet/performanceリポジトリで参照される安定した名前を復元する変更。
@Copilot ・ GitHub ・ area-Host
c_fx_ver_parse / fx_ver_t::parse の parse_only_production パラメータを削除するクリーンアップです。このパラメータは全てのコール元で false または デフォルト値として使用されており、実際に true で呼び出されることがないため、不要なパラメータを削除しました。
@jtschuster ・ GitHub ・ area-ReadyToRun
削除されたr2r.ymlに対応するAzure DevOps(AzDO)パイプライン定義がまだ存在し、警告が発生していた問題を解決するため、ダミーファイルとしてr2r.ymlを復活させました。これにより、AzDO上の警告を回避できます。
@tannergooding ・ GitHub ・ area-System.Numerics
Decimal32/Decimal64/Decimal128 の公開APIサーフェスを承認済みのAPI仕様に合わせるとともに、これまで実装されていなかった承認済みメンバーを追加します。主な変更は、メソッド名の変更(Quantum/SameQuantum → GetQuantum/HaveSameQuantum)と、IEEE 754-2019に準拠した新機能の実装(BID/DPD エンコード/デコード、Lerp、ReciprocalEstimate/ReciprocalSqrtEstimate)です。
続きを読む
@eiriktsarpalis ・ GitHub ・ area-System.Security
EncryptedXmlの暗号化DTDテストペイロードの処理負荷を削減するもの。テストペイロードに含まれる111個のトランスフォーム(うち100個は重複した正規化トランスフォーム)を削減し、21個のトランスフォームに減らすことで、テスト実行時間を約60秒から約13秒に短縮します。トランスフォーム数の上限境界(デフォルト制限値+1)を保持しながら、テスト検証の厳密性を向上させます。
@ManickaP ・ GitHub ・ area-System.Net.Http
マルチプロキシのフェイルオーバー時に、前のプロキシ試行のProxy-Authorizationヘッダーが後続のプロキシ試行に漏洩するセキュリティ問題を修正しました。SocketsHttpHandlerが複数のプロキシリスト内で別のプロキシにフェイルオーバーする際に、元のHttpRequestMessage.Headers.ProxyAuthorization値を復元して、認証情報の不正な流出を防ぎます。
続きを読む
@kotlarmilos ・ GitHub ・ area-Infrastructure
モバイルビルドにおいて、IgnoreForCI=trueでマークされたテストプロジェクトに対してPublishTestAsSelfContainedターゲットをスキップするよう修正しました。これにより、CI で実行されないテストプロジェクトに対する不要な ILLink トリミングを防ぎ、Apple モバイル CoreCLR ビルドの失敗を解決します。
@EgorBo ・ GitHub ・ area-skills
パフォーマンスベンチマーク関連のAIエージェント(EgorBot)の過度な使用を防ぐため、skill workflowを更新しました。ローカルでのBenchmarkDotNet実行を推奨し、EgorBotの使用を明示的なオプトイン方式に変更する内容です。作成者がLINQのSumを意図的に遅くした変更でローカルテスト済みです。
@EgorBo ・ GitHub ・ area-System.Runtime.InteropServices
LibraryImportGeneratorをC# unsafe-v2仕様に対応させる準備作業です。unsafe-v2では型へのunsafe修飾子が違法となり、メソッドのunsafe修飾子は本体のunsafeコンテキストを開かなくなります。新旧両ルールに対応するコード生成に変更されました:
生成されたスタブの含有型にはunsafeを追加しない(ユーザーの修飾子はそのままコピー)
ラッパースタブ本体をunsafe { }ブロックで囲む
フォワーダースタブ(本体なしextern)は変更なし
続きを読む
@tannergooding ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラの局所変数アドレス検証ロジックを強化し、エミッタの符号化制限に対応しました。ローカル番号が32768以上の場合、エミッタはバイトサイズオフセット(< 256)のみサポートしていますが、この制限をIsValidLclAddrで事前に検証することで、エミット時のInvalidProgramExceptionを防ぎます。修正により、MinOptsでのブロック初期化折り畳みや、FullOptsでの加算折り畳みにおいて、符号化不可能なアドレス形式の生成を回避します。
続きを読む
@lewing ・ GitHub ・ arch-wasm area-Diagnostics-coreclr
WebAssembly上のCoreClrで動作する診断ツール向けに、cDAC(managed data contract reader)を拡張します。WASM特有のスタックウォーキングと管理メタデータ解決に対応し、ブラウザ/WASI環境でのライブ管理状態の検査を可能にします。主な課題として、WASM環境では(1)ネイティブレジスタコンテキストが存在しない、(2)フィーチャーゲート型フィールドが記述子に含まれない、(3)webcilイメージが非マップ形式で読み込まれることに対応します。
続きを読む
@tannergooding ・ GitHub ・ area-CodeGen-coreclr Priority:2
JITコンパイラのxarchおよびarm64命令の可換性メタデータを修正し、オペランドスワッピングによる最適化をより一貫して適用できるようにするPRです。AVX2/AVX512のMultiplyAddAdjacent、複数のSSE4.1/SSSE3整数命令、およびarm64のAbsoluteDifference命令に対して、可換性フラグを追加します。
@svick ・ GitHub ・ area-Extensions-FileSystem
PhysicalFileProviderのTokensFiredForOldAndNewNamesOnRenameテストの不安定性を修正しました。従来の固定500msの遅延待機をデタミニスティックなRegisterChangeCallback + TaskCompletionSourceパターンに置き換え、バックグラウンドスレッドプール上での遅延キャンセルによる不確定な実行タイミングの問題を解決しています。
続きを読む
@eiriktsarpalis ・ GitHub ・ area-System.Text.Json
System.Text.Json製品コードを最新のC# 14構文に段階的に移行するコードモダナイゼーション。動作や公開APIに変更を与えないクリーンアップリリース。
34個のプライベート単一使用バッキングフィールドをC# 14フィールド初期化プロパティに置き換え
6個の単一式メソッドを式本体メンバーに変換
415個の組み込み型のnull比較をis null/is not nullパターンに置き換え
32個の安定定数および範囲比較をパターンマッチングに置き換え
続きを読む
@svick ・ GitHub ・ area-Extensions-FileSystem
PhysicalFilesWatcherのテストCreateFileChangeToken_RootDeletedAndRecreated_TokenFiresWhenFileCreatedが断続的に30秒のタイムアウトで失敗する問題を修正しました。
Linux上で監視対象のルートディレクトリが削除される際、FileSystemWatcherは内部的にinotifyの監視を破棄しますが、EnableRaisingEventsはfalseにリセットされない状態が発生していました。その後のトークン再登録時にEnableRaisingEventsがtrueのままだとPendingCreationWatcher(ルートディレクトリの再出現を監視するフォールバック)が設定されず、ファイル作成イベントが検出されないレースコンディションが起きていました。
続きを読む
@tannergooding ・ GitHub ・ area-CodeGen-coreclr
fgExpandRuntimeLookupsForCallがランタイム検索ヘルパー呼び出しの引数アクセスを、生のインデックスアクセサ(CountArgs/GetArgByIndex)から"ユーザー引数"アクセサ(CountUserArgs/GetUserArgByIndex)に変更します。wasm上ではAddFinalArgsAndDetermineABIInfoが管理呼び出しの前に非ユーザー引数(WasmShadowStackPointer)を挿入するため、生のインデックスではアサーション失敗と引数の位置ズレが発生していました。この修正により、共有ジェネリック型のランタイム検索がwasm上で正常に機能するようになります。
続きを読む
@tannergooding ・ GitHub ・ area-CodeGen-coreclr
RyuJIT の gtFoldExprHWIntrinsic で BlendVariable/BlendVariableMask をマスク値が定数ゼロで定数折り畳みする際に、オペランドの評価順序が不正に並べ替わり、副作用が喪失される問題を修正しました。マスク値がゼロの場合、従来は op2(selectTrue)の副作用を無視して op1 を返していましたが、修正後は op2 に副作用がない場合のみ安全に折り畳み、そうでなければ値番号付けに処理を委譲して評価順序を保全します。
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
JITのプロファイル伝播処理を修正するPRです。スイッチターゲットブロックの重みを段階的に修正するのではなく再計算することで、プロファイル一貫性の問題を解決します。また、デバッグ時のプロファイル重みチェック機能を強化し、エラー前に詳細情報をログ出力できるようにしました。
@VSadov ・ GitHub ・ area-System.IO.Pipelines
System.IO.Pipelines内のreader/writer間のロック競合を削減するため、複数の最適化を実施しています。バッファセグメントの取得・返却をロック外で処理し、セグメントプールをスタックからFIFOキューに変更、ロック機構をmonitor lockからThreading.Lockに切り替え、ThreadPool継続処理をローカルキューにスケジューリングする変更です。56コアマシン上のJSON ASP.NET ベンチマークで、最大ロック競合を483回/秒から66回/秒に削減し、RPSを2,094,374から2,148,465に向上させます。
続きを読む
@tannergooding ・ GitHub ・ area-CodeGen-coreclr
浮動小数点数とNaN定数の比較操作を、JIT morph段階で折り畳むことができるように修正しました。従来はgtFoldExprSpecialが結果型(relopsの場合はTYP_INT)に基づいてディスパッチしていたため、浮動小数点比較がNaN折り畳みロジックに到達できず、後のvalue numbering段階でのみ最適化されていました。本変更により、オペランド型に基づいてディスパッチするよう改め、inlinerなど早期段階のヒューリスティクスが活用できるようになります。
続きを読む
@tannergooding ・ GitHub ・ area-CodeGen-coreclr Priority:2
JIT lowering関連のクリーンアップと堅牢性向上を行うバッチ更新。ランタイム動作に影響する変更なし。デバッグ診断の不具合修正、含有判定の一貫性強化、デッドコード削除を実施。
@tannergooding ・ GitHub ・ area-CodeGen-coreclr Priority:1
HWIntrinsic(ハードウェア組み込み関数)処理の潜在的な正確性バグ2件をJIT コンパイラの gentree.cpp で修正します。各修正に対応する回帰テストを追加しています。
@MichalStrehovsky ・ GitHub ・ area-NativeAOT-coreclr
Delegate.Method が Trim-unsafe API として機能するよう、ジェネリック仮想メソッド(GVM)へのデリゲートのリフレクタビリティを追跡できるようにする変更です。PR #129609 で GVM が RuntimeMethodHandle の実装詳細として暗黙的にリフレクションターゲットと見なされていた動作を修正します。
@jtschuster ・ GitHub ・ area-System.Reflection area-System.Runtime.Loader
ReadyToRun(AOT)パイプラインにおいて、4つのライブラリテストスイート(System.Runtime.Loader.DefaultContext.Tests、System.Reflection.Tests、System.Reflection.TypeExtensions.Tests、System.Runtime.Loader.Tests)のカバレッジを有効化します。ReadyToRun環境固有の問題(テスト実行時のエントリアセンブリの扱い、フィクスチャの読み込み方法、バインド失敗フィクスチャの処理)に対応する変更が含まれます。
続きを読む
@lewing ・ GitHub ・ arch-wasm os-wasi area-CodeGen-Interpreter-coreclr
CoreCLR-WAI向けのライブラリテストビルドレグ(テスト範囲: System.Runtime.Tests)を構築します。このPRは、アプリケーション固有の[UnmanagedCallersOnly]逆P/Invokeサンクを生成し、提供されるlibWasiHost.aにリンクすることで、テストコールバック(ネストされたコールバックなど)の解決を可能にします。フレームワークの静的コールヘルパーテーブルのみでは対応できないため、アプリケーションごとのネイティブリンク処理が必要です。
続きを読む
@Copilot ・ GitHub ・ area-System.Diagnostics.Process
Process.Run、RunAsync、RunAndCaptureText、RunAndCaptureTextAsync、StartAndForget メソッドの arguments パラメータの型を IList<string>? から IEnumerable<string>? に変更しました。実装は反復処理のみで、インデックスアクセスや変更を行わないため、既存の Process.Start(string, IEnumerable<string>) オーバーロードと一貫性を保つようにしたものです。
続きを読む
@svick ・ GitHub ・ area-Extensions-FileSystem
ネットワークドライブやWSLパスなど、FileSystemWatcherが監視できないファイルシステム上でジェネリックホストアプリがStackOverflowExceptionでクラッシュする問題を修正しました。エラーが繰り返し発生し続ける場合、同一エラーの再発生を抑制することで、エラー→トークンキャンセル→ウォッチャー再有効化のループを防止します。
@Copilot ・ GitHub ・ linkable-framework area-Tools-ILLink
トリミングされたCoreClRアプリで、TypeMapAssemblyTarget属性が生き残ったまま、その対象アセンブリが完全にトリミングされた場合、実行時にAssembly.Load呼び出しでFileNotFoundExceptionがスローされるクラッシュ問題を修正します。属性は対象アセンブリがマークされている(存続するエントリを持つ、または保持されている)場合のみマークされるようにしました。
続きを読む
@Copilot ・ GitHub ・ area-System.Numerics
tvOS上で以前クラッシュが報告されていた4つのBitOps_Crc32C_*テスト(byte、ushort、uint、ulong)から[ActiveIssue]スキップ属性を削除し、テスト実行を再度有効化するもの。tvOS CI上で問題が依然として発生するかを確認することが目的。
@MihaZupan ・ GitHub ・ area-System.Net.Http
SocketsHttpHandler に接続レベルの診断と制御機能を追加するPRです。新しい実験的APIとして、設定可能な接続エビクション(削除)コールバック ShouldEvictConnection と、接続全体で伝播する ConnectionId を導入し、HTTP/1.1、HTTP/2、HTTP/3 を含むすべてのプロトコルにおいて接続追跡と管理を可能にします。
@davidwrighton ・ GitHub ・ arch-wasm area-VM-coreclr
Wasm RyuJIT/ReadyToRun環境でのインライン化されたP/Invokeの実装をサポートします。主な変更は、P/Invokeターゲットの固定方式をREADYTORUN_FIXUP_IndirectPInvokeTargetからREADYTORUN_FIXUP_PInvokeTargetへ変更し、Wasm固有のJIT_PInvokeBegin/End実装を追加することで、スタックウォーク状態を正しく確立します。
続きを読む
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
cDAC(コンポーネント診断契約)のTypeHandle値型をITypeHandleインターフェースに変換し、ターゲット指向の実装(TargetTypeHandle)を追加するリファクタリングです。これにより、ランタイム型システム(RTS)が型ハンドルのバージョニングと合成型の生成に対応できるようになります。主な特徴は、ハンドルの比較をアドレス値から正規参照ID(canonical reference identity)に変更し、Target.Flushまでの間は同じアドレスに対して同一オブジェクトを返します。
続きを読む
2026年07月20日 (37 PRs) うち Bot 4 件 この日のページ →
@radekdoulik ・ GitHub ・ arch-wasm area-Infrastructure-coreclr
browser-wasm CoreCLR ビルドにおいて、Linux と Windows ホストが同じ名前の Pipeline Artifact を発行することによる競合を解決する変更です。ホスト固有の名前付け($(_hostedOs) サフィックス)を導入し、非ブラウザ成果物には影響を与えません。
@tannergooding ・ GitHub ・ area-System.Numerics
IEEE 754準拠の10進浮動小数点型Decimal32、Decimal64、Decimal128の公開APIに対するXMLドキュメンテーションを追加しました。各型がIEEE 754のdecimalNインターチェンジ形式とバイナリ整数10進数(BID)エンコーディングを使用することを明記し、精度(それぞれ7、16、34桁)を記載しています。また、PositiveInfinity、NegativeInfinity、NaN、NegativeZero、Zero、MinValue、MaxValue、Epsilonといった静的値プロパティについても、対応するインターフェース(IFloatingPointIeee754<TSelf>など)の標準的な記述に準じたサマリーを追加しました。
続きを読む
@MihaZupan ・ GitHub ・ area-System.IO.Compression
WinZipAesStreamFuzzerおよびZipCryptoStreamFuzzerの2つのファザーを削除します。これらのファザーはビルド失敗(corpus fileの欠落)とランタイムエラー(TypeInitializationException)により動作していなかったため、ファジング機能をアンブロックするため削除されました。
@MihaZupan ・ GitHub ・ area-System.Net
URI テストの IRI_ExpandingContents_TestData から 1 百万文字の長いテストケースを削除します。このテストケースは約 9 百万文字の文字列を ToString() で割り当てることになり、他のプロパティやバッファと合わせて約 100 MB のメモリを消費していました。ushort より長いシナリオのカバレッジは、既に 66K のテストケースで十分です。
@lewing ・ GitHub ・ arch-wasm area-Codegen-meta-mono
Mono WebAssembly環境で[UnmanagedCallersOnly]属性を持つエクスポート関数が9引数以上の場合、ネイティブコードから呼び出すと「function signature mismatch」エラーでトラップする問題を修正しました。問題の根因は、PInvokeTableGeneratorが生成するCサンクが、8引数以下用の個別引数渡し規約を常に使用していたのに対し、ランタイムが9引数以上向けにinterp_entry_general(ポインタ配列渡し)をインストールしていたため、呼び出し規約の不一致が発生していました。修正により、9引数以上の場合はローカル引数ポインタ配列を構築してinterp_entry_generalを直接呼び出すようになります。
続きを読む
@lewing ・ GitHub ・ area-System.Runtime.InteropServices.JavaScript
JSImport部分メソッドの生成時に[SupportedOSPlatform("browser")]属性を直接付与することで、プラットフォーム互換性分析(CA1416)がJSImportメソッドに正しく適用されるよう修正しました。従来はJSImportAttributeクラスレベルの属性が機能していなかったため、ブラウザ以外のプラットフォームから呼び出される場合の警告が表示されていませんでした。
@akoeplinger ・ GitHub ・ area-Infrastructure-mono
ILLink テストの結果発行パイプラインの不具合を修正します。テストは Debug ビルドで実行されますが、Release 構成で結果を検索していたため、テスト結果が発行されていませんでした。結果ファイルを適切なディレクトリにコピーし、テスト結果形式を xUnit として明示的に設定します。
@lewing ・ GitHub ・ Servicing-approved arch-wasm area-Build-mono
AOT (Ahead-of-Time) コンパイル + BlazorWebAssemblyLazyLoad を組み合わせた Blazor WebAssembly アプリの起動時クラッシュを修正します。
AOT イメージ読み込み時に、参照されるすべてのアセンブリへのバインディングが即座に行われるため、遅延ロード対象のアセンブリが実行時に存在しないとイメージが使用不可になり、インタープリタへのフォールバック時に appdomain.c や interp.c でアボートが発生していました。
修正により、AOT と遅延ロードが組み合わされた場合に、MSBuild で --aot-lazy-assembly-load ランタイムオプションが自動的に有効化され、アセンブリバインディングが実際のロード時点まで遅延されるようになります。
続きを読む
@MichalPetryka ・ GitHub ・ community-contribution area-skills
コード レビュー スキルのガイドラインを更新し、提案フォーマットに関する指示を改善しました。Copilot によるコード提案の形式を統一することを意図としています。
@tannergooding ・ GitHub ・ area-System.Numerics
IEEE 754 decimal型(Decimal32、Decimal64、Decimal128)の超越関数ファミリーを実装し、汎用数値インターフェースの完成を目指すPRです。指数関数(Exp系)、対数関数(Log系)、べき乗関数(Pow、Cbrt、RootN、Hypot)、三角関数(Sin、Cos、Tan、SinCos、逆三角関数、*Pi変種)、双曲関数の全ファミリーを追加し、新しい公開インターフェースIDecimalFloatingPointIeee754<TSelf>を定義します。
続きを読む
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
cDAC(Compact DAC)レガシーシムに IXCLRDataExceptionState.IsSameState / IsSameState2 APIを実装しました。例外アドレスと"first-chance"セマンティクスに基づいて例外状態を比較するための機能で、内部的に使用されていたAPIです。
@jtschuster ・ GitHub ・ area-ReadyToRun
crossgen2比較ビルドジョブで、.\dotnet.cmdの使用を.\eng\common\dotnet.cmdに変更することで、sdk.txtファイルのロック競合を解決します。200以上の並列実行時にdotnet.cmdがInitializeDotnetCLIでsdk.txtをロックするため、読み取り時にロック状態が発生していた問題を回避します。
@PranavSenthilnathan ・ GitHub ・ area-System.Security
System.Security.Cryptographyに特化したGitHub Copilot指示ファイルを追加し、暗号化関連コードの開発規則をAIアシスタントに提供するドキュメント変更です。コード規則、Try* API の正確性チェック、機密データ処理、定時間比較、テストスキップの規則をカバーしています。
@mrek-msft ・ GitHub ・ area-System.Net.Http
HTTP/2接続でのPING ACK・SETTINGS ACK無限蓄積を防ぐため、キュー済みフレーム数に上限を設定しました。上限超過時は接続を中止します。
@Copilot ・ GitHub ・ area-Diagnostics-cdac
legacy cDAC(Compact Debugging Architecture)に対して、メソッド範囲(method extent)の列挙機能を追加するPull Request。IXCLRDataMethodInstanceインターフェースのStartEnumExtents、EnumExtent、EndEnumExtentsメソッドを実装し、デバッガがメソッドの物理的な範囲情報にアクセスできるようにしています。
続きを読む
@radekdoulik ・ GitHub ・ arch-wasm area-Infrastructure-coreclr
CoreCLRブラウザ/WASM上で動作するランタイムテストについて、ActiveIssue条件を絞り込み、以前は抑制されていたテストを有効化するもの。Monoやその他の構成では必要に応じて抑制を維持しながら、CoreCLRブラウザ上でのSIMD、JIT、GC、ハードウェア組み込み関数、基本サービステストを実行可能にする。
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
cDAC(Component Debugging for Access Control)のレガシDAC委譲機能を段階的に廃止するため、選定された複数のラッパーメソッドをレガシDAC実装へのフォールバック委譲から直接E_NOTIMPLを返すように変更しました。これにより、cDACがネイティブに対応していないAPIはレガシDACへ委譲せず明示的に未実装を返すようになります。
@elinor-fung ・ GitHub ・ area-Host
libnethost.libとlibhostfxr.libに埋め込まれたオブジェクトライブラリが外部のvc140.pdbを参照していため、これらのスタティックライブラリをリンクするコンシューマー側でLNK4099警告が発生していた。この問題を解決するため、オブジェクトライブラリをコンパイル時に埋め込みデバッグ情報フラグ(/Z7)を使用してコンパイルし、NativeAOT Runtime.GC.*およびcDACディスクリプタと同じアプローチに統一する。
続きを読む
@Copilot ・ GitHub ・ area-Infrastructure-coreclr
CoreCLR gc-standalone パイプラインの夜間自動実行をスケジュール定義のコメントアウトにより一時停止するもの。調査中の問題が解決するまでの間、不要なCI実行を削減するための運用的な変更です。パイプライン定義自体は保持され、手動実行とスケジュール再有効化(コメント解除)は引き続き可能です。
@am11 ・ GitHub ・ arch-arm64 os-freebsd community-contribution area-NativeAOT-coreclr
FreeBSD ARM64 環境での AOT スモークテスト失敗を修正するため、elf_aux_info を使用した CPU 機能検出を追加します。.NET 11.0 での回帰(#118101 に由来)を解決し、AdvSimd 命令セットの検出を正確に行えるようにします。
@lateralusX ・ GitHub ・ area-Diagnostics-coreclr
非プーリングの Task/ValueTask async パス(async profiler 有効時)における per-suspension dispatcher 割り当てを削除し、state-machine box 自体が dispatcher として機能するように最適化。状態マシンボックスが IAsyncStateMachineDispatcher を実装する AsyncProfilerAsyncStateMachineBox<TStateMachine> に統合され、suspension ごとの追加割り当てがなくなります。
続きを読む
@matouskozak ・ GitHub ・ area-System.Globalization os-ios
Apple環境のハイブリッド国際化で、ノルウェー語ロケール(no/no-NO)がFoundationによってnbに正規化されるのを防ぎ、要求されたカルチャ名とISO言語コードを保持するように修正。リソースルックアップの親フォールバック(no-NO → no)も保持され、Appleロケール言語コード解決の一元化と国際化テスト範囲の拡張が行われています。
@tannergooding ・ GitHub ・ area-CodeGen-coreclr
xarch JIT lowering における3つの独立した正確性/不変量の問題を修正します。各修正は個別のコミットで提供され、対応するJitBlue回帰テストが含まれています。
@adamperlin ・ GitHub ・ area-CodeGen-coreclr
WebAssembly SIMD(PackedSimd)の要素単位ロード/ストア操作に対するRyuJIT コンパイラサポートを実装します。LoadScalarAndInsertおよびStoreSelectedScalarなどのレーン固有操作をメモリ操作として分類し、ジャンプテーブルベースの即値処理を拡張することで、テーブル駆動型のコード生成を実現しています。
@rzikm ・ GitHub ・ area-System.Net.Http
RFC 9659準拠の"zstd"圧縮を実装するため、ZstandardCompressedContentがHTTPリクエスト本文として生成する圧縮データのウィンドウサイズを制限します。CompressionLevel.SmallestSize使用時に明示的なZstandardCompressionOptionsでWindowLog2 = 23(8 MiB最大ウィンドウ)に制限し、RFC 9659準拠の内容を保証します。
続きを読む
@tannergooding ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラの複数のフェーズにおいて、デッドコード(到達不可能・未使用のコード)を4つ削除するクリーンアップPRです。各削除は独立した変更で、動作への影響はありません。
具体的には以下を削除:
Span半定数Equalsの常にfalseの参照等価性チェック - _reference(TYP_BYREF)と文字列オブジェクトハンドル(TYP_REF)の比較は常にfalseで到達不可
MorphStructFieldAddressの未完了isSpanLengthブロック - 計算結果が未使用で、実装が途中で放置されていた
未使用のoptCSE_MaskHelper - MaskDataWalkerに置き換わった遺物
有理化フェーズの到達不可XnorMask処理 - NI_AVX512_XnorMaskは有理化より後の低下化フェーズでのみ生成されるため、このコードは実行されない
続きを読む
@dhartglassMSFT ・ GitHub ・ Servicing-approved area-CodeGen-coreclr
PHI(Phi)ノードの無効な引数がアサーション伝播コードによって誤って処理され、値がNULLではないと不正に想定される問題を修正。コンパイラがstrVal ?? value.ToString();のようなコードを不正にコンパイルし、実行時に予期しない挙動を引き起こていました。本修正は#125093のrelease/10.0へのバックポートおよび関連の#125222を含みます。
@matouskozak ・ GitHub ・ area-System.Globalization os-ios
iOS上での文字列ソート性能最適化。CompareStringNativeの冗長なstringByFoldingWithOptions呼び出しを削除。compare:options:range:locale:API(NSLiteralSearch使用)がNSCaseInsensitiveSearch、NSDiacriticInsensitiveSearch、NSWidthInsensitiveSearchを事前に合成された文字列に対して既に処理しているため、フォリング処理は不要。IgnoreCase、IgnoreDiacritics、IgnoreWidthなど複数の比較オプションの組み合わせを含む20個のエッジケーステストで検証済み。
続きを読む
@UditDewan ・ GitHub ・ area-Extensions-Options community-contribution
[OptionsValidator]ソースジェネレータが、C#キーワードをプロパティ名やモデル型名として使用する場合(例:public string? @class { get; set; })に、生成されたバリデータコードでキーワードをエスケープしていなかった問題を修正しました。修正前はoptions.classが生成されてコンパイルエラー(CS1520/CS0501/CS0246)が発生していました。
続きを読む
@dhartglassMSFT ・ GitHub ・ area-CodeGen-coreclr
32ビットプロセスで不安定に発生する大規模メモリ割り当てテストを無効化するPRです。PR #123248でのリファクタリング中に誤って削除された32ビットターゲット向けのスキップ処理を復活させ、Apple mobile向けのスキップも追加することで、テストの信頼性を向上させています。
@EgorBo ・ GitHub ・ Servicing-approved area-CodeGen-coreclr
IV(Induction Variable)ウィデニング最適化がJITコンパイル時に到達不可能ブロックへウィデニングされたIVの初期化を配置する問題を修正しました。redundant branch opts(冗長分岐最適化)がジャンプスレッド化で到達不可能にしたブロックに初期化コードが生成され、後のflow-graph passでそのデッドブロックが削除される際にウィデニングされたIVが初期化されず、ループが誤った結果を返すというレグレッション(.NET 9で導入)を修正しています。
続きを読む
@eduardo-vp ・ GitHub ・ Servicing-approved tenet-performance area-VM-coreclr
LoaderHeapのフリーリストが予想以上に増加する回帰問題を修正します。高ボリュームなジェネリックメソッド型初期化時に複数スレッドが競合して冗長なInstantiatedMethodDescを割り当て・破棄することで、フリーリストが膨張し、その後の割り当てが遅くなるという問題が発生していました(テストスイート実行時に Linux で 6~8倍遅化)。この修正により、スレッドセーフに同一型初期化を一度だけ実行するようにしました。
続きを読む
@matouskozak ・ GitHub ・ os-mac-os-x area-Infrastructure-coreclr
CoreCLR iOS ビルドドキュメント内の壊れたクロスリファレンスリンクを修正しました。docs/workflow/building/coreclr/ios.md の "See also" セクションにおいて、存在しない ../macos.md へのリンクを、同じディレクトリ内の README.md(CoreCLR ビルドガイド)に修正しています。
2026年07月19日 (20 PRs) うち Bot 1 件 この日のページ →
@akoeplinger ・ GitHub ・ area-Infrastructure
runtimelab の下流コンシューマーの互換性を保つため、中間成果物のアップロードステップを Pipeline Artifacts から従来の Azure DevOps Build Artifacts に戻します。複数のジョブが同一名の成果物に発行する必要があるため、この変更が必要です。今後すべての runtimelab ブランチが v3/v4 発行に移行すれば、この設定は削除可能です。
@lewing ・ GitHub ・ area-Build-mono
WASM パフォーマンスパイプラインの修正。PR #130380 で wasm-tools ワークロードマニフェストに CoreCLR ランタイムパック Microsoft.NETCore.App.Runtime.browser-wasm が追加されたことで、Mono ビルドジョブが必要なパックを見つけられず、ワークロードインストール時に失敗していた問題を解決する。CoreCLR ビルドジョブが生成するランタイムパックを Mono ビルドジョブが再利用するよう、パイプラインテンプレートを修正。
続きを読む
@lewing ・ GitHub ・ arch-wasm area-Build-mono
WebAssembly のネイティブビルド(Emcc)において、一時ディレクトリパスにかっこが含まれている場合に dotnet publish が失敗する Windows 固有の問題を修正します。例えば C:\Users\John(US)\AppData\Local\Temp\... のようなテンポラリパスで失敗していた問題が対象です。
根本原因は cmd.exe の /c オプションが引用符で囲まれたパス内の特殊文字(かっこ)を検出すると、引用符を削除してしまうため、パスが正しく解析されないことです。
続きを読む
@lewing ・ GitHub ・ arch-wasm area-Build-mono
Mono wasm バックエンドで、[SupportedOSPlatform]/[UnsupportedOSPlatform]属性を尊重していなかったP/Invoke生成器を修正しました。ターゲットOS(browser)で非サポートのP/Invokeメソッドが解析対象となり、不必要な警告(WASM0001/WASM0060/WASM0062)が発生していた問題を解決します。
@lewing ・ GitHub ・ arch-wasm area-Codegen-Interpreter-mono
WebAssembly上のMono interpreterにおいて、64ビット基礎型を持つenumをP/Invokeの引数として渡す際のクラッシュを修正。interp_type_as_ptr()がenumの基礎型を確認せずにすべてのenumをポインタサイズ互換として扱っていたため、call_indirectのシグネチャ不一致エラーが発生していました。
修正後、以下のようなコード例が正常に動作します:
[Flags] enum Flags : ulong { /* ... */ }
[DllImport("native")]
static extern void ProcessFlags(Flags flags); // 64ビット値を正しく渡すことが可能に
続きを読む
@lewing ・ GitHub ・ arch-wasm area-Build-mono
AOT (Ahead-of-Time) コンパイルされた Blazor WebAssembly アプリが BlazorWebAssemblyLazyLoad を使用する場合のランタイム起動時のクラッシュを修正します。根本原因は、AOT イメージが起動時にすべての参照アセンブリをロードしようとするため、遅延ロードされるアセンブリが見つからず、フォールバック処理で interp.c のアサーション失敗が発生していました。修正では、AOT + 遅延ロード条件下で aot-lazy-assembly-load ランタイムオプションを自動的に有効化し、アセンブリのバインディングを実際のロード時点まで遅延させます。
続きを読む
@huoyaoyuan ・ GitHub ・ area-VM-coreclr community-contribution
Windows x64のアンワインド情報公開処理をリファクタリングし、RtlAddGrowableFunctionTableなどのWindows 8+API を直接呼び出すように変更しました。従来の動的なGetProcAddressベースの関数発見を廃止し、リンク時にntdll.libから直接シンボルを解決するようにしています。
@am11 ・ GitHub ・ area-Infrastructure community-contribution
Alpine Linuxの互換性確保のため、RISCV_HWPROBE_EXT_ZICONDマクロを定義するネイティブコード修正です。linux-musl-riscv64ビルドの問題を解決します。
@maraf ・ GitHub ・ arch-wasm area-Build-mono os-browser
WebAssemblyデバッグヘルプページへの受信クエリパラメータをHTML エンコードして、HTML/スクリプトインジェクションのリスクを軽減します。urlクエリパラメータとデバッガタブリスト URLを事前にエンコードし、エラー/ヘルプHTMLで再利用します。
@tannergooding ・ GitHub ・ area-System.Numerics
IEEE 754 decimal実装(Decimal32/Decimal64/Decimal128)の算術演算と変換処理を高速化するPRです。長除算の高速化、直接エンコーディング、浮動小数点変換の最適化、専用の等値性チェックルーチンなどを追加し、全体的なパフォーマンスを大幅に改善します。
@AaronRobinsonMSFT ・ GitHub ・ area-VM-coreclr
CoreCLR の vm/common.h から冗長/陳腐なプリプロセッサ定義と MSVC 警告抑制ブロックを削除し、複数の stdafx.h ファイルから未使用の定義を削除するコード整理です。警告抑制に依存していた2つの呼び出し位置(gchelpers.cpp、olevariant.cpp)は、名前付きローカル変数を導入して対応しており、機能的な変更はありません。
@MichalPetryka ・ GitHub ・ area-VM-coreclr community-contribution
マルチキャストデリゲートの内部実装をリファクタリングし、呼び出しリストの保存形式を object[] から Delegate.Wrapper[] に変更します。これにより、型安全性を向上させ、combine/remove パスを簡潔にし、VM側の呼び出しスタブ生成を更新します。
@am11 ・ GitHub ・ area-Infrastructure community-contribution os-openbsd
OpenBSD x64プラットフォームのCI環境を追加するための変更です。既存のCI/CDパイプライン構成を拡張して、OpenBSD x64ターゲットのビルドとテストを実行できるようにします。
@Copilot ・ GitHub ・ area-Infrastructure
JIT範囲分析において、符号なし加算のオーバーフロー検査が誤って削除される問題を修正しました。JIT範囲が符号付き区間を使用しているため、Tier 1のアサーション伝播が符号なし加算の検査条件を不正に削除していました。
@jeffhandley ・ GitHub ・ area-skills
dotnet/runtimeのコードレビュー自動化をスケジュール型オーケストレータ+ワーカー型の設計に再構築し、レビュールールをパス固有の .github/instructions/ ファイルに分離します。これにより、カスタム Holistic Review ワークフローと GitHub 組み込み Copilot コードレビューが同一のルールセットを共有できるようになります。従来の pull_request トリガー型から、10分単位でスケジュール実行される deterministic オーケストレータが必要な PR を選定し、dispatch する per-PR ワーカー(workflow_dispatch ベース)に移行します。
続きを読む
@mmitche ・ GitHub ・ area-Infrastructure
Azure Pipelines のeng/pipelines/配下において、レガシーな Build Artifacts(PublishBuildArtifacts@1 / DownloadBuildArtifacts@0)から Pipeline Artifacts(PublishPipelineArtifact@1 / DownloadPipelineArtifact@2)への移行。Pipeline Artifacts はデデュプベースのアップロードで、レガシー Build Artifacts に比べて10~100倍高速化され、エージェント時間を削減してプール圧力を軽減します。
続きを読む
@arpitjain099 ・ GitHub ・ area-Infrastructure community-contribution
.github/workflows/jit-format.yml ワークフローにおいて、セキュリティ強化を目的として permissions: contents: read を宣言します。このワークフローは .NET と Python のセットアップ、JIT フォーマットスクリプトの実行、format.patch アーティファクトのアップロードを行いますが、GitHub API への書き込みアクセスを必要としないため、読み取り権限のみに制限することで、万が一 GITHUB_TOKEN が漏洩した場合の被害範囲を最小化します。
続きを読む
@pentp ・ GitHub ・ area-System.Runtime community-contribution reduce-unsafe
System.Decimalのunsafeコード使用量を削減し、安全な等価物で置き換える。decimal等値比較(Equals、==、!=)を新しいDecCalc.Equals高速パスでルーティングし、IFloatingPoint<decimal>.TryWriteSignificand*Endianのunsafeなアンアライン書き込みをBinaryPrimitives.Write*Endianで置き換える。変更はすべてパフォーマンス中立またはパフォーマンス改善。
続きを読む
@haltandcatchwater ・ GitHub ・ area-System.IO community-contribution
Unix上でNamedPipeClientStream.Connect()が存在しないパイプへの接続を試みる際、リトライループ内で大量のSocketExceptionが発生・キャッチされる問題を修正しました。Statシステムコールでパイプファイルの存在確認を事前に行い、ENOENTエラーの場合はSocket割り当て前に即座にfalseを返すことで、例外フローディングとCPU浪費を削減します。
2026年07月18日 (10 PRs) うち Bot 1 件 この日のページ →
@tannergooding ・ GitHub ・ area-CodeGen-coreclr
WebAssembly JITコンパイラのVector2(TYP_SIMD8)とVector3(TYP_SIMD12)に対するSIMDメモリ操作(load/store)のコード生成を実装しました。これらの型はネイティブなwasm valtypeを持たないため、v128として8/12バイトのみを使用しており、従来はNYI(Not Yet Implemented)でベイルアウトしていました。レーン単位のload/store命令シーケンスを発行することで、この制限を回避します。
発行される命令シーケンス:
simd8 load: v128.load64_zero 0
simd8 store: v128.store64_lane 0, lane 0
simd12 load: local.get addr; v128.load64_zero 0; v128.load32_lane 8, lane 2
simd12 store: 一時的なv128に値をコピー、低8バイトをv128.store64_lane、上位4バイトをv128.store32_laneで処理
続きを読む
@Copilot ・ GitHub ・ area-System.Security
CoseKeyを使用した署名検証時、非同期検証が保護されたalgヘッダーの検証を同期検証と異なる方法で実施していた問題を修正。非同期検証で保護されたalgヘッダーの欠落またはミスマッチを同期検証と同じレベルで厳密に検証するようにしました。
@lewing ・ GitHub ・ area-CodeGen-coreclr
WebAssembly バックエンド向けに System.Runtime.Intrinsics.Wasm.WasmBase の LeadingZeroCount/TrailingZeroCount 組み込み関数を JIT で実装します。これまで未実装のため管理コードの低速フォールバック実装を使用していましたが、本変更により RyuJIT-wasm が native wasm の clz(count leading zeros)/ctz(count trailing zeros) 命令へ直接降級できるようになります。
続きを読む
@lewing ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssembly R2R(Ready-to-Run)において、SuppressGCTransitionネイティブ呼び出し前に shadow stack pointer を __stack_pointer グローバル変数に発行する機能を追加します。これにより、emscripten などの __stack_pointer に依存するネイティブコードが正しいスタック位置を観測し、R2R フレーム上のローカル変数破損を防ぎます。
// 修正前: __stack_pointer がstaleのままnative codeが実行される
// → native calleeが呼び出し元のSP(R2Rフレーム上)からシャドウフレームを割り当て
// → spilled pointer が破損 → 後続のメモリアクセスでNullReferenceException
// 修正後: SuppressGCTransition呼び出し直前に shadow SP を発行
local.get <shadowSP>
global.set <__stack_pointer>
// → native calleeが正しく呼び出し元フレーム下にシャドウフレームを割り当て
続きを読む
@vcsjones ・ GitHub ・ area-System.Security test-bug
Windows PFXローダーの競合状態によるテスト不安定性に対処するため、"duplicate attribute" PKCS#12テストデータの読み込みをロック機構で保護するもの。同じ名前付きキーを持つPFXが同時読み込みされると、Windows PFXローダーがキーインスタンスを共有してしまい、一方の証明書の破棄後に他方で"keyset not found"エラーが発生する問題を解決します。
@tannergooding ・ GitHub ・ area-CodeGen-coreclr
Runtime_129288.cs は #129348 で追加されたJIT回帰テストですが、Regression_ro_2.csproj に参照されていなかったため、SDK形式のCLRテストプロジェクト(EnableDefaultItems=false)でビルド・実行されていませんでした。本PRは、このテストをRegression_ro_2.csprojに明示的に追加し、CI環境での実行を確実にします。
続きを読む
@tannergooding ・ GitHub ・ area-CodeGen-coreclr
CoreCLR x86/x64 JITエミッターから未使用の関数16個を削除し、デッドコードをクリーンアップするメンテナンスPR。動作上の変更はありません。削除対象はプリフィックス/エンコーディングヘルパー(emitExtractRex2Prefix、AddRex2WPrefix、insKMaskBaseSizeなど)と命令エミッター(emitIns_AI_R、emitIns_I_AIなど)、その他のユーティリティ関数です。
続きを読む
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
cDAC(Core Data Access Component)がEdit-and-Continue(EnC)シナリオと読み取り・書き込みメタデータの読取に対応するための機能拡張です。メタデータキャッシング方式を追加し、前進実行中はキャッシュを保持して世代番号で更新を追跡し、遡及実行の可能性がある場合はキャッシュをフラッシュします。RWメタデータ構造(MDInternalRW → CLiteWeightStgdbRW → CMiniMdRW)のウォークと、これらをECMA-335準拠のメタデータイメージに再構成する機能が実装されています。
続きを読む
@lilinus ・ GitHub ・ area-System.Numerics.Tensors community-contribution
TensorPrimitives.IndexOfMaxMagnitudeとTensorPrimitives.IndexOfMinMagnitudeにおける符号付き整数型での同値タイ処理の不具合を修正します。#128478で報告されたバグに対応し、テストカバレッジを強化しています。
2026年07月17日 (44 PRs) うち Bot 4 件 この日のページ →
@AaronRobinsonMSFT ・ GitHub ・ area-System.Runtime.InteropServices
FreeThreadedStrategyに追加されたDEBUG専用のアサーションを削除するもの。当該アサーションが過度に厳密であり、現在のスレッドが既に正しいアパートメント型を持つアパートメント関連COMオブジェクトに対してもFreeThreadedStrategyは有効であるため、誤ったアサート失敗を引き起こしていた。併せてStrategyBasedComWrappers.DefaultIUnknownStrategyのドキュメントを明確化し、FreeThreadedStrategyにこれらのユースケースを説明するクラスコメントを追加した。
続きを読む
@tannergooding ・ GitHub ・ area-System.Runtime.Intrinsics
Wasm向けのHardwareIntrinsicsテスト(src/tests/JIT/HardwareIntrinsics/Wasm)をPR段階でコンパイルするための新しいパイプラインを追加します。既存のPR-triggered intrinsicsパイプラインではwasm固有のテストが対象外となっており、コンパイル破損がローリングビルドまで検出されない問題を解決します。
@tannergooding ・ GitHub ・ area-CodeGen-coreclr
#128604で実装された飽和演算(saturating)float/double → 小整数型キャストの仕様変更に対応するため、2つのouterloopテストを更新します。CoreCLRの飽和演算動作に合わせてテスト期待値を修正し、Monoとの動作の差異を適切に処理してCI失敗を防ぎます。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
PR #130850で導入されたビルドエラーを修正するPull Requestです。PackedSimdTests内の1行を修正しています。
@tannergooding ・ GitHub ・ area-System.Numerics
IEEE 754decimal型(Decimal32、Decimal64、Decimal128)に対して、IFloatingPointIeee754<TSelf>インターフェースの次バッチの操作を実装します。Sqrt、Ieee754Remainder、FusedMultiplyAdd、ScaleB/ILogB、BitIncrement/BitDecrement、Quantize/Quantum/SameQuantumを公開APIとして追加し、すべての操作はIEEE 754仕様に準拠した正準BID結果を生成します。
続きを読む
@tannergooding ・ GitHub ・ area-CodeGen-coreclr
WASM バックエンドのプロファイラ leave コールバック処理を修正。従来は NYI_WASM スタブで実装されていましたが、対応する enter コールバックが WASM で削除されているため、JitWasmNyiToR2RUnsupported 診断下で不要なアサーションが発生していました。この PR では、leave コールバックを明示的な no-op に変更し、enter 側との対称性を保ちながら、WASM が ELT フック(Enter-Leave-Tailcall)から完全に解放されるようにしました。
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
Wasm RyuJit において、囲まれた try 領域がサイドエントリ(例:async 再開)を持つ場合に、throw helper ブロックのレイアウト配置を正しく保つためのフロー グラフ後続列挙の修正です。各領域内および囲まれたすべての try 領域内の helper ブロックへのエッジを追加することで、throw helper が各領域内のブロック後に配置されるようにします。
@lewing ・ GitHub ・ area-VM-coreclr
R2R Wasm ObjectWriterにおける128ビットメモリ命令(v128.load/v128.store)のオペコード定数が誤っていた問題を修正しました。修正前はV128Loadがv128.load64_splat、V128Storeがv128.loadに対応する値になっていたため、Vector128<T>値をスピル/リロードするサンク関数が無効なWebAssemblyモジュールまたは破損したベクトル値を生成していました。
修正内容:
// 修正前
V128Load = unchecked((int)0xFD00000A), // 誤り: v128.load64_splat
V128Store = unchecked((int)0xFD000000), // 誤り: v128.load
// 修正後
V128Load = unchecked((int)0xFD000000), // 正: v128.load (0xFD 0x00)
V128Store = unchecked((int)0xFD00000B), // 正: v128.store (0xFD 0x0B)
続きを読む
@lewing ・ GitHub ・ area-crossgen2-coreclr
crossgen2がWASI(WebAssembly System Interface)ターゲットを、インタープリータのみで動作し実行時コード生成がないプラットフォーム(iOS、tvOS、Browser等)と同じ扱いにするよう修正。WASI向けのReadyToRun(R2R)イメージで、実行できない楽観的な命令セットが焼き込まれることを防ぎます。
if (targetOS is TargetOS.iOS or TargetOS.tvOS or TargetOS.iOSSimulator or TargetOS.tvOSSimulator
or TargetOS.MacCatalyst or TargetOS.Browser or TargetOS.Wasi)
続きを読む
@elinor-fung ・ GitHub ・ area-Host
libnethostビルド時にLTCG(/GL)オブジェクトが誤って含まれることを防ぐため、MSVCリンカーの出力を検査するCMakeリンカーランチャーを追加します。ビルド時に "module compiled with /GL found" メッセージが検出された場合、ビルドを失敗させます。
@tannergooding ・ GitHub ・ area-CodeGen-coreclr
#124749で報告されたJITアサーション("Write to unaliased local overlaps outstanding read")のリグレッションテストを追加します。このバグはすでに#128962で修正されており、本PRは修正内容のカバレッジを追加するもので、プロダクトコード変更はありません。
@tannergooding ・ GitHub ・ area-CodeGen-coreclr
WASM SIMD shuffle/swizzle命令のコード生成に関する説明コメントを改善するPR。#130850のマージ後フォローアップとして、コメントの正確性と明確性を向上させました。機能的な変更はありません。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
SuperPMIのasm-diffing検証を改善し、ARM32のBL(Branch and Link)命令における誤検知の削減と、baseline/diff JITが同じモジュールに解決される場合の検出を実装しました。ARM32_THUMB_BRANCH24リロケーションで、記録されたリロケーション情報を参照して比較することで、±16MBを超える距離にあるコールサイトでのプレースホルダ置換による偽陽性差分を防ぎます。
続きを読む
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
x86プラットフォームのコンテキストフラグの処理に関する修正です。cDAC(Compact DAC)のスタックウォーク機能において、x86コンテキストの初期化時のフラグ値が修正されています。
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
cDAC(Compact Data Access Contract)のDebugInfo機能を拡張し、残りの2つの変数ロケーションタイプ(VLT_FPSTK浮動小数点スタック、VLT_FIXED_VA固定可変長引数)をサポートするための対応です。新しいDebugVarLocKind列挙値の追加と、対応するDebugVarInfoフィールドによる表現・ラウンドトリップを実装しました。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
RuntimeHelpers.IsRuntimeAsyncイントリンシックを追加し、インタープリタとJITがこれを呼び出し関数がランタイム非同期かどうかに基づいて定数に折り畳むようにします。これにより、特に.NET 11でランタイム非同期がRoslynでオプトインである場合、async1呼び出し元の回帰を防ぐことができます。
// 使用例
if (RuntimeHelpers.IsRuntimeAsync())
{
// ランタイム非同期コンテキストでのコード
}
続きを読む
@Copilot ・ GitHub ・ area-Extensions-Caching
.NET Framework対応時のビルド失敗を修正するPR。HybridCacheEntryOptionsAccessorTest.csが.NET 8+専用のUnsafeAccessorAttribute/UnsafeAccessorKindを使用しているため、net481をターゲットとする際にコンパイルエラーが発生していた。TrimmingTestsディレクトリをプロジェクトのデフォルトコンパイル対象から除外することで解決。
続きを読む
@tannergooding ・ GitHub ・ area-System.Numerics
IEEE 754 decimal型(Decimal32、Decimal64、Decimal128)に対して、IFloatingPoint<TSelf>、INumber<TSelf>、ISignedNumber<TSelf>、IFloatingPointConstants<TSelf>インターフェイスを実装し、modulus演算子(%)を追加します。このPRは#81376の段階的なビルドアウトの一部で、前回のPR #130807で追加された変換サーフェイスとINumberBase<TSelf>に続くものです。
続きを読む
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
cDAC(Compact Debugger Access Component)のIThread.IdToThread実装におけるオフバイワンエラーを修正。ネイティブランタイムのIdDispenser::IdToThreadは包含的上限(id <= m_highestId)を使用していますが、cDACの実装は排他的比較(id <)を使用しており、最高ID番号のスレッドが解決できませんでした。
@tannergooding ・ GitHub ・ area-CodeGen-coreclr
WebAssembly JITバックエンドのgenCodeForConstantにおける2つの正確性修正です。ハンドル定数がcompReloc設定に関わらず常に適切に再配置されるようにし、i32.constが符号なしを含む任意の32ビットパターンを受け入れるようにします。これにより、SuperPMI replay時のアサーション失敗が大幅に削減されます。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
superpmi-collectパイプラインで、Helixプラットフォーム設定に不足していたhelix_macos_arm64_latest_internal変数を追加するための修正です。これにより、Helixビルドシステムにおける「エントリが存在しない」エラーを解決します。
@tannergooding ・ GitHub ・ area-CodeGen-coreclr
getBaseTypeAndSizeOfSIMDTypeがJIT計算のSIMDサイズとVMのクラスサイズの不一致をアサートしていた問題を修正します。クロスターゲティング時(例:SuperPMI、x64キャプチャコンテキストをwasmで再生)にVector<T>のサイズがターゲット依存になるため、サイズ不一致時はVector<T>を通常のstructとして扱う(SIMD対応なし)ようにします。これにより、後続のサイズクエリとVM間の一貫性を保ちながら、マッチしたVM環境では既存の動作は変わりません。
続きを読む
@hoyosjs ・ GitHub ・ area-Diagnostics-cdac
cDAC(mscordaccore_universal)にDacDbiInterfaceInstanceエントリポイントを追加し、DBI(Debugger Backend Interface)が管理対象のデータコントラクトリーダーによってサポートされたIDacDbiInterfaceを取得できるようにします。これにより、DBI は従来はネイティブDAC経由でのみサービスされていたのに対し、cDAC経由でのサービスが可能になります。
続きを読む
@Copilot ・ GitHub ・ area-Interop-coreclr
TryGenerateStructMarshallingMethod内のデバッグアサーション(_ASSERTE(pStructMT->IsValueType()))を削除し、実行時ガードに置き換えた変更です。StructureMarshaler<T>に値型以外の型(例:StructureMarshaler<object>)が渡された場合、デバッグビルドでプロセスがクラッシュするという問題を修正します。修正後は、JITがfalseを返してC#のデフォルト実装にフォールバックし、アサーション失敗を回避するようになります。
続きを読む
@MichalStrehovsky ・ GitHub ・ area-NativeAOT-coreclr
Native AOT環境でのスタックトレース機能の動作確認を強化するため、System.Diagnostics.StackTrace.TestsをNative AOTスモークテストに追加します。このテストプロジェクトはNative AOT環境特有のコードパスを網羅しています。
@lewing ・ GitHub ・ arch-wasm area-Host os-wasi
CoreCLR-WASI用の軽量な独立型corehostであるwasihostを新規追加します。これは静的アーカイブlibWasiHost.aとして構築され、browserhost/apphostのモデルに従い、CoreCLR-WASIライブラリテストが出荷ホストアーカイブに対してリンク可能になります。従来のcorerunの再リンクが不要になり、corerunはランタイムテスト専用として分離されます。
続きを読む
@Copilot ・ GitHub ・ area-System.Diagnostics.Process
System.Diagnostics.Processのタイミング関連プロパティ(StartTime、ExitTime、プロセッサー時間)がプロセス終了後にどのように動作するかを文書化し、クロスプラットフォーム対応のテストカバレッジを追加するPRです。Windows ではプロセスハンドルを通じてタイミング情報が保持されますが、Unix系ではプロセス回収時に未キャッシュ情報が破棄される動作の違いを明確にしています。
続きを読む
@kotlarmilos ・ GitHub ・ area-Infrastructure-coreclr os-android
Android x64エミュレーター上でのCoreC LR ランタイムテストのInnerloopカバレッジを追加します。新しいジョブはclr+libsをビルドし、Androidランタイムテストをパッケージ化して、Ubuntu 22.04環境でHelix実行します。同時に、CoreCLRの共有フレームワークで既に提供されているネイティブアーカイブの重複を回避するため、ライブビルドパッケージング処理を改善します。
続きを読む
@dotnet-bot ・ GitHub ・ Servicing-approved area-System.Security
.NET 8.0向けのリリース内部コミットのマージです。複数のネットワーク・セキュリティ・XML処理関連ライブラリにおいて、バグ修正、パフォーマンス改善、セキュリティ対策が実施されています。主な対象は System.Net.Http、System.Net.Security、System.Private.Xml、System.Security.Cryptography.Xml です。
@Youssef1313 ・ GitHub ・ area-System.Text.Json
System.Text.Json の JSON Schema エクスポーターが [Obsolete] 属性を持つ .NET 型をエクスポートする際に、JSON Schema の deprecated キーワードを出力するように更新されました。JSON Schema 仕様(draft 2020-12)に準拠した実装です。
@Copilot ・ GitHub ・ area-VM-coreclr
Unix(Linux/macOS)プラットフォームにおけるReadyToRun (R2R) PEマッピング失敗を検出するデバッグアサーションを再度有効化します。以前はmacOSで無効化されていましたが、SDK/公開ビルドの修正が完了したため再度有効化し、同時にR2Rがイメージに対して許可されていない場合の条件も追加します。
@simonrozsival ・ GitHub ・ area-System.Security os-android
AndroidプラットフォームにおけるSystem.Security.CryptographyネイティブPAL全体で、JNI例外チェックを追加し、未処理のJava例外がマネージドコードに漏洩することを防ぐセキュリティ強化PRです。後続のJNI呼び出しで未定義動作やデータ破損が発生するリスクを排除し、JNI例外発生時に区別可能なエラーコード(負の値など)を返すことで、マネージド層での適切な例外処理を実現します。
続きを読む
@svick ・ GitHub ・ area-Extensions-Configuration
FileConfigurationProviderのファイル変更検知時のリロードコールバックを、新しい非同期オーバーロード(Func<Task>)のChangeToken.OnChangeを使用するように更新しました。ブロッキング的なThread.Sleepによる遅延をの代わりに、await Task.Delayを使用することで、リロード前の遅延時間中にスレッドをブロックしないようになります。
_changeTokenRegistration = ChangeToken.OnChange(
() => Source.FileProvider.Watch(Source.Path!),
async () =>
{
await Task.Delay(Source.ReloadDelay).ConfigureAwait(false);
Load(reload: true);
});
続きを読む
@svick ・ GitHub ・ area-Extensions-Primitives
Microsoft.Extensions.Primitives から独立した ThrowHelper パターンを廃止し、BCL の標準的な引数検証ヘルパー(ArgumentNullException.ThrowIfNull、ArgumentOutOfRangeException.ThrowIf*)と直接的な throw ステートメントに置き換えます。ダウンレベルターゲットフレームワーク用には共有の ExceptionPolyfills で対応します。
続きを読む
@Copilot ・ GitHub ・ area-System.Text.Json
JsonSchemaExporterの$refポインタが、RFC 6901のトークン逃げ処理(~0/~1)のみを適用し、URIフラグメント内で違法な文字をパーセントエンコードしていなかった問題を修正。プロパティ名hello%20worldが#/.../hello%20worldではなく#/.../hello%2520worldとして正しくエンコードされるようになり、$ref解決の失敗を回避。
RFC 6901 §6に従い、URIフラグメントとして使用されるJSON Pointerは、RFC 3986のfragment生成規則外の文字をパーセントエンコードする必要がある(既存の~0/~1トークン逃げに加えて)。
// 変更前: "$ref": "#/anyOf/0/properties/hello%20world/additionalProperties" // 無効
// 変更後: "$ref": "#/anyOf/0/properties/hello%2520world/additionalProperties" // 有効
続きを読む
@rzikm ・ GitHub ・ area-System.IO.Compression breaking-change
System.IO.Packaging と System.IO.Compression ライブラリで、ZIP エントリの操作時に細粒度の FileAccess オプションを活用し、メモリ効率を改善する変更です。FileAccess.ReadWrite で開かれたパッケージから圧縮済みパートを読み取る際、未変更のパートは MemoryStream にデコンプレスせず直接ストリーミングするようになります。ただし、この最適化により、そうしたストリームは前方向のみになり(CanSeek = false)、シークが必要な場合は事前に MemoryStream にコピーする必要があります。
続きを読む
@jakobbotsch ・ GitHub ・ area-System.Buffers
ArrayPool.Rent() および ArrayPool.Return() メソッドに NoInlining 属性を追加し、これらのメソッドの不適切なインライン化を防ぐ変更です。.NET 10でこれらのメソッドがインライン化されることにより、ベンチマークコードのサイズが .NET 9の200バイトから1567バイトに増加していた問題を解決します。また、Return() メソッドは finally 句に頻繁に現れ、インライン化がfinally cloning(finally句の複製)を無効にするため、この変更で最適化を回復できます。
続きを読む
@am11 ・ GitHub ・ area-CodeGen-coreclr community-contribution arch-riscv
RISC-V 64ビット向けのJITコンパイラに「Zicond」拡張命令セット対応を追加し、条件付き移動命令の生成を最適化するPRです。If-conversionパスにおいて、Zicond拡張(czero.nez、czero.eqz)を活用してブランチをより効率的な条件付き移動に変換できるようになりました。
提供されたアセンブリ出力では、Zicond有効時に従来のblt+分岐分割の代わりに、czero.nezとczero.eqzを組み合わせた3命令シーケンスでの条件付き値選択が可能になることが示されています。
続きを読む
@Copilot ・ GitHub ・ area-System.Diagnostics.Process
Linux環境でProcess.Kill(entireProcessTree: true)を実行した際に、中間の子プロセスがPR_SET_PDEATHSIG(KillOnParentExit)を設定している場合、孫プロセスが強制終了されない不具合を修正しました。Windows環境ではJob オブジェクトの継承により既に正常に動作していました。修正は二段階アルゴリズム(停止→強制終了)を導入し、プロセスツリー全体を発見してから一括強制終了することで問題を解決します。
続きを読む
@radekdoulik ・ GitHub ・ area-Infrastructure
このPRは、[ActiveIssue]属性でマークされたテストがコンパイル時に排除されて見えない問題を解決するもので、以下の改善を実施します:
ActiveIssueテストを実行時スキップとして報告し、結果に可視化
テストランナーのクラッシュを検出・報告
ランナーをフィルタリングして特定エリアのテスト実行を高速化
ActiveIssueスキップを集約・分析する機能を追加
続きを読む
2026年07月16日 (48 PRs) うち Bot 2 件 この日のページ →
@elinor-fung ・ GitHub ・ area-Host
dotnet-aot SDKのエントリーポイント dotnet_execute のABI契約をWindows上で __stdcall 呼び出し規約に変更する修正です。fxr muxer、mock AOT SDK、およびドキュメントを更新し、Windowsでの正確な関数エクスポートを確保します。
@AaronRobinsonMSFT ・ GitHub ・ area-System.Data.OleDB
OLE DB エラーハンドリング時に、スレッド関連の COM オブジェクト(IErrorInfo/ISQLErrorInfo)がファイナライザースレッドで解放されることで発生していたプロセスクラッシュを修正します。
問題:OleDbError コンストラクタで生成された COM RCW(Runtime Callable Wrapper)が、エラー処理中に例外発生した場合、手動解放がスキップされてファイナライザーで処理されていました。スレッド関連の OLE DB オブジェクトは呼び出し元スレッドでのみ安全に解放可能なため、ファイナライザースレッドでの解放がアクセス違反を引き起こしていました。
修正:try/finally で COM オブジェクトを確実に呼び出し元スレッドで解放します。また、デバッグビルドのみで、FreeThreadedStrategy に COM オブジェクトのスレッド互換性(IAgileObject/フリースレッドマーシャラー)を検証するアサーションを追加し、非互換オブジェクトの早期検出を支援します。
続きを読む
@mrvoorhe ・ GitHub ・ linkable-framework community-contribution area-Tools-ILLink
ILLinkのDocumentationSignatureParserをinternalからpublicに変更し、UnityLinkerなどの外部コンシューマーがドキュメント署名解析機能を再利用できるようにします。
@pavelsavara ・ GitHub ・ arch-wasm area-Build-mono os-browser
WebAssembly (Wasm) ビルドテストで、runtimeOptions.configProperties(AppContext データ)が正しく処理されることを検証するテストを再度有効化しました。これらのテストは #97449 で無効化されていましたが、関連機能が #115113 で実装・完了されたため、[ActiveIssue] 属性を削除して復活させています。
@tannergooding ・ GitHub ・ area-CodeGen-coreclr
WASMプラットフォーム上のVector128/Vector SIMD intrinsicsの実装拡大。既存のクロスプラットフォームgtNewSimd*NodeビルダーとWASMのPackedSimd V128プリミティブを活用して、未実装だった要素アクセス、スカラー演算、シャッフル、クロスレーン演算などの intrinsicsをWASMで利用可能にします。
@BrzVlad ・ GitHub ・ area-CodeGen-Interpreter-coreclr
CoreCLRプロファイラーの回帰テスト (elttransitions) を更新し、ICorProfiler Enter/Leave フックが未実装である clrinterp 構成でのテスト失敗を防ぐ変更です。プラットフォーム機能チェックに基づいてテストをスキップすることで、既存のプロファイラーテストと一貫性を保ちます。
@lewing ・ GitHub ・ arch-wasm area-VM-coreclr
WebAssembly(FEATURE_PORTABLE_ENTRYPOINTS)ターゲットで、ReadyToRun(R2R)モードの実行時にファイナライザー呼び出しがRuntimeError: null function or function signature mismatchでトラップする問題を修正します。GCInterface_GetNextFinalizableObject が未準備メソッドの"cold" Portable Entry Point(_pActualCode == 0)を返していたため、call_indirect が無効なワズムテーブルスロット0をターゲットにしていました。この修正により、ファイナライザーのポータブルエントリーポイントが呼び出し可能なコード(ネイティブR2Rコードまたはインタープリタースタブ)に解決されるようになります。
続きを読む
@pavelsavara ・ GitHub ・ arch-wasm area-Build-mono os-browser
WebAssemblyアプリホストから--forward-consoleフラグとそれに関連するインフラストラクチャを削除します。このフラグはブラウザコンソールメッセージをWebSocket経由でホストに転送し、標準出力に出力する機能でした(主にFirefoxの対応が目的)。現在ではPlaywrightの標準的なブラウザコンソール転送機能により不要になったため、ホスト側の実装を完全に削除します。
@Copilot ・ GitHub ・ area-System.Xml
XmlConvert.ToDateTimeOffsetがローカルタイムゾーン境界での未指定のDateTime値に対してスローされる問題を修正します。ローカルUTCオフセットを適用する際、値がDateTimeOffsetの表現可能範囲外になる場合にのみクランプし、その他のケースでは既存動作を保持します。
TimeSpan offset = TimeZoneInfo.Local.GetUtcOffset(dt);
if (dt == DateTime.MinValue && offset >= TimeSpan.Zero)
{
result = DateTimeOffset.MinValue;
}
else if (dt == DateTime.MaxValue && offset <= TimeSpan.Zero)
{
result = DateTimeOffset.MaxValue;
}
else
{
result = new DateTimeOffset(dt, offset);
}
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラのGenTreeCall::Equalsメソッドを強化し、呼び出しノードの等価性比較時に追加のセマンティック情報(フラグとメタデータ)を含めるようにしました。これにより、ランタイムで異なる動作をする呼び出し(例:null チェック有無)が誤って同一として扱われるリスクを軽減します。
@bartonjs ・ GitHub ・ area-System.Security
X509Certificate2.GetNameInfoのSubject Alternative Name (SAN)エントリがmalformedな場合の動作を正規化します。OpenSSL側ではUPN otherNameの型チェックを強化し、managed decode側ではSAN/IAN デコード失敗時に例外を投げずに空文字列またはSubject/Issuerへのフォールバックを実現します。
@eiriktsarpalis ・ GitHub ・ area-System.Text.Json
System.Text.Json にクローズド型階層からのポリモーフィズム自動推論 機能を追加しました。JsonSerializerOptions.InferClosedTypePolymorphism と JsonSourceGenerationOptionsAttribute.InferClosedTypePolymorphism をオプトイン設定として提供し、コンパイラが生成する System.Runtime.CompilerServices.IsClosedTypeAttribute メタデータを読み込んで、自動的に JsonDerivedType 登録を合成します。リフレクションとソース生成の両方で動作し、アクセシビリティ検証と新しい SYSLIB1240–1242 診断により、サポートされていない推論を報告します。
続きを読む
@tannergooding ・ GitHub ・ area-System.Numerics
IEEE 754 decimal types(Decimal32、Decimal64、Decimal128)に対して、INumberBase<TSelf> インターフェース実装と完全な型変換マトリックスを追加します。変換対象は全ての組み込み数値型、System.Decimal、および他の2つのdecimal型です。また、ISpanFormattable、IUtf8SpanFormattable、IUtf8SpanParsable<TSelf> も実装されます。Intel BID参照ベクトルを用いた検証により、Decimal64 が System.Decimal の範囲外に丸まる境界条件を含む非自明な変換が対象となっています。
続きを読む
@jtschuster ・ GitHub ・ area-ReadyToRun
InvalidFriendAssemblyNameローダー回帰テストの実行構成を調整するPRです。このテストはランタイムJIT段階でのアクセス/可視性チェック例外を期待していますが、Crossgen2(ReadyToRun)ではこのチェックが実装されていません。テストをRequiresProcessIsolationでマークしてマージされたランナーの外で実行し、R2RIncompatibleでマークしてR2R実行時にスキップするようにしました。
続きを読む
@vcsjones ・ GitHub ・ area-System.Security
CngKey.Handleプロパティアクセス時のNCryptセーフハンドル複製処理における競合状態の修正。複数スレッドが同時にDuplicate()を呼び出すと、両者が同じネイティブハンドルに対して異なるホルダーを生成し、所有権状態遷移時のアサーション失敗またはハンドルリークが発生していた問題を、_ownershipState遷移時のロック導入により解決します。
@am11 ・ GitHub ・ arch-arm64 os-freebsd community-contribution area-NativeAOT-coreclr
FreeBSD ARM64ビルド失敗を修正します。llvm-libunwindのRegisters.hppでgetauxval()関数が宣言されていないエラーが発生していました。FreeBSD環境ではgetauxval()がサポートされていないため、条件付きコンパイルでこの機能を無効化し、代替実装を提供しています。
@pavelsavara ・ GitHub ・ arch-wasm area-Build-mono os-browser
Wasm.Build.Tests (WBT) の Helix ジョブ送信をシーケンシャルから並列実行に変更 するPRです。従来は各ジョブの完了を待ってから次のジョブを送信していたため、全体の実行時間がジョブ数の合計期間に制限されていました。/maxcpucount:8 パラメータを extraHelixArguments に追加することで、既に存在する BuildInParallel=true を機能させ、複数の WBT ジョブコンボを並列送信・並列待機できるようになります。
続きを読む
@Copilot ・ GitHub ・ arch-wasm area-Host os-browser
CoreCLR/Browser ローダーから coreVfs リソースバケットのサポートを削除します。runtimeconfig が boot config に埋め込まれるようになったため、coreVfs は不要になりました。この変更は CoreCLR/Browser ローダーのみに限定され、Mono フレーバーと共有 SDK ビルドタスクは影響を受けません。
@akoeplinger ・ GitHub ・ area-Build-mono
Microsoft.NET.Sdk.WebAssembly.Pack.Tasks パッケージのレイアウトを安定化するため、タスク出力をTFMバージョン依存フォルダ(tools/net11.0、tools/net472など)から版非依存フォルダ(tools/net、tools/netframework)に移行します。これにより、.NET Core TFMバージョンの更新時に複数の場所での調整が不要になります。
続きを読む
@jakobbotsch ・ GitHub ・ area-System.Reflection
非同期メソッドのスタックトレースから内部的な継続再開ヘルパーフレームを隠すため、[StackTraceHidden]属性をマークするPRです。これにより、ユーザーが見るスタックトレースには不要な実装詳細が表示されなくなります。
例:
public static async Task Main()
{
Task t = ThrowsSoon();
try
{
await t;
}
catch (Exception ex)
{
Console.WriteLine(ex); // ResumeTaskContinuationが表示されなくなる
}
}
続きを読む
@Copilot ・ GitHub ・ area-System.Net.Http
httpbin.org/deflateエンドポイントへの依存テストが頻繁な5xx応答で失敗するのを防ぐため、テストのエラー許容ロジックを改善しました。従来は502/504/503の特定ステータスコードのみをスキップしていたものを、すべての5xx応答に対応させることで、外部サーバー由来の一時的なエラーに対する耐性を向上させます。
if ((int)response.StatusCode >= 500)
{
// Ignore any 5xx server error, the test depends on an external server that is out of our control.
_output.WriteLine(response.ToString());
return;
}
続きを読む
@BrzVlad ・ GitHub ・ area-ReadyToRun
ReadyToRun(R2R)コンパイラテストスイートのArmThumbBitHotColdRuntimeFunctionsテストをRelease構成で無効化するパッチです。このテストはJitStressProcedureSplitting=1オプションを使用していますが、このオプションはDebug/Checked構成でのみ有効なため、Release構成では失敗していました。
@Copilot ・ GitHub ・ arch-wasm area-System.Runtime.InteropServices os-browser
Browser CoreCLR の初期化段階で blanket-disabled されていた 43 個の[ActiveIssue(#123011)]属性を削除し、実際にブラウザ CoreCLR インタープリタで動作するテストを再度有効化します。再度失敗するテストのみ、根本原因に基づく具体的なゲート条件(IsMultithreadingSupported、IsCoreClrInterpreter、SkipOnPlatform(TestPlatforms.Browser)など)で選別して再度無効化しています。
続きを読む
@rzikm ・ GitHub ・ area-System.Net
System.Net.Mime.EightBitStreamクラスにおいて、CRLFライン終了文字の処理を改善しました。特に、\rと\nが異なるWrite呼び出しで分割された場合でも正しく処理され、SMTP dot-stuffingの動作が保持されるようになります。
@jozkee ・ GitHub ・ area-System.IO
ReadOnlyMemoryStreamとWritableMemoryStreamをMemoryStreamからの継承からStream直接継承に変更し、MemoryStream固有の機能を削除します。また、WritableMemoryStreamにSetLength(long)を実装し、固定容量のバッキングバッファ内でのサイズ変更をサポートします。これにより、user-buffer mode のMemoryStreamとの仕様の統一を実現します。
続きを読む
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
cDAC(コンパイラデバッグアクセスコンポーネント)のLoaderコントラクトにおいて、ローダーヒープブロックの走査APIをカプセル化しました。生のリンクリストポインタを追跡する複数のAPI(GetFirstLoaderHeapBlock/GetLoaderHeapBlockData)を、アドレスとサイズのみを返す単一のEnumerateLoaderHeapBlocksAPIに統合し、走査ロジックと循環検出を内部に隠蔽しました。これによりAPI消費側は走査ポインタを追跡することなくローダーヒープデータにアクセスできます。
続きを読む
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
cDAC(Contract Data Access Converter)のグローバル読み込み時に、要求された読み込み形式(数値/ポインタ/文字列)がグローバルのディスクリプタ型注釈と一致しているかをデバッグ時に検証する仕組みを追加しました。また、フィールド検証とグローバル検証で共有する型互換性チェックロジックを新しいヘルパークラスに統合しました。
@dotnet-bot ・ GitHub ・ Servicing-approved area-System.Security
release/9.0ブランチの内部コミットをマージするリリース統合PRです。ネットワーク通信、XML処理、暗号化署名など複数のライブラリにおけるバグ修正、パフォーマンス改善、セキュリティ強化が含まれています。
@tannergooding ・ GitHub ・ area-System.Numerics
BigIntegerから浮動小数点型(double、float、Half、BFloat16)への変換パフォーマンスを改善するPRです。前回の修正(#130565)で正確性を確保した後の追従最適化で、結果は同一のまま速度のみを向上させます。2M値のオラクル検証により0件の不一致を確認済みです。
@tarekgh ・ GitHub ・ area-Extensions-Options
[ValidateEnumeratedItems]属性を持つプロパティにnull要素が含まれる場合、DataAnnotationValidateOptions<TOptions>がArgumentNullExceptionをスローしていた問題を修正しました。null要素をスキップするようにしながら、インデックスは進めることで、エラーパスの位置情報(例:Parent.Children[2])を正確に保つようにしています。同期と非同期の両方の検証パスに対応しています。
続きを読む
@tannergooding ・ GitHub ・ area-Infrastructure-libraries
GenAPI が参照ソース再生成時に、ランタイム実装専用アセンブリ(System.Private.CoreLib や System.Private.Uri など)を解決できるようにするMSBuildターゲットを追加します。これまで GenAPI はこれらのアセンブリにアクセスできず、列挙型が整数値として出力される、init アクセッサが set に変換される、System.Enum 制約が削除されるなどの問題が発生していました。
続きを読む
@kotlarmilos ・ GitHub ・ area-Infrastructure
Apple mobile CoreCLRにおいて、SingleConnect_ExposeHandle_SecondAttemptThrowsPNSEOnUnixテストをスキップします。このテストは非リッスンソケットへの接続がプラットフォームのTCPタイムアウトを待つため、XHarnessタイムアウトを超過するという問題を回避します。他のプラットフォームとランタイムではテストを継続実行し、PlatformDetection.IsAppleMobileとPlatformDetection.IsCoreCLRでスコープされたActiveIssue属性を使用します。
続きを読む
@kotlarmilos ・ GitHub ・ area-NativeAOT-coreclr
Apple mobile NativeAOT環境でのEventSource登録によるスタック枯渇問題を修正するPRです。System.Net.PrimitivesとSystem.Runtime.Cachingのテストライブラリで、EventSourceサポートを条件付きで無効化しています。Desktop NativeAOTではEventSourceを有効化したままです。
@mrek-msft ・ GitHub ・ NO-SQUASH Servicing-approved area-codeflow
release/9.0-stagingからrelease/9.0へのサービシングマージです。JITテストの調整、COM相互運用テストの修正、iOSデバイステストの無効化、および依存関係・ツールバージョンの更新を含みます。マージコミットの使用が必須です。
@mrek-msft ・ GitHub ・ NO-SQUASH Servicing-approved area-codeflow
release/8.0-stagingブランチからrelease/8.0ブランチへのサービシング統合マージです。バージョン情報の更新とTar形式ライブラリのバグ修正、およびテスト調整が含まれています。マージコミットが必須で、スクワッシュは禁止されています。
@simonrozsival ・ GitHub ・ area-ReadyToRun
composite Ready-to-Run(R2R)イメージのマニフェストメタデータセクションとコンポーネントアセンブリセクションを4バイト境界にアライメントする変更です。ARM32では複数のDWORD フィールドの非アライメント読み込みがSIGBUS (BUS_ADRALN)エラーを引き起こします。この修正により、CoreCLRランタイムのPEDecoder::CheckCorHeaderでのメタデータ解析時の失敗を防ぎます(#129017の後続対応)。
続きを読む
@svick ・ GitHub ・ area-Extensions-Configuration
Configuration Binding ソースジェネレータで、required/init プロパティがコンストラクタパラメータにバインドされる際、パラメータ名とプロパティ名のケースが異なる場合に CS0103 コンパイルエラーが発生していた問題を修正します。
生成されるコードの修正例:
// 修正前(エラー)
return new GreetSettings(name)
{
Name = Name, // CS0103: 'Name' という名前のローカル変数がない
};
// 修正後
return new GreetSettings(name)
{
Name = name, // コンストラクタパラメータ名を使用
};
続きを読む
@Copilot ・ GitHub ・ area-CodeGen-coreclr
インライン化時に、構造体を値で受け取るが使用しないメソッドのGT_BLK引数からNullReferenceExceptionが誤って除去される問題を修正。GT_BLKの逆参照がフォルト可能な場合、死のコード式ではなくGT_NULLCHECKを発行して、null参照チェックセマンティクスを保持します。
Problem(null); // 修正前:例外なく成功、修正後:NRE発生
[MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.AggressiveOptimization)]
static unsafe void Problem(S* pA) { Use(*pA); }
static void Use(S s) { } // インライン化、sは未使用
struct S { }
続きを読む
@svick ・ GitHub ・ linkable-framework area-Extensions-Caching
.NET 11でフレームワークに含まれるようになったMicrosoft.Extensions.Caching.AbstractionsがILLink-trimされる際に、HybridCacheEntryOptions.ToDistributedCacheEntryOptions()メソッドが誤ってトリム対象になっていた問題を修正します。このメソッドはinternalで、外部アセンブリのMicrosoft.Extensions.Caching.Hybridが[UnsafeAccessor]を通じてアクセスしていますが、トリマーがクロスアセンブリ参照を追跡できないため削除されていました。
続きを読む
@lewing ・ GitHub ・ arch-wasm area-Build-mono
CoreCLR の browser-wasm ターゲットで既存の wasm-tools workload を使用できるようにするための変更です。Mono ユーザーがすでにインストールしている同じ workload を通じて、ネイティブ再リンク機能を提供します。CoreCLR ランタイムは SDK の KnownRuntimePack 経由で解決されるため、Mono とは異なり CoreCLR 用の独立した workload 定義は不要です。
続きを読む
@jtschuster ・ GitHub ・ area-ReadyToRun area-Infrastructure
CoreCLR のクロスジェネレーション2(crossgen2)および ReadyToRun(R2R)テストカバレッジを統合し、パイプラインの冗長性を排除する変更です。crossgen2-composite および r2r パイプラインの機能を crossgen2-outerloop パイプラインに統合し、日次スケジュール実行から手動実行のみに変更します。
@svick ・ GitHub ・ area-skills
breaking-change-doc スキルのヘルパースクリプトを改善し、.NET リリースマイルストーンの正確な検出と GitHub Issue 作成リンク生成の信頼性向上を実現します。従来の不安定なタグ距離ヒューリスティックをリリースブランチベースの検出に置き換え、HTTP 414 エラーを回避するハイブリッドプリフィル戦略を導入します。
@jtschuster ・ GitHub ・ area-CodeGen-coreclr
WebAssembly (WASM) NativeAOT向けに、tableBase/imageBase/stackPointerグローバル変数をハードコードされたインデックスから再配置可能(relocatable)な参照に変更します。新しいJIT-EE API getWasmBaseGlobals を追加し、JITが最大LEB size で再配置を発行し、crossgen2 ObjectWriter が実際のグローバルインデックスに修正します。コードサイズは増加しますが、動作に変更はありません。
続きを読む
@hoyosjs ・ GitHub ・ area-GC-coreclr
GcInfoDumperがセーフポイントで有効なスクラッチレジスタを報告する際に発生していたアサーション失敗を修正します。DECODE_NO_VALIDATIONモードでのダンプ時に、スクラッチレジスタ報告のバリデーションルールを緩和し、デバッグビルドのアサーション失敗を防ぎます。
@svick ・ GitHub ・ linkable-framework area-Extensions-Caching
HybridCache.GetOrCreateAsyncに動的なオプション設定をサポートする新しいオーバーロードを追加します。ファクトリコールバックがHybridCacheEntryContextを受け取り、実行時にキャッシュエントリのオプション(有効期限、フラグ、ローカルサイズなど)を調整できるようになります。これにより、エントリごとに異なるキャッシュ戦略を適用することが可能になります。
@Copilot ・ GitHub ・ area-CodeGen-coreclr
.NET 9で導入された浮動小数点型(float/double)から小整数型(sbyte、byte、short、ushort、char)への飽和変換 の契約を、未チェック(unchecked)キャストで正しく実装します。従来はR → int → smallTの展開で、外側のint → smallTがビット切り詰めのみを行い、飽和されていませんでした。例えば(short)(double)32768.000000000007が-32768を返していたのを、32767に正しく飽和させます。
JIT(xarch、x86、arm64、RISC-V64、LoongArch64、ARM32、WASM)、CoreCLRインタープリタVM、NativeAOT型プレイニシャライザの3箇所で一貫性を確保します。
続きを読む
2026年07月15日 (50 PRs) うち Bot 3 件 この日のページ →
@tannergooding ・ GitHub ・ area-CodeGen-coreclr
xarch JIT emitterのデバッグ出力コードから、到達不可能な古いswitch/jump-tableのdisassembly処理を削除するクリーンアップ。emitIns_IJ関数は現代のswitch codegen (genTableBasedSwitch) により呼び出されなくなり、jump-table識別もdsTypeに移行したため、奇数サイズマーカーを用いた判別ロジックは不要になった。codegen/runtime動作への影響はなく、DEBUG出力の簡潔化のみ。
続きを読む
@vcsjones ・ GitHub ・ area-System.Security test-bug
EC/DSA鍵生成キャッシュの並行実行時の競合問題を修正しました。テスト派生クラスが並行実行される際、同じDSAProvider/ECDsaProviderに対して複数の派生テストクラスがDSA/ECDsa インスタンスを共有し、同時にアクセスされる問題を解決しています。このレグレッションは#129320で導入され、以前の同様の問題は#34045で報告、#34199で修正されていました。
@tannergooding ・ GitHub ・ area-System.Numerics
.NET 11向けに、ジェネリック数値型の部分パース(partial parsing)API形状を再設計します。INumberBase<TSelf>にTryParsePartialという新しいstatic virtualメソッドを追加し、既存のTryParse(..., out charsConsumed)オーバーロードをリネームして公開APIとします。同時に、公開APIからNumberStyles.AllowTrailingInvalidCharactersフラグを削除し、内部専用のセンチネル値(0x8000_0000)に置き換えます。
// 新しいTryParsePartial署名(INumberBaseで定義)
static virtual bool TryParsePartial(string s, NumberStyles style, IFormatProvider? provider, out TSelf result, out int charsConsumed);
static virtual bool TryParsePartial(ReadOnlySpan<char> s, NumberStyles style, IFormatProvider? provider, out TSelf result, out int charsConsumed);
続きを読む
@pavelsavara ・ GitHub ・ arch-wasm area-Host os-browser
CoreCLR ブラウザ-WASM リリンク時の Emscripten 最適化レベルを -O2 から -O3 に引き上げます。コンパイル時のデフォルト最適化フラグおよびリリースビルド時のリンク最適化フラグが対象です。
@Copilot ・ GitHub ・ area-Build-mono
WebAssembly ブートコンフィグ生成時に System.Runtime.InteropServices.JavaScript.dll をMonoランタイムのみの必須アセンブリとする変更。CoreCLRではブート時に不要であるため、ランタイムフレーバーに応じた条件付き処理を実装しました。
@Copilot ・ GitHub ・ area-CodeGen-Interpreter-coreclr
CoreCLR interpreter環境でEmittingIgnoresAccessChecksToAttributeIsRespected RefEmitテストを再度有効化するPRです。このテストは以前Issue #125988により無効化されていましたが、根本原因が解決されたため再度有効化します。
@rzikm ・ GitHub ・ area-System.Net.Security
TLSハンドシェイク中の不正形式のTLSフレームヘッダー検出を改善するPRです。従来は不正なフレームヘッダーをLength = -1で返却していましたが、今後はfalseを返却して早期に失敗させるように変更されました。これにより、ハンドシェイク処理中に不正なTLSレコードが検出された場合、AuthenticationExceptionをスローして即座に失敗するようになります。
@MichalStrehovsky ・ GitHub ・ area-NativeAOT-coreclr
GVM(汎用仮想メソッド)ディスパッチ変更 #130753 のフォローアップです。NativeAOT ランタイムのディスパッチ解決ロジックに関連した調整が行われています。
@EgorBo ・ GitHub ・ area-System.Net reduce-unsafe
System.Net.Mail のデコード処理から unsafe ポインタベースのコードを削除し、安全な Span<byte> インデックスベースの実装に置き換えます。既存のバッファ内デコード(decode-in-place)動作は保持されます。
@lewing ・ GitHub ・ arch-wasm area-VM-coreclr
WebAssembly上で、ネストされた[UnmanagedCallersOnly]型の逆P/Invoke Thunkキー生成を修正します。CoreCLRとMonoの両方で、ネストされた型のnamespaceハンドリングが不一致だったため、native-to-interpテーブルのキー検索に失敗していました。修正により、ジェネレータはメタデータのnamespaceを使用するようにし、ネストされた型に対して空のnamespaceを生成します。
Namespace = t.IsNested ? string.Empty : t.Namespace;
続きを読む
@jkotas ・ GitHub ・ area-System.Reflection
CoreCLRのDelegate実装をリファクタリングし、マルチキャストの結合/削除やデリゲートコンストラクタロジックをMulticastDelegate.CoreCLR.csからDelegate.CoreCLR.csに移動しました。NativeAOTの実装構造に合わせることで、Unsafe.Asキャストを削除し、マネージドC++で生成されたコード内の隠れたnewメンバー宣言による互換性問題(#130612)を修正します。
続きを読む
@vcsjones ・ GitHub ・ area-System.Security test-enhancement
ML-KEM の IsSupported プロパティをテストするテストクラスの構成を修正しました。従来は [ConditionalClass] により IsSupported が true の場合のみテストが実行されていたため、false の場合の検証がなされていませんでした。同時に、Azure Linux の SymCrypt-OpenSSL 1.10 対応に伴う プラットフォーム比較テストの柔軟化を実施しています。
続きを読む
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
cDAC(Compact Diagnostic Access Component)の SOS フィールド記述子投影ロジックを改善し、GetTypeParam 呼び出し前に既存の HasTypeParam 述語を使用することで、例外ベースの制御フローを排除しました。ArgumentException を通常の制御フローとして使用しない変更です。
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
cDAC(Contracts DAC)のGCハンドル契約から未使用のIsPeggedフィールドを削除する変更です。コンシューマー向けのHandleDataからはIsPeggedを除去し、レガシーSOS互換性のためSOSHandleData.IsPeggedは保持しつつ常に0を出力します。
@EgorBo ・ GitHub ・ area-System.Runtime.Intrinsics reduce-unsafe
コードベース全体で Unsafe.SizeOf<T>() を C# の sizeof(T) 演算子に置き換え、不要な unsafe コンテキストを削除するメカニカルな整理。最近のコンパイラ改善により、sizeof(T) は管理型でも使用でき、unsafe キーワードなしで使用可能になったため、より単純で汎用的なアプローチが実現。Unsafe.SizeOf<T>() API のテストカバレッジは維持。
続きを読む
@eiriktsarpalis ・ GitHub ・ area-System.Security linkable-framework
System.Security.Cryptography.Xmlに対して、攻撃者が制御するXMLワークロードに対する堅牢性とセキュリティを強化するための複数の対策を適用します。具体的には、TransformChain内のTransform数、XmlDecryptionTransformによる暗号化要素処理数に上限を設定し、Transform実行中の中間状態をメモリから削除して保持期間を短縮します。
@tannergooding ・ GitHub ・ area-System.Numerics
TensorPrimitives.Clampの動作を統一し、min > maxの場合に例外をスローしないようにしました。スカラー処理パスをベクトル処理パス(Vector128/256/512.Clamp)と同じ意味論に合わせ、両方ともMin(Max(x, min), max)を計算するように変更しました。これにより、要素位置に関わらず一貫した動作が保証されます。
@akoeplinger ・ GitHub ・ area-Infrastructure-libraries linkable-framework
プロジェクトファイルから不要な DisablePackageBaselineValidation プロパティを削除するクリーンアップ。System.Linq.AsyncEnumerable は既に安定版をリリース済み、Microsoft.NET.Runtime.WebAssembly.Templates は検証不可、Mono.Linker は出荷されないため、eng/packaging.targets で既に設定されている該当プロパティを削除します。
続きを読む
@Copilot ・ GitHub ・ area-System.IO
同期的なFileStream.Write操作において、Unix/Windows両プラットフォームで部分的な書き込み成功時に_filePositionが更新されない問題を修正します。Unix環境でRandomAccess.WriteAtOffsetがループ内の複数の書き込みシステムコールを実行する際、途中で例外(EIOSPACなど)が発生した場合でも、既に書き込まれたバイト数を反映するようになります。非同期パスではこの修正が既に実装されていました。
続きを読む
@Copilot ・ GitHub ・ area-System.IO
macOS環境での既知の不安定なテスト Directory_Move_Multiple_From_Watched_To_Unwatched_Mac に [ActiveIssue] 属性を追加し、FileSystemWatcher のイベント配信における基盤的な順序付けの問題が解決されるまでスキップするようにしました。
@kotlarmilos ・ GitHub ・ os-android area-Infrastructure
Android NativeAOT single-file テストで、TEST_RESULTS_DIR 環境変数が設定されている場合、SingleFileTestRunner が自動的に testResults.xml を出力するように改善しました。明示的に -xml パスが指定された場合はそれを優先します。これにより、logcat が失われた場合でも構造化されたテスト結果ファイルを XHarness に報告できるようになります。
続きを読む
@matouskozak ・ GitHub ・ area-Infrastructure-mono os-ios os-tvos os-maccatalyst
Apple プラットフォーム向けの CoreCLR と Mono アプリビルドで、不要になった ICU データバンドリング機能を削除しました。Apple モバイル環境では、アプリケーション独自の ICU データファイル(icudt*.dat)をバンドルせず、代わりに Apple ネイティブ API とシステムの icucore を使用する設計に統一されます。
@kotlarmilos ・ GitHub ・ area-Infrastructure
MacCatalyst CoreCLR のAzure Pipelines ジョブタイムアウトを増加させ、Helix テスト実行中のジョブ強制終了を防ぎます。ビルド + ライブラリテストジョブを240分から360分に、ランタイムテストジョブを360分から480分に拡張しています。
@kotlarmilos ・ GitHub ・ area-Infrastructure
dotnet/runtimeのオンデマンドCI評価ワークフロー(ci-workflow-eval)の信頼性を向上させるための修正です。以下の改善を実施:
Copilot PAT(Personal Access Token)の有効性を事前検証
ワークフローレベルから評価ジョブレベルへの並行実行制御の変更
PR headへのci-workflow-evalコミットステータス(pending/success/failure/error)の投稿
GITHUB_TOKEN(pull-requests: write権限)をリアクションとレポートコメントに使用
検証済みの実行結果:https://github.com/dotnet/runtime/actions/runs/29326781714
続きを読む
@Copilot ・ GitHub ・ area-NativeAOT-coreclr
CI外側ループフィクサーワークフローを更新し、テストアセンブリが既にハーネスによってルーティングされている場合、NativeAOT/runtime-missing失敗に対して無効なルーティング変更を提案しないようにガードします。既存のルートを検査してからDynamicDependency、descriptor、TrimmerRootAssembly、またはアプリバンドル変更を提案することを要求します。
続きを読む
@MichalStrehovsky ・ GitHub ・ area-System.Threading
NativeRuntimeEventSourceのトリミングを許可するため、定数伝播がローカル変数の割り当て/再割り当てを通じて値を追跡できない制限に対応しました。System.Threading.Lock.csの既存パターンに合わせて、WaitHandle.csのコード構造を改善しています。
@adamperlin ・ GitHub ・ arch-wasm area-CodeGen-coreclr
CoreCLR JIT テストツリーに WebAssembly 向けの PackedSimd ハードウェアイントリンシック機能テストを追加します。既存の System.Runtime.Intrinsics ライブラリテストスイートから PackedSimdTests.cs をポートし、JIT/HardwareIntrinsics テスト領域に統合します。Wasm ターゲット専用のビルドゲーティングを実装し、適切なプラットフォーム上でのみ実行されるようにしています。
続きを読む
@StephenMolloy ・ GitHub ・ area-Serialization
DataContractJsonSerializerのJSON BOM(Byte Order Mark)処理を改善するPRです。新しいDetectEncodingメソッドを導入して、BOM検出ロジックを集約し、バッファおよびストリーム処理パスで重複していたコードを統一します。また、BOMs付きのJSONペイロードのデシリアライゼーションが正しく動作することを確認する包括的なテストを追加しています。
@Copilot ・ GitHub ・ area-Interop-coreclr
UnmanagedCallersOnly属性を使用したアンマネージ呼び出し規約のテストカバレッジを拡張します。Stdcall、Cdecl、および Windows でのみ Fastcall 呼び出し規約に対応し、複数パラメータを持つマネージメソッドの呼び出しを検証します。すべての新規テストは ConditionalFact で Windows のみに限定されています。
@pavelsavara ・ GitHub ・ arch-wasm area-Host os-browser
Emscripten 6.0.2への対応を目的とした追従更新。WASM環境で非対応のO_NOCTTYフラグをスキップし、emscripten_stack_get_currentをJS-libraryの明示的な依存関係として追加。またisSharedArrayBufferをarrayBufferNeedsCopyに名称変更し、リサイズ可能なバッファにも対応しています。
@pavelsavara ・ GitHub ・ arch-wasm area-System.Runtime.InteropServices.JavaScript os-browser
ブラウザランタイム(Wasm/Emscripten環境)において、予期しないJavaScript側のエラーを致命的なものとして扱い、実行時状態が不正な状態にある可能性があるときに迅速に中止するように変更しました。これにより、エラーハンドリングがより堅牢になります。
@Copilot ・ GitHub ・ arch-wasm area-System.Threading linkable-framework size-reduction
単一スレッド環境(browser/WASI)向けのMonoアプリにおいて、System.STAThreadAttributeが不要に保持されていた問題を解決します。本PRは、ILLinkディスクリプタにおいてSystem.STAThreadAttributeをRuntimeFeature.IsMultithreadingSupportedがtrueの場合のみ保持するよう条件化し、同時にMono起動時のネイティブコードで属性の欠失を許容するように対応しています。
続きを読む
@Copilot ・ GitHub ・ area-AssemblyLoader
Loader/CollectibleAssemblies/ResolvedFromDifferentContext テストがGCストレス環境下で間欠的に失敗する問題を修正します。このテストは固定回数のGC反復回数をポーリングして、collectibleな AssemblyLoadContext のアンロード完了を確認していますが、GCストレスはタイミングを変動させるため、ポーリング期間内にコレクションが完了しず、誤った失敗(終了コード103)が発生します。テストプロジェクトファイルに GCStressIncompatible 属性を追加して、全GCストレスモードで実行を除外します。
続きを読む
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラが挿入する AsyncHelpers.TransparentAwait メソッドのインライン化を可能にするPRです。完了済みタスクに対するawait操作のコスト削減を目的としています。
提供されたサンプルコードの実行結果から、この最適化により約6倍のパフォーマンス向上(191ms → 32ms)が実現されています。
続きを読む
@bartonjs ・ GitHub ・ area-System.Security breaking-change
LinuxのOpenSSLベースのX.509チェーン構築パスを改善し、以下の2つを実現します:
AIA(Authority Information Access)フェッチをチェーン構築あたり最大2回に制限(Windowsと同等の動作)
MRUキャッシュを導入して、複数スレッド間のHTTP資産(証明書/CRL)ダウンロードを共有化し、重複ダウンロードを排除
続きを読む
@sethjackson ・ GitHub ・ area-Host community-contribution os-openbsd
OpenBSD環境における.NETのデフォルトインストールディレクトリを/usr/local/share/dotnetに設定するための変更です。OpenBSDではFreeBSDのようなCTL_USER sysctlが存在しないため、パスをハードコードしています。
@StephenMolloy ・ GitHub ・ area-Serialization
XmlSerializer における回帰バグを修正します。派生クラスで基底クラスの [XmlText] または [XmlNamespaceDeclarations] 属性を持つ仮想プロパティをオーバーライドした場合、InitializeStructMembers が重複したテキスト/xmlns アクセッサを追跡し、HasSimpleContent == true の基底マッピングで XmlIllegalSimpleContentExtension 例外を発生させていました。
基底で宣言されたメンバーのオーバーライドに対して、テキストと xmlns アクセッサの追跡を抑制することで、コンテンツモデルレベルの重複登録を防ぎます。
続きを読む
@alinpahontu2912 ・ GitHub ・ Servicing-approved area-System.Formats.Tar
.NET 9向けのバックポート修正。TarEntry.FilePathEscapesDirectoryのシムリンク解決ロジックの不具合を修正し、symlink経由のディレクトリエスケープ検出時にArgumentOutOfRangeExceptionがスローされていた問題を解決します。macOSの/var、/tmpなどのシムリンク先への抽出が機能していませんでした。
@alinpahontu2912 ・ GitHub ・ Servicing-approved area-System.Formats.Tar
Tar形式のシンボリックリンク解決に関する回帰バグを修正します。TarFile.ExtractToDirectoryにおいて、シンボリックリンク経由のディレクトリトラバーサル検証時に、論理パス長とシンボリックリンク解決パス長の不一致によりArgumentOutOfRangeExceptionが発生していた問題を修正しました。macOS(/var、/tmp)およびWindowsでのシンボリックリンクされた宛先への抽出が修正されます。
続きを読む
@alinpahontu2912 ・ GitHub ・ area-System.IO.Compression
System.IO.Compression.ZipFileのUnix抽出動作を修正し、ZIPエントリの"version made by"フィールドがUnixプラットフォーム(3)を示す場合のみ、ExternalAttributesからUnixパーミッションビットを適用するようにしました。これにより、Windows製のエントリのWindows属性がUnixファイルモードとして誤釈される問題を防ぎます。
続きを読む
@kotlarmilos ・ GitHub ・ area-Meta
GitHub Agentic Workflows (gh-aw) を使用した新しいスケジュール済みワークフローを追加します。このワークフローは src/ ディレクトリ内で閉じられたIssueへの参照を検出し、GraphQLでIssue状態を確認して、依然として参照されている閉じられたIssueについてアドバイザリーコメントを投稿します。
@iremyux ・ GitHub ・ area-System.Net.Http
HTTP リクエストボディの圧縮を標準サポートするため、3つの新しい公開 HttpContent ラッパー型を導入します。GZipCompressedContent、BrotliCompressedContent、ZstandardCompressedContent は、内部のコンテンツをラップし、適切な Content-Encoding ヘッダーを設定して、シリアライズ時にボディを圧縮します。共通の圧縮ロジックは内部ヘルパー CompressedContentCore に集約されています。
各型は2つのコンストラクタを提供します:
(HttpContent content, CompressionLevel compressionLevel = CompressionLevel.Optimal):高レベルの圧縮率制御
(HttpContent content, <Algorithm>CompressionOptions compressionOptions):細粒度の設定
続きを読む
@PranavSenthilnathan ・ GitHub ・ area-System.Security
Windows環境のCNG (CryptoAPI: Next Generation) を使用したComposite ML-DSAの暗号化実装を追加します。このPRではCNG経由でComposite ML-DSAの鍵生成、署名、検証などの操作を可能にします。ただし、PKCS8エクスポート機能はWindowsではまだサポートされていないため、暗号化されたエクスポート専用鍵は現在エクスポートできません。
@a74nh ・ GitHub ・ area-System.Runtime.Intrinsics linkable-framework community-contribution
ARM64アーキテクチャ向けのSM4(FEAT_SM4)およびSVE SM4(FEAT_SVE_SM4)ハードウェア暗号化イントリンシックAPIを新たに追加します。JITコンパイラのハードウェアイントリンシックテーブル・コード生成に統合し、対応するテストカバレッジを実装しています。これにより、ARM64プロセッサのネイティブSM4命令を利用した暗号化処理が可能になります。
@tommcdon ・ GitHub ・ area-Diagnostics-coreclr
Unix x64でマルチレジスタFP/混合構造体戻り値に対するマネージ戻り値(MRV)デバッグ情報エンコーディングを追加します。2つのレジスタにまたがる値クラスの戻り値(少なくとも1つがFPレジスタの場合)を表現できるようにしました。また、x86 x87 FPスタック戻り値/ローカル変数のCordbJITILFrame::GetNativeVariable実装も追加しています。
@PranavSenthilnathan ・ GitHub ・ area-System.Security
DSA/ECDAと同じアプローチを用いてRSAテストをCNG、CSP、OpenSSLの各テストプロジェクトからSystem.Security.Cryptography.Testsに統合します。RSAプロバイダーの抽象化とインスタンスベースのテスト実装により、テストコードの重複を削減し、複数のプロバイダー実装を統一的にテストします。
@MichalStrehovsky ・ GitHub ・ area-NativeAOT-coreclr
NativeAOT環境でジェネリック仮想メソッド(GVM)のディスパッチをディスパッチセルベースに統一し、インターフェースメソッドディスパッチと同じ仕組みを使用するように改善しました。これにより、GVMの呼び出しコストが削減され、リフレクションの暗黙的なターゲット検出の問題が解決され、非同期メソッド変種の扱いが簡潔になります。
2026年07月14日 (42 PRs) この日のページ →
@tannergooding ・ GitHub ・ area-System.Numerics
float → Half 変換テストにおいて、WebAssemblyエンジンによるNaNペイロードの正規化に対応しました。従来はWASM上でNaNケースをスキップしていましたが、本変更により正規化されたNaN結果(sign | 0x7E00)を受け入れる一方、他のプラットフォームではビット厳密なチェックを維持します。これにより、WASM上でもNaNケース(符号ビットを含む)の検証が実施されるようになります。
続きを読む
@elinor-fung ・ GitHub ・ area-Host
libnethostは外部向けに静的ライブラリとして配布されています。PR #128420によりminipal_objectsが含まれるようになりましたが、LTCG(Link Time Code Generation)でコンパイルされたオブジェクトファイルはlld-linkなどのMSVC以外のリンカーで"is not a native COFF file"エラーが発生して拒否されます。本PRではホスト側のminipal_objectsの対間手続き最適化を無効化し、既存のlibnethostのLTCG無効化と同じ方針に統一します。
続きを読む
@artl93 ・ GitHub ・ area-System.Text.Json
JsonTypeInfo.UpdateUtf8PropertyCacheでPropertyRefCacheBuilder.ToArray()が2回呼び出されていた問題を修正。1回目の呼び出しでPropertyRef[]を取得し長さをアサートした後、2回目で同じ配列を生成していたため、1回目の結果を再利用することで重複割り当てを削除。
PropertyRef[] newCache = cacheBuilder.ToArray();
Debug.Assert(newCache.Length <= PropertyRefCacheBuilder.MaxCapacity);
_utf8PropertyCache = newCache; // 変更前: cacheBuilder.ToArray()の再実行
続きを読む
@MichalStrehovsky ・ GitHub ・ area-VM-coreclr
CoreCLRテストプロジェクト FullPdbThrower にプロセス分離要件を追加し、テスト実行時に独立したプロセスで実行されるようにしました。これにより、マージされた共有テスト実行への参加を避け、outerloopsの問題を解決します。
@AndyAyersMS ・ GitHub ・ area-Infrastructure-coreclr
WebAssembly向けのReadyToRun (R2R) ABI仕様ドキュメントを最新の実装に合わせて更新しました。ポータブルエントリポイント、R2R/インタープリタ遷移、スタックフレームレイアウト、関数レット、localloc unwinding、スタックウォーキングなどの詳細を追加・更新しています。
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
Guid、Int128、UInt128型をbitwise equatableとして扱い、SequenceEqualがメモリ比較の最適化(memcmp unrolling)を利用できるようにしました。これにより、Guid.Equalsをメモリセーフなコードで実装できるようになります。
void Foo(Guid g1, Guid g2)
{
if (((Span<Guid>)[g1]).SequenceEqual((Span<Guid>)[g2]))
{
Console.WriteLine("Equal");
}
}
上記のコード例では、関数呼び出しからSIMD命令(vmovups、vpcmpnequq)を使った直接メモリ比較に最適化されます。
続きを読む
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
cDAC(Compact Debugging Access Component)のSOSDacImpl.GetFieldDescDataのリファクタリングです。FieldDescレイアウトへの依存性を減らすため、2つの改善を実施:
GetFieldDescNextメソッドをIRuntimeTypeSystem契約に追加し、次のFieldDescポインタ計算をカプセル化
フィールド型のMethodTable取得時に既存のGetFieldDescApproxTypeHandleを活用し、ISignature依存性を削除
続きを読む
@steveisok ・ GitHub ・ area-Diagnostics-coreclr
P/Invoke メソッドが不正なプロファイラ Enter/Leave/Tailcall (ELT) コールバックを発火していた問題を修正しました。#126509 で forward P/Invoke が transient IL から mcPInvoke MethodDesc にコンパイル方式が変わったため、ELT フィルタリング条件を更新し、P/Invoke メソッドを ELT ゲートから除外します。P/Invoke は Managed-to-Unmanaged/Unmanaged-to-Managed トランジション コールバック経由でプロファイラに公開されるべきです。
続きを読む
@rzikm ・ GitHub ・ area-System.Net
CredentialCache.GetCredentialのURIパス部分のプレフィックスマッチング方式を、大文字小文字を区別しない比較(OrdinalIgnoreCase)から大文字小文字を区別する比較(Ordinal)に変更します。サーバー側でURIパスが大文字小文字を区別する場合、異なるケースのパスで登録された認証情報が誤って返されるセキュリティ上の問題を修正します。スキーム、ホスト、ポートの比較は変更されません(ホストはUri正規化により引き続き大文字小文字を区別しません)。
続きを読む
@tannergooding ・ GitHub ・ area-System.Numerics
Decimal32/Decimal64/Decimal128型に、INumberBase、INumber、ISignedNumber、IFloatingPointConstantsインターフェースで定義される静的メンバーの具体実装を追加します。インターフェース自体の実装は後続のPRに委譲し、ここでは静的なAPI表面(定数やヘルパーメソッド)を先行実装することで、型の即時利用を可能にします。
@Copilot ・ GitHub ・ area-System.Text.Json
PR #130503 で導入された RuntimeFeature.IsDynamicCodeCompiled の使用と ReflectionMemberAccessor へのルーティングに関連する2つの回帰を修正。.NET Framework でのコンパイル破損と、プライベートコンストラクタに対する不正な Debug.Assert による実行時クラッシュを解決。
// サポートされるべきプライベート [JsonConstructor] は以前のassertで拒否されていた
class PrivateParameterizedCtor_WithAttribute
{
public int X { get; }
[JsonConstructor]
private PrivateParameterizedCtor_WithAttribute(int x) => X = x;
}
続きを読む
@pavelsavara ・ GitHub ・ area-Build-mono
WASM用のネイティブリビルドテストReferenceNewAssemblyRebuildTestの2つの独立した問題を修正します。
問題1 : AOT環境でdriver-gen.cが再生成されない(原因:テスト対象コードが既に依存していたアセンブリを参照していたため、AOT対象アセンブリの集合が変わらず、driver-gen.cの内容が同一だった)
問題2 : リリンクケースで公開済みの古いdotnet.native.wasmと新しくビルドされたもののサイズが一致しない(原因:同じ論理ファイルの複数の指紋付きバリアントが並存し、アルファベット順で古いファイルが選ばれていた)
続きを読む
@dotnet-renovate-bot ・ GitHub ・ area-Infrastructure community-contribution
dotnet-buildtools/prerejsコンテナイメージのダイジェスト値を更新する自動依存関係更新PRです。複数のビルドパイプライン設定ファイルにおいて、使用するコンテナイメージの参照を最新バージョンに更新します。
@MichalStrehovsky ・ GitHub ・ area-NativeAOT-coreclr
NativeAOT CMakeビルドをs390x、ppc64le、Unix x86アーキテクチャに拡張するPRです。プレースホルダーアセンブリソースファイルを追加し、CMakeLists.txtの制限を緩和してWASM以外のすべてのアーキテクチャでNativeAOT機能を有効にします。
@tannergooding ・ GitHub ・ area-CodeGen-coreclr
Tier0/minopts コンパイラで Enum.HasFlag のボックス化を削除(box elision)できるようにするため、JIT importer のボックス化一時変数管理ロジックを修正しました。Enum 型のボックス化では単一定義で正確な型情報を持つ一時変数を割り当てることで、既存の最適化が Tier0 でも動作するようにしました。
@steveisok ・ GitHub ・ area-Diagnostics-coreclr
CORECLR_NOTIFICATION_PROFILERS環境変数のパーサーがバグを修正しました。末尾にセミコロン(;)がないプロファイラーリスト(最後のエントリーまたは唯一のエントリー)が処理されない問題を解決します。.NET 8のwcstok_sベースのパーサーからの回帰を修正しました。
@steveisok ・ GitHub ・ area-System.Diagnostics.Tracing
DiagnosticListenerのサブスクリプション処理における2つの正確性バグを修正します。
3引数の述語関数を受け取るSubscribeオーバーロードが、1引数のIsEnabled(string)呼び出しを不正に3引数の仮想メソッドにルーティングし、サブクラスのオーバーライドを誤って呼び出していた問題を解決
サブスクリプション削除時にリンクリストの再構築でOnActivityImport/OnActivityExportフィールドがコピーされず、アクティビティフックが失われていた問題を解決
続きを読む
@EgorBo ・ GitHub ・ area-Meta
複数のライブラリにおける下位レベル(downlevel)フレームワークの API ポリフィルを src/libraries/Common/src/Polyfills に統合し、複雑な条件付きコンパイル分岐 (#if NET...) を削除することで、コード重複を減らし保守性を向上させる変更です。呼び出し元は、ターゲット フレームワークに関わらず統一された API を使用できるようになります。
@steveisok ・ GitHub ・ area-VM-coreclr
ARM64でのHFA/HVA(Homogeneous Floating-point/Vector Aggregate)構造体の値渡し引数マーシャリングを修正します。MethodDescCallSite::CallTargetWorkerで、HFA/HVA構造体のフィールドを個別のFP/SIMD レジスタスロットに展開するように変更し、ARM64 ABIの「各フィールドを独立したFP/SIMDレジスタに配置」という規約に準拠させます。従来は構造体バイト列を連続コピーしていたため、デバッガのfunc-eval実行時にベクトル演算が破損していました。
続きを読む
@tannergooding ・ GitHub ・ area-System.Numerics breaking-change needs-breaking-change-doc-created
Math.Round(double, digits, mode)とMathF.Round(float, digits, mode)のラウンディング精度を修正しました。従来のRound(value * 10^digits) / 10^digitsアプローチは、スケーリング時の浮動小数点誤差により、ランダム入力の約5%で誤った結果を生成していました。本修正により、入力値の正確なIEEE-754値に基づいた計算に変更し、ToString("F{digits}")と同じ結果を得られるようになりました。
Math.Round(655.925, 2, MidpointRounding.AwayFromZero); // 従来: 655.93 → 修正後: 655.92
Math.Round(1111111111111111.5, 1, MidpointRounding.AwayFromZero); // 従来: ...1.6 → 修正後: ...1.5
続きを読む
@Copilot ・ GitHub ・ area-System.Formats.Cbor
iOS/tvOS プラットフォームで無視されていた CborDocument_Roundtrip プロパティテストを再有効化するテスト変更です。BigInteger の内部実装の書き直しとその後のバグ修正後、iOS/tvOS での BigInteger.CompareTo クラッシュが依然として発生するかを検証するため、プラットフォーム固有の [ActiveIssue] 属性を削除します。
@Copilot ・ GitHub ・ area-Interop-coreclr
型互換なデリゲートに対して Delegate.GetHashCode() が同一のハッシュコードを返すように修正しました。Delegate.Equals() が true を返すような型互換デリゲート(同一メソッドを指す)に対して、GetHashCodeコントラクトを満たすため、同じハッシュコードを返すべきという問題に対応しています。
@steveisok ・ GitHub ・ area-Diagnostics-coreclr
DAC(Data Access Component)のAMD64スタックアンワインダーが、特殊なターゲットアドレス(0および(TADDR)-1)からのメモリ読み取り時にnullポインタ逆参照で クラッシュする問題を修正しました。MemoryRead64とMemoryRead128にDAC専用の検証を追加し、throwEx==trueの読み取り契約を遵守するようにしました。
@eiriktsarpalis ・ GitHub ・ arch-wasm area-System.Text.Json
Utf8JsonReader.SkipWhiteSpaceのベクトル化されたホワイトスペーススキップ処理をブラウザ/WASM環境で無効化し、元のスカラーループに回帰させるパッチです。PR #129701で導入されたベクトル化実装はネイティブではニュートラルからより高速ですが、WASM AoT環境ではSIMD入力コストが高いため、JSON処理で一般的な短いトークン間のホワイトスペース(~4バイト)に対して約2.6倍遅くなるため、環境別の最適実装に切り替えます。
続きを読む
@am11 ・ GitHub ・ area-PAL-coreclr community-contribution os-openbsd
OpenBSD環境でsysctlが相対パス(dotnet)を返す場合のハンドリングを追加しました。相対パスが返された際は、PATH環境変数を参照して実行可能ファイルを検索し、絶対パスに解決する実装になっています。OpenBSDは他のOS(FreeBSD/Solaris等)のような標準的なAPI提供がないため、ベストエフォート的なアプローチで対応しています。
@vitek-karas ・ GitHub ・ Servicing-approved area-Infrastructure-mono
iOS物理デバイスで実行されるCI テストを、サービング ブランチ(release/10.0)上で無効化します。これらのテストはCI シグナルを提供しなくなり、サービング ブランチではmacOS 更新に対応する予定がないため、メンテナンス負担を軽減します。
@a74nh ・ GitHub ・ area-CodeGen-coreclr community-contribution
ARM64コードジェネレーションで大きなスタックオフセットを処理する際、ベースレジスタがSP(スタックポインタ)である場合にアサーション失敗を防ぐための修正です。emitIns_R_R_R関数の制約(reg3は汎用レジスタであること)を満たすために、大きなオフセット計算でのadd命令のオペランド順序を調整し、SPをベースオペランド位置(reg2)に配置するようにしました。
@tannergooding ・ GitHub ・ area-CodeGen-coreclr
JIT低レベル化段階で、CreateScalarUnsafe、ToVector*Unsafe、GetLower*などの「透過的な」スカラー/ベクトル変換HWIntrinsicノードをHIR専用として削除し、消費側が基盤となる値を直接使用するように変更します。これにより、脆弱な2段階containment設計を排除し、LSRA/codegenの特殊ケース処理を簡潔化しながら、既存のcontainmentチェックで操作数サイズ保証を維持します。
続きを読む
@Copilot ・ GitHub ・ area-Infrastructure-coreclr
runtime-coreclr gc-simulator パイプラインの夜間スケジュール実行を一時停止します。根本原因の調査中のため、パイプライン定義自体は保持され、削除されません。手動実行は引き続き可能で、スケジュール再開はコメント解除で簡単に復旧できます。
@lateralusX ・ GitHub ・ area-Diagnostics-coreclr area-Diagnostics-mono
async-profiler V1(StateMachineAsync)のMethodID識別方式を、メソッドハンドルポインタからネイティブコード開始アドレスに変更します。これにより、V2(RuntimeAsync)や通常のスタックフレームと同じ方法でシンボル化が可能になり、EventPipeランダウンイベントへの依存を排除し、クロスプロセス・オフラインでのシンボル化が堅牢化します。
@Copilot ・ GitHub ・ area-Infrastructure
Windows 22000より前のバージョンでDnsQueryExが同期的に完了する名前解決のワークアラウンドを拡張します。従来はlocalhostのみに限定されていましたが、IPリテラル、マシンホスト名、loopback、localhost、..DnsServers、..localmachineなど、OS チームが特定した全ての同期完了名に対応します。
if (IPAddress.IsValid(name))
{
return true;
}
続きを読む
@MichalStrehovsky ・ GitHub ・ area-NativeAOT-coreclr
CoreCLR AOTコンパイラにおける仮想メソッド解析のパフォーマンス最適化です。仮想スロットの列挙と実装への解析が複数回繰り返されていたため、キャッシング機構を導入しました。また、インスタンス化されたジェネリックメソッドに対する不正な動作を修正し、スロット定義メソッドの不変条件を強化しました。
@lewing ・ GitHub ・ arch-wasm area-Infrastructure-coreclr
CoreCLR WASM の interp-to-native thunk generator に構造体戻り値サポートを実装しました。以前はポートability assertで実行時クラッシュが発生していた、ネイティブ関数から構造体を返すPInvoke呼び出しに対応します。
構造体サイズごとに C typedef(例:typedef struct { char d[N]; } wasm_ret_SN;)を生成し、生成された CallFunc_* thunk の戻り値型として使用します。emcc が自動的に構造体戻り値を sret ポインタ規約に変換するため、特別な ABI 処理は不要です。
続きを読む
@ManickaP ・ GitHub ・ Servicing-approved area-System.Net.Quic
MsQuic(QUIC用のネイティブライブラリ)を2.4.18から2.5.9にアップデートするバックポートです。MsQuic 2.4ブランチはサポート終了予定であるため、アクティブにサポートされている2.5ブランチに更新することで、セキュリティアップデートとバグ修正を受け取ります。
@kant2002 ・ GitHub ・ community-contribution area-NativeAOT-coreclr
NativeAOT環境でFEATURE_PERFTRACINGおよびFEATURE_EVENT_TRACEを無効化した場合のビルド失敗を修正するPull Requestです。イベントトレース機能を無効化した設定でのコンパイルが正常に完了するよう調整されています。
@adamperlin ・ GitHub ・ area-CodeGen-coreclr
このPRは、WebAssembly RyuJIT向けのSIMD命令生成を拡張し、ExtractScalar/ReplaceScalarなどの追加パックド演算のコード生成を実装するとともに、Vector128<ulong>の順序付き比較演算をサポートしています。即値オペランドが必須の命令に対しては、ネストされたWasmブロックの制御フロー版「ジャンプテーブル」を用いた非即値フォールバック機構を導入しました。
続きを読む
@hez2010 ・ GitHub ・ area-CodeGen-coreclr community-contribution
NativeAOT環境でジェネリック仮想メソッド(GVM)のDevirtualization(仮想呼び出しの直接呼び出しへの変換)をサポートします。従来はGVM呼び出しが早期にfat-pointerに変換されていたため、JITのdevirtualization logic が認識できませんでしたが、本変更により変換のタイミングを遅延させることで、devirtualization後にfat-pointer展開を行えるようにします。
上記サンプルコードでは、devirtualization前は動的なスロット検索(CORINFO_HELP_GVMLOOKUP_FOR_SLOT)を使用していましたが、修正後は直接Console.WriteLineへの呼び出しに最適化されています。
続きを読む
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr runtime-async
JIT コンパイラが new ValueTask(Task) と ValueTask.AsTask() パターンを認識できるように拡張し、これらを直接的な非同期呼び出しとして最適化できるようにしました。これにより、BCL(Base Class Library)で一般的なこのパターンのオーバーヘッドが大幅に削減されます。
// 最適化対象のパターン
private static ValueTask TestTaskToValueTask()
{
return new ValueTask(TestTask());
}
private static async Task TestTask()
{
await Task.Yield();
}
続きを読む
@mdh1418 ・ GitHub ・ area-Tracing-coreclr
EventPipeに非破壊的(ブロッキング)バッファリングモードを追加し、dotnet-gcdumpで大規模ヒープダンプ時のイベント欠落を防止します。従来は満杯バッファを持つプロデューサがイベントを破棄していましたが、Block モード有効時はプロデューサをパーク(待機)させて、リーダーがバッファ容量を解放するまで再試行します。また、GC ヒープウォーク開始前にドレインスレッドが起動するようコールバック発火タイミングを変更し、デッドロックを防止します。
続きを読む
@vcsjones ・ GitHub ・ area-Infrastructure
Copilot CLIの設定ファイル.github/copilot/settings.local.jsonを.gitignoreに追加します。このファイルは個人用のローカル設定オーバーライドを格納するもので、リポジトリにコミットすべきではありません。
@stephentoub ・ GitHub ・ area-System.Numerics
Random.NextInteger<T>() API に対する マージ後のフィードバック対応です。IBinaryInteger<T> 実装の要件ドキュメント化/検証の強化と、全範囲生成パスの簡素化が主な変更内容です。
@MichalPetryka ・ GitHub ・ tenet-performance area-VM-coreclr
デリゲート インスタンスのメモリ フットプリントを削減するため、マネージド MethodInfo キャッシュをネイティブ MethodDesc* ポインタに置き換える内部構造の最適化です。デリゲート オブジェクトから GC 参照フィールドを1つ削減し、将来の割り当て戦略(不変 GC フィールドに依存するもの)を可能にします。
2026年07月13日 (40 PRs) うち Bot 2 件 この日のページ →
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
cDAC(Compact DAC)のDacEnumerableHashリーダーにおける無効なデバッグアサーション(Debug.Assert(Count == entries.Count))を削除し、コメントに置き換えます。ライブプロセスからの読み込み時に、ハッシュテーブルのCountと実際の要素数が一致しないことがあるため、アサーションは不正です。この修正はGC stress-testの堅牢性向上の一環です。
続きを読む
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
cDAC(CoreCLR Diagnostic Access Component)の IRuntimeTypeSystem インターフェースから、ランタイム内部構造である EEClass* を返す GetClassPointer メソッドを削除し、セマンティックな診断用API TryGetSystemVAmd64EightByteClassification で置き換えるリファクタリング。これにより、公開契約は診断コンシューマーが必要とする情報に絞られ、ランタイム内部詳細の露出を排除します。
続きを読む
@Copilot ・ GitHub ・ area-System.Net
Windows DNS相互運用での DNS_ADDR_ARRAY.MaxCount の計算が誤っていた問題を修正しました。仕様では MaxCount はバイト単位のサイズであるのに対し、実装では要素数を設定していました。BuildAddrArray メソッドで、MaxCount を要素数 (count) ではなく、ヘッダ + 全ての DNS_ADDR エントリの合計バイトサイズ (totalSize) に修正しました。
// Before
arr.MaxCount = (uint)count;
// After
arr.MaxCount = (uint)totalSize;
続きを読む
@Copilot ・ GitHub ・ area-System.Runtime os-browser
ブラウザ/WASM環境でのStopwatchTestsの間欠的な失敗を修正します。ブラウザのセキュリティによる時間精度の制限により、固定時間のスリープが時間解像度の境界を越えることが保証されない問題に対応しています。テスト用のSleepヘルパーを改修し、ブラウザ環境でのみStopwatch.GetTimestamp()が実際に進むまでスピンウェイトするようにしました。
private static void Sleep(int milliseconds)
{
if (PlatformDetection.IsBrowser)
{
long start = Stopwatch.GetTimestamp();
long minTicks = Math.Max(1, Stopwatch.Frequency / TimeSpan.TicksPerSecond);
do
{
s_sleepEvent.WaitOne(milliseconds);
}
while (Stopwatch.GetTimestamp() - start < minTicks);
return;
}
s_sleepEvent.WaitOne(milliseconds);
}
続きを読む
@Copilot ・ GitHub
PR #130542のDelegate.GetHashCode修正に対するレビューフィードバックに対応するため、最後のコミットをリバートするWIPプルリクエストです。元のPR #130542で実装された変更の一部を取り消し、関連する問題はフォローアップPR(#99200)で別途対応される予定です。
@tannergooding ・ GitHub ・ area-System.Numerics
floatからBFloat16への狭義変換でNaN値がInfinityに変わる問題を修正します。IEEE 754標準では狭義変換時にNaNはNaNのままでなければなりませんが、シグナリングNaN(ペイロードビットが下位16ビットのみの場合)が仮数部ゼロになり、結果的に無限大になっていました。修正は仮数部のquiet bit(0x0040)を強制的に設定することで、NaNを保持しながら符号とペイロードビットを保存します。
続きを読む
@tannergooding ・ GitHub ・ area-System.Numerics
HalfとBFloat16の整数型からの明示的変換に関するテストカバレッジを追加します。これらの変換が正しく丸め処理を行い、floatを経由した二重丸めが発生していないことを検証します。本PR (#112474の一部)により、HalfTestsは初めて整数変換テストを、BFloat16Testsは64ビット・128ビット整数のテストを獲得します。
@tannergooding ・ GitHub ・ area-System.Numerics
decimal ↔ 浮動小数点数(double/float/Half/BFloat16)の相互変換アルゴリズムを、中間ステップでの複数回の丸めによる精度喪失を排除し、完全に正確に丸められた整数ベースアルゴリズムに再実装しました。これにより、ラウンドトリップ変換が decimal.Parse(value.ToString("G99")) と一致するようになります。
修正例:
10000000000000.099609375m を double に変換する際の誤った結果を解決
(decimal)1.23 が 1.2299999999999999822364316060 として正確に表現されるように改善
続きを読む
@tannergooding ・ GitHub ・ area-System.Numerics
BigIntegerから浮動小数点型への変換操作において、丸めの不正確さを修正します。(double)BigIntegerは切り詰めではなくIEEE 754のround-to-nearest, ties-to-evenを実装し、(float)/(Half)/(BFloat16)はround-to-oddを経由した共有パスを使用することで、二重丸めエラーを防止します。
@tannergooding ・ GitHub ・ area-System.Numerics
符号付き整数型(sbyte、short、int、long、nint、Int128)のCopySign実装をデータ依存分岐のない条件付き否定パターンに置き換え、パフォーマンスを大幅に向上させました。オーバーフロー例外の発生条件(CopySign(MinValue, 非負値))は保持されています。
実装パターン(ブランチレス版):
signMask = (value ^ sign) >> (width - 1); // 符号が異なる場合はall-ones
result = (value ^ signMask) - signMask; // 条件付き否定を実現
続きを読む
@tannergooding ・ GitHub ・ area-System.Numerics
負の値がゼロに丸められる場合(または負のゼロの場合)に、2セクション形式のカスタム数値フォーマット(例:+0.00;-0.00)で余分な負の符号が付加される不具合を修正しました。
(-0.001).ToString("+0.00;-0.00"); // 修正前: "-+0.00", 修正後: "+0.00"
続きを読む
@tannergooding ・ GitHub ・ area-System.Runtime
StringBuilderのインデクサ(char this[int index])を簡潔化し、単一の事前境界チェック(uint)index >= (uint)Lengthを追加して負のインデックスと範囲外インデックスの両方をカバーし、既存のFindChunkForIndexヘルパーメソッドを再利用することで、ホップごとの処理を削減しました。例外生成はThrowHelper経由で処理され、インライン化を妨げる大規模な例外構築をインライナー外に追い出しています。
続きを読む
@MihaZupan ・ GitHub ・ area-System.Memory
SearchValues<string> の構築時に、ローカル実装の ASCII 文字セット操作を削除し、新しい string.ToUpperOrdinal() API を使用してケース非依存の文字列を正規化するように簡略化しました。
@am11 ・ GitHub ・ community-contribution area-NativeAOT-coreclr os-openbsd
NativeAOT ランタイムで strcpy() の非安全な使用をより安全な文字列コピー処理に置き換えました。OpenBSD の lld リンカーがコンパイル時に警告を出していたため、セキュリティベストプラクティスに準拠するための改善です。
@LuckyXu-HF ・ GitHub ・ area-CodeGen-coreclr arch-loongarch64
LoongArch64アーキテクチャにおいて、CodeGen::genIntCastOverflowCheck()内の符号拡張リスク(特に符号付き整数から符号付き整数へのキャスト時のCHECK_SMALL_INT_RANGEケース)を修正しました。あわせてCodeGen::genCodeForCompare()の命令生成を最適化し、System.Runtime.Numerics.Testsにおけるランダムな失敗を解決しています。
続きを読む
@hoyosjs ・ GitHub ・ area-Diagnostics-coreclr
デバッガのパッチバインディングパスを最適化する変更です。DebuggerController::BindPatchで既に利用可能なDebuggerJitInfo*とMethodDesc*をCodeRegionInfo::GetCodeRegionInfoに渡すことで、不要なPtrHashMapルックアップを回避します。これにより、サービシング修正(#126247)との整合性を保ちながらパフォーマンスを改善します。
続きを読む
@Copilot ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラの fgGetStaticsCCtorHelper において、インライン化されたメソッドが非同期メソッドのコンテキストで処理される際の型判定バグを修正しました。非同期メソッドのインライニング時に、ピンスタティックベースヘルパーの戻り値型が誤った型 TYP_I_IMPL と判定されていたのを、正しく TYP_BYREF に修正します。
// 修正内容:compIsAsync() → impInlineRoot()->compIsAsync()
type = impInlineRoot()->compIsAsync() ? TYP_BYREF : TYP_I_IMPL;
続きを読む
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
構造体コピーから生成された非GCフィールドストアを既存のストア合成機能で統合できるように改善しました。GTF_IND_ALLOW_NON_ATOMICフラグをマークすることで、隣接する複数の8バイトストアを16バイトのSIMDストアに統合可能になり、コード生成を最適化します。
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
cDAC(CoreDAC)のCopilot PR-reviewerの指示を改善し、contract及びdata-descriptor変更時にドキュメント更新を必ずレビューで指摘するようにするもの。docs/design/datacontracts/<Name>.mdがcontractの仕様書(Abstractions/Contracts/I<Name>.csと1:1対応)であり、ドキュメント更新漏れによる仕様ドリフトを防ぐことが目的。
続きを読む
@tannergooding ・ GitHub ・ area-System.Numerics
System.NumericsのDecimal32/Decimal64/Decimal128型に対して、IEEE 754準拠の算術演算子と比較演算子を実装しました。これまではレイアウト、解析、フォーマット機能のみでしたが、本PRで完全な演算機能が追加されます。実装はIntel Decimal Floating-Point Math Libraryの参照実装に基づき、BID符号化形式で正規化された結果を生成します。
続きを読む
@liveans ・ GitHub ・ area-System.Net
System.Net.NameResolution の DNS 解決時に、一部の OS リゾルバーが完全修飾形式 localhost. の解決に失敗する問題に対応しました。localhost. が解決失敗またはアドレスを返さない場合に、RFC 6761 の既存フォールバック機構により localhost への自動フォールバックを行うように変更しました。
@eiriktsarpalis ・ GitHub ・ area-System.Text.Json
System.Text.Json の MemberAccessor がアクセッサー選択基準を RuntimeFeature.IsDynamicCodeSupported から RuntimeFeature.IsDynamicCodeCompiled に変更します。これにより、動的コードが解釈実行のみのプラットフォーム(Mono インタープリター、WASM、iOS)では Reflection.Emit ベースのアクセッサーの約50KBが trimmer により削除され、JIT ベースのランタイムでは Reflection.Emit が保持されます。また、反射ベースの呼び出しで例外が TargetInvocationException でラップされる問題も修正します。
続きを読む
@Copilot ・ GitHub ・ area-System.Net.Http
System.Net.Http内の3ファイルで、arcade#7585に関連する古いコメントを削除しました。これらのコメントは[UnsupportedOSPlatform(...)]属性がコメントアウトされていると主張していましたが、実際には属性は存在・適用されているため、誤解を招く古いコメントを削除する変更です。
@Copilot ・ GitHub ・ area-Infrastructure
System.Numerics.TensorsのTensorPrimitives.Tanメソッドに対するベクトル化/FMAコードパスでのテスト許容値(tolerance)を調整しました。ARM64 iOS環境でスカラー実装と比較して精度誤差が大きくなるため、専用のFMA許容値を導入しました。double型で3e-13、float型で1e-4fに設定されています。
@kotlarmilos ・ GitHub ・ area-Infrastructure
Apple mobile CoreCLRのReadyToRun(R2R)イメージにおいて、IL本体ストリッピングにより実行時にILが必要なテストが失敗する問題に対応しました。3つのライブラリテストプロジェクトで PublishReadyToRunStripILBodies を false に設定し、IL本体を保持することで、実行時IL検査/実行に依存するテストの失敗を防ぎます。
@matouskozak ・ GitHub ・ area-Infrastructure-mono arch-s390x arch-ppc64le
s390x と ppc64le のクロスビルドにおいて、host サブセット展開時に不要な host.pretest と host.tests が含まれ、未発行のターゲットアーキテクチャ用 apphost パックの復元が発生していた問題を修正します。ホスト製品サブセットを明示的に指定(host.native+host.tools+host.pkg)することで、ホスト製品のカバレッジを維持しつつ不要なホストテストの復元を回避します。
続きを読む
@tannergooding ・ GitHub ・ area-CodeGen-coreclr
x64/x86 JITでSse41.Insert(insertps命令)の最適化を追加。スカラー値が別のベクトルから抽出されるパターンを検出し、個別の抽出操作を排除して単一のinsertps命令に折り畳みます。insertpsのcount_sフィールド(imm8の6-7ビット)でソース要素を直接選択するため、movshdup/unpckhps/shufpsなどの追加命令が不要になります。
折り畳み対象パターン:
Insert(vector, CreateScalarUnsafe(vector2.GetElement(idx1)), idx2)
を単一のinsertpsに最適化
続きを読む
@lewing ・ GitHub ・ arch-wasm area-crossgen2-coreclr
Composite ReadyToRun (R2R) ビルドでのWasm対応を修正するPRです。従来、コンポーネントスタブのコンテナ形式がPEに硬化されていたため、Wasm向けのComposite crossgen2ビルドが失敗していました。本修正により、Wasmターゲット向けにはWebcil-in-Wasmフォーマットでスタブを出力し、PE/Appleターゲットは従来通りPE形式で出力するようになります。
続きを読む
@jtschuster ・ GitHub ・ area-ReadyToRun Priority:1
crossgen2実行時にDOTNET_GCHeapAffinitizeRangesが継承されることで、Windowsで無効なアフィニティ設定(bare "1"値)がGC初期化時に解析され、CLR_E_GC_BAD_AFFINITY_CONFIG_FORMAT エラーで crossgen2がクラッシュ(exit -1)する問題を修正します。GetConfigurationVariablesテストの環境変数をcrossgen2の環境変数抑制リストに追加し、ビルドツールがテスト環境のGC設定を継承しないようにします。
続きを読む
@ManickaP ・ GitHub ・ Servicing-approved area-System.Net.Quic
MsQuic ネイティブ依存関係をバージョン 2.4.18 から 2.5.9 にアップデートするバックポート。MsQuic 2.4 ブランチがサポート終了となるため、QUIC/HTTP3 を使用するアプリケーションをアクティブにサポートされている 2.5 ブランチに移行し、セキュリティ更新とバグ修正を継続的に受け取ることが目的。
@ManickaP ・ GitHub ・ Servicing-approved area-System.Net.Quic
MsQuic(Windows QUIC ネイティブライブラリ)をバージョン 2.4.18 から 2.5.9 にアップデートするバックポート PR です。MsQuic 2.4 ブランチはサポート終了が予定されており、セキュリティとバグ修正を含む現在サポートされている 2.5 ブランチへの移行が必要です。
@bartonjs ・ GitHub ・ area-System.Security
X.509証明書ポリシーテストの充実と、ポリシーマッピング抑止(policy mapping inhibition)の深さ追跡における既存バグの修正。テストチェーン生成ロジックを拡張し、より複雑なシナリオ(4証明書チェーン、中間証明書ごとの拡張機能セット)に対応して、Windows OSのネイティブ動作との一致を検証します。
@Copilot ・ GitHub ・ area-ReadyToRun
マーシャリング処理でスパースなパラメータメタデータ時に、カスタム修飾子の検索に誤ったパラメータインデックスを使用していた問題を修正しました。コピーコンストラクタのカスタム修飾子がメタデータ欠落時に間違ったパラメータに対して評価される問題を解決します。
@kotlarmilos ・ GitHub ・ area-Infrastructure
CI外側ループのエージェントワークフロー(ci-failure-scan、ci-failure-fix、ci-failure-scan-feedback)を評価するための基盤を構築します。Vallyを使用した評価インフラストラクチャを追加し、PR上でスラッシュコマンド(/ci-scan eval、/ci-fix eval、/ci-feedback eval、/ci-eval)を実行することで、エージェントが実際のCI失敗データに対して動作し、生成された結果を評価するレポートを返します。
続きを読む
@Copilot ・ GitHub ・ area-NativeAOT-coreclr
NativeAOTにおいて、異なるアセンブリ名が同じC識別子にサニタイズされる場合に重複したマングル名が生成され、ILCompilerが重複キー例外で失敗する問題を修正しました。コンパイラコンテキストの入出力アセンブリ名から決定的にマングルされたアセンブリ名プレフィックスを計算し、System.Private.*の従来のマングル形式(S.P.*)を保持しつつ、その他のアセンブリ名には既存の曖昧性解決機構を適用します。
続きを読む
@hoyosjs ・ GitHub ・ area-VM-coreclr
Classic PDB(DIA)でのスタックトレース解決時に、メタデータインポーターの実体化を回避するため、プロセス全体で共有可能なno-op実装 NoopMetadataImport を導入しました。これにより、RW-backed メタデータアクセスへの遷移とそのロック競合を削減し、特にPDBが存在しない Full PDB シナリオでのパフォーマンスを大幅に向上させます。
@snickolls-arm ・ GitHub ・ area-CodeGen-coreclr community-contribution
ARM64プラットフォームにおいて、Vector<T>のサイズに対する128ビットの制限を削除し、SVE(Scalable Vector Extension)に対応させます。InstructionSet_VectorTが利用可能な場合、クラスインスタンスサイズをプロセスのSVEベクトル長に設定し、JITがISA(命令セットアーキテクチャ)の存在を検出できるようstructMightRepresentSIMDTypeの最大境界値を拡張します。
続きを読む
@BoyBaykiller ・ GitHub ・ area-CodeGen-coreclr community-contribution
JITコンパイラのif-conversion最適化を改善するPRです。GT_SELECTノードが浮動小数点数に対応し、式の条件付き折り畳みを活用できるようになりました。また、32ビット環境でのbailoutを最適化後に延期することで、より多くの最適化の恩恵を受けられるようになっています。
2026年07月12日 (6 PRs) この日のページ →
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
WebAssembly(WASM)JITコンパイラにおいて、構造体ローカル変数のゼロ初期化時に型検証エラーが発生する問題を修正しました。ゼロ定数(GT_CNS_INT(0))をローカル変数のレジスタ型に再型付けすることで、WASMの厳密な型検証要件を満たすようにしています。
@vitek-karas ・ GitHub ・ Servicing-approved area-Infrastructure-mono
iOS物理デバイス上で実行されるiOS.Device.Aot.TestとiOS.Device.ExportManagedSymbols.Testをrelease/8.0-stagingブランチで無効化します。これらのテストはCI信号として有用性がなくなり、servicing branch上ではmacOS新バージョンへの対応予定がないため、テスト実行を停止します。
@vitek-karas ・ GitHub ・ Servicing-approved area-Infrastructure-mono
release/9.0-stagingブランチにおいて、物理的なiOSデバイスでのみ実行される2つのテスト(iOS.Device.Aot.TestとiOS.Device.ExportManagedSymbols.Test)を無効化します。これらのテストはCI信号の有用性が低下しており、サービシングブランチではmacOSの新バージョン対応が行われないため、無効化されます。
@AndyAyersMS ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssemblyターゲットのJITコンパイラにおいて、関数プロローグ中のレジスタパラメータのホーミング処理を常に実行するように修正しました。WasmRegAllocはLSRAと異なりcalleeRegArgMaskLiveInを設定しないため、この修正により正確性問題を解決しています。また、ホーミング判定ロジックを入口ブロックのライブイン情報から参照カウント(lvRefCnt())ベースに変更しました。
続きを読む
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
Range Analysis(範囲解析)におけるバグ修正。乗算と左シフト操作が負の値を縮小できるにもかかわらず、単調増加操作として扱われていました。この不正な扱いにより、無効な範囲に拡大され、比較式が誤ってコンパイル(constant folding)される問題がありました。修正では単調ワイデニングを加算のみに限定し、回帰テストを追加しています。
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
Arm64アーキテクチャにおいて、FEAT_CSSC(ARMv8.8以上対応)の検出と統合を実装し、BitOperations.PopCountおよびBitOperations.TrailingZeroCountをスカラcnt/ctz命令で最適化します。対応CPUでは、ベクトルレジスタとのラウンドトリップを回避し、特にPopCount(ulong)で大幅なパフォーマンス向上を実現します。
// 最適化の対象
static int TestPOPCNT(uint value) => BitOperations.PopCount(value);
static int TestPOPCNT64(ulong value) => BitOperations.PopCount(value);
static int TestTZC(uint value) => BitOperations.TrailingZeroCount(value);
static int TestTZC64(ulong value) => BitOperations.TrailingZeroCount(value);
続きを読む
2026年07月11日 (7 PRs) この日のページ →
@pavelsavara ・ GitHub ・ arch-wasm area-Infrastructure
WebAssembly例外参照型(exnref)の実験的機能に対応するため、Node.js実行時に--experimental-wasm-exnrefフラグを追加する変更です。CoreCLRおよびMono WASMテストスクリプト、サンプル実行スクリプト、ドキュメントを統一的に更新し、WASM実行環境での一貫性を確保しています。
@lewing ・ GitHub ・ area-System.Globalization
WebAssembly(wasm)上のCoreCLR環境で、libSystem.Globalization.NativeのP/Invoke EntryCountが不正な値に設定されていた問題を修正します。PR #130140で新しいP/Invoke関数が追加された際、EntryCountが33のままとなっており、テーブルの最後のエントリ(GlobalizationNative_ToUnicode)が未到達になっていました。これによりIdnMapping.GetUnicode/ToUnicodeテストがDllNotFoundExceptionで失敗していました。
続きを読む
@kg ・ GitHub ・ area-Meta community-contribution
.github/policies/resourceManagement.yml ファイルから kg をエリアオーナーのリストから削除する変更です。
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
cDAC GC ストレステスト フレームワークにおけるプロセス終了時のクラッシュを修正します。arm/arm64 でのみ発生する exit 139 (SIGSEGV) エラーが、検証完了後の teardown フェーズで発生していました。根本原因は、バックグラウンドスレッドがまだメモリを割り当てている最中に CdacStressPolicy::Shutdown が共有リソースを解放するという競合状態です。修正では、Shutdown 時に s_cdacLock を保持して s_initialized をクリアし、VerifyAtStressPoint が同ロック下で再チェックして撤去中の状態への検証を防ぎます。
続きを読む
@pavelsavara ・ GitHub ・ arch-wasm area-Infrastructure-mono os-browser
WASM向けHelix CI環境をexnref対応のV8 15.2.47にアップグレードし、exnref移行に伴い無効化されていたCI実行を再開します。また、V8自動アップデーターに最小バージョンガード機構を追加し、exnrefの最小要件バージョン以下への自動ダウングレードを防止します。
@elinor-fung ・ GitHub ・ area-Host
comhostのDllGetClassObjectがCOM激活デリゲートを毎回解決していた問題を修正しました。hostfxrの読み込み、runtimeconfig.jsonの解析、セカンダリホストコンテキストの作成が毎回実行されていましたが、これらの入力値(comhostパスとruntimeconfig)はプロセス内で変わらないため、キャッシング機構を導入して1回限りの初期化で済ませるようにしました。
続きを読む
@simonrozsival ・ GitHub ・ area-System.Net.Security os-android
Android上のSslStreamがプラットフォームの信頼インフラストラクチャ(network_security_config.xmlを含む)を無視していた問題を修正します。DotnetProxyTrustManagerを改修し、プラットフォームのX509TrustManagerをラップするようにして、証明書ピニングやカスタム信頼アンカーが正しく機能するようになります。プラットフォームの検証結果と管理側の検証を組み合わせ、より厳格な評価を行います(プラットフォームが拒否した場合は管理側でもクリアできない)。
// RemoteCertificateValidationCallback は両方の検証結果の合併集合を受け取るようになります
// プラットフォーム拒否 → RemoteCertificateChainErrors がプリセットされます
// プラットフォーム受理 → 管理側の検証が独立して実行され、エラーが追加される可能性があります
続きを読む
2026年07月10日 (26 PRs) うち Bot 4 件 この日のページ →
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
cDAC(Compact Diagnostic Artifact Container)のデータコントラクトドキュメントを、最近マージされた2つの実装変更に合わせて更新するドキュメント修正です。RuntimeTypeSystem.mdのGetFieldDescOffset疑似コードをビッグRVAオフセット検出時のマスク処理に対応させ、GC.mdのCreateHandleData疑似コードから削除されたフィールドの割り当てを削除しています。
続きを読む
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
cDAC の RuntimeTypeSystem コントラクトにおいて、big-RVA フィールド オフセットがメタデータから解決されない버그を修正します。FieldDesc::DWord2 は27ビットのフィールド オフセットと5ビットのフィールド型をパックしていますが、比較時にマスク処理が不足していたため、big-RVAの判定が常に失敗していました。修正により、OffsetMask を適用してから FIELD_OFFSET_BIG_RVA センチネルと比較するようにしました。
続きを読む
@Copilot ・ GitHub ・ arch-arm64 area-NativeAOT-coreclr
NativeAOTがARM64 GCスタックウォーキング中にxpaci命令を実行し、ポインタ認証機能を持たないtvOSデバイスでSIGILL例外が発生していた問題を修正。CoreCLRのヒント安全なPacStripPtr実装をポートし、xpaclri命令を使用して呼び出し元のlrレジスタを保護する方式に変更。
mov lr, x0
xpaclri
mov x0, lr
続きを読む
@huoyaoyuan ・ GitHub ・ area-System.Runtime.InteropServices community-contribution
Windows.csの古いコメントを削除するPR。.NET 7以降、x64 on ARM64エミュレーションは正しく対応されているため、それを反映するものです。
@MichalPetryka ・ GitHub ・ area-System.Text.Json community-contribution
#130453 で報告されたビルド破損を修正するPull Requestです。System.Text.Json の JsonSourceGenerator.Parser.cs に対する小規模な修正が含まれています。
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
Watson bucket アクセッサを一般的なThreadコントラクトから専用のWindowsErrorReportingコントラクト(c1)に移動しました。Watson bucketはWindows Error Reportingの概念であるため、スレッドコントラクトをランタイムニュートラルに保ち、この機能に対応しないターゲットが専用コントラクトを省略できるようにします。
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
Windows 8時代のWinRT/Jupiter概念に対応していたJupiterRefCountフィールドを、管理されたcDAC HandleDataコントラクト型から削除します。COM ABI互換性を保つため、公開型のSOSHandleData.JupiterRefCountは保持し、常に0を報告します。JupiterRefCountは従来より意味のあるデータが入力されておらず、レガシーDACでも0にハードコードされていたため、内部コントラクト表面からの削除による技術的な整理です。
続きを読む
@steveisok ・ GitHub ・ area-Diagnostics-coreclr
Apple Silicon (arm64) macOS上で、createdumpが書き込むSpecialDiagInfoセグメントのアドレスを47ビット有効範囲内に修正しました。従来のアドレス 0x7fffffff10000000 はlldbが受け付けない範囲に位置していたため、SOS側で読み込みに失敗していました。arm64 macOSでは 0x00007ffffff10000 (Linux/他64ビット同様)、x86_64 macOSでは従来のアドレスを継続使用しています。
続きを読む
@jakobbotsch ・ GitHub ・ area-VM-coreclr
CoreCLR VMの非同期サンク(async thunk)IL生成で、ターゲットメソッドがジェネリック型/メソッドのインスタンス化を持つ場合のトークン化処理を改善しました。ILStubResolverのEmitReturnDroppingThunkが共有(非インスタンス化スタブ)のhMethodを含むメソッド仕様トークンを作成する問題を解決し、予期しないLDVIRTFTN呼び出しと汎用コンテキストパラメータが一緒に指定される状況を防ぎます。
続きを読む
@kotlarmilos ・ GitHub ・ area-Infrastructure-coreclr os-ios
Apple mobile CoreCLR の ReadyToRun ビルドにおいて、BuildTestsOnHelix=true で構築した場合でも、composite Mach-O 形式を一貫して使用するように MSBuild デフォルト設定を修正します。従来は BuildTestsOnHelix ゲートにより、テストビルド時に per-assembly PE 形式が使用されていましたが、PublishReadyToRun=true であれば常に composite Mach-O を既定値とするように変更します。
続きを読む
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
JITのローカルモルフ処理において、インダイレクション(間接参照)がGT_LCL_FLD/GT_STORE_LCL_FLDに変換される際、プロモートされたフィールドの置換を即座に実行するように修正しました。従来は制御フロー処理により置換が見落とされていました。
@am11 ・ GitHub ・ area-Host community-contribution
ホスト トレーシング機能のドキュメントで環境変数の記述を更新します。.NET 10で追加されたDOTNET_HOST_プリフィックスを主要な環境変数として記載し、COREHOST_はフォールバック時のみに使用される旨を明確にします。
@prozolic ・ GitHub ・ area-System.Runtime tenet-performance community-contribution
string.Concat(IEnumerable<string?> values)にファストパスを追加し、入力がList<string?>またはstring?[]の場合のパフォーマンスを向上させます。既存のJoinメソッドで使用されているパターンに基づいて実装されています。
@matouskozak ・ GitHub ・ os-android area-System.DateTime
Androidプラットフォームにおいて、TimeZoneInfo.FindSystemTimeZoneById("GMT Standard Time")が夏時間を持たない固定オフセットゾーンとして誤解釈される問題を修正します。"GMT Standard Time"はイギリス(Europe/London)を表すWindowsタイムゾーンIDで、夏時間(BST、UTC+1)に対応する必要があります。
修正内容: GMT+NやGMT-N形式の数値オフセットゾーンのみを固定オフセットとして処理するよう、検出ロジックを改善しました。
// 修正前("GMT Standard Time"も誤マッチ)
if (name.Length >= 3 && name[0] == 'G' && name[1] == 'M' && name[2] == 'T')
// 修正後(GMT+/-の数値オフセット形式のみ対象)
if (name.Length >= 4 && name[0] == 'G' && name[1] == 'M' && name[2] == 'T' && (name[3] == '+' || name[3] == '-'))
続きを読む
@tommcdon ・ GitHub ・ area-Diagnostics-cdac
x86 デバッガスタックフレーム構造体の レイアウト修正と ESP 調整ロジックの改善を行い、32ビット DBI と cDAC の互換性を向上させます。ポインタサイズに依存した構造体フィールドを CORDB_ADDRESS/nuint に統一し、ネイティブ匿名ユニオンのレイアウトを正確にモデル化しました。また、x86 スタックウォーク中のネイティブフレーム遷移時に古いスタックパラメータサイズが誤って再利用される問題を修正しています。
続きを読む
@kotlarmilos ・ GitHub ・ area-Infrastructure linkable-framework os-ios
Apple モバイルプラットフォーム上の NativeAOT ランタイムでのみ失敗するテストを [ActiveIssue] 属性で無効化します。CoreCLR/Mono や他のプラットフォーム上では変わらず実行されます。失敗の原因は、NativeAOT アプリバンドルのキーチェーン資格処理、Microsoft.Extensions.Hosting のリフレクションと設定ファイル動作、HttpListener の接続切断ケースです。
続きを読む
@pavelsavara ・ GitHub ・ arch-wasm area-Host os-browser
ブラウザ/WASM向けJavaScriptローダーのポリフィル初期化を調整し、V8/d8シェル環境でのエンジン機能検出用にatobフォールバックを追加するとともに、--experimental-wasm-exnrefフラグの使用を廃止します。ポリフィル初期化を「早期」と「ローダー」の2段階に分割し、シェル環境での互換性を向上させます。
@lewing ・ GitHub ・ arch-wasm area-PAL-coreclr os-wasi
CoreCLRランタイムのWASI(WebAssembly System Interface)対応のオンボーディングを行うPull Requestです。WASIプラットフォーム上でのビルド、ランタイムテスト、ネイティブコンポーネントの統合を実装しており、WebAssembly環境でのClr実行環境の基礎を整備しています。
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
cDAC(managed Diagnostics Data Contract)に DacDbiImpl.ResolveTypeReference を実装し、ネイティブ実装をポートしました。ECMA-335メタデータを使用して mdTypeRef トークンを mdTypeDef トークンに解決し、AssemblyRefスコープ、型フォワーダー、ネストされた型に対応しています。
@barosiak ・ GitHub ・ area-Diagnostics-cdac
cDAC(Compact DAC)の DacDbiImpl に GetNativeCodeSequencePointsAndVarInfo メソッドを実装しました。ネイティブ実装からコールバックベースの列挙パターン(FP_NATIVEVARINFO_CALLBACK、FP_SEQUENCEPOINT_CALLBACK)に変更することで、マネージド cDAC がネイティブの forDbi アロケータを使用しないようにしました。また、メタデータトークンのないメソッド(async 変種など)での GetArgCount と ClrDataFrame メソッドの失敗を修正するため、IRuntimeTypeSystem に TryGetMethodSignature を追加し、ICorDebugInfo::VarLoc から未使用の vlMemory メンバを削除(JIT/EE バージョン GUID をバンプ)しました。
続きを読む
@lilinus ・ GitHub ・ area-System.Numerics.Tensors community-contribution
テンソルテストにおける特殊値(NaN、Infinity など)の許容誤差比較を修正するため、テストヘルパーを再構築しました。IsEqualWithTolerance の述語スタイルからアサーション スタイル(AssertEqualWithTolerance)へ移行し、NFloat 型の比較サポートを追加しています。これにより、ベクトル化が再度有効になった場合のテスト失敗に対応できるようになります。
@Copilot ・ GitHub ・ area-VM-coreclr
InternalsVisibleTo属性で無効なアセンブリ参照(例:PublicKeyとPublicKeyTokenの両方を指定)が宣言された場合、ランタイムが汎用のファイルロードエラーをスローしていた問題を修正します。アセンブリ名解析の失敗を内部例外として保持し、診断情報を改善しています。
修正前後の比較:
// 修正前: 詳細情報がない汎用エラー
// System.IO.FileLoadException: Unable to load file 'InvalidFriendAssemblyName.dll'
// 修正後: 原因の詳細が内部例外として含まれる
// System.IO.FileLoadException: Could not load file or assembly 'InvalidFriendAssemblyName, ...'
// ---> System.IO.FileLoadException: The given assembly name was invalid.
// FileName = 'Broken,PublicKey=…,PublicKeyToken=...'
続きを読む
2026年07月09日 (29 PRs) うち Bot 4 件 この日のページ →
@tannergooding ・ GitHub ・ area-System.Numerics
Complex<T> ジェネリック構造体を新規実装し、既存の非ジェネリック Complex の完全な公開API表面をミラーリングしています。Complex<T> は IFloatingPointIeee754<T> と IMinMaxValue<T> の制約を持ち、float、double、Half、BFloat16、NFloat などの浮動小数点型に対応します。既存の Complex は複数のメソッドを Complex<double> に委譲し、コード重複を排除しています。
Complex<float> z = Complex<float>.FromPolarCoordinates(2.0f, MathF.PI / 4);
float mag = z.GetMagnitude();
Complex<float> w = z * 3.0f + new Complex<float>(1.0f, -1.0f);
// 双方向の相互変換に対応
Complex c = Complex.CreateChecked(new Complex<double>(3, 4));
Complex<float> cf = Complex<float>.CreateChecked(new Complex(3, 4));
続きを読む
@lewing ・ GitHub ・ area-CodeGen-coreclr
WebAssembly(WASM)の Ready-to-Run(R2R)コンパイルにおいて、SIMD パラメータの処理に関するバグを修正しました。Vector2(TYP_SIMD8)および Vector3(TYP_SIMD12)パラメータが不正なWASMモジュールを生成していた問題を、すべてのSIMDサイズに対応させることで解決します。
修正前はTYP_SIMD16のみをインタプリタにベイルアウトしていましたが、修正後はvarTypeIsSIMD(...)を使用してすべてのSIMDパラメータ(8/12/16バイト)をインタプリタにベイルアウトします。
// 修正例:System.Numerics.Matrix3x2.CreateRotation(float, Vector2)
// 修正前:不正なf64.storeを生成(i32パラメータを使用)
// 修正後:インタプリタを使用して正常にコンパイル
続きを読む
@davidwrighton ・ GitHub ・ area-VM-coreclr
R2R(Ready2Run)Wasm環境でネイティブコードから呼び出されるクラス/デフォルトコンストラクタが、Ryujitが生成したコードからの呼び出しに対応できるよう準備が必要になったため、メソッド準備ロジックを改善する変更です。System.Private.CoreLibが事前にコンパイル(R2R化)されている場合、これらのメソッドが確実にネイティブコードから呼び出せる状態になるようにします。
@MihaZupan ・ GitHub ・ area-System.Text.Encoding
OptimizedInboxTextEncoder.GetIndexOfFirstCharToEncode メソッドの冗長な範囲チェックと中間スパンを削除し、コード生成を最適化するリファクタリング。idx は既に範囲内であることが保証されているため、不要な guard と remaining span を排除し、data をその場でスライスして直接ループ処理を行うようにしました。動作の変更はなく、コード生成サイズが改善されます。
続きを読む
@janvorli ・ GitHub ・ area-GC-coreclr
cgroup v2環境において、プロセスがルートcgroupに割り当てられている場合、メモリ上限の抽出処理がcgroup階層マウントパスを超えて走査し、プロセスがクラッシュする問題を修正しました。Google Colabの環境でJupyterノートブック内のNativeAOTアプリケーション実行時に発見されました。
@davidwrighton ・ GitHub ・ area-VM-coreclr
WASM インタプリタにおけるInterpreterFP(フレームポインタ)の処理を調整し、funclet(例外処理コード)がこれを確立メソッドのFPとして共有する論理的なFPとして扱うようにしました。これにより、FPをSPから再構築するのではなく、コンテキスト構築時に設定してフロー経由で利用することで、funclet内でのGC報告を正確に行えます。この変更はRyuJit生成コードに限定されます。
@kotlarmilos ・ GitHub ・ area-Infrastructure os-ios
Apple mobile CoreCLR向けのReadyToRun(R2R)ビルドでILボディが削除されることにより、実行時にILが必要な4つのライブラリテストが失敗する問題を修正します。System.Runtime.Loader.Tests、System.Reflection.DispatchProxy.Tests、System.Xml.XmlSerializer.ReflectionOnly.Tests、System.Reflection.Metadata.Testsに対してPublishReadyToRunStripILBodies=falseを設定し、Helix AOTビルドがこの設定を認識するようtests.ioslike.targetsのプロパティ許可リストに追加しました。
続きを読む
@kotlarmilos ・ GitHub ・ area-NativeAOT-coreclr
Apple NativeAOT環境でテストハーネス起動時にクラッシュしていた問題を修正します。mono_ios_set_summaryとmono_ios_append_outputのP/Invokeがstring型を使用していたため、[DisableRuntimeMarshalling]属性下でのマーシャリングが禁止され、MarshalDirectiveExceptionが発生していました。これらをIntPtrに変更し、マネージドコード側でMarshal.StringToCoTaskMemUTF8を用いて明示的にUTF-8バッファに変換することで、ブリット可能なP/Invokeに統一し、Mono/NativeAOT両方で正しく動作するようにしました。
続きを読む
@Copilot ・ GitHub ・ area-Infrastructure
PR #129966で導入された重複するIObjectNodeWithAlignmentインターフェース定義を削除し、AOTコンパイラプロジェクト間で単一の共有契約を復元します。共有のCommon依存性分析層に移動し、両方のプロジェクト(ILCompiler.CompilerとILCompiler.ReadyToRun)で参照するようにしました。
namespace ILCompiler.DependencyAnalysis
{
public interface IObjectNodeWithAlignment
{
int GetAlignment(NodeFactory factory);
}
}
続きを読む
@MichalStrehovsky ・ GitHub ・ area-Interop-coreclr
NativeAOTのマーシャリングにおいて、値で渡されるblittable layout クラスのピニング機能を実装しました。これまでは常に一時的なネイティブ構体にコピーされていましたが、今回の変更によりマネージドオブジェクトをピニングしてインテリア ポインタを直接ネイティブコードに渡すようになります。これにより、ポインタの同一性、暗黙的な[In,Out]ライトバック、および[Out]セマンティクスが正しく機能するようになります。
続きを読む
@MichalStrehovsky ・ GitHub ・ area-NativeAOT-coreclr
NativeAOT のリバースデリゲートスタブにおいて、ランタイムマーシャリングが無効な場合に、ネイティブシグネチャの計算がマネージドシグネチャと一致していなかった問題を修正します。GetNativeMethodParameterType で合成された __NativeType__ 構造体を使用していましたが、ランタイムマーシャリングの無効化チェックを追加し、無効な場合はマネージドシグネチャをそのまま使用するようにしました。また、varargs 関連の例外型を BadImageFormatException から InvalidProgramException に修正し、DisabledRuntimeMarshalling テストの NativeAOT 対応を再度有効化します。
続きを読む
@jakobbotsch ・ GitHub ・ area-System.Threading.Tasks runtime-async
await Task.Yield()のランタイムasync実装を最適化し、async1と同等のパフォーマンスを実現します。YieldAwaiterに対してIStateMachineBoxAwareAwaiterインターフェースの最適化を適用し、await毎のスレッドプール内部オブジェクト割り当てを回避します。また、未使用のAsyncHelpers.TaskContinuation.csを削除します。
続きを読む
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
cDAC(CoreCLR Diagnostic Access Component)の GetConstructedType メソッドにおいて、ジェネリック型インスタンスのローダーモジュール検索アルゴリズムを修正しました。collectible AssemblyLoadContext からの型引数を含むジェネリック型の解決に失敗していた問題(#130143)に対応しています。CoreCLR の ClassLoader::ComputeLoaderModuleWorker を鏡像するアルゴリズムを実装することで、型引数駆動型のローダーモジュール選択を実現しました。
続きを読む
@davidwrighton ・ GitHub ・ area-VM-coreclr
MethodTable::MethodDataObject::FillEntryDataForAncestor をMethodImpl階層向けに最適化します。
従来はMethodImplが存在する場合に全ての仮想スロットの埋め込みをスキップしていたため、O(V*N)の二次計算量が発生していました(V:仮想スロット数、N:型階層内のメソッド数)。
本変更では、正規MethodTableのvtableでNULLエントリのスロットを検出し、これらのスロットについては親チェーンをたどって直接埋め込むことで、WPF等の深い階層を持つ型の起動時パフォーマンスを改善します。
続きを読む
@tarekgh ・ GitHub ・ area-System.Globalization
StringComparison.OrdinalIgnoreCase と同じ one-to-one マッピング方式を使用した序数(ordinal)ベースの大文字小文字変換API を実装します。char、Rune、string、および MemoryExtensions に ToUpperOrdinal() / ToLowerOrdinal() メソッドを追加し、ICU ベースの序数小文字変換テーブルを新たに実装します。ASCII文字列がすでに要求されたケースにある場合、同じインスタンスを返すことでアロケーションを回避します。
続きを読む
@davidwrighton ・ GitHub ・ area-crossgen2-coreclr
WebAssembly向けに、文字列コンストラクタの特殊な呼び出し規約に対応するためのJIT/EEおよびcrossgen2の処理を追加します。文字列コンストラクタは静的ヘルパー関数として実装されており、通常のコンストラクタとは異なる呼び出し規約を持つため、シグネチャの再解釈とサンク生成ロジックの調整が必要です。
@tmds ・ GitHub ・ area-System.Net os-linux community-contribution
EnumerateInterfaceAddresses関数におけるif_nametoindexの失敗ケースを適切に処理するよう改善しました。ネットワークインターフェース列挙時のエラーハンドリングを強化し、予期しない失敗に対する堅牢性を向上させます。
@BrzVlad ・ GitHub ・ area-CodeGen-Interpreter-coreclr
CLR インタプリタにおいて、複数スレッドがメソッド compilation で競合する際の MethodDesc->m_interpreterCode の初期化問題を修正します。競合に負けたスレッドが early return する前に必ずインタプリタコードを publish するよう、コード公開フローを再構成しました。これにより、sporadic assertionsの発生を防止します。
@LuckyXu-HF ・ GitHub ・ community-contribution arch-loongarch64 arch-riscv area-CodeGen-Interpreter-coreclr
LoongArch64プラットフォームのcoreclr-interpに対するバグ修正をPR#127919に合わせて適用します。InterpreterTester.shの失敗問題(Issue #127860)をLA64で修正することが目的です。
@StephenMolloy ・ GitHub ・ area-Serialization
XmlSerializer の WriteArray メソッドにおいて、到達不可能な NotImplementedException を削除しました。ローカルで新規構築された memberMapping の ChoiceIdentifier は常に null であるため、この例外スローは実行されないデッドコードでした。配列型の choice 要素の値は、WriteArray 戻り時に呼び出し元の WriteElement で親メンバーに対して記録されるため、リフレクションベースのシリアライザーは既にこれらの型を正しくラウンドトリップしています。
続きを読む
@StephenMolloy ・ GitHub ・ area-Serialization
XML属性のシリアライゼーション処理を改善するPRです。WriteAttributeメソッドでTypeDesc.CanBeAttributeValueが真の場合にXmlAttributeノードの処理に対応しました。これまでNotImplementedExceptionがスローされていた未実装シナリオを解決し、テストを内部テストスイートからメインテストスイートに昇格させました。
@SwapnilGaikwad ・ GitHub ・ community-contribution area-NativeAOT-coreclr
ARM64アーキテクチャにおけるPointer Authentication Code (PAC-RET)機能をNativeAOTに組み込む変更です。これにより、NativeAOTコンパイルされたアプリケーションでも戻りアドレスの認証を通じたセキュリティ強化が可能になります。この変更は#125436 、#127949 、#127838 、#128147 に続く一連の作業の最終段階です。
@simonrozsival ・ GitHub ・ area-System.Security os-android
Android暗号化PAL(Platform Abstraction Layer)における包括的なJNI例外チェック追加を実施。JNI呼び出し後の潜在的な例外をキャッチし、管理コードへの無言の例外漏洩を防止します。ON_EXCEPTION_PRINT_AND_GOTOマクロによる統一的な例外処理、INIT_LOCALS/RELEASE_LOCALSパターンによるローカル参照の厳密な管理、および成功パスでのみ呼び出し側が見える状態を書き込むパターンを導入。
続きを読む
@Copilot ・ GitHub ・ area-Serialization
.NET 8+ で DataContractSerializer が Nullable<T> の [DataContract] 構造体を逆シリアル化する際にキャッシュルックアップループのバグにより SerializationException(DataContract cache overflow)が発生する回帰を修正しました。キャッシュスキャンループが元の計算済みIDと比較していたため、有効なコントラクトが見つからずエラーが発生していました。
修正内容:
// 修正前:同じidと繰り返し比較
for (int i = 0; i < currentDataContractId; i++)
{
if (ContractMatches(classContract, s_dataContractCache.GetItem(id))) // idを繰り返し使用
{
return i;
}
}
// 修正後:ループインデックスiで正しくスキャン
for (int i = 0; i < currentDataContractId; i++)
{
if (ContractMatches(classContract, s_dataContractCache.GetItem(i))) // iを使用
{
return i;
}
}
続きを読む
@alinpahontu2912 ・ GitHub ・ area-System.IO.Compression
ZipArchive APIにパスワード保護されたZipファイルの読み書き機能を追加します。ZipCryptoとWinZip AES暗号化方式の両方に対応し、既存のエントリの読み取り、新規エントリの作成、更新モードでの操作をサポートします。
2026年07月08日 (45 PRs) うち Bot 8 件 この日のページ →
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
スタックに配置されたGCポインタを含む大きな構造体のコピー/ゼロ操作において、GC実行中に部分的に更新されたGCポインタが観察される問題(GC hole)を修正します。JITコンパイラのLowerCopyBlockStore/LowerInitBlockStoreが、管理ヘルパー関数(MEMCPY/MEMZERO)にフォールバックする際にGCセーフポイントを経由していたため、GCが不完全な状態のポインタを見てヒープを破損させる可能性がありました。修正により、アンロール可能なコピーの場合のみ最適化パスを使用し、それ以外ではGC対応のCpObjパスを使用します。また、ゼロ操作はポインタサイズのループを使用するよう変更されました。
続きを読む
@jeffhandley ・ GitHub ・ area-skills
Agentic Workflow定義ファイルのfork guard条件式をパラレン化し、gh aw compileで生成されるYAMLの有効性を確保するもの。単一項の!で始まる条件式がYAMLタグインジケータと解釈されて無効なYAMLが生成される問題を修正。(!github.event.repository.fork)のように括弧で括ることで、有効なYAMLを生成しながら評価結果は同一となる。
@lateralusX ・ GitHub ・ area-System.Threading
StateMachineAsync_CallstackStressWithVaryingDepthsテストの非決定的なバッファフラッシュカウント検証を削除し、テストの不安定性を修正しました。テストの本来の目的であるasync呼び出しスタックフレームデータの妥当性検証は保持されています。
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
JIT コンパイラの Assertion Propagation 機能を改善し、未昇格の Span.Length に対して ">= 0" アサーションを生成するようにしました。これにより win-x64 で約 30KB のコード削減を実現しています。
@janvorli ・ GitHub ・ os-windows area-ExceptionHandling-coreclr
例外がネイティブからマネージコードに遷移する際のフレーム処理を修正しました。ProcessCLRExceptionで使用していたResumableFrameをSoftwareExceptionFrameに置き換え、GCストレステスト中に管理参照がGCに誤ったコンテキストで報告される問題を解決します。
@tarekgh ・ GitHub ・ area-Extensions-Logging
LoggerMessageAttributeのXMLドキュメント remarks におけるLogLevelパラメータに関する不正確な説明を修正しました。メソッドはLogLevelパラメータを持つ必要がなく、代わりに属性のコンストラクタまたはLevelプロパティで指定できること、未指定時のデフォルト値がLogLevel.Noneであることを明記しました。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr runtime-async
非同期関数におけるスタティックベースヘルパーの型付けの問題を修正します。従来は TYP_I_IMPL として扱われていたスタティックベースヘルパーを、非同期関数では TYP_BYREF として型付けることで、共通部分式削除(CSE)が非同期サスペンション を超えて不正に適用されるのを防ぎます。これにより、標準的なbyref処理が自動的に正しい制御フロー解析を行うようになります。
@AaronRobinsonMSFT ・ GitHub ・ area-VM-coreclr
CoreCLRのレガシーなRAII(Resource Acquisition Is Initialization)ホルダーを、トレイトベースのLifetimeHolder<Traits>パターンに段階的に移行するPRです。SafeComHolderファミリーとutilcodeローダーヒープホルダーを新しいパターンに統合し、COM解放のモード処理(プリエンプティブ/協調)を明示的に制御できるようにしています。
続きを読む
@tannergooding ・ GitHub ・ area-System.Linq
LINQ の Lookup/Grouping など複数のハッシュ構造が採用していた count * 2 + 1 の成長戦略と単純なモジュロ演算によるバケットインデックスを、Dictionary<TKey, TValue> と同じ方式に統一しました。HashHelpers.ExpandPrime(素数サイズの成長)と HashHelpers.FastMod(64ビット環境での高速モジュロ計算)を採用することで、バケット分布の改善を実現しています。
続きを読む
@akoeplinger ・ GitHub ・ area-System.Reflection
Roslyn(C#コンパイラ)の上流でCS9363の修正がコンパイラに統合されたため、ポインタ型フィールドのnameofに関する回避策を元に戻すリバートです。System.Runtimeリフレクションテストで、ハードコードされた文字列リテラルの代わりにnameof(...)を再度使用するようになります。
@lateralusX ・ GitHub ・ area-System.Runtime.CompilerServices area-Diagnostics-coreclr
V1(StateMachine)非同期プロファイラーを最適化し、メソッドの各サスペンション時に新しいAsyncStateMachineDispatcherを割り当てるのではなく、単一のディスパッチャーを再利用するようにしました。これにより、N回サスペンドされるメソッドのディスパッチャー割り当てとCreateイベント数がN個からO(1)に削減されます。
@matouskozak ・ GitHub ・ area-System.Globalization os-ios os-tvos
iOS/MacCatalyst/tvOS上で無効化されていたCurrentCulture_Default_Is_Specificテストを再度有効化するPRです。このテストは、CultureInfo.CurrentCultureがCI環境の シミュレータで中立的なカルチャ(en)ではなく、具体的なカルチャ(en-US)を返すことを検証します。テストは#111032 で無効化されていましたが、本PRでこの問題が解決したかCI基盤を検証するため再度有効化しています。
続きを読む
@lateralusX ・ GitHub ・ area-System.Runtime.CompilerServices area-Diagnostics-coreclr
Async Profiler(V1/StateMachine)を拡張し、カスタム awaiter を使用する continuations を AsyncStateMachineDispatcher でラップして、フレームワーク awaiter(Task/ValueTask など)と同様にインストルメンテーション対象にしました。これにより、カスタム awaiter を経由した再開時にも Create/Resume/Complete イベントが発行されるようになり、async causality chain の可視性が向上します。
続きを読む
@kotlarmilos ・ GitHub ・ area-Infrastructure-mono
.NET 11 SDKの新しいエンフォースメントNETSDK1242により、モバイルプラットフォームをターゲットとするNativeAOTおよびMonoビルドが失敗していた問題を修正。NativeAOTでUseMonoRuntime=falseをデフォルト化し、Mono iOS シミュレータパイプラインでSDKチェックをオプトアウトすることで解決。
@tannergooding ・ GitHub ・ area-System.Numerics
System.Numerics(Vector2/3/4、Quaternion、Plane、Matrix3x2/4x4)の型を、複数層のインライン化への依存を減らすようにリファクタリングしました。Vector128<T>ヘルパーを直接呼び出すことで、インライナーへの負荷を軽減し、コンパイル後のコード生成を最適化します。Matrix3x2.Impl.csおよびMatrix4x4.Impl.csを廃止し、実装をメインソースファイルに統合しました。
続きを読む
@Copilot ・ GitHub ・ area-VM-coreclr
CoreCLRが[UnmanagedCallersOnly]属性の新しいAssociatedSourceType名前付き引数を拒否していた問題を修正します。NativeAOTで有効なアセンブリがCoreClRでMETA_E_CA_UNKNOWN_ARGUMENTエラーで失敗する互換性の問題を解決します。
[UnmanagedCallersOnly(AssociatedSourceType = typeof(UnmanagedCallersOnlyBasicTest))]
public static int ManagedToNativeCallbackTest(int a, int b)
{
return a + b;
}
続きを読む
@AndyAyersMS ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssemblyランタイムにおけるJITコンパイラのSCC(強連結成分)スイッチ・ディスパッチ変換を改善し、try/catch以外のtry entryを正しく処理できるようにしました。SCCディスパッチャーはtry領域内に配置され、外部からのフロー制御は正しくtry entryを経由してディスパッチャーに到達します。これにより複数のネストされたtry headerを通過する制御フローにも対応し、非同期処理のフロー問題を修正しています。
続きを読む
@missymessa ・ GitHub ・ area-Infrastructure
内部ツール復元パイプラインの認証方式を、PAT(Personal Access Token)ベースのNuGetサービス接続からWorkload Identity Federation(WIF)ベースのAzure DevOpsサービス接続に移行しています。これはPAT無効化ポリシーへの対応です。
@dotnet-bot ・ GitHub ・ Servicing-approved area-codeflow
.NET 9.0ブランチのバージョンブランディングを9.0.18から9.0.19に更新します。
@dotnet-bot ・ GitHub ・ Servicing-approved area-codeflow
.NET 8.0 の パッチ バージョンを 29 から 30 に更新するブランディング変更です。release/8.0 ブランチのバージョン管理ファイルが更新されました。
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
cDAC(Compact Data Access Component)の ArgIterator に SystemV-AMD64 構造体レジスタ内分類機能を実装し、Unix x64 での GCRefMap 生成がランタイムと一致するようにしました。これにより Linux x64 での ARGITER ストレステストと zero-known-issues GCREFS アサーションを有効化します。キャッシュされた EEClass::m_eightByteRegistersInfo を読み取り、実行時と同じ分類ロジックを提供することで、バイト単位での完全性を保証します。
続きを読む
@tannergooding ・ GitHub ・ area-System.Numerics
NumberStylesに新しいAllowTrailingInvalidCharactersフラグを追加し、すべての数値型(整数、浮動小数点、Decimalなど)のTryParseメソッドに「消費した文字/バイト数」を報告する新しいオーバーロードを導入します。この変更により、数値文字列解析時に最初の無効文字で停止し、解析に使用された入力要素の数を取得できます。
// 新しい用法例
if (int.TryParse("123invalid456", NumberStyles.AllowTrailingInvalidCharacters, null, out int value, out int charsConsumed))
{
// value = 123, charsConsumed = 3
}
// UTF-8オーバーロード
if (int.TryParse(utf8Bytes, NumberStyles.AllowTrailingInvalidCharacters, null, out int value, out int bytesConsumed))
{
// 同様に消費されたバイト数が取得可能
}
続きを読む
@jeffhandley ・ GitHub ・ area-System.IO
Windows上のディレクトリ列挙で、検索パターンがマッチしたファイルがゼロの場合、一部のファイルシステム(読み取り専用/仮想ファイルシステムなど)が STATUS_OBJECT_NAME_NOT_FOUND (0xC0000034) を返す際に、正しく空の結果を返さず FileNotFoundException をスローしていた問題を修正します。.NET 10.0.9における #127974 の導入により発生した回帰で、Azure App Serviceの WEBSITE_RUN_FROM_PACKAGE デプロイメント環境での報告があります。
続きを読む
@ManickaP ・ GitHub ・ area-System.Net.Quic
QUIC実装で使用されるMsQuic Schannel NuGetパッケージを2.5.7から2.5.9にバージョンアップします。これはランタイムのQUIC実装のビルド依存関係の更新です。
@tannergooding ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssembly SIMD(PackedSimd)の基本的なlightup対応を追加し、Vector/PackedSimdの多くのintrinsicsをJITコンパイラで処理できるようにします。Shuffle、GetElement、WithElementなど複雑なコード生成が必要なケースは対象外です。corelib crossgenのスループットが11.57%向上します。
@Copilot ・ GitHub ・ area-Infrastructure
Linux musl(Alpine)環境をインストーラー(ホスト)ビルド・テストパイプラインに追加し、musl環境対応を強化します。これにより、PR段階でのmusl環境下での検証カバレッジが拡大されます。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラの命令グループ(IG)分割機能が、アンワインド情報生成中にプロローグを複数フラグメントに分割してしまう問題を修正します。JITは内部的にすべてのフラグメントが全アンワインドコードを実行することでアンワインド可能であることを前提としているため、プロローグの分割はアンワインドメタデータを不正にする原因となっていました。ストレステスト環境での問題です。
@matouskozak ・ GitHub ・ area-CodeGen-Interpreter-coreclr
CoreCLR インタープリタでのEdit-and-Continue (EnC) デバッグをサポートするために、インタープリタコード実行時の ResumeInUpdatedFunction 呼び出しをスキップするよう変更しました。これにより、インタープリタコードの変更は後続のメソッド実行時に反映されるようになります。
@rcj1 ・ GitHub ・ area-Diagnostics-coreclr
DBI(デバッグ情報インターフェース)のx86スタック アンウインド処理を簡略化するPRです。x86フレームポインタの計算をDBI側から削除し、DAC(Data Access Component)のスタックウォーク処理に統合しました。これにより、プラットフォーム固有の詳細をDacDbi APIに隠蔽し、GetStackWalkCurrentFrameInfoへの統一化を実現しています。
@Copilot ・ GitHub ・ area-System.IO.Compression
圧縮ライブラリのパブリックAPI命名を統一するため、WindowLog/MaxWindowLog を WindowLog2/MaxWindowLog2 に改称しました。これは base-2 対数値であることを明示的にし、Brotli、zlib、Zstandard 全体での一貫性を確保するものです。
サンプルコード:
var options = new ZstandardCompressionOptions
{
Quality = 3,
WindowLog2 = 20
};
var decompressionOptions = new ZstandardDecompressionOptions
{
MaxWindowLog2 = 20
};
続きを読む
@EgorBo ・ GitHub ・ area-NativeAOT-coreclr
Arm64 JITコンパイラのPAGEOFFSET_12Lリロケーション折り畳み最適化をNativeAOT向けに制限するもの。PR #129589で追加されたadrp+add+ldr→adrp+ldr[#:lo12:]への折り畳みは、R_AARCH64_LDST64_ABS_LO12_NCリロケーションを使用しており、これは8バイト境界でのアライメントを要求します。NativeAOTでは4バイト・アライメントのバイトパック冷凍データへの直接64ビットロードが可能なため、リンカーエラーが発生していました。この折り畳みをNativeAOT環境では無効化し、安全なadrp+add+ldrにフォールバックします。
続きを読む
@BrzVlad ・ GitHub ・ area-ReadyToRun
ReadyToRun (R2R) コンパイルの依存関係解析を改善し、GenericLookupSignatureを通じて型ハンドルを取得する際に、その型の継承された仮想メソッドの検出とコンパイルに必要な型使用情報を記録するようにしました。これにより、ジェネリック辞書ルックアップで得られた型インスタンスに対する仮想メソッドのディスパッチが正しく処理されます。LINQ ソート処理などで約20倍のパフォーマンス改善が見られます。
続きを読む
@rzikm ・ GitHub ・ area-System.Net
System.Net.NameResolutionに新しいDNS照会API(Dns.Resolve*静的メソッド、DnsResolver/DnsResolverOptions、レコード型)を追加し、Windows上でDnsQueryExを使用して実装します。A/AAAA/SRV/MX/TXT/CNAME/PTR/NSレコード、DnsResponseCode列挙型、DnsResult<T>エンベロープをサポートします。非Windows プラットフォームは将来の実装までPlatformNotSupportedExceptionを返します。
// 静的メソッドの使用例
var result = await Dns.ResolveAsync("example.com", DnsRecordType.A);
var addresses = result.Records;
// インスタンスベースAPIの使用例
var options = new DnsResolverOptions { NameServers = new[] { IPAddress.Parse("8.8.8.8") } };
var resolver = new DnsResolver(options);
var mxRecords = await resolver.ResolveMXAsync("example.com");
続きを読む
@jeffhandley ・ GitHub ・ area-skills
gh-aw (GitHub Agentic Workflows) をv0.81.6にアップグレードし、すべてのエージェンティックワークフローを copilot-pat-pool という独立した環境に隔離します。これにより、PAT(Personal Access Token)プール管理を環境ベースで制御し、セキュリティを強化します。また、不要になった copilot-echo ワークフローを削除し、PAT プールドキュメントを更新します。
続きを読む
@clamp03 ・ GitHub ・ area-CodeGen-Interpreter-coreclr
arm32環境向けの回避策を削除し、元の動作を復元するPR。PR #128728での例外処理改善により、以前必要だった回避策が不要になったため、bundled argumentsの機能を復元します。
@steveisok ・ GitHub ・ area-Infrastructure
copilot-instructions.mdの「Baseline Build」セクションを、CCA(Copilot Code Analysis)とCLI(対話的使用)の2つのモードに分割し、各モードの実運用ニーズに合わせた異なるガイダンスを提供するように改善しました。CCAは変更なく厳密性を維持し、CLIは既存の成果物がある場合のスキップを許容しつつ、プローブ&フォールバック戦略で信頼性を確保しています。
続きを読む
@GrabYourPitchforks ・ GitHub ・ area-Host
rapidjsonのヘルパー関数をセキュリティ指向でリネームし、インサイチュ解析を削除する変更です。Microsoft内でのセキュリティコンプライアンス要件に対応するため、関数名をparse_fully_trusted_raw_dataとparse_fully_trusted_fileに変更し、呼び出し時点で信頼できるデータのみを処理していることを明示します。同時に、不適切にフォーマットされたJSONをmmap対象のファイルから解析する際にAVが発生する問題を解決するため、インサイチュ解析を削除して通常の解析に統一します。
続きを読む
2026年07月07日 (36 PRs) うち Bot 1 件 この日のページ →
@a74nh ・ GitHub ・ area-CodeGen-coreclr community-contribution
Arm64 JITコンパイラにおいて、checkRMWRegisters関数の呼び出しをRead-Modify-Write (RMW)命令固有に限定する修正です。不要な呼び出しを削除することで、コンパイル時のオーバーヘッドを軽減します。
@MichalStrehovsky ・ GitHub ・ area-NativeAOT-coreclr
Unix環境でのネイティブビルド時に、Clangの-glldbフラグによるLLDB専用デバッグ情報生成を回避し、GDBのDWARFパーサーとの互換性を確保する変更です。-gフラグで標準的なデバッグ情報生成を保証します。
@abhishekabhi73cc-design ・ GitHub ・ area-PAL-coreclr arch-s390x community-contribution
s390x アーキテクチャ上の CONTEXT_CaptureContext 関数で、C_FUNC を EXTERNAL_C_FUNC に変更することで、正しいシンボルリンケージを確保します。
@alinpahontu2912 ・ GitHub ・ area-System.Formats.Tar
Windows環境でシンボリックリンクの走査攻撃テストが失敗する問題を修正しました。チェーンされたシンボリックリンク走査アーカイブの抽出時に、Windows OSビルドによって異なる例外型が発生することに対応し、テストの例外チェックを更新しています。
@MichalStrehovsky ・ GitHub ・ area-System.IO
dotnet/runtimelab#901に関連するActiveIssue属性を削除するテスト修正です。System.IO.FileSystemのDirectory.ExistsおよびFile.Existsテストから条件付きスキップアノテーションを削除し、対応するIssueが解決されたことを示しています。
@MichalStrehovsky ・ GitHub ・ area-CodeGen-coreclr
NativeAOT環境でのStackTrace infra-frame skipping問題(dotnet/runtimelab#183)が解決されたため、JIT inlining最適化テスト(caninline.cs)のNativeAOT向けスキップ属性を削除し、すべての構成で実行可能にしました。
@tmds ・ GitHub ・ area-System.Diagnostics.Process community-contribution
Unix環境でのプロセス起動時にファイル名解決をより正確に行うよう改善しました。access(X_OK)を使用して実行可能ファイルをチェックすることで、ACLやケーパビリティなどのエッジケースに対応し、作業ディレクトリ内の非実行可能ファイルがPATH上の実行可能ファイルをシャドウイングすることを防ぎます。
@MichalStrehovsky ・ GitHub ・ area-NativeAOT-coreclr
NativeAOTで無効化されていたStructPacking相互運用テストを再度有効化するPullRequest。dotnet/runtimelab#181で報告されていた問題が解決されたため、[ActiveIssue]属性を削除してテストを復活させます。
@GrabYourPitchforks ・ GitHub ・ area-System.Text.RegularExpressions
System.Text.RegularExpressions の XML ドキュメント(ドキュメントのみ、コード変更なし)を更新し、正規表現のセキュリティガイダンスをより明確に提示します。Regex 型レベルに ReDoS/DoS 警告を追加し、CISA リンクを ReDoS に特化した OWASP リソースに変更。RegexOptions.NonBacktracking のドキュメントを関連する Learn セクションへ向け直します。
続きを読む
@jtschuster ・ GitHub ・ area-ReadyToRun
macOS上のframework crossgen処理でコア数が過剰割り当てされていた問題を修正し、System.Private.CoreLibコンパイルの性能を向上させます。また、単一アセンブリのコンパイルタイムアウト値を10分から15分に延長し、低速なMac CI環境での処理失敗を回避しています。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラで、例外ハンドラーとフィルター間でのテール マージを禁止し、無効なフロー制御に対する診断チェックを追加する変更です。これにより、正しくない制御フロー パターンをコンパイル時に検出できるようになります。
@Copilot ・ GitHub ・ area-CodeGen-coreclr
JIT合成呼び出しの作成パターンを改善するため、SetCallEntrypointForR2Rヘルパーを新しいファクトリメソッドCompiler::gtNewUserCallNode(handle, type, di)に置き換えました。このメソッドはCT_USER_FUNC呼び出しを作成し、Ready-to-Run(R2R)コンパイル時に自動的にエントリポイントを設定します。複数の合成呼び出しサイト(async/await関連、tailcall dispatcher、特殊コピーヘルパー)で従来の「作成→エントリポイント設定」パターンを単一のAPI呼び出しに統一します。
// 変更前
GenTreeCall* call = gtNewCallNode(CT_USER_FUNC, handle, TYP_VOID);
SetCallEntrypointForR2R(call, this, handle);
// 変更後
GenTreeCall* call = gtNewUserCallNode(handle, TYP_VOID);
続きを読む
@tannergooding ・ GitHub ・ area-CodeGen-coreclr
AVX対応(AVX2非対応)ハードウェアでAVX2が必要なノードが生成されることを防ぐため、RyuJITのSystem.Numerics.Vector/xplat SIMD イントリンシックスのAVX-only ゲーティングロジックをクリーンアップしました。Compiler::impXplatIntrinsicに"AVX-only compatible"チェックを一元化し、散在していたAVX2チェックを削除しています。
続きを読む
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラのWellKnownArgメタデータを一元化するため、単一のwellknownargs.hX-マクロリストを導入しました。このファイルを複数回インクルードして、列挙型および関連するクエリヘルパーを生成します。GDV(ガード付きデバイスの仮想化)候補の引数処理も調整され、予期しないwell-known引数でのアサート失敗を回避するようになりました。
@tannergooding ・ GitHub ・ area-CodeGen-coreclr
AVX比較イントリンシックの定数畳み込み(constant folding)における2つのバグを修正しました。Avx.CompareScalarが"常に真"/"常に偽"の比較モード(OrderedFalse*、UnorderedTrue*)で使用された場合、下位要素のみが結果となるべきところ、上位要素の値が破棄されていました(例:CompareScalar(<1,2,3,4>, ..., OrderedFalse)が<0,0,0,0>ではなく<0,2,3,4>になるべき)。また、gtNewZeroConNodeとgtNewAllBitsSetConNodeがTYP_MASKをサポートしていなかったため、AVX512マスク比較(NI_AVX512_CompareMask)の畳み込みがクラッシュしていました。
続きを読む
@hez2010 ・ GitHub ・ area-CodeGen-coreclr community-contribution
マネージド型システムにおける変性を考慮したインターフェース汎用仮想メソッド(GVM)解決の修正。複数の変性互換なインターフェース実装例を持つ型の場合、メソッド用語を除外した定義を使用してスロット解決を実施してから、メソッドの具体化を再適用することで、不正な仮想化解除ターゲットの選択を防止します。
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
cDAC(Compact Diagnostic Access Component)の DacDbi GetUserState API を実装しました。ExecutionManager の GC-safety APIs と GCInfo contracts を組み合わせ、スレッドの IP(Instruction Pointer)から GC-unsafe point の状態を判定します。また、ダンプテストで GetUserState と contracts から計算された GC-safepoint 状態の相互検証を追加しました。
続きを読む
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラが、ループのインダクション変数に対する自明に冗長な比較をコンパイル時にフォールドするための最適化を改善しました。SSA範囲クエリの予算を64から256に増加させることで、RangeCheck::TryGetRangeがループインダクション変数パターンの範囲をより正確に計算できるようになります。
static void Test()
{
for (int i = 0; i < 100; i++)
{
if (i >= 0) // コンパイル時に常にtrueと判定され、フォールド可能に
{
Console.WriteLine("Hi");
}
}
}
続きを読む
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
JIT のループ誘導変数最適化において、拡張された誘導変数(widened IV)の初期化が到達不可能なブロックに配置されるバグを修正しました。冗長分岐最適化(RBO)のジャンプスレッディングにより、狭い IV の到達定義ブロックがループに到達しなくなった場合でも、拡張 IV の初期化がそのブロックに配置されていました。修正では、到達定義が PHI でない場合のみそのブロックを使用し、PHI の場合はプリヘッダーにフォールバックするようにしました。
続きを読む
@Copilot ・ GitHub ・ area-System.Threading
Apple プラットフォーム(iOS、tvOS、MacCatalyst)において、マネージドスレッド名をネイティブスレッドに設定する際のプラットフォームガード条件を TARGET_OSX から TARGET_APPLE に更新しました。これにより、すべての Apple プラットフォームでネイティブデバッガーやツールがマネージドスレッド名を正しく認識できるようになります。
@liveans ・ GitHub ・ area-System.Net
System.Net.Mail のメールアドレスパース処理において、CR (キャリッジリターン) および LF (ラインフィード) 文字を含むメールアドレスを拒否するようにしました。この変更により、SMTP インジェクション攻撃などのセキュリティリスクを軽減します。
@kotlarmilos ・ GitHub ・ area-Infrastructure
CI自動化ワークフローの指示を改善し、重複する[ci-fix] PRと再提出されるKBEを削減するため、Fixer dedupロジックとモバイルトリミングガイダンスを強化しました。信頼性の低い#<kbe>トークン検索の代わりに、解析済みのLinked KBE:マップを使用した堅牢なdedup処理を導入しています。
@alinpahontu2912 ・ GitHub ・ area-System.IO.Compression
ZIP ファイルの "version made by" フィールドを公開 API として公開するため、ZipArchiveEntry に新しいプロパティ VersionMadeBy を追加します。このプロパティは ZIP 中央ディレクトリに格納されたメタデータ(ホストプラットフォーム + ZIP 仕様バージョン)を ushort として取得できます。
public ushort VersionMadeBy { get; }
続きを読む
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
JITのLowerStoreCoalescingを拡張し、絶対定数アドレスへの隣接するSTOREINDノードの認識と合体をサポートしました。非GCスタティック構造体の隣接フィールドへの複数の書き込みを、単一の広いストア命令に統合できるようになり、コード生成が最適化されます。
例:
private struct S2 { public int A, B; }
private static S2 s_static2;
private static void Test()
{
s_static2.A = 1; // 2つの書き込みが
s_static2.B = 2; // 1つのqword storeに合体
}
続きを読む
@dotnet-bot ・ GitHub ・ area-System.Runtime.InteropServices
OneLocBuild自動タスクによるローカライズファイルの定期チェックインです。System.Runtime.InteropServices および System.Text.Json ライブラリのリソースファイル(.xlf形式)の多言語翻訳が更新されます。
@hez2010 ・ GitHub ・ area-CodeGen-coreclr community-contribution
Activator.CreateInstance<T>()の戻り値型が常に正確な型引数TであることをJITに教えることで、後続の最適化(特にデバイラチュアライゼーション)を可能にします。これにより、仮想メソッド呼び出しを直接呼び出しに置き換え、コード生成を大幅に改善できます。
static T Get<T>() where T : new()
{
return new T();
}
// Get<A>().VirtualMethod() の仮想呼び出しが直接呼び出しに最適化される
続きを読む
@leculver ・ GitHub ・ bug area-Diagnostics-coreclr area-Diagnostics-cdac
PR #126592で削除されたthreadData->state = thread->m_State;をClrDataAccess::GetThreadDataに復元し、DACConsumer(SOS等)がスレッドごとのThreadStateフラグを再び観察できるようにします。同時にスレッド状態の列挙型を拡張し、GC/デバッグサスペンションフラグ、COMアパートメントフラグ、スレッドアボート関連フラグなど、ランタイムデバッグに重要なフラグをすべて網羅しました。
続きを読む
@EgorBo ・ GitHub ・ area-GC-coreclr
FEATURE_BASICFREEZE フィーチャーフラグを完全に削除し、読み取り専用/凍結セグメント (Frozen Segment) サポートを無条件有効化します。このフラグは全ての出荷構成(CoreCLR、NativeAOT、standalone clrgc)で年来無条件定義されていたため、不要な条件付きコンパイルコードを削除してコード品質を向上させます。
@jakobbotsch ・ GitHub ・ area-VM-coreclr runtime-async
タスク戻り値型の非同期サンク内で、すでにJIT生成コードで実行される文脈保存/復元を削除することで、パフォーマンスを改善します。また、サンク関連の型およびメソッドをNonVersionableでマークし、crossgen2による効率的な処理を実現します。ReadyToRun(R2R)バージョンを25に上げ、内部関数を以下のように大幅にリネーム:FinalizeTaskReturningThunk → CreateRuntimeAsyncTask、FinalizeValueTaskReturningThunk → CreateRuntimeAsyncValueTask、await補助関数をSuspend/TransparentSuspendに、TransparentAwaitWithResultをTransparentAwaitに変更。
続きを読む
@janvorli ・ GitHub ・ area-GC-coreclr
GC(ガベージコレクション)のバックグラウンドスイープ処理中に実行されていたverify_soh_segment_list()呼び出しを削除します。この呼び出しはrestart_EE()後の並行スイープループ内で実行されていたため、他のスレッドからのメモリ割り当てとSOH(Small Object Heap)セグメントリストの更新が競合し、検証が誤ったエラーを報告する問題がありました。検証処理はGCの同期フェーズ境界に限定し、レースコンディションが存在するループ内の呼び出しのみを削除します。
続きを読む
@cdmazom ・ GitHub ・ area-System.Reflection community-contribution
プロセス全体で有効な、一度だけ設定可能なコールバックを通じて Assembly.Location の戻り値をオーバーライドする新しいパブリックAPI AssemblyLoadContext.SetAssemblyLocationOverride を追加します。このオーバーライドはCoreClr、Mono、NativeAOTの全ランタイムで一貫して適用されます。
サンプルコード:
AssemblyLoadContext.SetAssemblyLocationOverride((assembly, originalLocation) =>
{
return "/custom/path/" + Path.GetFileName(originalLocation);
});
続きを読む
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
Explicit layoutで構造体のSIMDフィールドが通常のフィールドとエイリアスされている場合、JITのプロモーション最適化が正常に機能しない問題を修正します。promoted struct LCL_VARがFIELD_LIST用途に伝播されるのを防ぐことで、不正なコード生成を回避します。修正は最小限に抑えられており、サイズ回帰を防ぐために慎重に設計されています。
@lilinus ・ GitHub ・ area-System.Numerics.Tensors community-contribution
TensorPrimitives の内部実装をモダン化するクリーンアップPR。.NET Core専用にコンパイルされるファイルに存在していた #if !NET の不要なフォールバック実装を削除し、Vector128/256/512 APIを直接使用するように統一。内部ヘルパーメソッド(IsNaN/IsPositive/IsNegative)および未使用の Tensor.CalculateCopyLength メソッドも削除。
続きを読む
@trungnt2910 ・ GitHub ・ area-PAL-coreclr community-contribution os-haiku
Haiku OSにおいて、プライベートPROT_NONEマッピング用の冗長なMAP_NORESERVEフラグを削除するクリーンアップ。Haiku の新しいバージョンでは、書き込み不可(PROT_WRITEなし)のプライベートマッピング内でのメモリコミットを回避するため、この冗長なフラグを削除して動作を標準化する。
@PranavSenthilnathan ・ GitHub ・ area-System.Security
OpenSSL RSA相互運用層のコメントを拡充し、RSA PKCS#1の暗黙的な拒否(implicit rejection)機能を無効化する理由を詳しく説明しました。
2026年07月06日 (30 PRs) うち Bot 12 件 この日のページ →
@Copilot ・ GitHub ・ area-Host
iOS/tvOS/MacCatalystの最小デプロイメントターゲットが13.0になったため、LogAssertの時間取得処理を簡素化しました。これらのプラットフォームではtimespec_getが利用可能になり、gettimeofdayへのフォールバックが不要になりました。AndroidはAPI レベルの制限により引き続きフォールバックを使用します。
@akoeplinger ・ GitHub ・ area-Infrastructure
CommandLineParser NuGetパッケージへの未使用な依存関係を削除しました。テストプロジェクトから該当する参照を除去することで、プロジェクトの依存関係を整理しています。
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
JIT の bounds-check elimination(配列境界チェック最適化)における正確性バグを修正します。Phi ノード(複数の分岐から来た値)がマイナスの定数を含む場合、最大値ではなく最小値 が 0 以上であることを確認する必要があります。この修正により、負の最小値を持つ Phi インデックスを使用した配列アクセスで発生していた AV(アクセス違反)を防止します。
@tannergooding ・ GitHub ・ area-System.Numerics
Matrix4x4.Implの数学カーネルをISA固有の実装からクロスプラットフォーム対応のVector128 APIを使用した実装に移行します。SSE専用パスとスカラーフォールバックを置き換え、WebAssembly SIMD対応パスも追加されます。
@vitek-karas ・ GitHub ・ area-Infrastructure
ci-failure-scan ワークフロープロンプトを更新し、ソースビルドの複数の異なる障害ファミリが単一のログに統合されるのを防ぐため、すべての関連する失敗した Helix ワークアイテムを先に列挙した後に署名をグループ化するよう改善しました。これにより、1つのソースビルドに複数の失敗ケースが存在する場合でも、すべての障害が正しく検出されるようになります。
@eiriktsarpalis ・ GitHub ・ area-System.Text.Json
System.Text.Json ソースジェネレータで、[JsonInclude]属性が付与されたアクセス不可能なメンバー(private/protected/internal)のサポートを再度有効化します。.NET 8以降では[UnsafeAccessor]、それ以前では リフレクション フォールバックを使用して、これらのメンバーへのアクセスを自動生成します。以前は外部依存(MCP SDK)のワークアラウンドに対応するため意図的に無効化されていましたが、その依存関係が削除されたため復活させます。
続きを読む
@MichalStrehovsky ・ GitHub ・ breaking-change area-Interop-coreclr needs-breaking-change-doc-created
DisabledRuntimeMarshalling インタロップテストを Native AOT で実行可能にするPRです。ほとんどのテストは既に合格していましたが、Native AOT レベルのテストゲーティング(NativeAotIncompatible属性)を削除し、AOT ツールチェーンの UnmanagedCallersOnly 検証をマーシャリング要件検出に対応させました。1つのテストは Native AOT ではスキップされます(例外が native transition をエスケープする fail-fast 動作による設計上の制限)。
続きを読む
@eiriktsarpalis ・ GitHub ・ area-System.Text.Json
System.Text.Json ソースジェネレータが、生成コード内で参照される [Experimental] 属性付きシンボルによる診断を抑制するように更新されました。既存の [Obsolete] 抑制メカニズムと同様に、生成されたコードは [Experimental] シンボルを参照する際に #pragma warning disable <id> ディレクティブを出力します。
@lateralusX ・ GitHub ・ area-System.Threading.Tasks area-Diagnostics-coreclr
非同期計装(async profiler、TPL EventSource、debugger)の3つのクライアントが個別の条件チェックで統一されたフラグゲートを共有するようにリファクタリングされました。この変更により、ILLinkerが無効なフラグパスを確実にDCE(Dead Code Elimination)でき、特にhotp-pathでの条件チェック命令数が削減されます。AsyncInstrumentation.IsActiveは1回のフラグロードと比較で済み、個別のAsyncInstrumentation.IsEnabled.AsyncProfiler/AsyncDebugger/Tplはシンプルなビットチェックに最適化されます。
続きを読む
@Copilot ・ GitHub ・ area-System.Threading
Unix上の名前付きミューテックスで使用される共有メモリディレクトリの検証ロジックを改善し、ディレクトリ作成中の所有権やアクセス権の一時的な状態変化に対応するようにしました。複数プロセスが同時にディレクトリを作成・開こうとする際の競合状態を緩和し、CI環境でのテスト失敗を解決します。
@vcsjones ・ GitHub ・ area-System.Security
AES暗号化のワンショット操作(EncryptCbc、DecryptCbc、EncryptEcb、DecryptEcb)におけるcipher handleをキャッシュし、繰り返し呼び出し時の再利用を実現する変更です。同時実行によるデータ破損を防ぐためConcurrencyBlockを導入し、プラットフォーム実装(OpenSSLなど)の内部状態を保護しています。
@steveisok ・ GitHub ・ area-CodeGen-Interpreter-coreclr
ARM64でのDAC フォールバック コンテキスト問題を修正します。リモートデバッグ時にShimRemoteDataTarget::GetThreadContextがE_NOTIMPLを返す場合、DACが明示的フレームからコンテキストを合成しますが、ARM64ではインタプリタスタックウォークの際に整数レジスタ(X0)がスキップされていました。この修正により、フォールバックコンテキストフラグにDT_CONTEXT_INTEGERを含めることで、X0が一貫して保持され、StackFrameIterator::ResetRegDispでのアサート/クラッシュを防ぎます。
続きを読む
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
ThreadStressLogDataの公開APIサーフェスを縮小し、GetStressMessagesAPIを簡潔にするリファクタリング。ThreadStressLogDataを8フィールドから3フィールド(Address、ThreadId、WriteHasWrapped)に削減し、GetStressMessagesのシグネチャをThreadStressLogDataパラメータからTargetPointerアドレスに変更。内部実装の詳細(チャンクポインタ、ライトポジション)を隠蔽し、コントラクト実装が内部でスレッスログデータを再読込。
続きを読む
@vcsjones ・ GitHub ・ area-System.Security
X25519 Diffie-Hellman実装とそのテストスイートをsrc/libraries/Commonに移動し、共有化を実現するリファクタリング。Microsoft.Bcl.Cryptographyを拡張してX25519 APIをダウンレベルターゲットで公開し、.NET 11以上ではSystem.Security.Cryptographyに型転送。また、CNG関連のヘルパーを中央集約化し、複数の暗号型間で重複を排除。
続きを読む
@dotnet-renovate-bot ・ GitHub ・ area-Infrastructure community-contribution
Renovate Botによる自動化された依存関係更新PR。mcr.microsoft.com/dotnet-buildtools/prereqsコンテナイメージの35個のダイジェスト参照を最新バージョンに更新しています。これはビルドインフラストラクチャの前提条件イメージの定期メンテナンスです。
@eterekhin ・ GitHub ・ area-Debugger-mono community-contribution
Monoデバッガーが初期化されていないbyrefフィールドを持つ構造体でのメソッド呼び出しを実行する際に発生する「Internal evaluator error」を修正しました。問題は、構造体のbyrefフィールドがバッファリング時にVALUE_TYPE_ID_NULLとして扱われ、デバッガーがメソッド呼び出しを試みる際に不正な状態で構造体をデコードしていたことです。本修正により、初期化されていないbyrefフィールドを適切に処理し、デバッガーが渡すバイトデータを正しく読み込みます。
続きを読む
@Copilot ・ GitHub ・ area-ReadyToRun
Windows x86でのcrossgen2-comparison CI ジョブで発生していた'"\dotnet.exe"' is not recognizedエラーを修正します。問題の原因は、dotnet.cmdが236個の並列プロセスから同時にアクセスされる際に、artifacts/toolset/sdk.txtの初期化がレース条件で失敗していたもの。修正では、並列実行前にdotnet.cmd --version(Windows)またはdotnet.sh --version(Unix)を実行して、事前にsdk.txtを初期化することで競合状態を回避します。
続きを読む
@Copilot ・ GitHub ・ area-Infrastructure linkable-framework
tlensプロジェクト削除後に残された孤立ファイルを削除するメンテナンス変更。src/tools/illink/external/Mono.Options/Options.csはtlensプロジェクトのみで使用されていたGetArgumentNameバグの唯一のコンシューマーであり、tlens削除後は不要になったため、このファイルおよびexternal/ディレクトリ全体を削除します。
2026年07月05日 (3 PRs) この日のページ →
@am11 ・ GitHub ・ area-Infrastructure-coreclr community-contribution
ビルドスクリプト間の--keepnativesymbolsオプションの動作を統一するPR。
従来、./build.shではこのオプションが値を必須とする引数形式(--keepnativesymbols true)でしたが、src/tests/build.shではスイッチ形式(値なし)で実装されていました。
本変更により、両スクリプトで統一してスイッチ形式(値なし)に変更されています。
@BradBarnich ・ GitHub ・ arch-arm64 area-GC-coreclr community-contribution
GCハンドル割り当て時にリリースセマンティクスを使用して、弱順序のARM64システムにおけるメモリ可視性の問題を修正します。従来のプレーンストア(*handle = value)では、オブジェクト初期化前の書き込みが他スレッドに可視化される前に、そのハンドルを通じてオブジェクト参照が公開される可能性がありました。
修正内容:HndAssignHandleとHndAssignHandleGCでプレーンストアをVolatileStoreに変更し、ハンドル割り当てをリリース公開ポイントとします。
// 修正前
*(_UNCHECKED_OBJECTREF *)handle = value;
// 修正後
VolatileStore((_UNCHECKED_OBJECTREF *)handle, value);
続きを読む
@hamarb123 ・ GitHub ・ area-System.Runtime tenet-performance community-contribution
string.Split(char, ...) のパフォーマンスを最適化するPRです。単一文字セパレータ(最も一般的なケース)を対象とした特化した高速パスを追加し、ベクトル化実装によるセパレータ位置スキャンを導入しました。
2026年07月03日 (21 PRs) この日のページ →
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr arch-riscv
RISC-V エミッタにおいて、コード生成前の段階で emitLoadImmediate がコスト推定目的で gtSetEvalOrder から呼び出される際、emitter::Init() 実行前の初期化されていない emitCurIG ポインタを参照して SIGSEGV クラッシュが発生する問題を修正します。emitCurIG をデフォルト初期化(= nullptr)することで、JIT初期段階での安全なクエリ動作を保証します。
続きを読む
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
Tier 0 JITコンパイル中にtail await最適化を有効化し、Tier 1にティアアップされるまで待たずにメモリアロケーションを削減する変更。TechEmworksベンチマークにおいて、最大アロケーション率が約110MB/secから8MB/secへと大幅に低下しました。
@kotlarmilos ・ GitHub ・ area-Infrastructure os-ios
iOS デバイスキューのインフラストラクチャ問題が解決されたため、iOS ライブラリテストレグをシミュレーターから物理デバイスへ戻すCIパイプラインの変更です。NativeAOT と CoreCLR のライブラリテストジョブを iossimulator_arm64 から ios_arm64 に戻し、一時的なワークアラウンドノートを削除します。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
Wasm JITコンパイラのDFS(深さ優先探索)グラフ走査において、try領域へのside entry(非同期やcatch再開地点など)からのエントリーを正式なtryエントリーとして扱うように改善しました。これにより、throw helperブロック(ACD)がDFS内で確実に優先的に訪問され、RPO(逆事後順序)内で最後に配置されるようになり、領域内のどのエントリーからでも前方分岐でアクセス可能になります。
続きを読む
@MichalStrehovsky ・ GitHub ・ area-Extensions-Caching
PR #129897で実装されたMemoryCacheスレッドセーフティテストの決定論的変更をリバートします。CI失敗(Issue #130139)に対応するため、時間ベース/同時実行ループ形式のテストを復元し、失敗シナリオに対してActiveIssueスキップを追加します。
@eduardo-vp ・ GitHub ・ area-CodeGen-coreclr
OutOfMemoryException テストが GC Stress 環境で不安定な動作をするため、テスト設定を更新して GC Stress での実行を除外しました。GC Stress 中の追加メモリ割り当てにより、期待されるタイミングより早くテストループが完了してしまい、OOMException が正しく発生しない問題を解決します。
@eiriktsarpalis ・ GitHub ・ area-System.Text.Json
System.Text.Json ソースジェネレータテストプロジェクトの trim/AOT アナライザーを有効化し、PR ビルド時に AOT/trim 回帰をキャッチできるようにします。テストコードを更新して反射ベースのシリアライズパスを避け、JsonTypeInfo ベースの API を優先する、または反射使用を明示的に注釈付けします。これにより、Native AOT outerloop 実行時のみでなく通常の PR でも検出が可能になります。
続きを読む
@kotlarmilos ・ GitHub ・ area-Infrastructure-mono
Mono iOS シミュレータ(arm64)CI ジョブを runtime-extra-platforms-ioslikesimulator.yml パイプラインに再追加します。このジョブは Mono(AOT + forced interpreter)でプロダクトをビルドし、Helix でライブラリスモークテストを実行することで、Mono が iOS シミュレータ上で継続的に正常にビルド・動作することを検証します。
続きを読む
@Copilot ・ GitHub ・ area-System.Runtime
String.Substringメソッドの引数チェックで使用されるThrowSubstringArgumentOutOfRangeヘルパーメソッドをstaticに変更し、thisの参照を渡さないようにリファクタリングしました。これにより、JIT のエスケープ分析がより効果的に動作し、パフォーマンスが向上する可能性があります。例外の動作は変わりません。
@sbomer ・ GitHub ・ area-NativeAOT-coreclr
NativeAOT構築時のILCompilerパックバージョン管理を改善するPR。Microsoft.DotNet.ILCompilerパッケージがインポートする.targetsファイルで、KnownILCompilerPackの更新を明示的なPackageReference参照に限定し、SDK生成の暗黙的参照がSDK同梱版を上書きするのを防止します。
@kotlarmilos ・ GitHub ・ area-VM-coreclr
crossgen2の--strip-il-bodiesオプションで生成されたReadyToRun イメージにおいて、実行時に予期せず必要とされるストリップされたIL本体を検出し、不透明なNullReferenceExceptionの代わりに説明的なBadImageFormatExceptionをスロー するようにしました。これにより、デバッグ時に実際の問題(ストリップされたIL本体)を特定しやすくなります。
続きを読む
@am11 ・ GitHub ・ area-Diagnostics-coreclr community-contribution arch-loongarch64 arch-riscv
RV64(RISC-V 64-bit)のデバッガレジスタセット実装をLA64(LoongArch 64-bit)およびARM64と整列させる変更。前回のPR #129671のフォローアップで、複数のアーキテクチャ間でデバッガレジスタ処理の一貫性を向上させています。
@Copilot ・ GitHub ・ area-skills agentic-workflows
CI パイプラインモニタードキュメントに9つの欠落パイプラインを追加し、Pipeline Details テーブルと Cached Definition ID Mapping テーブルの順序を統一しました。GC関連パイプライン(gc-simulator、gc-standalone)とアウターループ関連パイプライン(r2r、interpreter、nativeaot-outerloop、diagnostics など)を論理グループで整理し、キャッシュテーブルを定義ID昇順に並べ替えています。
続きを読む
@MichalPetryka ・ GitHub ・ area-Infrastructure community-contribution
Linux プラットフォームで Identical Code Folding (ICF) を有効化する変更です。ICF はリンカーの最適化機能で、機械的に同一のコード セグメントを統合してバイナリ サイズを削減します。平均で約 2% のサイズ削減が見込まれます。
@svick ・ GitHub ・ breaking-change area-Extensions-Primitives needs-breaking-change-doc-created
Microsoft.Extensions.Primitives.ChangeToken.OnChangeに非同期オーバーロードを追加し、change tokenの発火時にasync voidを使用せずに非同期ロジックを実行できるようにしました。既存の同期実装はChangeTokenRegistration<TState>を抽象基底クラスに再構成し、SyncChangeTokenRegistrationとAsyncChangeTokenRegistrationのサブクラスに分割しています。
新しいオーバーロード:
public static IDisposable OnChange(
Func<IChangeToken?> changeTokenProducer,
Func<Task> changeTokenConsumer);
public static IDisposable OnChange<TState>(
Func<IChangeToken?> changeTokenProducer,
Func<TState, Task> changeTokenConsumer,
TState state);
続きを読む
@jtschuster ・ GitHub ・ area-ReadyToRun
このPRは、同期的なTask/ValueTask戻り値メソッドの「runtime async版」コンパイルをcrossgen2/ReadyToRunおよびNativeAOTシナリオに対応させるもの。新しいJIT/EEインターフェースメソッドgetAwaitReturnCallとCORINFO_ASYNC_VERSIONオプションを導入し、非非同期ILを再利用しながらawait/unwrapping呼び出しを合成することで、async版メソッドが元のILの動作と一致するシグネチャを持つようにします。
続きを読む
@Copilot ・ GitHub ・ area-VM-coreclr runtime-async
ジェネリック仮想メソッドと共変戻り値型の組み合わせで、ReturnDroppingThunk (RDT) メソッドのルックアップ時にアサーションが発生する問題を修正しました。AsyncVariantLookup 列挙型に ReturnDroppingThunk 値を追加し、通常の非同期変種との区別を可能にすることで、FindOrCreateAssociatedMethodDesc での並列ルックアップを正式にサポートしました。
続きを読む
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
RyuJIT のレンジチェック処理を簡素化するクリーンアップPR。未使用の GTF_CHK_INDEX_INBND フラグと FEATURE_ENABLE_NO_RANGE_CHECKS 機能フラグを削除し、アサーション伝播での境界チェック除去ロジックを直接実装に置き換え、オペランドの副作用を正しく保持する改善を実施しました。
@alinpahontu2912 ・ GitHub ・ area-System.Formats.Tar
System.Formats.TarのTar抽出処理においてシンボリックリンク解決後の抽出先がディレクトリトラバーサル攻撃によって意図したディレクトリの外に出ないことを検証するセキュリティ強化です。シンボリックリンク対応の脱出チェック機能を追加し、チェーンされたシンボリックリンクを含む複数のトラバーサル攻撃シナリオに対するテストを追加しています。
@Copilot ・ GitHub ・ area-CodeGen-coreclr
JIT の optOptimizePostLayout で JTRUE ノードの条件反転時に、LSRA が挿入した GT_COPY/GT_RELOAD の上に新しい IR ノードを作成してしまい、LIR に未挿入のノードが発生してクラッシュする問題を修正。新たに gtTryReverseCond() を導入し、インプレース反転が可能な場合のみ実行し、不可能な場合はブロック反転をスキップするようにしました。
続きを読む
@RaymondHuy ・ GitHub ・ area-System.Numerics new-api-needs-documentation community-contribution
IEEE 754-2019仕様に準拠したDecimal32、Decimal64、Decimal128の3つの10進浮動小数点型を.NETランタイムに追加します。これらは金融計算や科学計算など精度が重要なアプリケーション向けの新しい数値型です。
2026年07月02日 (24 PRs) この日のページ →
@MihaZupan ・ GitHub ・ area-System.Memory
PR #128306で導入されたパフォーマンス回帰を修正します。IEnumerable入力で整数型Tの場合、Min/MaxメソッドがIComparer経由の比較ではなく<演算子を直接使用するための最適化パスを復元します。
@PranavSenthilnathan ・ GitHub ・ area-System.Security
ML-DSA PKCS8エクスポート関連の無効化されていたテストを再度有効化するPull Requestです。Issue #118609に対応しており、テストコードの調整を通じて機能の確認を行っています。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
WASM JIT コードジェネレータのビルド破損を修正します。デバッグアサーションで使用するプロログ状態の確認方法を、廃止されたコンパイラフラグから emitter のクエリメソッドに変更し、他の codegen バックエンドとの実装パターン統一を図ります。
@a74nh ・ GitHub ・ area-CodeGen-coreclr community-contribution
Arm64ハードウェアイントリンシック(HWIntrinsic)テストフレームワークにおいて、AesとCrc32テストがコンパイルされていなかった問題を修正します。テスト生成ロジックの設定を修正し、これらのテストが適切にテストフレームワークに含まれるようにします。
@jjonescz ・ GitHub ・ documentation area-Meta
unsafe修飾子を追加することが破壊的変更に該当することを、破壊的変更ドキュメントルールに明示的に記載する更新です。C#のメモリ安全性/unsafe進化セマンティクスに関連する変更シナリオとして位置付けられています。
@pavelsavara ・ GitHub ・ arch-wasm area-Host os-browser
Emscripten 5.0.6 / LLVM 23へのバージョンアップにより、-O3オプション下でのメタDCE処理がユーザー指定のWasm エクスポートを削除しなくなったため、以前の回避策を削除するPRです。ブラウザターゲットで-O3最適化を有効化し、他のUNIXターゲットと同等の最適化レベルを実現します。
@MichalStrehovsky ・ GitHub ・ area-NativeAOT-coreclr
ジェネリック型の検索対象を検証し、AOT(Ahead-of-Time)コンパイル時に型ロードエラーを早期に検出できるようにします。スキャナーでトークン検証を追加することで、Debug ビルドと同様に Release ビルドでも型ロードエラーをキャッチし、エラーハンドリングが可能な地点で回復処理(例:例外をスローする本体の生成)を実行できるようになります。
@AndyAyersMS ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssembly (wasm) JIT コード生成において、TYP_SIMD16(Vector128)値に関連する未実装のパスでReadyToRun(R2R)コンパイルをベイルアウトするようにします。現在、TYP_SIMD16パラメータがwasm署名上でi32として表現されているため、これらを適切に処理できない場合にベイルアウトして無効なwasmモジュール生成を防ぎます。
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
cDAC(Compact Data Contract)の RuntimeTypeSystem に HFA/HVA(Homogeneous Float/Vector Aggregate)分類機能を追加し、ARM/ARM64 プラットフォームでの GCRefMap 合成を正確に実現するもの。これにより Windows ARM64、Linux ARM、Linux ARM64 での ARGITER ストレステストと GCRef 検査が有効化されます。
続きを読む
@Copilot ・ GitHub ・ area-Interop-coreclr
IJWテストのネイティブプロジェクトがArm64で誤って除外されていた問題を修正するもの。src/tests/Interop/CMakeLists.txtの古いアーキテクチャゲートを削除し、Arm64ビルド時にもIJWネイティブテストプロジェクトが含まれるようにしました。
@kotlarmilos ・ GitHub ・ area-crossgen2-coreclr
crossgen2の--strip-il-bodies最適化がruntime-asyncで非同期Taskメソッドに対して誤ってILを削除していた回帰に対する決定論的なテストを追加します。このテストは、どのメソッドのILを保持・削除すべきかを検証し、非同期Task<T>/ValueTask<T>/Task/ValueTask-returning メソッド、ジェネリックメソッド、およびジェネリック型のメソッドがILを保持し、通常のメソッドと非同期Task<T>/ValueTaskメソッドは削除されることを保証します。
続きを読む
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
x86コードジェネレーションの非決定性を修正します。DecomposeLongCompareで64ビット比較を分解する際、ホストアーキテクチャが対象より広い場合(例:x64ホストでx86向けクロスコンパイル)、定数の上位ビットが破損していました。SetIconValueの代わりにSetValueTruncatingを使用することで、ホストポインタサイズに関わらず一貫した符号拡張を保証し、同じ定数に対してx86エミッタの即値エンコーディングサイズ判定を統一します。
続きを読む
@AaronRobinsonMSFT ・ GitHub ・ area-VM-coreclr
CoreCLRのRAII(リソース自動管理)ホルダーを、レガシーなWrapper/SpecializedWrapperパターンから trait ベースのLifetimeHolder<Traits>パターンへ段階的に移行する継続的なリファクタリングです。複数の VM・ユーティリティホルダー(文字列リテラルエントリ、ネイティブライブラリハンドル、メモリマップビュー、PE ファイル、RCW)を新しいパターンに統一し、コード品質と保守性を向上させます。
続きを読む
@tannergooding ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラのクロスプラットフォーム(xplat)ベクトル組み込み関数サポートを統一し、単一のテーブルと命令セットに統合するリファクタリングです。約3000行のコード削除を実現し、コード重複を排除することで、将来的にWASMおよびARM64 SVEサポートを追加する際の拡張性を向上させています。
@kotlarmilos ・ GitHub ・ area-Build-mono
Mono ベースの SDK でビルドする際、マルチターゲットライブラリのモバイルターゲットフレームワーク(-android、-ios、-tvos、-maccatalyst)が誤って Mono ランタイムを選択することを防ぐ変更です。モバイル TFM は CoreCLR のみをサポートしているため、UseMonoRuntime を明示的に false に設定して常に CoreCLR でビルドされるようにします。
続きを読む
@Copilot ・ GitHub ・ area-System.Threading
CORINFO_HELP_GETCURRENTMANAGEDTHREADIDヘルパーをJITの値番号付け(VN)で純粋(pure)な定数操作として扱わない変更です。非同期サスペンション時に実行が別のスレッドで再開される可能性があり、複数の呼び出しが同じ値を返すと仮定することは不正確になるため、この修正が必要です。
@elinor-fung ・ GitHub ・ area-VM-coreclr
ホストから提供される4つのプローブパス関連プロパティ(TRUSTED_PLATFORM_ASSEMBLIES、NATIVE_DLL_SEARCH_DIRECTORIES、PLATFORM_RESOURCE_ROOTS、APP_PATHS)をCLR設定ノブとAppContextから削除し、必要時にバインダー/AppDomainの内部状態から再構築することで、メモリ使用量を削減します。特にTPAリストは複製が削除されることで顕著な改善が期待できます。
続きを読む
@vcsjones ・ GitHub ・ area-System.Security tenet-performance
Windows プラットフォームの AES-KWP (AES Key Wrap with Padding) 実装を最適化するもの。再利用可能な "lite" ECB 暗号を用いることで、ループ内でのハンドル設定/破棄の繰り返しを排除し、5〜20倍のパフォーマンス向上を実現。あわせて、カスタムデリゲート型を汎用的な Func に置き換えることで内部実装を簡潔化。
@elinor-fung ・ GitHub ・ area-Host
nethost を完全に C 言語に変換し、C++ ランタイム依存を排除するプロジェクトの最終段階です。nethost.cpp を nethost.c に置き換え、既存ライブラリの検出機能を PAL に追加し、fxr_resolver の C++ ラッパーを削除しました。これにより、バイナリサイズが大幅に削減されています(Linux x64: 80.6%削減、macOS arm64: 75.5%削減)。
続きを読む
@pavelsavara ・ GitHub ・ arch-wasm os-browser area-CodeGen-Interpreter-coreclr
WebAssemblyプラットフォーム(CoreCLR インタプリタ、FEATURE_PORTABLE_ENTRYPOINTS)でR2R(Ready-to-Run)コンパイル済みメソッドをリフレクションとUnmanagedCallersOnly経由で呼び出す際に発生するクラッシュを修正しました。
根本原因は、インタプリタバイトコードが存在しないR2Rメソッドに対してMethodDesc::GetInterpreterCode()がNULLを返し、wasmの線形メモリ読み込みにより無効なオペコードINTOP_INVALIDがディスパッチされていたことです。
修正により、リフレクション経由ではR2Rコードへのフォールバック、UnmanagedCallersOnly経由ではR2Rコードの直接呼び出しが実装されました。
続きを読む
@Copilot ・ GitHub ・ area-ReadyToRun
Crossgen2比較テストの失敗時に、生成されたネイティブ/ReadyToRun DLL(.ni.dll)をHelixの作業項目ファイルリストに表示させることで、テスト失敗時の診断性を向上させます。これにより、アーティファクトがクラッシュダンプ存在時のみに表示されるHELIX_DUMP_FOLDERではなく、常時表示されるHELIX_WORKITEM_UPLOAD_ROOTに配置されます。
@SingleAccretion ・ GitHub ・ arch-wasm area-CodeGen-coreclr community-contribution
RyuJit/WASM コンパイラの特別なプロローグ処理を削除し、プロローグ生成ロジックを統一化する変更です。Issue #125200 の修正に対応しており、複数のアーキテクチャ(ARM、ARM64、LoongArch64、RISC-V64、x86/x64、WASM)にわたるJITコンパイラのコード生成部分が簡潔化されます。
@kotlarmilos ・ GitHub ・ area-Infrastructure-coreclr os-ios
Apple モバイルプラットフォーム(iOS/tvOS デバイス・シミュレータ、Mac Catalyst)上で NativeAOT ライブラリテストを有効化します。ホストビルドレグで ILC コンパイルを実行し、静的ライブラリを生成した上で、Helix 上で AppleAppBuilder を使用してテスト実行する方式に変更します。これにより、最小限の SmokeTests から System.Runtime、System.Collections、System.Linq、System.Threading などの完全なライブラリテストへと拡大し、モバイルプラットフォーム固有の機能(暗号化、ネットワーク、グローバリゼーション)のテストカバレッジを向上させます。
続きを読む
@Copilot ・ GitHub ・ arch-wasm area-Build-mono os-browser
WebAssembly/Blazor発行時のテレメトリ収集機能を追加しました。グローバリゼーションモード、ブートコンフィグ形状、フィンガープリンティング、プリロード動作、バンドラーフレンドリー設定、ランタイム選択など、主要なWASM発行設定プロパティの有効値をキャプチャして、デフォルト値と互換性判断の改善に活用します。
2026年07月01日 (25 PRs) うち Bot 1 件 この日のページ →
@davidwrighton ・ GitHub ・ area-VM-coreclr
WebAssemblyの例外処理において、VM呼び出しされたfunclet内にネストされたハンドラー(例:finally内のcatch)のresumeを修正します。R2R(ReadyToRun)コンパイル時にCallFuncletWith[out]Throwableで呼び出されたfuncletのスタックアンワインド時に、正しい確立フレーム(establishing frame)ポインターを取得できるようにします。
続きを読む
@tannergooding ・ GitHub ・ area-CodeGen-coreclr
JITのハードウェア組み込み関数メタデータを更新し、Vector*のop_Equality/op_Inequality演算子がSIMD基本型を第1引数から導出するようにしました。これにより、ジェネリックコンテキスト(特にISimdVectorを含む場合)での正しい処理とインポート/低下が可能になります。
HW_Flag_BaseTypeFromFirstArgフラグを追加することで、戻り値型や所有型ではなく第1引数から基本型を取得するようになり、ブール値を返すSIMD演算子の正確な処理が保証されます。
続きを読む
@DrewScoggins ・ GitHub ・ area-Infrastructure-mono
WASM例外処理がexnref提案に移行したことに伴い、V8 15.1+が必須になったにもかかわらず、自動更新によってLinuxとWindows向けのV8バージョンが14.9.207に戻されていた問題を修正します。linux_V8Versionとwin_V8Versionを15.1.103に再度ピンする変更により、WASM perf実行やV8シェルエンジンのテストが--experimental-wasm-exnrefフラグで正常に起動できるようになります。
続きを読む
@vitek-karas ・ GitHub ・ area-Infrastructure
CI外側ループのエージェントワークフロー3つ(ci-failure-fix、ci-failure-scan、ci-failure-scan-feedback)をClaude Opus 4.6から4.8にアップグレードします。各ワークフローのMarkdownソースでengine.modelを更新し、対応するコンパイル済みの.lock.ymlファイルを再生成しています。
@Copilot ・ GitHub ・ area-System.Diagnostics.Process test-bug
System.Diagnostics.ProcessテストのStartSuspendedTests_NonWindowsNonMacOS.Resume_OnNonSupportedOS_ThrowsPlatformNotSupportedExceptionがiOSおよびtvOSで失敗する問題を修正します。これらのプラットフォームではSafeProcessHandle.Openがサポートされていないため、テストスキップの対象プラットフォームを拡張しました。
[SkipOnPlatform(TestPlatforms.Windows | TestPlatforms.OSX | TestPlatforms.iOS | TestPlatforms.tvOS,
"Resume is supported on Windows and macOS, and SafeProcessHandle.Open is not supported on iOS and tvOS")]
続きを読む
@tmds ・ GitHub ・ area-System.IO community-contribution
.NET 11でのinotifyインスタンス削減に伴い、FileMove_FromWatchedToUnwatchedテストのActiveIssue属性を削除します。inotifyインスタンスが1つに統一されることで、テスト実行中の競合状態が軽減され、このテストが安定するようになりました。
@MichalStrehovsky ・ GitHub ・ area-Extensions-Hosting
Microsoft.Extensions.Hosting機能テストをNativeAOT(NAOT)およびReadyToRun(R2R)のCI環境から除外する変更です。Issue #129832で報告されている既知の失敗に対応するため、テスト実行プロジェクト設定を更新しました。
@MichalStrehovsky ・ GitHub ・ area-NativeAOT-coreclr
NativeAOT環境でのリフレクション呼び出し時に、カスタムバインダーによる型変換の結果が呼び出し元の引数配列にコピーバックされていなかった問題を修正します。また、copyback処理をCoreClRと整合させるため、タイミングをfinallyブロックから通常フロー内に変更しています。
@Copilot ・ GitHub ・ area-Infrastructure
Apple モバイルプラットフォーム(tvOS/iOS/MacCatalyst)の CoreCLR smoke テスト用パイプラインの AllSubsets_CoreCLR_Smoke レグを、Debug ビルドから Checked ビルドに変更します。Debug ビルドの非最適化 CoreCLR は遅すぎて System.Runtime.Tests が 4500 秒でタイムアウトしていたため、最適化を有効にしながらランタイムアサーションを保持する Checked 構成に統一します。
続きを読む
@Copilot ・ GitHub ・ area-System.Net.Http
RFC 9659に準拠するため、DecompressionHandlerのZstandardStream初期化時にMaxWindowLog=23(8MB上限)を設定し、悪意あるZstd圧縮レスポンスによるメモリ枯渇攻撃を防止します。ウィンドウサイズが8MBを超えるフレームはIOExceptionで拒否されます。
// 変更前
new ZstandardStream(originalStream, CompressionMode.Decompress);
// 変更後
new ZstandardStream(originalStream, new ZstandardDecompressionOptions { MaxWindowLog = 23 });
続きを読む
@Copilot ・ GitHub ・ area-NativeAOT-coreclr
NativeAOTコンパイラの配列要素サイズの制限がCoreクラのランタイムと相違していた問題を修正しました。修正前は要素サイズが正確に65,535バイト(ushort.MaxValue)の場合を拒否していましたが、修正後はそのサイズを許可し、サイズがushort.MaxValueより大きい場合のみ拒否するように変更しました。これによりNativeAOTとCoreクラの動作が一致します。
var array = new MaxSizedArrayElement[1];
[InlineArray(65535)]
struct MaxSizedArrayElement
{
private byte _first;
}
続きを読む
@davidwrighton ・ GitHub ・ area-VM-coreclr
WasmにおけるR2R(Ready2Run)コード実行時のスタックウォーキング処理を修正し、フレームポインタの回復と伝播を信頼性高く実装します。#129703による回帰を解決し、汎用コンテキストルックアップの動作を修正します。
@BrzVlad ・ GitHub ・ area-VM-coreclr
CoreCLRのperf-mapログにインタープリタ生成IR範囲のサポートを追加し、プロファイラツールがインタープリタフレームをJITコンパイルされたメソッドと同様にシンボル化できるようにします。環境変数 DOTNET_PerfMapEnabled=1 と DOTNET_PerfMapStubGranularity=2 を設定することで機能します。
@Copilot ・ GitHub ・ area-System.IO test-enhancement linkable-framework
ROSequenceStreamConformanceTestsのSeek_PastEnd_ReadReturns0メソッドオーバーライドから冗長な[Theory]および[MemberData(nameof(AllSeekModes))]属性を削除しました。これらはベースクラスStandaloneStreamConformanceTestsの仮想メソッドから継承されており、重複して宣言する必要がありません。
続きを読む
@BrzVlad ・ GitHub ・ area-CodeGen-Interpreter-coreclr
CoreCLR インタープリタの ConfigureAwait() パターンに関するpeephole最適化の検証ロジックを修正しました。パターンマッチングの検証がオペコード順序と一致していなかった問題を解決し、コメント追加と処理の再整理を行いました。System.Threading.Tasks.Tests.AsyncProfilerTests.RuntimeAsync_ConfigureAwaitFalse テストの失敗を修正します。
続きを読む
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
ARM64 JIT コンパイラの ldr/str → ldp/stp ペープホール最適化を拡張し、負のオフセットを使用する unscaled 形式(ldur/stur)命令にも対応しました。これにより、負のバイトオフセットを持つ連続したロード/ストア命令の統合が可能になります。
@sami-daniel ・ GitHub ・ area-Extensions-Caching community-contribution
MemoryCacheの並行処理テストの非決定性を排除し、テストの信頼性と実行時間を改善しました。従来のテストはスレッドスケジューリングに依存した不安定な実装で、毎回約7秒の実行時間がかかっていました。テストコード自体に2つのバグ(キャンセルトークン使用による例外、Random の非スレッドセーフな共有)が存在していたため、これらを修正しました。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
ARM64 JITコンパイラの ins_Move_Extend 関数を修正し、TYP_INT 型のレジスタ間移動で不要な符号拡張命令 sxtw を避け、代わりに mov を使用するようにしました。併せて、移動の有効性を検証するためのオプション dstType パラメータを追加しています。これにより、整数型のまま保持される値に対する不要な処理が削減されます。
@lezzi ・ GitHub ・ area-System.Text.Json community-contribution
System.Text.Json ソースジェネレータの高速パス(fast-path)シリアライズで、null の byte[] が空文字列("")ではなく JSON の null として正しくシリアライズされるよう修正しました。これまで WriteBase64String() は null と空配列を区別できず、リフレクションベースの ByteArrayConverter と異なる動作をしていました。
続きを読む
@lateralusX ・ GitHub ・ area-System.Threading.Tasks area-Diagnostics-coreclr
V1 AsyncProfiler インストルメンテーションを PoolingAsyncValueTaskMethodBuilder / PoolingAsyncValueTaskMethodBuilder<T> に拡張しました。これまでプーリングビルダーは Resume/Complete/Unwind イベントを発行せず、トレースにギャップが生じていました。本変更により、通常の Task/ValueTask ビルダーとプーリングビルダー間でプロファイラー計測を一貫させ、完全な非同期トレースを取得できるようにします。
続きを読む
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
cDAC(Compact Data Access Component)に例外ハイジャック(Hijack)機能を追加し、スレッドコンテキストの書き込みサポートを実装するPRです。StackPusher、IntegerArgPlacerといった ABI 準拠のユーティリティ、スレッドコンテキスト書き込み用デリゲート、OS 例外レコード/コンテキストポインタの公開、および DacDbi Hijack API の実装が含まれます。
続きを読む
@Copilot ・ GitHub ・ area-System.Reflection
ParameterInfo.DefaultValue が .NET 9 以降で、ジェネリック型にネストされたenum型のパラメータにアクセスする際にリグレッションが発生していた問題を修正。また、NativeAOT上で開いたジェネリックenum型に対して複数のenum反射API(GetEnumUnderlyingType、GetEnumNames など)が PlatformNotSupportedException をスローしていた問題も解決。開いたジェネリック型を含むenum型の場合は、enum インスタンスの具体化を試みず、基になるプリミティブ値を返すようフォールバック。
続きを読む
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr runtime-async
JITコンパイラにおいて、async メソッドからの暗黙的なテールコール(tail-await)を再度有効にする変更です。従来はasync メソッドからのテールコールを全て無効化していましたが、tail-await の仕組みが導入されたため、tail-await に限定してテールコールを許可するように修正しました。
サンプルコード(変更前後):
private static Task Foo(bool b)
{
return b ? Bar() : Baz();
}
[MethodImpl(MethodImplOptions.NoInlining)]
private static async Task Bar()
{
}
[MethodImpl(MethodImplOptions.NoInlining)]
private static async Task Baz()
{
}
続きを読む
@christosk92 ・ GitHub ・ area-System.IO.Compression community-contribution
ZstandardStreamが複数フレームの連結されたzstd応答を最初のフレームだけで打ち切る問題を修正しました。RFC 8878で定義される複数フレームの連結に対応し、GZipStream/DeflateStreamと同様のパターンでフレーム間ループを実装しています。