diff --git a/archives/2025/12/21.md b/archives/2025/12/21.md index 106a58e..2854068 100644 --- a/archives/2025/12/21.md +++ b/archives/2025/12/21.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#122652 Add NoInlining and NoOptimization attributes to ClearWaitSleepJoinState method](#122652) 2. [#122534 Fix UInt128 to double conversion for values >= 2^104](#122534) @@ -7,7 +7,7 @@ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2025年12月18日 21:28:03(UTC) - マージ日時: 2025年12月21日 17:32:13(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 Issue #122479のランタイム障害に対する一時的な回避策として、`Thread.ClearWaitSleepJoinState()`メソッドに`NoInlining`と`NoOptimization`属性を追加しました。コンパイラの最適化によって引き起こされるスレッド待機/スリープ/結合状態遷移の問題を防ぐための最小限の変更です。 @@ -37,7 +37,7 @@ private static void ClearWaitSleepJoinState() - 作成者: [@sdcb](https://github.com/sdcb) - 作成日時: 2025年12月14日 09:33:04(UTC) - マージ日時: 2025年12月21日 00:03:12(UTC) -- ラベル: area-System.Numerics community-contribution +- ラベル: area-System.Numerics community-contribution #### 概要 UInt128からdouble への変換において、2^104以上の値で発生していた精度問題を修正しました。この問題はInt128にも同様に存在していたため、両方の型で修正が適用されています。変換ロジックの微調整により、大きな値の浮動小数点変換精度が向上します。 diff --git a/archives/2025/12/22.md b/archives/2025/12/22.md index eb923ba..cb22487 100644 --- a/archives/2025/12/22.md +++ b/archives/2025/12/22.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#122701 Add native AOT arm64 CFG testing](#122701) 2. [#122699 \[release/9.0-staging\] Update dependencies from dotnet/xharness](#122699) 3. [#122695 Fix Native AOT repro project](#122695) @@ -19,7 +19,7 @@ - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2025年12月22日 06:06:32(UTC) - マージ日時: 2025年12月22日 14:15:21(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 Native AOT対応のARM64プラットフォームにおいて、CFG(Control Flow Guard)テスティングを追加するPull Requestです。従来はx64でのCFGテストが実施されていましたが、ARM64プラットフォームでも同等のテストカバレッジを確保することで、ネイティブコンパイル時のセキュリティ機能の品質向上を目指しています。 @@ -44,7 +44,7 @@ Native AOT対応のARM64プラットフォームにおいて、CFG(Control Flo - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2025年12月22日 05:02:50(UTC) - マージ日時: 2025年12月22日 23:08:35(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/xharness の依存関係を更新するPull Requestです。Microsoft.DotNet.XHarness.CLI、TestRunners.Common、TestRunners.Xunit の3つのパッケージをバージョン 9.0.0-prerelease.25601.1 から 9.0.0-prerelease.25615.2 にアップデートします。これはrelease/9.0-stagingブランチへの自動依存関係更新です。 @@ -69,7 +69,7 @@ dotnet/xharness の依存関係を更新するPull Requestです。Microsoft.Dot - 作成者: [@eduardo-vp](https://github.com/eduardo-vp) - 作成日時: 2025年12月22日 04:33:15(UTC) - マージ日時: 2025年12月22日 07:13:45(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 Native AOTのreproプロジェクトをPull Request #122227の変更に合わせて更新したマイナーな修正です。repro.csprojファイルの1行が変更されており、プロジェクト設定の同期が目的と考えられます。 @@ -93,7 +93,7 @@ Native AOTのreproプロジェクトをPull Request #122227の変更に合わせ - 作成者: [@jkotas](https://github.com/jkotas) - 作成日時: 2025年12月21日 20:40:40(UTC) - マージ日時: 2025年12月22日 13:41:10(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 .NET Nativeの呼び出し規約変換から残されていた冗長なRhpUniversalTransition関数を削除するPR。テールコール用途のUniversal Transitionのみが必要であるため、汎用版を削除して余分なコードを整理します。複数のアーキテクチャ(x64、ARM、ARM64、i386、LoongArch64、RISC-V)とNativeAOTランタイムに関連する変更が含まれています。 @@ -119,7 +119,7 @@ Native AOTのreproプロジェクトをPull Request #122227の変更に合わせ - 作成者: [@eduardo-vp](https://github.com/eduardo-vp) - 作成日時: 2025年12月19日 06:41:19(UTC) - マージ日時: 2025年12月22日 22:00:30(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 マネージド型システムAPIをUTF-8ベースに移行し、文字列割り当てを削減するメモリ最適化を実施。複数のコンパイラツールチェーン関連ファイルで、名前マングリング・メタデータ処理・IL生成などの処理をUTF-8操作に統一し、不要な文字列アロケーションを削減。 @@ -145,7 +145,7 @@ Native AOTのreproプロジェクトをPull Request #122227の変更に合わせ - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2025年12月18日 08:21:29(UTC) - マージ日時: 2025年12月22日 22:13:35(UTC) -- ラベル: area-NativeAOT-coreclr runtime-async +- ラベル: area-NativeAOT-coreclr runtime-async #### 概要 x64プラットフォームでランタイム非同期実行時のハイジャッキング処理を修正するPRです。GC割り込み時に継続レジスタ(continuation register)を適切に保存・復元することで、非同期GCが正常に動作するようにします。これはNative AOTランタイムがJIT/VM側の非同期GC対応に合わせるための変更です。 @@ -179,7 +179,7 @@ x64プラットフォームでランタイム非同期実行時のハイジャ - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2025年12月17日 22:43:56(UTC) - マージ日時: 2025年12月22日 06:36:34(UTC) -- ラベル: linkable-framework area-NativeAOT-coreclr +- ラベル: linkable-framework area-NativeAOT-coreclr #### 概要 async メソッド内のラムダ式に対するデータフロー分析のバグを修正するPull Requestです。#122450と同様の修正パターンに従っており、ILLink と Roslyn analyzer で共有されているコードに async バリアントを理解させるのではなく、実装レベルでの対応を施しています。 @@ -203,7 +203,7 @@ async メソッド内のラムダ式に対するデータフロー分析のバ - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2025年12月16日 02:04:08(UTC) - マージ日時: 2025年12月22日 23:04:52(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/cecilリポジトリからの依存関係を更新するPull Requestです。Microsoft.SourceBuild.Intermediate.cecilとMicrosoft.DotNet.Cecilを、バージョン0.11.5-alpha.25566.3から0.11.5-alpha.25614.3へアップデートします。このアップデートは2025年12月15日に生成されたcecilのrelease/9.0ブランチからの自動更新です。 @@ -229,7 +229,7 @@ macOS-13ランナーイメージ廃止に関連するビルド失敗([#122709](h - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2025年12月16日 02:03:45(UTC) - マージ日時: 2025年12月22日 23:08:19(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/roslyn-analyzersの依存パッケージをバージョンアップするPull Requestです。Microsoft.CodeAnalysis.AnalyzersおよびMicrosoft.CodeAnalysis.NetAnalyzersが更新されました。2025年12月15日時点でのビルド20251215.3に基づいており、release/9.0-stagingブランチへの自動更新です。 @@ -255,7 +255,7 @@ dotnet/roslyn-analyzersの依存パッケージをバージョンアップする - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2025年12月15日 14:46:03(UTC) - マージ日時: 2025年12月22日 22:59:21(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 このプルリクエストは、dotnet/arcadeリポジトリの依存関係を更新するものです。2025年12月11日のビルド20251211.2に基づいており、Microsoft.DotNet.Arcade.Sdkを含む17個のNuGetパッケージを8.0.0-beta.25562.3から8.0.0-beta.25611.2へ更新しています。また、Microsoft.DotNet.XUnitConsoleRunnerは2.5.1-beta.25562.3から2.5.1-beta.25611.2に更新されています。 @@ -280,7 +280,7 @@ dotnet/roslyn-analyzersの依存パッケージをバージョンアップする - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2025年12月13日 02:03:51(UTC) - マージ日時: 2025年12月22日 23:07:54(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/icuリポジトリからの依存関係を更新するPull Requestです。Microsoft.NETCore.Runtime.ICU.Transportパッケージをバージョン9.0.0-rtm.25574.1から9.0.0-rtm.25612.1に更新しており、release/9.0-stagingブランチに対する自動更新です。 @@ -305,7 +305,7 @@ dotnet/icuリポジトリからの依存関係を更新するPull Requestです - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2025年12月13日 02:02:14(UTC) - マージ日時: 2025年12月22日 22:57:53(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/icu リポジトリからの依存関係を更新するPull Requestです。Microsoft.NETCore.Runtime.ICU.Transport パッケージをバージョン 8.0.0-rtm.25565.1 から 8.0.0-rtm.25612.3 に更新しています。これは .NET 8.0 リリースブランチの定期的な依存関係更新で、国際化(ICU)ライブラリの最新版を取り込むものです。 @@ -331,7 +331,7 @@ dotnet/icu リポジトリからの依存関係を更新するPull Requestです - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2025年12月12日 21:24:26(UTC) - マージ日時: 2025年12月22日 23:07:16(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/emsdkリポジトリからの依存関係更新PRです。release/9.0ブランチにおいて、Emscripten関連のワークロードマニフェストとソースビルド中間パッケージを更新しています。2025年12月12日のビルド(20251212.7)に基づいており、NuGetおよびバージョン設定ファイルが修正されています。 @@ -359,7 +359,7 @@ dotnet/emsdkリポジトリからの依存関係更新PRです。release/9.0ブ - 作成者: [@am11](https://github.com/am11) - 作成日時: 2025年12月03日 16:45:33(UTC) - マージ日時: 2025年12月22日 13:26:44(UTC) -- ラベル: community-contribution area-NativeAOT-coreclr +- ラベル: community-contribution area-NativeAOT-coreclr #### 概要 Utf8String型の暗黙的な文字列変換演算子を削除するPR。複数のファイルで暗黙的な変換が明示的な文字列またはバイト配列コンストラクタに置き換えられています。これにより不要なメモリ割り当てを防ぎ、コード内のメモリ割り当てをより明示的にします。 diff --git a/archives/2025/12/23.md b/archives/2025/12/23.md index 7e8fd5b..6b716af 100644 --- a/archives/2025/12/23.md +++ b/archives/2025/12/23.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#122714 \[LoongArch64\] Fix the random failed for `Fp32x2StructFunc` in the profiler test: slowpatheltenter.sh.](#122714) 2. [#122710 Fix MethodBase.GetCurrentMethod with runtime async](#122710) 3. [#122507 \[release/8.0\] Update dependencies from dotnet/emsdk](#122507) @@ -11,7 +11,7 @@ - 作成者: [@LuckyXu-HF](https://github.com/LuckyXu-HF) - 作成日時: 2025年12月23日 07:17:27(UTC) - マージ日時: 2025年12月23日 14:34:50(UTC) -- ラベル: area-Diagnostics-coreclr community-contribution arch-loongarch64 +- ラベル: area-Diagnostics-coreclr community-contribution arch-loongarch64 #### 概要 LoongArch64プラットフォームにおいて、プロファイラーテスト(`slowpatheltenter.sh`)で`Fp32x2StructFunc`がランダムに失敗する問題を修正したPRです。`struct{single, single}`型の引数を処理する際に、`ProfileArgIterator::GetNextArgAddr()`でバッファアドレスを正しく返すように改善しました。500回のテスト実行で確認されています。 @@ -37,7 +37,7 @@ LoongArch64プラットフォームにおいて、プロファイラーテスト - 作成者: [@eduardo-vp](https://github.com/eduardo-vp) - 作成日時: 2025年12月23日 00:55:53(UTC) - マージ日時: 2025年12月23日 22:34:52(UTC) -- ラベル: area-NativeAOT-coreclr runtime-async +- ラベル: area-NativeAOT-coreclr runtime-async #### 概要 Native AOT コンパイルで runtime-async が有効な場合、`MethodBase.GetCurrentMethod()`が非同期メソッド内で正常に動作するように修正しました。以下のコードが正常に実行されるようになります。 @@ -68,7 +68,7 @@ runtime-async 機能を有効にした Native AOT コンパイルでリフレク - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2025年12月12日 21:12:19(UTC) - マージ日時: 2025年12月23日 17:19:21(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/emsdkリポジトリからの依存関係を更新するPRです。Microsoft.SourceBuild.Intermediate.emsdk を8.0.23-servicing.25602.41から8.0.23-servicing.25612.6へ更新し、Emscripten関連の修正やセキュリティアップデートを取り込みます。release/8.0ブランチ向けの自動依存関係更新です。 @@ -95,7 +95,7 @@ dotnet/emsdkリポジトリからの依存関係を更新するPRです。Micros - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2025年12月02日 02:01:59(UTC) - マージ日時: 2025年12月23日 17:16:51(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/cecil依存関係を0.11.4-alpha.25573.2から0.11.4-alpha.25614.2へアップデートするPR。release/8.0ブランチの自動依存関係更新で、Microsoft.DotNet.Cecilライブラリの最新版を取り込みます。 @@ -117,7 +117,7 @@ dotnet/cecil依存関係を0.11.4-alpha.25573.2から0.11.4-alpha.25614.2へア - 作成者: [@prozolic](https://github.com/prozolic) - 作成日時: 2025年11月16日 00:21:46(UTC) - マージ日時: 2025年12月23日 14:31:31(UTC) -- ラベル: area-System.Collections community-contribution +- ラベル: area-System.Collections community-contribution #### 概要 FrozenDictionary/FrozenSetの作成時に、極めて大きな文字列(Array.MaxLengthに近いサイズ)を使用した場合にLengthBucketsの計算でinteger overflowが発生し、負の値がArrayPool.Shared.Rentに渡されてArgumentOutOfRangeExceptionが発生していた問題を修正しました。オーバーフロー検出を追加してバケット作成を防止します。 @@ -152,7 +152,7 @@ Assert.Equal(keys.Length, frozen.Count); - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2025年11月12日 02:03:00(UTC) - マージ日時: 2025年12月23日 17:25:40(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/arcadeリポジトリからの自動依存関係更新PR。Microsoft.DotNet.Arcade.Sdkおよび関連する20個のビルドタスクとツールパッケージを9.0.0-beta.25555.4から9.0.0-beta.25611.4にバージョンアップ。XUnitの関連パッケージも2.9.0-beta.25555.4から2.9.0-beta.25611.4に更新。 diff --git a/archives/2025/12/24.md b/archives/2025/12/24.md index 98c08be..5d8f637 100644 --- a/archives/2025/12/24.md +++ b/archives/2025/12/24.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#122706 Use QueryUnbiasedInterruptTime instead of GetTickCount64 to allow more responsive Windows apps when they opt-in](#122706) --- @@ -6,7 +6,7 @@ - 作成者: [@tannergooding](https://github.com/tannergooding) - 作成日時: 2025年12月22日 20:19:50(UTC) - マージ日時: 2025年12月24日 06:19:44(UTC) -- ラベル: area-System.Threading breaking-change needs-breaking-change-doc-created +- ラベル: area-System.Threading breaking-change needs-breaking-change-doc-created #### 概要 WindowsでのタイマーAPI実装を`GetTickCount64`から`QueryUnbiasedInterruptTime`に変更し、スリープ・休止時間を除外してタイマー応答性を向上させます。これにより、Windows上の`Environment.TickCount64`の動作がUnix系プラットフォーム(Linux/macOS)と一貫性を持つようになり、アプリケーションがタイマー精度を向上させるためのオプト設定(例:`timeBeginPeriod`)に対応可能になります。 diff --git a/archives/2025/12/25.md b/archives/2025/12/25.md index dc60075..8a9fabf 100644 --- a/archives/2025/12/25.md +++ b/archives/2025/12/25.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#122711 \[release/9.0-staging\] Update dependencies from dotnet/cecil](#122711) 2. [#122682 Fix GCInfoDumper](#122682) @@ -7,7 +7,7 @@ - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2025年12月23日 02:01:42(UTC) - マージ日時: 2025年12月25日 00:28:33(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/cecilリポジトリからの依存関係更新PR。Microsoft.SourceBuild.Intermediate.cecilandおよびMicrosoft.DotNet.Cecilを0.11.5-alpha.25614.3から0.11.5-alpha.25621.2にアップデート。release/9.0-stagingブランチに対する自動依存関係更新。 @@ -31,7 +31,7 @@ dotnet/cecilリポジトリからの依存関係更新PR。Microsoft.SourceBuild - 作成者: [@jkotas](https://github.com/jkotas) - 作成日時: 2025年12月21日 05:24:30(UTC) - マージ日時: 2025年12月25日 00:03:24(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 GC情報ダンパーとデコーダーから廃止されたオフセット調整を削除するクリーンアップPRです。gcinfodumper.cppとgcinfodecoder.cppの2ファイルから不要なオフセット調整処理を削除し、コードを簡潔化しています。 diff --git a/archives/2025/12/26.md b/archives/2025/12/26.md index b4d3257..1ed4362 100644 --- a/archives/2025/12/26.md +++ b/archives/2025/12/26.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#122733 Cleanup some unused code in coreclr pal](#122733) 2. [#122665 Add exit code check after bootstrap build in eng/build.ps1](#122665) 3. [#122465 Bump actions/github-script from 7 to 8](#122465) @@ -10,7 +10,7 @@ - 作成者: [@am11](https://github.com/am11) - 作成日時: 2025年12月25日 17:51:24(UTC) - マージ日時: 2025年12月26日 17:40:38(UTC) -- ラベル: area-PAL-coreclr community-contribution +- ラベル: area-PAL-coreclr community-contribution #### 概要 CoreCLR PAL(Platform Abstraction Layer)内の未使用コードをクリーンアップするPRです。主にセキュアCRT関連の実装ファイルと、使用されていない文字列操作関数を削除しています。コードベースの保守性向上を目的とした整理です。 @@ -38,7 +38,7 @@ CoreCLR PAL(Platform Abstraction Layer)内の未使用コードをクリー - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2025年12月19日 17:35:04(UTC) - マージ日時: 2025年12月26日 16:27:08(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 `eng/build.ps1`のbootstrapビルド後に終了コードチェックを追加するPR。従来はbootstrapビルドの失敗が無視され、その後のアーティファクト削除とメインビルドが実行されていました。この修正により、bootstrap失敗時は即座にビルドが停止し、開発者に明確なエラーメッセージが表示されます。 @@ -70,7 +70,7 @@ if ($lastExitCode -ne 0) { - 作成者: [@dependabot[bot]](https://github.com/apps/dependabot) - 作成日時: 2025年12月11日 21:14:10(UTC) - マージ日時: 2025年12月26日 16:38:28(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 actions/github-scriptをバージョン7からバージョン8にアップグレードするDependabotの自動更新PR。v8.0.0ではNode.js 24.xへの対応が行われ、最小ランナーバージョンはv2.327.1以上が必要です。 @@ -94,7 +94,7 @@ actions/github-scriptをバージョン7からバージョン8にアップグレ - 作成者: [@dependabot[bot]](https://github.com/apps/dependabot) - 作成日時: 2025年11月26日 21:10:28(UTC) - マージ日時: 2025年12月26日 16:36:40(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 Dependabotによる定期的な依存関係更新PR。GitHub Actions の `actions/upload-artifact` を v4 から v5 にバージョンアップする変更です。v5.0.0 は Node.js v24.x をサポートし、`@actions/artifact` を v4.0.0 に更新しています。破壊的変更として扱われていますが、主な変更はランタイムサポートの更新です。 @@ -119,7 +119,7 @@ Dependabotによる定期的な依存関係更新PR。GitHub Actions の `action - 作成者: [@dependabot[bot]](https://github.com/apps/dependabot) - 作成日時: 2025年11月26日 21:10:23(UTC) - マージ日時: 2025年12月26日 16:38:35(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 actions/checkoutを4から6にバージョンアップするDependabot自動更新PR。v6.0.0では認証情報を別ファイルに保存する方式に変更され、Node.js 24対応が追加されています。最小Runner版は2.329.0以上が必要になります。 diff --git a/archives/2025/12/27.md b/archives/2025/12/27.md index d742006..5a9a062 100644 --- a/archives/2025/12/27.md +++ b/archives/2025/12/27.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#122753 Fix debug build](#122753) 2. [#122571 Refactor lock upgrade logic](#122571) 3. [#122466 Resolve dllimport.cpp runtimeasync todos](#122466) @@ -8,7 +8,7 @@ - 作成者: [@am11](https://github.com/am11) - 作成日時: 2025年12月27日 12:52:41(UTC) - マージ日時: 2025年12月27日 16:18:03(UTC) -- ラベル: area-System.Threading community-contribution +- ラベル: area-System.Threading community-contribution #### 概要 デバッグビルドで発生していたコード分析エラー(IDE0036)を修正するPR。`System.Threading.Interlocked.CoreCLR.cs`の149行目でmodifiersの順序が正しくなかったため、修飾子の順序を統一してビルドエラーを解決しました。 @@ -35,7 +35,7 @@ Issue #122753(デバッグビルドの失敗) - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2025年12月16日 00:23:24(UTC) - マージ日時: 2025年12月27日 01:37:17(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 ロック(Monitor)のアップグレード処理におけるGCホール問題を修正するPR。NativeAOTで使用されているポインタオーバーロード版の`CompareExchange`をCoreClrに適用し、ARM32プラットフォームで完全に形成されたrefが報告されることによるクラッシュを防止。 @@ -65,7 +65,7 @@ Issue #122753(デバッグビルドの失敗) - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2025年12月11日 21:16:00(UTC) - マージ日時: 2025年12月27日 02:16:15(UTC) -- ラベル: area-Interop-coreclr runtime-async +- ラベル: area-Interop-coreclr runtime-async #### 概要 P/Invoke(DllImport)メソッドとデリゲートのInvokeメソッドに対して、asyncメソッドフラグが設定されるシナリオを防ぐための改善。Roslynはこれらのメソッドにasyncマークを付けないため、不正な組み合わせの検出と エラーハンドリングを強化しました。例えば以下のような不正なコードはロード時に失敗します: diff --git a/archives/2025/12/29.md b/archives/2025/12/29.md index 0ccae6d..30eb9c2 100644 --- a/archives/2025/12/29.md +++ b/archives/2025/12/29.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#122775 \[browser\] \[browser\] provide dummy icon and template icon](#122775) 2. [#122768 Handle QueueUserAPC2 failure during thread suspension](#122768) 3. [#122765 \[release/10.0\] Update dependencies from dotnet/xharness](#122765) @@ -17,7 +17,7 @@ - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2025年12月29日 14:09:46(UTC) - マージ日時: 2025年12月29日 22:47:49(UTC) -- ラベル: area-Build-mono os-browser +- ラベル: area-Build-mono os-browser #### 概要 WebAssemblyブラウザアプリケーション関連のHTMLファイルにダミーアイコンとテンプレートアイコンを追加するPR。テストログに出現していた404エラー(アイコンファイル不在)を解消することが目的。ダミーアイコンは最小限のPNG形式で、デフォルトWASMテンプレートには実際のdotnetアイコンを使用。 @@ -49,7 +49,7 @@ WebAssemblyブラウザアプリケーション関連のHTMLファイルにダ - 作成者: [@jkotas](https://github.com/jkotas) - 作成日時: 2025年12月29日 06:59:55(UTC) - マージ日時: 2025年12月29日 18:07:20(UTC) -- ラベル: needs-area-label +- ラベル: needs-area-label #### 概要 マシンが高負荷状態にある場合、QueueUserAPC2 APIが失敗する可能性があります。本PRではこの失敗を適切に処理するため、スレッド一時停止時のQueueUserAPC2エラーハンドリングを改善しました。失敗時には他の機構(hijackingなど)による一時停止の試行に頼り、APIの失敗を無視する戦略を採用しています。 @@ -73,7 +73,7 @@ WebAssemblyブラウザアプリケーション関連のHTMLファイルにダ - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2025年12月29日 05:03:05(UTC) - マージ日時: 2025年12月29日 22:57:27(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/xharnessの依存関係を更新するPull Requestです。Microsoft.DotNet.XHarness.CLIおよびテストランナー関連パッケージを、バージョン10.0.0-prerelease.25605.1から10.0.0-prerelease.25622.2に更新しています。release/10.0ブランチの定期的な依存関係アップデートで、自動生成されたPRとなります。 @@ -103,7 +103,7 @@ dotnet/xharnessの依存関係を更新するPull Requestです。Microsoft.DotN - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2025年12月27日 02:03:01(UTC) - マージ日時: 2025年12月29日 20:53:10(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/arcadeリポジトリの依存関係を更新する自動化されたPull Requestです。2025年12月26日ビルドから、arcade関連の複数のNuGetパッケージをバージョン9.0.0-beta.25611.4から9.0.0-beta.25626.6へ、XUnitAssert関連をバージョン2.9.0-beta.25611.4から2.9.0-beta.25626.6へ更新しています。release/9.0ブランチの定期的な依存関係メンテナンスです。 @@ -130,7 +130,7 @@ dotnet/arcadeリポジトリの依存関係を更新する自動化されたPull - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2025年12月26日 19:06:34(UTC) - マージ日時: 2025年12月29日 20:51:26(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 release/9.0ブランチにおいて、dotnet/emsdkリポジトリからの依存関係を更新するPRです。JIT Tools、Mono LLVM関連のランタイムパッケージ(複数プラットフォーム対応)をバージョン19.1.0-alpha.1.25565.2から19.1.0-alpha.1.25625.1に更新し、Emscripten workloadマニフェスト関連パッケージも9.0.12-servicing.25612.7から9.0.12-servicing.25626.4に更新しています。 @@ -157,7 +157,7 @@ release/9.0ブランチにおいて、dotnet/emsdkリポジトリからの依存 - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2025年12月26日 02:01:58(UTC) - マージ日時: 2025年12月29日 20:49:40(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/icu リポジトリの依存関係を更新するPull Requestです。Microsoft.NETCore.Runtime.ICU.Transport パッケージをバージョン 9.0.0-rtm.25612.1 から 9.0.0-rtm.25627.1 へアップデートします。これは release/9.0-staging ブランチへの自動依存関係更新です。 @@ -181,7 +181,7 @@ dotnet/icu リポジトリの依存関係を更新するPull Requestです。Mic - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2025年12月26日 02:01:50(UTC) - マージ日時: 2025年12月29日 20:46:18(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/runtime-assetsからの依存関係を更新するPRです。Microsoft.DotNet.CilStrip.SourcesやSystem.ComponentModel.TypeConverterなど13個のテストデータ・ランタイムアセット関連パッケージを9.0.0-beta.25565.2から9.0.0-beta.25625.4へ更新しています。release/9.0-stagingブランチ向けの定期的な自動更新です。 @@ -223,7 +223,7 @@ dotnet/runtime-assetsからの依存関係を更新するPRです。Microsoft.Do - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2025年12月26日 02:01:50(UTC) - マージ日時: 2025年12月29日 20:39:03(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/icuリポジトリからの依存関係を更新するPull Request。Microsoft.NETCore.Runtime.ICU.Transportパッケージをバージョン8.0.0-rtm.25612.3から8.0.0-rtm.25625.2へアップグレードしています。これはrelease/8.0-stagingブランチのICU関連パッケージの定期的な依存関係更新です。 @@ -250,7 +250,7 @@ dotnet/icuリポジトリからの依存関係を更新するPull Request。Micr - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2025年12月26日 02:01:47(UTC) - マージ日時: 2025年12月29日 20:37:05(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/runtime-assetsリポジトリからの依存関係を更新するPull Requestです。release/8.0-stagingブランチに対して、2025年12月25日にビルドされたバージョン8.0.0-beta.25625.3へのアップデートが含まれています。13個のテストデータおよびランタイムアセットパッケージが更新されました。 @@ -290,7 +290,7 @@ dotnet/runtime-assetsリポジトリからの依存関係を更新するPull Req - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2025年12月25日 11:57:38(UTC) - マージ日時: 2025年12月29日 20:35:18(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/hotreload-utilsからの依存関係を更新するPull Request。Microsoft.DotNet.HotReload.Utils.Generator.BuildToolを8.0.0-alpha.0.25574.3から8.0.0-alpha.0.25625.3にアップグレードしています。release/8.0-stagingブランチへの自動更新です。 @@ -315,7 +315,7 @@ dotnet/hotreload-utilsからの依存関係を更新するPull Request。Microso - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2025年12月25日 11:57:38(UTC) - マージ日時: 2025年12月29日 20:44:29(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/hotreload-utilsリポジトリからの依存関係を更新するPull Requestです。Microsoft.DotNet.HotReload.Utils.Generator.BuildToolをバージョン9.0.0-alpha.0.25574.4から9.0.0-alpha.0.25625.4へ更新します。release/9.0-stagingブランチへの自動マージリクエストです。 @@ -345,7 +345,7 @@ dotnet/hotreload-utilsリポジトリからの依存関係を更新するPull Re - 作成者: [@am11](https://github.com/am11) - 作成日時: 2025年12月14日 13:19:45(UTC) - マージ日時: 2025年12月29日 22:48:04(UTC) -- ラベル: area-Infrastructure-coreclr community-contribution +- ラベル: area-Infrastructure-coreclr community-contribution #### 概要 dotnet/runtimeのビルドパイプラインにおいて、ログアーティファクトの収集対象に`CMakeConfigureLog.yaml`ファイルを追加するPRです。従来はbinlogファイルのみ収集していましたが、CMakeの構成結果を含めることで、ビルド時の内部検査結果の追跡が容易になります。`global-build-job.yml`に変更を加え、artifacts/objフォルダが存在する場合のみこのファイルをコピーするよう条件付きで実装されています。 diff --git a/archives/2025/12/30.md b/archives/2025/12/30.md index a1f0d7e..2e63699 100644 --- a/archives/2025/12/30.md +++ b/archives/2025/12/30.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#122769 Fix file descriptor leak](#122769) 2. [#122767 \[LoongArch64\] Align PR#108419: Verify TLS resolver code for LA64.](#122767) 3. [#122723 Move stgpool to md subsystem, extract memory streams, eliminate VM dependencies on MD internals](#122723) @@ -9,7 +9,7 @@ - 作成者: [@dovydenkovas](https://github.com/dovydenkovas) - 作成日時: 2025年12月29日 07:04:08(UTC) - マージ日時: 2025年12月30日 16:16:17(UTC) -- ラベル: area-System.Security community-contribution +- ラベル: area-System.Security community-contribution #### 概要 System.Security.Cryptography.Native ライブラリの X.509 処理において、メモリ不足エラー時にファイルディスクリプタがリークしていた問題を修正します。`opendir()`で開かれたディレクトリストリームが、メモリ割り当て失敗時に適切にクローズされていませんでした。Linux Verification Center の静的解析ツール SVACE により検出されました。 @@ -36,7 +36,7 @@ Issue #122769 - 作成者: [@LuckyXu-HF](https://github.com/LuckyXu-HF) - 作成日時: 2025年12月29日 06:40:42(UTC) - マージ日時: 2025年12月30日 06:47:19(UTC) -- ラベル: area-VM-coreclr community-contribution arch-loongarch64 +- ラベル: area-VM-coreclr community-contribution arch-loongarch64 #### 概要 このPRはLoongArch64(LA64)アーキテクチャ向けのTLS(スレッドローカルストレージ)リゾルバーコードの検証を行うもので、PR#108419の対応をLoongArch64に適用しています。TLS Descriptorリロケーションタイプ(`R_LARCH_TLS_DESC6`)を有効にするため、コンパイルパラメータ`-mtls-dialect=desc`を追加しています。 @@ -65,7 +65,7 @@ Issue #122769 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2025年12月24日 06:03:50(UTC) - マージ日時: 2025年12月30日 14:01:02(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 このPRは、メタデータ管理の責務分離を目的として、ストレージプール関連のコード(`stgpool`)をVM内部から独立したメタデータサブシステムに移動しました。メモリストリーム機能を独立した`memorystreams.*`に抽出し、VMのメタデータ内部実装への依存性を排除しています。 @@ -92,7 +92,7 @@ dotnet/runtime#35624 - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2025年12月18日 17:15:56(UTC) - マージ日時: 2025年12月30日 21:19:50(UTC) -- ラベル: arch-wasm area-Host os-browser +- ラベル: arch-wasm area-Host os-browser #### 概要 WebAssemblyのブラウザランタイムにおいて、メインメソッドの実行制御とユニットテスト用のインフラストラクチャを強化するPRです。`dotnet.runMainAndExit()`と`dotnet.runMain()`の新APIを追加し、`dotnet.run()`の動作を変更(CoreCLRではランタイムを生存させる)。診断機能(`dotnet.diagnostics.js`)を追加し、スタックトレースの記号化、終了処理、コンソール転送などのテスト支援機能を実装しました。 diff --git a/archives/2025/12/31.md b/archives/2025/12/31.md index dbf02d7..a46f403 100644 --- a/archives/2025/12/31.md +++ b/archives/2025/12/31.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#122780 Consolidate classlibnative directory into vm](#122780) 2. [#122581 \[main\] Source code updates from dotnet/dotnet](#122581) 3. [#122480 Support ICU v78 changes including IDN and Japanese Meiji era start date](#122480) @@ -44,7 +44,7 @@ - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2025年12月16日 02:07:35(UTC) - マージ日時: 2025年12月31日 20:22:33(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 dotnet/dotnetリポジトリからのコードフロー更新PRです。CodeAnalysis、Arcade SDK、NuGet関連パッケージなど複数の依存関係を最新版に更新しています。ビルド日時は2025年12月20日で、主にバージョン管理ファイルと設定ファイルの更新が含まれています。 @@ -77,7 +77,7 @@ dotnet/dotnetリポジトリからのコードフロー更新PRです。CodeAnal - 作成者: [@tarekgh](https://github.com/tarekgh) - 作成日時: 2025年12月12日 02:39:30(UTC) - マージ日時: 2025年12月31日 00:03:00(UTC) -- ラベル: area-System.Globalization breaking-change needs-breaking-change-doc-created +- ラベル: area-System.Globalization breaking-change needs-breaking-change-doc-created #### 概要 ICU v78への対応により、IDN(国際化ドメイン名)の処理とJapaneseCalendarの明治時代開始日が変更されました。明治時代の開始日が`1868-09-08`から`1868-10-23`に更新され、IDN処理も新しい仕様に準拠するようになります。これはグローバライゼーション関連の破壊的変更となり、該当APIを使用するアプリケーションでは動作検証が必要です。 @@ -122,7 +122,7 @@ string result = idn.GetAscii("faß.de"); - 作成者: [@sancheolz](https://github.com/sancheolz) - 作成日時: 2025年07月28日 12:22:09(UTC) - マージ日時: 2025年12月31日 00:16:01(UTC) -- ラベル: area-System.DirectoryServices community-contribution +- ラベル: area-System.DirectoryServices community-contribution #### 概要 System.DirectoryServices.AccountManagementのSAMStoreCtx.csにおいて、Principalインスタンス生成時に_sidが初期化されていない場合、principalSidがnullになる可能性があった。Linux Verification Center(SVACE)によって検出されたNullReferenceException(NRE)の潜在的な脆弱性を修正し、652行目のnullチェックを追加してこの問題を解決している。 diff --git a/archives/2026/01/01.md b/archives/2026/01/01.md index 6b3563d..d24a7ac 100644 --- a/archives/2026/01/01.md +++ b/archives/2026/01/01.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#122810 Remove Environment.IsWindows8OrAbove property and related Windows 7 compatibility code](#122810) --- @@ -6,7 +6,7 @@ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月01日 00:00:02(UTC) - マージ日時: 2026年01月01日 14:56:30(UTC) -- ラベル: area-System.Runtime +- ラベル: area-System.Runtime #### 概要 Windows 7のサポート終了に伴い、`Environment.IsWindows8OrAbove`内部プロパティとそれに関連するWindows 7互換性コードを削除するクリーンアップPRです。EventProvider、EventSource、Environment、CompareInfoなど複数のファイルから不要なコード分岐を削除し、コードベースの簡潔化を実現します。 diff --git a/archives/2026/01/02.md b/archives/2026/01/02.md index 9d38c82..08949da 100644 --- a/archives/2026/01/02.md +++ b/archives/2026/01/02.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#122794 Rename AsyncSafeThreadMap to SignalSafeThreadMap](#122794) 2. [#122791 Consolidate runtime helpers (X86Base, Interlocked, Buffer) across CoreCLR and NativeAOT](#122791) 3. [#122688 Split GetInterpThreadContext into allocating and non-allocating variants](#122688) @@ -11,7 +11,7 @@ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2025年12月31日 04:48:12(UTC) - マージ日時: 2026年01月02日 14:08:13(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 `AsyncSafeThreadMap`クラスを`SignalSafeThreadMap`にリネームするリファクタリング。.NETの`async/await`パターンとの混同を避けるため、シグナルハンドラー内での安全な使用を目的とした本クラスの実際の用途に合わせた命名に統一しました。命名の一貫性向上により、コード意図の明確化を実現します。 @@ -36,7 +36,7 @@ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2025年12月31日 03:38:52(UTC) - マージ日時: 2026年01月02日 14:57:25(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 CoreCLR、NativeAOT、Monoの3つのランタイム間で重複するネイティブヘルパー実装(X86Base、Interlocked、Buffer)を統合し、共有コードを最大化するリファクタリング。新しい共有実装を`src/coreclr/runtime/MiscNativeHelpers.cpp/h`に集約し、すべてのランタイムが同一のマネージドコードファイルを使用するよう統一しました。プラットフォーム固有の部分クラス(`*.CoreCLR.cs`、`*.NativeAot.cs`、`*.Mono.cs`)をすべて削除。 @@ -85,7 +85,7 @@ private static extern void memmove(void* dest, void* src, nuint len); - 作成者: [@jkotas](https://github.com/jkotas) - 作成日時: 2025年12月21日 16:05:03(UTC) - マージ日時: 2026年01月02日 14:03:55(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 GetInterpThreadContextを割り当て型と非割り当て型の2つのバリアントに分割し、インタープリタが実際に使用される場合のみInterpThreadContextを確保するように改善したPull Requestです。従来はTryEnsureSufficientExecutionStackなどの処理でインタープリタを使用していない場合でも不要なメモリ割り当てが発生していました。 @@ -109,7 +109,7 @@ https://github.com/dotnet/runtime/issues/122404 - 作成者: [@credo-quia-absurdum](https://github.com/credo-quia-absurdum) - 作成日時: 2025年12月16日 13:00:58(UTC) - マージ日時: 2026年01月02日 09:57:40(UTC) -- ラベル: area-CodeGen-coreclr community-contribution arch-riscv +- ラベル: area-CodeGen-coreclr community-contribution arch-riscv #### 概要 RISC-V 64ビット向けコード生成部分(`codegenriscv64.cpp`)のコメントと書式をクリーンアップするマイナー更新です。機能的な変更は含まれておらず、コードの可読性と保守性の向上を目的としています。 @@ -136,7 +136,7 @@ RISC-V 64ビット向けコード生成部分(`codegenriscv64.cpp`)のコメ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2025年11月18日 14:31:43(UTC) - マージ日時: 2026年01月02日 10:52:17(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 ARM向けのレジスタ予約ロジック(`RBM_SAVED_LOCALLOC_SP`)をコンパイラの`compCompile`関数から、LSRA(Linear Scan Register Allocator)の`setFrameType`関数へ移動するリファクタリング。コード機能の変更なし。 @@ -161,7 +161,7 @@ ARM向けのレジスタ予約ロジック(`RBM_SAVED_LOCALLOC_SP`)をコン - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2025年10月29日 03:15:58(UTC) - マージ日時: 2026年01月02日 14:48:51(UTC) -- ラベル: needs-area-label +- ラベル: needs-area-label #### 概要 NativeAOT(ネイティブAOT)のヘルパーメソッドをCoreClrのパターンに合わせてリファクタリングするPR。`ArrayHelpers.cs`と`TypedReferenceHelpers.cs`から適切なターゲット型にメソッドを移動し、NativeAOTと非NativeAOTの構造をより類似させることが目的。これにより、コード保守性が向上し、プラットフォーム間の一貫性が改善される。 diff --git a/archives/2026/01/03.md b/archives/2026/01/03.md index 65bcc02..e7d0cd6 100644 --- a/archives/2026/01/03.md +++ b/archives/2026/01/03.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#122830 Fix NullReferenceException in SerialPort event callbacks when handler unsubscribes during invocation](#122830) 2. [#122825 Fix trailing data handling with CertificateRevocationListBuilder.LoadPem.](#122825) 3. [#122816 Remove managed implementation from SP800-108 on Windows](#122816) @@ -11,7 +11,7 @@ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月03日 02:46:41(UTC) - マージ日時: 2026年01月03日 15:39:27(UTC) -- ラベル: area-System.IO.Ports +- ラベル: area-System.IO.Ports #### 概要 `SerialStream.EventLoopRunner`でイベントハンドラーが一度だけチェックされるが複数回呼び出される問題を修正しました。ハンドラーが最初の呼び出し中にアンサブスクライブすると、その後の呼び出しで`NullReferenceException`が発生していました。null条件演算子(`?.Invoke`)を使用して各呼び出し前に安全にチェックするように変更しました。 @@ -51,7 +51,7 @@ dotnet/runtime#119156 - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2026年01月02日 18:25:19(UTC) - マージ日時: 2026年01月03日 15:42:02(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 CertificateRevocationListBuilder.LoadPemメソッドにおいて、PEM形式のデータ内に末尾データが存在する場合の処理を改善しました。従来はアサーション失敗で対応していましたが、適切な例外を発生させるよう修正し、DERリーダーが末尾データを検証するように強化しています。 @@ -79,7 +79,7 @@ CertificateRevocationListBuilder.LoadPemメソッドにおいて、PEM形式の - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2026年01月02日 02:16:06(UTC) - マージ日時: 2026年01月03日 15:45:08(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 Windows 7専用だった SP800-108 HMAC Counter KDF のマネージド実装を削除するPRです。不要になった手動実装を廃止することで、NativeAOT の効率性向上に貢献します。Windows では CNG(Cryptography API: Next Generation)のネイティブ実装のみを使用します。 @@ -102,7 +102,7 @@ Windows 7 のサポート終了に伴う クリーンアップ作業の一部で - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2026年01月01日 03:32:54(UTC) - マージ日時: 2026年01月03日 02:31:18(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 Windows 7は既にサポート対象外となったため、BCryptDeriveKeyPBKDF2 APIの使用を削除するPRです。PBKDF2実装をWindows 7専用の古いAPI呼び出しから移行させ、コードベースを整理します。これによりレガシーAPI依存性が排除され、メンテナンス性が向上します。 @@ -133,7 +133,7 @@ Windows 7は既にサポート対象外となったため、BCryptDeriveKeyPBKDF - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2025年12月31日 17:42:47(UTC) - マージ日時: 2026年01月03日 15:51:41(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 `FromBase64Transform`の2つのバグを修正します。1つ目は、前のブロックから保持されたバイト列がある場合に`CryptoPool`からのレンタルサイズが不足する問題で、`inputCount`ではなく`bytesToTransform`を使用するよう修正しました。2つ目は、出力バッファが不足している場合の例外処理を改善し、`Debug.Assert`失敗と不正な`FormatException`ではなく適切に`ArgumentOutOfRangeException`をスローするようにしました。 diff --git a/archives/2026/01/04.md b/archives/2026/01/04.md index f5de5de..bda996d 100644 --- a/archives/2026/01/04.md +++ b/archives/2026/01/04.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#122846 Use /O2 for Windows x86 Checked](#122846) 2. [#122833 Cleanup always-on FEATURE_EH_FUNCLETS](#122833) 3. [#122799 \[browser\]\[coreCLR\] detect browser features and fail fast](#122799) @@ -9,7 +9,7 @@ - 作成者: [@huoyaoyuan](https://github.com/huoyaoyuan) - 作成日時: 2026年01月04日 01:39:07(UTC) - マージ日時: 2026年01月04日 06:12:03(UTC) -- ラベル: area-Infrastructure-coreclr community-contribution +- ラベル: area-Infrastructure-coreclr community-contribution #### 概要 Windows x86 Checked ビルドで `/O2` 最適化フラグを使用するよう変更するPull Request。レガシー例外処理(EH)に特定のアサーション失敗を修正し、パフォーマンスとビルド設定の改善に貢献しています。 @@ -31,7 +31,7 @@ Windows x86 Checked ビルドで `/O2` 最適化フラグを使用するよう - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年01月03日 13:06:39(UTC) - マージ日時: 2026年01月04日 06:15:40(UTC) -- ラベル: area-VM-coreclr community-contribution +- ラベル: area-VM-coreclr community-contribution #### 概要 `FEATURE_EH_FUNCLETS`機能フラグが常に有効であるため、条件付きコンパイルディレクティブと関連するレガシーコードを削除するクリーンアップPRです。例外処理(EH)funcletの実装が標準化され、条件分岐が不要になったため、3202行のx86例外処理コード(excepx86.cpp)を含む大量の不要なコードが削除されています。 @@ -63,7 +63,7 @@ Windows x86 Checked ビルドで `/O2` 最適化フラグを使用するよう - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2025年12月31日 13:50:12(UTC) - マージ日時: 2026年01月04日 08:11:53(UTC) -- ラベル: arch-wasm area-Host os-browser +- ラベル: arch-wasm area-Host os-browser #### 概要 ブラウザ環境でのWebAssembly実行時に、JavaScriptエンジンがWASM例外処理(EH)とSIMD機能に対応しているかを事前に検証する`validateWasmFeatures()`関数を新たに実装しました。これにより、非対応環境での実行時エラーを防ぎ、早期に失敗させることができます。 @@ -90,7 +90,7 @@ Windows x86 Checked ビルドで `/O2` 最適化フラグを使用するよう - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2025年12月31日 13:42:50(UTC) - マージ日時: 2026年01月04日 08:09:19(UTC) -- ラベル: arch-wasm area-Host os-browser +- ラベル: arch-wasm area-Host os-browser #### 概要 browser/coreCLRのインクリメンタルビルドを修正するPR。主にJSファイルがbrowserhost CMakeをトリガーするようにし、`copy_version_files.ps1`のファイル読み込み方法の不一致(改行有無)によって発生していた不要な再コンパイルを解消。また、browserhostサンプルコードを削除しています。 diff --git a/archives/2026/01/05.md b/archives/2026/01/05.md index 95198e0..dd2b6cb 100644 --- a/archives/2026/01/05.md +++ b/archives/2026/01/05.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#122896 Fix IL2062 trim analysis warning with C# 14 compiler in CompilerGeneratedCodeAccessedViaReflection test](#122896) 2. [#122894 Use Array.Copy in Match.AddMatch](#122894) 3. [#122892 Avoid double lookup in regex's HashtableExtensions](#122892) @@ -26,7 +26,7 @@ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月05日 19:35:58(UTC) - マージ日時: 2026年01月05日 19:44:23(UTC) -- ラベル: linkable-framework +- ラベル: linkable-framework #### 概要 Roslyn 4.14.0によるC# 14コンパイラの導入に伴い、イテレータステートマシンのコード生成が変更され、IL2062トリミング分析警告が発生するようになりました。テストの`IteratorWithIntegerDataflow()`メソッドで、コメントアウトされていた`[UnexpectedWarning("IL2062", ...)]`属性をコメント解除し、この警告が期待される動作であることを示すテスト修正です。 @@ -51,7 +51,7 @@ Roslyn 4.14.0によるC# 14コンパイラの導入に伴い、イテレータ - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年01月05日 19:18:30(UTC) - マージ日時: 2026年01月05日 21:30:56(UTC) -- ラベル: area-System.Text.RegularExpressions +- ラベル: area-System.Text.RegularExpressions #### 概要 System.Text.RegularExpressionsの`Match.AddMatch`メソッドで、手動のループ処理を`Array.Copy`に置き換えることで、コードの簡潔化とパフォーマンス向上を実現した変更です。正規表現マッチング時の配列コピー処理を最適化しています。 @@ -79,7 +79,7 @@ System.Text.RegularExpressionsの`Match.AddMatch`メソッドで、手動のル - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年01月05日 19:10:28(UTC) - マージ日時: 2026年01月05日 21:29:08(UTC) -- ラベル: area-System.Text.RegularExpressions +- ラベル: area-System.Text.RegularExpressions #### 概要 正規表現の`HashtableExtensions`において、Hashtableへのダブルルックアップを回避する最適化が実施されました。同じキーに対する重複した検索操作を1回に削減し、パフォーマンスを向上させています。 @@ -103,7 +103,7 @@ System.Text.RegularExpressionsの`Match.AddMatch`メソッドで、手動のル - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2026年01月05日 16:05:07(UTC) - マージ日時: 2026年01月05日 19:55:43(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 Windows 7のサポート終了に伴い、暗号化関連のテストコードを更新するPull Requestです。Windows 7専用の条件付きテストを削除し、Windows 7以外の環境での実行条件を簡素化しました。テストロジック自体の変更ではなく、プラットフォーム依存の条件分岐を整理する内容です。 @@ -130,7 +130,7 @@ Windows 7のサポート終了に伴い、暗号化関連のテストコード - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月05日 14:51:00(UTC) - マージ日時: 2026年01月05日 18:16:25(UTC) -- ラベル: area-ILTools-coreclr +- ラベル: area-ILTools-coreclr #### 概要 ILDasm で `-METADATA=RAW` フラグを使用した際にアサーション失敗で クラッシュする問題を修正。`ELEMENT_TYPE_CMOD_INTERNAL` がメタデータ情報用の配列に不足していたため、メタデータ検査が機能しない状態でした。修正では `g_szMapElementType` と `g_szMapUndecorateType` 配列に「CMOD_INTERNAL」エントリを追加し、`ELEMENT_TYPE_MAX` 値との一致を確保しました。 @@ -154,7 +154,7 @@ dotnet/runtime #122875 - 作成者: [@filipnavara](https://github.com/filipnavara) - 作成日時: 2026年01月05日 13:42:33(UTC) - マージ日時: 2026年01月05日 23:46:44(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 このPRはx86プラットフォーム向けの非funclet例外処理(EH)コードとFEATURE_EH_WINDOWS_X86フラグを削除するもの。.NET Runtimeは現在funcletベースの例外処理に統一され、レガシーな非funclet実装は不要になったため、コードベースを簡潔化する変更。複数のJITコンパイラファイルから条件分岐とレガシーロジックを削除し、保守性を向上させる。 @@ -183,7 +183,7 @@ dotnet/runtime #122875 - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年01月05日 10:46:14(UTC) - マージ日時: 2026年01月05日 15:58:13(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITのswitch認識機能において、すべてのsuccessorが同じブロックを対象とする退化したswitch文を検出して処理するバグ修正。issue #121691を解決するもので、switchrecognition.cpp に最小限の変更(2行追加、1行削除)が加えられている。 @@ -207,7 +207,7 @@ JITのswitch認識機能において、すべてのsuccessorが同じブロッ - 作成者: [@jkotas](https://github.com/jkotas) - 作成日時: 2026年01月04日 07:03:39(UTC) - マージ日時: 2026年01月05日 07:09:27(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 PR #122850で導入された回帰を修正するPRです。NativeAOTランタイムのTypecast.cs内のアサーション条件を緩和し、外部ループテストで発生していたアサーション失敗エラーを解決します。具体的には、elementTypeの検証条件を見直し、より広い範囲の要素型を許容するようにしています。 @@ -230,7 +230,7 @@ PR #122850で導入された回帰を修正するPRです。NativeAOTランタ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月04日 04:35:00(UTC) - マージ日時: 2026年01月05日 20:34:44(UTC) -- ラベル: area-System.Diagnostics.Activity +- ラベル: area-System.Diagnostics.Activity #### 概要 空の`TagList`に対して`CopyTo(array, arrayIndex)`を呼び出すと`ArgumentOutOfRangeException`が発生する問題を修正しました。空のTagListの場合、コピー対象がないため`arrayIndex == array.Length`を許可し、`ActivityTagsCollection`と一貫した動作にしました。LINQ の`ToArray()`も正常に動作するようになります。 @@ -265,7 +265,7 @@ dotnet/runtime#122848 - 作成者: [@davidnguyen-tech](https://github.com/davidnguyen-tech) - 作成日時: 2026年01月02日 15:51:56(UTC) - マージ日時: 2026年01月05日 16:28:21(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 R2R PE ファイルのレイアウト計算時に空のセクションをスキップするよう `PEObjectWriter` を改善しました。非Windows プラットフォームで空のセクションに対して不要な 64 kB パディングが割り当てられていた問題を解決し、PE ファイルサイズを大幅に削減します。 @@ -294,7 +294,7 @@ PE ファイルサイズの著しい圧縮により、配布ファイルサイ - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2026年01月01日 03:47:25(UTC) - マージ日時: 2026年01月05日 22:50:47(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 HashProviderCngクラスにおいて、Windows 7のサポート終了に伴い、BCRYPT_HASH_REUSABLE_FLAGが常にサポートされていると仮定するように変更されました。これまでWindows 7の非互換性に対応するためのコードが存在していましたが、それらの条件分岐が不要になったため削除されています。 @@ -323,7 +323,7 @@ HashProviderCngクラスにおいて、Windows 7のサポート終了に伴い - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2025年12月31日 14:01:28(UTC) - マージ日時: 2026年01月05日 14:47:26(UTC) -- ラベル: arch-wasm area-Host os-browser +- ラベル: arch-wasm area-Host os-browser #### 概要 ブラウザ環境(WASM)で動作するJavaScript モジュールに`gitHash`を埋め込み、起動時に一貫性をチェックする機能を追加しました。HTTPキャッシュやビルドフォルダに矛盾したバージョンのJSファイルが存在する場合、早期に失敗させることで デバッグを容易にします。 @@ -355,7 +355,7 @@ WASM環境特有の問題(複数バージョンのJSモジュールが同時 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2025年12月26日 02:26:29(UTC) - マージ日時: 2026年01月05日 21:26:02(UTC) -- ラベル: area-System.Text.Json +- ラベル: area-System.Text.Json #### 概要 `JsonSourceGenerator`がinit-onlyプロパティのコード生成時に、C#の予約キーワードを使用したプロパティ名の前置`@`記号を削除していた問題を修正しました。例えば`@else`というプロパティが`else`として生成され、コンパイルエラーになっていました。 @@ -393,7 +393,7 @@ partial class Ctx : JsonSerializerContext; - 作成者: [@am11](https://github.com/am11) - 作成日時: 2025年12月24日 23:58:38(UTC) - マージ日時: 2026年01月05日 09:21:58(UTC) -- ラベル: area-CodeGen-coreclr community-contribution arch-loongarch64 arch-riscv +- ラベル: area-CodeGen-coreclr community-contribution arch-loongarch64 arch-riscv #### 概要 LoongArch64およびRISCV64プラットフォームにおいて、非同期ノード(async nodes)の処理を追加するパッチです。NativeAOTでELF/Mach-O形式を出力する際に必要な機能を実装しており、コミュニティプラットフォーム向けの対応となります。各プラットフォームのコード生成部に8行ずつ追加されています。 @@ -422,7 +422,7 @@ LoongArch64およびRISCV64プラットフォームにおいて、非同期ノ - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2025年12月21日 10:58:40(UTC) - マージ日時: 2026年01月05日 17:57:49(UTC) -- ラベル: Servicing-approved area-System.Numerics +- ラベル: Servicing-approved area-System.Numerics #### 概要 UInt128からdoubleへの変換で、2^88から2^104の範囲の値が不正な結果を返す不具合を修正するバックポート。シフト演算の論理エラー(24ビット右シフトすべき箇所が40ビット右シフトになっていた)が原因。UInt128は比較的使用頻度が低い型ですが、正確な型変換は重要です。 @@ -453,7 +453,7 @@ UInt128からdoubleへの変換で、2^88から2^104の範囲の値が不正な - 作成者: [@MihaZupan](https://github.com/MihaZupan) - 作成日時: 2025年12月20日 15:55:53(UTC) - マージ日時: 2026年01月05日 14:51:13(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 HTTP/3のトレーラーハンドリングにおいて、不要な一時的なList割り当てを削除する最適化です。ヘッダーデータを最終的なコレクションに直接書き込むことで、メモリ効率を改善しています。この手法はHTTP/2で既に実装されている同じパターンに統一しています。 @@ -480,7 +480,7 @@ HTTP/3のトレーラーハンドリングにおいて、不要な一時的なLi - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2025年12月18日 16:43:06(UTC) - マージ日時: 2026年01月05日 19:56:21(UTC) -- ラベル: area-System.Globalization +- ラベル: area-System.Globalization #### 概要 HybridGlobalization機能のエラーメッセージを更新するPRです。Apple モバイルプラットフォームではHybridGlobalizationが無効化できなくなったため、ユーザーに誤解を招く「無効化してより大きなICUバンドルを読み込む」というガイダンスを削除し、より正確な説明に置き換えました。6つのエラーメッセージが対象です。 @@ -511,7 +511,7 @@ HybridGlobalization機能のエラーメッセージを更新するPRです。Ap - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2025年12月18日 00:39:06(UTC) - マージ日時: 2026年01月05日 21:37:41(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly(Wasm)ターゲット向けのJITコンパイラで、x86クロスコンパイルMCHリプレイ中に発生していた複数の未実装(NYI)エラーと他の問題を修正するPRです。主にフローグラフ処理、値の番号付け、下位レベルコード生成で改善が加えられています。 @@ -543,7 +543,7 @@ WebAssembly(Wasm)ターゲット向けのJITコンパイラで、x86クロスコ - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2025年12月17日 21:28:57(UTC) - マージ日時: 2026年01月05日 18:25:31(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 インタープリタの呼び出し規約におけるガベージコレクション(GC)レポート時の二重報告問題を修正しています。callee のスタック空間を指すポインタの保守的な報告を削除することで、過度な保守的レポートを減らします。IL スタック上に保持されたオブジェクト参照は引き続き保守的に報告されます。 @@ -572,7 +572,7 @@ WebAssembly(Wasm)ターゲット向けのJITコンパイラで、x86クロスコ - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2025年12月12日 11:46:51(UTC) - マージ日時: 2026年01月05日 10:03:48(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 非同期テストとプロファイラのleaveコールバックが組み合わさった場合に、標準リターン時に非同期継続を適切にゼロ化していなかった問題を修正。#122195で導入された非同期テストが他のストレス設定と組み合わせて実行される際に、leave callbacksの出力時に非同期継続の適切なクリアが行われていないことが判明し、本PRで対応。 @@ -598,7 +598,7 @@ WebAssembly(Wasm)ターゲット向けのJITコンパイラで、x86クロスコ - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2025年12月08日 22:27:32(UTC) - マージ日時: 2026年01月05日 22:23:59(UTC) -- ラベル: test-enhancement area-Infrastructure +- ラベル: test-enhancement area-Infrastructure #### 概要 CoreMangLibテストスイートを統合し、56個の個別csprojファイルを削除してテストプロジェクト構造を簡素化しています。複数の独立したテストプロジェクトを1つのプロジェクトに統合することで、ビルドとメンテナンスの効率を向上させています。 diff --git a/archives/2026/01/06.md b/archives/2026/01/06.md index 1185778..b1ccd83 100644 --- a/archives/2026/01/06.md +++ b/archives/2026/01/06.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#122927 Fix browser build](#122927) 2. [#122918 Replace a couple of Hashtables in CoreLib with ConcurrentDictionary](#122918) 3. [#122914 Delete references to deleted PAL tests](#122914) @@ -32,7 +32,7 @@ - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年01月06日 17:10:18(UTC) - マージ日時: 2026年01月06日 20:22:17(UTC) -- ラベル: area-System.Threading +- ラベル: area-System.Threading #### 概要 Browser向けのビルドで発生していたコンパイルエラーを修正するPull Requestです。ThreadPool.Browser.Threads.csファイルの13行目と14行目に構文エラーが発生していたため、コメント行と閉じ括弧の配置を修正しました。2行の変更でビルド失敗を解決しています。 @@ -57,7 +57,7 @@ Browser向けのビルドで発生していたコンパイルエラーを修正 - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年01月06日 15:09:29(UTC) - マージ日時: 2026年01月06日 17:58:24(UTC) -- ラベル: area-System.Globalization +- ラベル: area-System.Globalization #### 概要 CoreLibの複数の箇所でHashtableをConcurrentDictionaryに置き換える変更。キーと値のボックス化を回避し、型安全性を向上させ、コード行数を削減することで、メンテナンス性とパフォーマンスを改善する改革的な変更です。 @@ -84,7 +84,7 @@ CoreLibの複数の箇所でHashtableをConcurrentDictionaryに置き換える - 作成者: [@jkotas](https://github.com/jkotas) - 作成日時: 2026年01月06日 06:32:58(UTC) - マージ日時: 2026年01月06日 16:59:15(UTC) -- ラベル: area-PAL-coreclr +- ラベル: area-PAL-coreclr #### 概要 PALテストスイートから削除されたテストの参照を設定ファイルから削除するハウスキーピング作業です。`compilableTests.txt`と`paltestlist.txt`から不要になったテストエントリを削除し、テストスイートの整合性を保つことが目的です。 @@ -134,7 +134,7 @@ ildasm出力に含まれていた非決定的な「Image base:」コメント行 - 作成者: [@janvorli](https://github.com/janvorli) - 作成日時: 2026年01月06日 00:55:40(UTC) - マージ日時: 2026年01月06日 13:27:56(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 WASMプラットフォームにおけるマネージ例外のネイティブフレームへの伝播を修正するPRです。`UNINSTALL_MANAGED_EXCEPTION_DISPATCHER_EX`内で例外を無視するように改善し、ターゲットフレームに到達するまで例外を保持します。WASMではスタック巻き戻しが他のプラットフォームと異なるため、この対応が必要です。また、`PAL_SEHException`クラスから廃止ビットも削除されています。 @@ -159,7 +159,7 @@ WASMプラットフォームにおけるマネージ例外のネイティブフ - 作成者: [@janvorli](https://github.com/janvorli) - 作成日時: 2026年01月05日 23:41:08(UTC) - マージ日時: 2026年01月06日 03:27:10(UTC) -- ラベル: area-ExceptionHandling-coreclr +- ラベル: area-ExceptionHandling-coreclr #### 概要 `FEATURE_EH_FUNCLETS`の削除に伴い、不要になった`POPFRAMES`スタックウォークオプションを完全に削除するPR。`STACKWALKER_MAY_POP_FRAMES`ifdefの下のコードも合わせて除去され、不要な機能が整理される。 @@ -182,7 +182,7 @@ WASMプラットフォームにおけるマネージ例外のネイティブフ - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年01月05日 23:29:57(UTC) - マージ日時: 2026年01月06日 03:28:48(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 このPull Requestは、issue #122762で報告された`SuppressGCTransition`属性の処理に関する問題を修正します。アンマネージ呼び出し規約の処理において、`SuppressGCTransition`ハンドリングの復元を行う変更です。 @@ -207,7 +207,7 @@ WASMプラットフォームにおけるマネージ例外のネイティブフ - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年01月05日 22:35:20(UTC) - マージ日時: 2026年01月06日 15:31:44(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT最適化におけるSpanHelpers.Fillメソッドが最後の引数をエスケープする可能性がある問題を修正しました。Fillメソッドが汎用型で参照型の値を許可するため、GCリファレンスの処理で問題が発生していました。オブジェクトのスタック割り当て最適化時にこの引数が不正にエスケープされるのを防止します。 @@ -301,7 +301,7 @@ internal partial class SourceGenerationContext : JsonSerializerContext; - 作成者: [@vseanreesermsft](https://github.com/vseanreesermsft) - 作成日時: 2026年01月05日 18:33:30(UTC) - マージ日時: 2026年01月06日 20:50:53(UTC) -- ラベル: Servicing-approved area-Infrastructure +- ラベル: Servicing-approved area-Infrastructure #### 概要 .NET Runtime 9.0.13のブランディング更新を行うPull Requestです。eng/Versions.propsファイル内のバージョン情報を更新し、リリース準備のための変更を実施しています。説明文の詳細はありませんが、バージョン番号の更新が主な内容となっています。 @@ -326,7 +326,7 @@ internal partial class SourceGenerationContext : JsonSerializerContext; - 作成者: [@vseanreesermsft](https://github.com/vseanreesermsft) - 作成日時: 2026年01月05日 18:32:45(UTC) - マージ日時: 2026年01月06日 19:14:29(UTC) -- ラベル: Servicing-approved area-Infrastructure +- ラベル: Servicing-approved area-Infrastructure #### 概要 .NET Runtime 8.0.24へのブランディング更新を行うPull Requestです。バージョン情報を含む設定ファイルが更新されました。説明文は記載されていません。 @@ -385,7 +385,7 @@ var assembly = (RuntimeAssembly?)Assembly.Load(assemblyName); - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年01月05日 18:17:09(UTC) - マージ日時: 2026年01月06日 21:16:01(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 Windows 7以前の互換性コードをCoreClrから削除するクリーンアップです。.NETランタイムは現在Windows 8以降のみサポートしているため、古いOSの互換性処理が不要になりました。WinRT APIとversion.dllの遅延ロード処理も削除され、`/DEPENDENTLOADFLAG:0x800`フラグにより依存関係が確実にSystem32から読み込まれるようになっています。 @@ -411,7 +411,7 @@ Windows 7以前の互換性コードをCoreClrから削除するクリーンア - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年01月05日 14:03:43(UTC) - マージ日時: 2026年01月06日 16:17:15(UTC) -- ラベル: area-CodeGen-coreclr runtime-async +- ラベル: area-CodeGen-coreclr runtime-async #### 概要 JITコンパイラにおいて、GCリファレンスを含むカスタムレイアウト構造体のアライメント処理に関するバグ修正です。Issue #122859を解決するもので、`async.cpp`の1行を修正しています。GCポインタを含むカスタムレイアウトに対して、ポインタサイズへの適切なアライメント処理を確保するための変更です。 @@ -438,7 +438,7 @@ JITコンパイラにおいて、GCリファレンスを含むカスタムレイ - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年01月05日 13:05:04(UTC) - マージ日時: 2026年01月06日 18:30:21(UTC) -- ラベル: arch-wasm area-Host os-browser +- ラベル: arch-wasm area-Host os-browser #### 概要 ブラウザ環境でのCoreCLR実装において、`dotnetAssert.fastCheck`の呼び出しをインライン化し、失敗しない場合の文字列フォーマットとクロージャ割り当てを削減するパフォーマンス最適化。従来の関数呼び出しから直接的なif文での例外スローに変更。 @@ -474,7 +474,7 @@ if (!(Number.isSafeInteger(value))) throw new Error(`Assert failed: Value is not - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年01月05日 12:36:57(UTC) - マージ日時: 2026年01月06日 12:59:22(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 async メソッドからの明示的なテールコールは許可されていないため、テールコール ストレスを有効にすることは意味がありません。有効化すると、`GT_RETURN` ノードの作成をスキップする可能性があり、async 変換で予期しない IR の変更が発生します。このプルリクエストはテールコール ストレスを async メソッドで禁止する修正を実施しています。 @@ -499,7 +499,7 @@ async メソッドからの明示的なテールコールは許可されてい - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年01月05日 11:50:01(UTC) - マージ日時: 2026年01月06日 14:06:33(UTC) -- ラベル: area-CodeGen-coreclr runtime-async +- ラベル: area-CodeGen-coreclr runtime-async #### 概要 `AsyncHelpers.AsyncCallContinuation`イントリンシックを明示的に使用する場合、JITの`ASYNC_CONTINUATION`ノードが非同期呼び出しの直後に線形順序で配置される必要があります。しかし、呼び出し結果の`stloc`がヘルパー呼び出しに変換される場合など、中間に他の処理が挿入されることがあります。本修正では、前の非同期呼び出しをより確実に探索し、他の非非同期呼び出しをスキップできるようにしました。 @@ -520,7 +520,7 @@ iOS向けのビルド検証が実施されています。JITコンパイラの - 作成者: [@laveeshb](https://github.com/laveeshb) - 作成日時: 2026年01月03日 05:40:37(UTC) - マージ日時: 2026年01月06日 06:40:47(UTC) -- ラベル: area-System.Net.Sockets community-contribution +- ラベル: area-System.Net.Sockets community-contribution #### 概要 `Socket.SendFile`がBlocking=falseの場合、プラットフォーム固有の未定義動作を引き起こす問題を修正しました。Windowsではブロックされ、Linuxではデータが部分的に送信される可能性があります。修正では、ブロッキングモード非対応時に`InvalidOperationException`をスローするバリデーションを追加しています。 @@ -543,7 +543,7 @@ iOS向けのビルド検証が実施されています。JITコンパイラの - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年01月01日 16:56:28(UTC) - マージ日時: 2026年01月06日 11:05:27(UTC) -- ラベル: arch-wasm area-Host os-browser +- ラベル: arch-wasm area-Host os-browser #### 概要 ブラウザホスト向けのTypeScript/rollup構成を改善するPRです。グローバル宣言の可視性問題を解決するため、`_ems_`ヘルパーを導入して擬似モジュール化し、TypeScriptの型安全性向上とモジュール間の循環依存を修正。CIでリリース/ミニファイJS生成も実装。 @@ -571,7 +571,7 @@ iOS向けのビルド検証が実施されています。JITコンパイラの - 作成者: [@tpa95](https://github.com/tpa95) - 作成日時: 2025年12月30日 13:02:20(UTC) - マージ日時: 2026年01月06日 08:25:32(UTC) -- ラベル: area-VM-meta-mono community-contribution +- ラベル: area-VM-meta-mono community-contribution #### 概要 Linux Verification Center(SVACE)の静的解析により検出されたMonoランタイムのメモリリーク問題を修正するPull Requestです。関数の早期リターン時にメモリが適切に解放されていなかった問題を複数のファイルで対処しています。 @@ -604,7 +604,7 @@ Linux Verification Center(SVACE)の静的解析により検出されたMono - 作成者: [@hez2010](https://github.com/hez2010) - 作成日時: 2025年12月27日 18:20:50(UTC) - マージ日時: 2026年01月06日 19:52:44(UTC) -- ラベル: area-System.Runtime.CompilerServices community-contribution +- ラベル: area-System.Runtime.CompilerServices community-contribution #### 概要 `UnsafeAccessor`で構造体のインスタンスメソッドを呼び出す際、暗黙的なthis引数がbyrefで表現されていました。署名生成時にこのbyref署名をターゲット型署名として使用していたため、ランタイムがnullの`MethodTable`でジェネリックコンテキストを解決し、クラッシュが発生する問題を修正しました。修正内容は、ターゲット型署名からbyrefを削除し、基礎となる要素型`T`を使用するようにしています。 @@ -628,7 +628,7 @@ Linux Verification Center(SVACE)の静的解析により検出されたMono - 作成者: [@VSadov](https://github.com/VSadov) - 作成日時: 2025年12月24日 20:41:26(UTC) - マージ日時: 2026年01月06日 13:29:03(UTC) -- ラベル: area-System.Threading +- ラベル: area-System.Threading #### 概要 スケーラビリティ実験の推奨に基づくスレッドプール最適化の第1弾。ワークアイテムの投入と実行のオーバーヘッドを削減し、不要なスレッド起動を防ぎ、同期プリミティブを改善することで、タスク処理効率を向上させる。 @@ -659,7 +659,7 @@ Linux Verification Center(SVACE)の静的解析により検出されたMono - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2025年12月19日 01:31:51(UTC) - マージ日時: 2026年01月06日 21:06:37(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 インタープリタサポート環境でのInterop スイートの複数の問題を修正するPull Requestです。主な修正内容は、IsBuiltInComEnabled のプラットフォーム検出の改善と、最適化されたデリゲートコンストラクタの使用です。[UnmanagedCallersOnly]属性でマークされた関数へのデリゲート作成時の問題を回避し、同時にコンパイラの改善を実現しています。 @@ -683,7 +683,7 @@ Linux Verification Center(SVACE)の静的解析により検出されたMono - 作成者: [@NikolaMilosavljevic](https://github.com/NikolaMilosavljevic) - 作成日時: 2025年12月18日 23:41:00(UTC) - マージ日時: 2026年01月06日 18:45:05(UTC) -- ラベル: Servicing-approved area-Setup +- ラベル: Servicing-approved area-Setup #### 概要 OpenSSL依存関係をopenSUSEおよびSLES向けに更新するPR。`libopenssl1`から`libopenssl3`への切り替えを実施。`libopenssl3`は対象となるすべてのディストリビューションリリースでデフォルトでサポート・インストールされており、openSUSE Tumbleweelではこれが唯一の利用可能なバージョンとなるため、この更新が必要。 @@ -709,7 +709,7 @@ OpenSSL依存関係をopenSUSEおよびSLES向けに更新するPR。`libopenssl - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2025年12月11日 02:06:07(UTC) - マージ日時: 2026年01月06日 18:11:53(UTC) -- ラベル: area-Tracing-coreclr area-CodeGen-Interpreter-coreclr +- ラベル: area-Tracing-coreclr area-CodeGen-Interpreter-coreclr #### 概要 NativeRuntimeEventSourceTestのタイムアウト値が5秒から45秒に変更されました。既存のタイムアウトが短すぎて、テスト実行時に不安定な結果が生じていたため、より余裕のある値に調整されています。これはランタイムイベントソースのトレーシングテストの安定性向上を目的とした変更です。 @@ -731,7 +731,7 @@ NativeRuntimeEventSourceTestのタイムアウト値が5秒から45秒に変更 - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2025年11月15日 22:42:08(UTC) - マージ日時: 2026年01月06日 16:17:58(UTC) -- ラベル: area-CodeGen-coreclr runtime-async +- ラベル: area-CodeGen-coreclr runtime-async #### 概要 非同期メソッドの実行コンテキスト状態をOSR(On-Stack Replacement)とEnC(Edit and Continue)トランジション中に正しく復元するための対応です。非同期メソッドの本体周囲に保存されるコンテキスト状態が、コード更新や最適化時に失われないようにします。 diff --git a/archives/2026/01/07.md b/archives/2026/01/07.md index 7d092eb..d7483d3 100644 --- a/archives/2026/01/07.md +++ b/archives/2026/01/07.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#122953 Remove NET9_0_OR_GREATER and NET10_0_OR_GREATER preprocessor constants](#122953) 2. [#122948 Various async fixes](#122948) 3. [#122946 JIT: fix CEA to handle a few more cases](#122946) @@ -21,7 +21,7 @@ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月07日 01:24:41(UTC) - マージ日時: 2026年01月07日 21:05:02(UTC) -- ラベル: area-Meta +- ラベル: area-Meta #### 概要 .NET 10以降のみをターゲットするように変更されたため、リポジトリ全体から廃止予定の`NET9_0_OR_GREATER`および`NET10_0_OR_GREATER`プリプロセッサ定数を削除するクリーンアップです。ファイルの用途に応じて、条件付きコンパイルディレクティブを`#if NET`に置き換えるか、完全に削除しました。 @@ -70,7 +70,7 @@ - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年01月06日 23:40:22(UTC) - マージ日時: 2026年01月07日 23:21:42(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 async/awaitの非同期フロー制御に関する複数の問題を修正するPull Requestです。suppressed flowの問題を解決し、`DOTNET_JitOptimizeAwait`環境変数のサポートをインタープリタに追加することで、JITの動作との一貫性を取ります。いくつかのテストは無効化されています。 @@ -98,7 +98,7 @@ async/awaitの非同期フロー制御に関する複数の問題を修正する - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年01月06日 23:15:35(UTC) - マージ日時: 2026年01月07日 16:31:50(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 条件付きエスケープ分析(CEA)がネストされた`GetEnumerator`呼び出しに対応していなかった問題を修正。オブジェクトの`GetEnumerator`が別の`GetEnumerator`呼び出しの結果を返す場合、JITが適切にフラグを設定できていなかった。フラグ設定ロジックを改善し、インライン化されたメソッドからの戻り値がコール式の場合もそのコールにフラグを設定するようにしました。 @@ -120,7 +120,7 @@ SPMIテストで2件のスタック割り当て増加と約20件のコンテキ - 作成者: [@jozkee](https://github.com/jozkee) - 作成日時: 2026年01月06日 22:24:55(UTC) - マージ日時: 2026年01月07日 17:36:58(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 PR #122558でのdotnet/arcadeからの依存関係更新をリバートするPull Requestです。このリバートにより、ビルドやテスト関連の設定が以前の状態に戻されます。リバート理由は関連するIssue #122979およびWasmテストのタイムアウト問題に対応するためです。 @@ -150,7 +150,7 @@ PR #122558でのdotnet/arcadeからの依存関係更新をリバートするPul - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月06日 21:19:42(UTC) - マージ日時: 2026年01月07日 03:51:06(UTC) -- ラベル: area-Interop-coreclr +- ラベル: area-Interop-coreclr #### 概要 WinRT明示的初期化/初期化解除コードを削除し、ランタイムを簡略化するPRです。標準的なCOM初期化(`CoInitializeEx`/`CoUninitialize`)でCOM/WinRTインターオペラビリティが十分に対応できるため、冗長な`RoInitialize`/`RoUninitialize`呼び出しと関連するスレッド状態フラグを削除しました。顧客への影響はなく、内部ランタイム最適化です。 @@ -174,7 +174,7 @@ WinRT明示的初期化/初期化解除コードを削除し、ランタイム - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年01月06日 21:01:48(UTC) - マージ日時: 2026年01月07日 23:21:57(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 CLR インタープリタで、thisコール呼び出し規約を使用して関数を呼び出す際に、実際にthis引数が渡されていない場合の検出機能を追加します。EmptyThisCall テストの修正に対応する変更で、不正な関数呼び出しパターンをコンパイル時に検出し、エラーを防ぎます。 @@ -200,7 +200,7 @@ CLR インタープリタで、thisコール呼び出し規約を使用して関 - 作成者: [@thaystg](https://github.com/thaystg) - 作成日時: 2026年01月06日 19:13:16(UTC) - マージ日時: 2026年01月07日 16:16:28(UTC) -- ラベル: area-Debugger-mono +- ラベル: area-Debugger-mono #### 概要 Monoデバッガーでジャグ配列(string[][])型のプロパティを検査する際のバグを修正したPull Requestです。デバッガーエージェントとプロトコルの定義に関連する小規模な変更により、ジャグ配列型のオブジェクトプロパティの適切な検査機能を実現しています。 @@ -230,7 +230,7 @@ public class TestObject - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年01月06日 17:49:33(UTC) - マージ日時: 2026年01月07日 01:49:08(UTC) -- ラベル: area-ILTools-coreclr community-contribution +- ラベル: area-ILTools-coreclr community-contribution #### 概要 C# ilasm置き換えツールに複数の機能を追加するPRです。診断レポーティング基盤の実装、エスケープシーケンス解析、typedef(型エイリアス)サポート、およびマーシャルクローズ関連のバグ修正が含まれています。これらの機能拡張により、IL アセンブラの互換性と機能性が向上します。 @@ -256,7 +256,7 @@ C# ilasm置き換えツールに複数の機能を追加するPRです。診断 - 作成者: [@ManickaP](https://github.com/ManickaP) - 作成日時: 2026年01月06日 16:53:48(UTC) - マージ日時: 2026年01月07日 07:47:13(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 HTTP ストレステストの Dockerfile で ASAN (Address Sanitizer) のプリロード失敗を修正するPR。GCC をインストールし、新しい場所から libasan.so を読み込むように変更。これにより、ld.so のエラーメッセージ「object '/usr/lib/gcc/x86_64-linux-gnu/13/libasan.so' from LD_PRELOAD cannot be preloaded」が解消される。 @@ -311,7 +311,7 @@ Windows 7がサポート対象外になったため、`PlatformDetection.IsWindo - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月05日 23:51:15(UTC) - マージ日時: 2026年01月07日 00:34:34(UTC) -- ラベル: area-Interop-coreclr +- ラベル: area-Interop-coreclr #### 概要 `[UnmanagedCallersOnly]`属性を持つメソッドへのデリゲート作成時の早期チェックを削除し、ポリシーの一貫性を実現するPR。従来は`NotSupportedException`を即座にスローしていましたが、他のコードパス(リフレクション呼び出しなど)と同様に、実際の呼び出し時にのみfailfastが発生するように変更されました。 @@ -346,7 +346,7 @@ dotnet/runtime#122890(および#122656のコメント) - 作成者: [@MihaZupan](https://github.com/MihaZupan) - 作成日時: 2025年12月20日 15:18:19(UTC) - マージ日時: 2026年01月07日 12:50:25(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 `AutomaticDecompression`を使用する際のオーバーヘッドを削減するPRです。`Accept-Encoding`ヘッダが未設定の一般的なケースの最適化、`Content-Encoding`ヘッダ確認時の割り当て削減、圧縮済みコンテンツヘッダのムーブセマンティクス活用により、パフォーマンスを大幅に改善します。 @@ -377,7 +377,7 @@ HTTP圧縮機能を使用する一般的なシナリオで大きなメモリ割 - 作成者: [@janvorli](https://github.com/janvorli) - 作成日時: 2025年12月12日 19:29:32(UTC) - マージ日時: 2026年01月07日 13:06:01(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 arm64 Unix環境でのインタープリタの例外処理後の再開時に発生していたバグを修正しました。`DispatchManagedException`と`DispatchRethrownManagedException`が`NORETURN`マークされていたため、C++コンパイラの最適化により関数のエピログが削除され、リターンアドレスが別の関数に位置するようになってしまい、`InterpreterCodeManager::ResumeAfterCatch`での非volatile レジスタの復元が正確でなくなっていた問題です。 @@ -402,7 +402,7 @@ arm64 Unix環境でのインタープリタの例外処理後の再開時に発 - 作成者: [@tannergooding](https://github.com/tannergooding) - 作成日時: 2025年12月09日 23:46:34(UTC) - マージ日時: 2026年01月07日 16:03:31(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 浮動小数点数とSIMD操作の最適化を改善するPR。否定演算の二重否定の除去や、乗算の代わりに加算・否定を使用する最適化、2の累乗による除算・乗算を逆数乗算に変換するなど、複数の簡潔化を実装しています。JITコンパイラの形態素解析段階(morph)でこれらの最適化を行い、生成されるコードの効率を向上させます。 @@ -433,7 +433,7 @@ arm64 Unix環境でのインタープリタの例外処理後の再開時に発 - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2025年12月08日 16:18:46(UTC) - マージ日時: 2026年01月07日 09:53:49(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイラが構造体フィールドのオフセット計算パターンを認識する最適化を改善しました。従来の昇格機構(old promotion)で昇格された構造体の場合、アドレスが取られるときに親ローカルと子フィールドが共有ストレージを持つ際に、この最適化が機能していなかった問題を修正しています。 @@ -469,7 +469,7 @@ public unsafe nint Test() - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2025年12月03日 23:56:49(UTC) - マージ日時: 2026年01月07日 16:35:05(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 Nullable型のボックス化時にインライン化とスタック割り当てを実現するPR。従来はNullableのボックス化に専用のヘルパー関数を使用していたが、本変更によりJITが動的割り当てを回避し、スタック上で直接処理できるようになります。 diff --git a/archives/2026/01/08.md b/archives/2026/01/08.md index 42f11bb..a80523a 100644 --- a/archives/2026/01/08.md +++ b/archives/2026/01/08.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#123006 Fix method signature for memmove and memset in SpanHelpers.ByteMemOps](#123006) 2. [#123000 Do not ship EventSourceGenerator](#123000) 3. [#122999 Include host symbols in testhost folder](#122999) @@ -33,7 +33,7 @@ - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年01月08日 14:47:17(UTC) - マージ日時: 2026年01月08日 17:48:24(UTC) -- ラベル: area-System.Memory +- ラベル: area-System.Memory #### 概要 Mono ランタイムのビルド時に発生していた IDE0036 修飾子順序エラーを修正するPRです。`SpanHelpers.ByteMemOps.cs` の2つのメソッド (`memmove` と `memset`) の修飾子順序を C# コーディング標準に準拠させました。修飾子の順序を `private static unsafe extern` から `private static extern unsafe` に修正しています。 @@ -58,7 +58,7 @@ PR #122791 で導入された修飾子順序エラーの修正(前のPRが原 - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年01月08日 04:57:04(UTC) - マージ日時: 2026年01月08日 13:34:35(UTC) -- ラベル: needs-area-label +- ラベル: needs-area-label #### 概要 EventSourceGeneratorは内部ツールとして位置づけられているため、.NET Core App参照パック(ref pack)から除外する変更です。Issue #121180で内部ツールとして分類されたことに伴う対応です。 @@ -81,7 +81,7 @@ EventSourceGeneratorは内部ツールとして位置づけられているため - 作成者: [@elinor-fung](https://github.com/elinor-fung) - 作成日時: 2026年01月08日 03:56:35(UTC) - マージ日時: 2026年01月08日 18:32:28(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 testhost フォルダ作成時に、dotnet、hostfxr、hostpolicy のホストコンポーネント用シンボルファイル(Windows では PDB、他のプラットフォームでは .pdb/.dwarf)をコピーするよう変更されました。これにより、デバッグおよびプロファイリング時により詳細な情報が利用可能になります。 @@ -106,7 +106,7 @@ testhost フォルダ作成時に、dotnet、hostfxr、hostpolicy のホスト - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月08日 02:02:04(UTC) - マージ日時: 2026年01月08日 18:24:45(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/roslyn-analyzersからの依存関係を更新するPRです。Microsoft.CodeAnalysis.Analyzersおよび Microsoft.CodeAnalysis.NetAnalyzersを最新のプレビュー版にアップデートしています。release/9.0-stagingブランチへの自動更新です。 @@ -130,7 +130,7 @@ dotnet/roslyn-analyzersからの依存関係を更新するPRです。Microsoft. - 作成者: [@kg](https://github.com/kg) - 作成日時: 2026年01月08日 01:34:51(UTC) - マージ日時: 2026年01月08日 23:39:19(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 Wasm RyuJITコンパイラにおいて、命令選択関数`ins_Load`と`ins_Store`でTYP_REFおよびTYP_BYREFの型ケースが欠落しており、superpmi replayの際にアサーション失敗が発生していました。本PRでは、これらの型ケースを追加し、WASM32の4バイトポインタに対応するi32命令にマッピングすることで解決しています。 @@ -156,7 +156,7 @@ Wasm RyuJITコンパイラにおいて、命令選択関数`ins_Load`と`ins_Sto - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年01月07日 23:21:15(UTC) - マージ日時: 2026年01月08日 17:35:25(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 CoreCLR インタプリタの UnhandledException ハンドラの実行タイミングを修正しました。従来は finally ブロック実行後に実行されていましたが、本変更により最初のパス例外処理(first pass EH)中に例外が検出された時点で実行されるようになります。これにより baseservices/exceptions/UnhandledExceptionHandler/NoEffectInMainThread テストの失敗が解決されます。 @@ -184,7 +184,7 @@ CoreCLR インタプリタの UnhandledException ハンドラの実行タイミ - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年01月07日 07:49:56(UTC) - マージ日時: 2026年01月08日 19:05:52(UTC) -- ラベル: Servicing-approved +- ラベル: Servicing-approved #### 概要 HTTP Stress テストの ASAN(Address Sanitizer)プリロード機能に関する修正です。Dockerfile の設定変更により、メモリ安全性チェックが適切に動作するようにしています。 @@ -210,7 +210,7 @@ HTTP Stress テストの ASAN(Address Sanitizer)プリロード機能に関 - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年01月07日 02:11:12(UTC) - マージ日時: 2026年01月08日 03:23:24(UTC) -- ラベル: area-ILTools-coreclr community-contribution +- ラベル: area-ILTools-coreclr community-contribution #### 概要 C# 製 ilasm ツールの EntityRegistry で複数の機能を実装しました。ClassLayout、FieldLayout、FieldRVA テーブルのエミット対応、pinned 型署名のサポート、アセンブリ修飾名の完全構築、コア アセンブリ解決ロジックの改善などが含まれます。これにより native ilasm との互換性が向上します。 @@ -233,7 +233,7 @@ C# 製 ilasm ツールの EntityRegistry で複数の機能を実装しました - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年01月06日 23:44:13(UTC) - マージ日時: 2026年01月08日 19:05:21(UTC) -- ラベル: Servicing-approved +- ラベル: Servicing-approved #### 概要 SVE(Scalable Vector Extension)関連のハードウェア組み込み関数テストで、`Sve.GatherVector*WithByteOffsets*FirstFaulting*`テストに対して正しいテストテンプレートを使用するよう修正しました。このバックポート修正により、ARM64プラットフォーム上で破損していたテストケースを修復します。 @@ -259,7 +259,7 @@ SVE(Scalable Vector Extension)関連のハードウェア組み込み関数 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月06日 22:32:39(UTC) - マージ日時: 2026年01月08日 00:43:29(UTC) -- ラベル: area-System.IO +- ラベル: area-System.IO #### 概要 `BufferedStream.WriteToUnderlyingStreamAsync`で~1GB以上のバッファ書き込み時に`OverflowException`が発生する符号付き整数オーバーフロー問題を修正。同期メソッドの`Write`では既に`(uint)`キャスティングで対応済みだったが、非同期パスに対応漏れがあったため修正。 @@ -294,7 +294,7 @@ Issue #117789:`MemoryStream.CopyToAsync`で大容量データを`BufferedStrea - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月06日 21:53:10(UTC) - マージ日時: 2026年01月08日 18:22:37(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/emsdk リポジトリの依存関係を更新するPRです。Emscripten WebAssembly ツールチェーン関連のNuGetパッケージを 9.0.12 から 9.0.13 にアップデートしています。これにより、WebAssembly 開発環境の最新機能やバグ修正が利用可能になります。 @@ -319,7 +319,7 @@ dotnet/emsdk リポジトリの依存関係を更新するPRです。Emscripten - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年01月06日 15:36:36(UTC) - マージ日時: 2026年01月08日 10:32:42(UTC) -- ラベル: area-PAL-coreclr +- ラベル: area-PAL-coreclr #### 概要 WebAssemblyターゲットがサポートしていない`madvise`システムコールを、CoreCLRおよびネイティブライブラリ全体で無効化するPull Requestです。`TARGET_WASM`ガード条件を追加することで、WASM環境でのランタイム問題を防止します。 @@ -342,7 +342,7 @@ WebAssemblyターゲットがサポートしていない`madvise`システムコ - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年01月06日 15:34:50(UTC) - マージ日時: 2026年01月08日 19:04:57(UTC) -- ラベル: Servicing-approved +- ラベル: Servicing-approved #### 概要 .NET 10の新しい最適化におけるバグ修正です。`SpanHelpers.Fill`呼び出し時に、ローカルに割り当てられたオブジェクトからGC参照が渡される場合、JITが不正なコード生成を行っていました。修正により、`SpanHelpers.Fill`の第2・第3引数がエスケープする可能性がある場合、スタック割り当ての最適化を無効化するようになります。 @@ -377,7 +377,7 @@ SpanHelpers.Fill(ref span[0], fillValue, span.Length); // 不正なコード生 - 作成者: [@kg](https://github.com/kg) - 作成日時: 2026年01月05日 20:44:18(UTC) - マージ日時: 2026年01月08日 16:56:22(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly (Wasm) ターゲットにおいて、`genCreateAddrMode` 関数を無効化しました。これにより SuperPMI の失敗カテゴリに対応しています。Wasm では従来のアドレスモード最適化が適切に機能しないため、この機能を制限することで JIT コンパイルの安定性を向上させます。 @@ -407,7 +407,7 @@ SuperPMI 失敗カテゴリの対応 - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年01月05日 18:25:38(UTC) - マージ日時: 2026年01月08日 09:26:55(UTC) -- ラベル: arch-wasm area-Host os-browser +- ラベル: arch-wasm area-Host os-browser #### 概要 ブラウザホストのアセット読み込み機能を大幅に改善するPRです。ダウンロード時の並列数制限とリトライロジック、PDBファイル対応、モジュールライフサイクルフック(`onRuntimeConfigLoaded`、`onRuntimeReady`)、ダウンロード進捗コールバック(`Module.onDownloadResourceProgress`)を追加し、信頼性と拡張性を向上させました。また、Emscripten APIを簡潔化し、`remoteSources`サポートを削除しました。 @@ -439,7 +439,7 @@ SuperPMI 失敗カテゴリの対応 - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2025年12月30日 02:01:46(UTC) - マージ日時: 2026年01月08日 18:19:12(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/cecil ライブラリの依存関係を更新するPull Requestです。Microsoft.SourceBuild.Intermediate.cecil と Microsoft.DotNet.Cecil パッケージを 0.11.5-alpha.25621.2 から 0.11.5-alpha.25628.2 へ更新しています。このアップデートにより、Cecil ライブラリの最新の改善が .NET Runtime に取り込まれます。 @@ -463,7 +463,7 @@ dotnet/cecil ライブラリの依存関係を更新するPull Requestです。M - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2025年12月19日 20:54:16(UTC) - マージ日時: 2026年01月08日 19:04:19(UTC) -- ラベル: Servicing-approved +- ラベル: Servicing-approved #### 概要 `StreamPipeReader`がシークable streams(バッファリングされたリクエストなど)で正常に動作していなかった回帰をバグ修正します。以前の読み込み後、ストリームから常に読み込むことで、要求の(前)処理後もアプリケーションコードが完全なリクエストを読み込めるようにします。ASP.NET Core 10.0でJSON逆シリアル化に`PipeReader`を採用したことで`StreamPipeReader`の使用頻度が増加し、問題が顕在化しました。 @@ -498,7 +498,7 @@ dotnet/cecil ライブラリの依存関係を更新するPull Requestです。M - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2025年12月18日 14:41:31(UTC) - マージ日時: 2026年01月08日 16:33:19(UTC) -- ラベル: area-AssemblyLoader-coreclr +- ラベル: area-AssemblyLoader-coreclr #### 概要 このPRはWebAssembly環境において、ネイティブイメージ(.ni.dll)のプローブ処理を削除することで、アセンブリロードのパフォーマンスを最適化しています。WASM環境ではネイティブイメージが非対応となったため、不要なプローブロジックと関連する遺産コードを削除し、スタートアップパフォーマンスを改善します。 @@ -538,7 +538,7 @@ dotnet/cecil ライブラリの依存関係を更新するPull Requestです。M - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2025年12月16日 20:49:19(UTC) - マージ日時: 2026年01月08日 19:02:14(UTC) -- ラベル: Servicing-approved area-Codegen-Interpreter-mono +- ラベル: Servicing-approved area-Codegen-Interpreter-mono #### 概要 Mono インタプリタで例外を常にスローするメソッド(throw ヘルパーメソッド)のインライン化を禁止する修正です。Blazor WASM アプリがハングする問題を解決します。この修正は .NET 9 のリグレッションに対するバックポートです。 @@ -566,7 +566,7 @@ Mono インタプリタで例外を常にスローするメソッド(throw ヘ - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2025年12月16日 12:25:35(UTC) - マージ日時: 2026年01月08日 19:03:15(UTC) -- ラベル: Servicing-approved area-Codegen-Interpreter-mono +- ラベル: Servicing-approved area-Codegen-Interpreter-mono #### 概要 Mono インタープリタのインライン化処理に上限を追加し、巨大なメソッドのコンパイル時のメモリ使用量とコンパイル時間の増加を抑制します。インライン化によるコード膨張を制限することで、WebAssembly と iOS ターゲットでのメモリ不足やコンパイルハング問題を防ぎます。 @@ -606,7 +606,7 @@ if (imported_il_size > MAX_INLINED_IL_SIZE) { - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2025年12月12日 23:07:44(UTC) - マージ日時: 2026年01月08日 21:56:51(UTC) -- ラベル: tenet-performance area-crossgen2-coreclr +- ラベル: tenet-performance area-crossgen2-coreclr #### 概要 R2R(ReadyToRun)PE ファイルのセクション数を削減するため、セクションフォルディング機構を導入しました。`ObjectNodePhase.Ordered` と `ObjectNodeOrder` を使用してPEデータディレクトリエントリに必要な"well-known"ノードを識別し、`rdata`セクションを`text`セクションへ統合できるようにします。これにより、PE ファイルの構造がシンプル化され、セクション数が減少します。 @@ -639,7 +639,7 @@ PE ファイルのセクション数削減により、以下の効果が期待 - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2025年12月11日 21:36:32(UTC) - マージ日時: 2026年01月08日 00:58:04(UTC) -- ラベル: area-Tracing-coreclr area-CodeGen-Interpreter-coreclr +- ラベル: area-Tracing-coreclr area-CodeGen-Interpreter-coreclr #### 概要 CLRインタープリタの生成コードをランタイムダンプとイベントパイプで正しく処理するためのトレーシング修正です。インタープリタコードヒープの走査機能を追加し、CodeHeapIteratorのムーブコンストラクタを修正し、イベントパイプがスタックフレームなしで処理できるよう改善します。これにより`BinderTracingTest.ResolutionFlow`と`rundownvalidation`テストが修正されます。 @@ -668,7 +668,7 @@ CLRインタープリタの生成コードをランタイムダンプとイベ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2025年12月10日 22:42:36(UTC) - マージ日時: 2026年01月08日 18:55:05(UTC) -- ラベル: Servicing-approved area-Infrastructure +- ラベル: Servicing-approved area-Infrastructure #### 概要 Azure Pipelines の checkout ステップに `fetchTags: false` パラメータを追加し、git タグの不要な取得をスキップして、チェックアウトパフォーマンスを最適化するCI/CD パイプライン設定の改善です。8つのパイプラインYAMLファイルにおける10の checkout ステップすべてに対して、一貫して適用されています。 @@ -706,7 +706,7 @@ Azure Pipelines の checkout ステップに `fetchTags: false` パラメータ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2025年12月10日 20:10:12(UTC) - マージ日時: 2026年01月08日 18:45:40(UTC) -- ラベル: Servicing-approved area-Infrastructure +- ラベル: Servicing-approved area-Infrastructure #### 概要 CI パイプラインの全チェックアウトステップに `fetchTags: false` パラメータを追加し、git タグの不要な取得をスキップすることで、チェックアウト時間とネットワークオーバーヘッドを削減します。8つのパイプライン YAML ファイルの11個のチェックアウトステップが更新されました。 @@ -745,7 +745,7 @@ CI パイプラインの全チェックアウトステップに `fetchTags: fals - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2025年12月09日 23:39:29(UTC) - マージ日時: 2026年01月08日 18:56:12(UTC) -- ラベル: Servicing-approved +- ラベル: Servicing-approved #### 概要 Azure Pipelinesのすべてのチェックアウトステップに `fetchTags: false` を追加するインフラストラクチャのみの変更です。この設定により、ビルドパイプラインのソースコード取得時間を削減し、CI全体のビルド速度を向上させます。 @@ -779,7 +779,7 @@ Azure Pipelinesのすべてのチェックアウトステップに `fetchTags: f - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2025年12月04日 22:01:38(UTC) - マージ日時: 2026年01月08日 21:36:44(UTC) -- ラベル: Servicing-approved linkable-framework +- ラベル: Servicing-approved linkable-framework #### 概要 ILLink Roslyn アナライザーがC# 14の拡張メンバーを解析する際にクラッシュする問題を修正するバックポートです。問題の原因は、パラメータの`ContainingSymbol`が常に`IMethodSymbol`であると仮定していたことで、拡張メンバーの場合は拡張型が入るため`InvalidCastException`が発生していました。修正により、拡張メンバーの解析をスキップし、安全なキャスト処理に変更しています。 @@ -813,7 +813,7 @@ ILLink Roslyn アナライザーがC# 14の拡張メンバーを解析する際 - 作成者: [@namu-lee](https://github.com/namu-lee) - 作成日時: 2025年11月18日 11:17:52(UTC) - マージ日時: 2026年01月08日 13:03:17(UTC) -- ラベル: area-CodeGen-coreclr community-contribution arch-riscv +- ラベル: area-CodeGen-coreclr community-contribution arch-riscv #### 概要 RISC-V64アーキテクチャでConstant CSE(共通部分式排除)最適化を有効化するPRです。大きな定数の読み込みに複数命令が必要なRISC-Vにおいて、繰り返し使用される定数のロード命令をホイストして共有することで、冗長な命令シーケンスを削減します。これにより、ARM/ARM64と同等の最適化レベルに到達します。 @@ -845,7 +845,7 @@ RISC-V64アーキテクチャでConstant CSE(共通部分式排除)最適化 - 作成者: [@jonathandavies-arm](https://github.com/jonathandavies-arm) - 作成日時: 2025年11月13日 14:51:19(UTC) - マージ日時: 2026年01月08日 23:24:22(UTC) -- ラベル: arch-arm64 area-CodeGen-coreclr Priority:2 community-contribution +- ラベル: arch-arm64 area-CodeGen-coreclr Priority:2 community-contribution #### 概要 ARM64ハードウェアイントリンシックテスト生成コードのリファクタリング。テストグループと テンプレート用の構造体を導入し、ISA(Instruction Set Architecture)と LoadIsa 値をテストグループレベルで一元管理。コード生成処理関数(Process* 関数)を整理してテストコード生成の保守性と可読性を向上。 diff --git a/archives/2026/01/09.md b/archives/2026/01/09.md index 8f196dc..3eafca5 100644 --- a/archives/2026/01/09.md +++ b/archives/2026/01/09.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#123034 Update DumpHeaders to take params span instead of params array](#123034) 2. [#123032 Mark async CapacityTests as GC stress incompatible](#123032) 3. [#123031 Keep proxy type map entries that could be created dynamically](#123031) @@ -23,7 +23,7 @@ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月09日 14:07:56(UTC) - マージ日時: 2026年01月09日 16:27:53(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 内部メソッド `DumpHeaders` の署名を、C# 12の`params ReadOnlySpan`を使用するように更新しました。従来の`params array`による不要なヒープ割り当てを排除しています。APIサーフェスの変更はなく、内部実装のみの改善です。 @@ -81,7 +81,7 @@ internal static void DumpHeaders(ref ValueStringBuilder sb, params ReadOnlySpan< - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年01月09日 13:26:13(UTC) - マージ日時: 2026年01月09日 22:19:01(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT (Ahead-Of-Time) コンパイルでプロキシ型マップのエントリが不正にトリミングされる問題を修正します。ジェネリック型がランタイムで動的にインスタンス化される可能性がある場合、型ローダーテンプレートを保持するための依存関係を自動的に作成するようになりました。これにより、リフレクション経由でジェネリック型が生成される際に必要な型情報が確実に保存されます。 @@ -105,7 +105,7 @@ NativeAOT (Ahead-Of-Time) コンパイルでプロキシ型マップのエント - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年01月09日 04:34:45(UTC) - マージ日時: 2026年01月09日 05:22:25(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 Copilot Coding Agent (CCA)のセットアップ時間を短縮するPRです。従来は初期セットアップに20分以上の完全ビルドが必要でしたが、このビルドステップを削除し、指示を柔軟化することで初期化時間を削減します。コメントやドキュメント変更時はビルドをスキップできるようにし、System.Private.CoreLibの作業ガイダンスも追加しています。 @@ -133,7 +133,7 @@ Copilot Coding Agent (CCA)のセットアップ時間を短縮するPRです。 - 作成者: [@tarekgh](https://github.com/tarekgh) - 作成日時: 2026年01月09日 02:17:19(UTC) - マージ日時: 2026年01月09日 21:34:00(UTC) -- ラベル: area-System.DateTime +- ラベル: area-System.DateTime #### 概要 CLDR グローバライゼーションデータの更新により、`ak-GH` ロケールの AM/PM 指定子が `AN`/`ANW` に変更されました。新しい値では AM 指定子が PM 指定子のプリフィックスになるため、DateTime パース時にバグが発生していました。このプリフィックスの問題に対応するため、常に最長マッチを優先的にパースし、必要に応じてフォールバックする修正です。 @@ -171,7 +171,7 @@ if (pmDesignator.StartsWith(amDesignator)) - 作成者: [@kg](https://github.com/kg) - 作成日時: 2026年01月09日 00:28:15(UTC) - マージ日時: 2026年01月09日 20:44:10(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly JIT コードジェネレータにおいて、`PackOperAndType` 関数が `TYP_REF`(オブジェクト参照型)のチェックを欠落していた問題を修正しました。既存の `TYP_BYREF`(マネージドポインタ型)チェックと同様に `TYP_REF` も `TYP_I_IMPL`(ネイティブ整数型)に正規化する処理を追加し、100件以上の superPMI テストの失敗を解決しています。 @@ -196,7 +196,7 @@ WebAssembly JIT コードジェネレータにおいて、`PackOperAndType` 関 - 作成者: [@filipnavara](https://github.com/filipnavara) - 作成日時: 2026年01月08日 09:58:29(UTC) - マージ日時: 2026年01月09日 07:47:56(UTC) -- ラベル: area-System.Net.Security community-contribution +- ラベル: area-System.Net.Security community-contribution #### 概要 `System.Net.Security.Native`の検出ロジックを修正するPRです。`CheckHasSystemNetSecurityNative`メソッドが、ネイティブinterop機能の可用性を正しく判定するようにしました。従来は`gss-ntlmssp`の存在を誤って検出していましたが、GSSAPI呼び出し可能なネイティブinteropの実際の可用性に基づいて判定するよう改善されています。 @@ -257,7 +257,7 @@ ThrowHelper.ThrowTypeLoadException(this); - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2026年01月08日 02:43:28(UTC) - マージ日時: 2026年01月09日 18:31:39(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 .NET 10で導入されたEC-DSA/EC-DH PEM鍵ロードの順序変更に起因するリグレッションを修正します。PKCS#8形式の秘密鍵に埋め込まれたキー使用属性を検査するようにロジックを改善しました。Windows CNGが書き出したPKCS#8鍵の`digitalSignature`などの属性を尊重し、EC-DSAキーが誤ってEC-DHとしてロードされる問題を解決します。 @@ -287,7 +287,7 @@ PKCS#8の秘密鍵をロードする際、既にデコード済みの`{Encrypted - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年01月08日 01:12:02(UTC) - マージ日時: 2026年01月09日 00:09:02(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 CLR インタープリタの例外処理(EH)ロジックにおけるエッジケースを修正しました。try ブロックが別の try/finally または try/catch ブロックを完全に囲み、ハンドラーが try 本体の終了地点と同じ位置で終了する場合に、leave チェーン島の ilOffset 表現でオフバイワン エラーが発生していた問題を解決しました。 @@ -315,7 +315,7 @@ CLR インタープリタの例外処理(EH)ロジックにおけるエッ - 作成者: [@wfurt](https://github.com/wfurt) - 作成日時: 2026年01月07日 20:03:42(UTC) - マージ日時: 2026年01月09日 17:58:11(UTC) -- ラベル: area-System.Net +- ラベル: area-System.Net #### 概要 タイムアウトPingテストが到達不可能なテストターゲットに対して実行されるときの誤検出を防ぐ改善です。テストターゲットが`DestinationNetworkUnreachable`ステータスを返す場合、テストを`SkipTestException`で動的にスキップするようになりました。 @@ -339,7 +339,7 @@ CLR インタープリタの例外処理(EH)ロジックにおけるエッ - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年01月07日 12:01:33(UTC) - マージ日時: 2026年01月09日 14:16:50(UTC) -- ラベル: area-CodeGen-coreclr runtime-async +- ラベル: area-CodeGen-coreclr runtime-async #### 概要 JITの非内部ブロック(non-internal block)に関する不変条件を修正するPRです。async rewriteで生成されるブロックが`BBF_IMPORTED`フラグを適切に設定していなかったため、デバッグ検証で失敗していました。非内部ブロックは常に`BBF_IMPORTED`でマークされる必要があるという JIT の不変条件を守るため、`BBF_INTERNAL`フラグを削除した後に`BBF_IMPORTED`フラグを追加します。 @@ -362,7 +362,7 @@ JITの非内部ブロック(non-internal block)に関する不変条件を - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年01月06日 16:11:08(UTC) - マージ日時: 2026年01月09日 13:46:43(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 Fast tailcall で含まれた間接呼び出しターゲット(contained indirection)を使用する際の GC 情報追跡バグを修正しました。レジスタが消費される際に GC ポインタ情報が失われていた問題を、引数レジスタと同じパターンで base/index レジスタの GC ポインタ情報を明示的に復元することで解決します。 @@ -386,7 +386,7 @@ Fast tailcall で含まれた間接呼び出しターゲット(contained indir - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2025年12月26日 02:01:44(UTC) - マージ日時: 2026年01月09日 19:35:34(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 このPull Requestは、dotnet/runtime リポジトリの依存パッケージを自動更新するものです。3つの外部リポジトリ(runtime-assets、hotreload-utils、icu)から提供される複数のテストデータパッケージとユーティリティパッケージが更新されています。更新は Maestro 自動化システムによって管理されています。 @@ -420,7 +420,7 @@ Fast tailcall で含まれた間接呼び出しターゲット(contained indir - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2025年12月22日 16:59:20(UTC) - マージ日時: 2026年01月09日 09:36:58(UTC) -- ラベル: arch-wasm area-TypeSystem-coreclr +- ラベル: arch-wasm area-TypeSystem-coreclr #### 概要 WebAssembly(WASM)環境におけるstructのメモリレイアウトをC言語のレイアウト規則に合わせるために修正されました。8バイト整列が必要なWASM型において、ハードコーディングされた8バイト整列ではなく、実際のフィールド整列要件を参照するように変更されています。 @@ -446,7 +446,7 @@ WebAssembly(WASM)環境におけるstructのメモリレイアウトをC言語 - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2025年12月22日 10:52:01(UTC) - マージ日時: 2026年01月09日 12:43:54(UTC) -- ラベル: area-Infrastructure os-ios +- ラベル: area-Infrastructure os-ios #### 概要 iOS および tvOS デバイステスト基盤を、スカウティング用 Helix キューから macOS 15 搭載の本番環境キューへ移行します。これにより、以前無効化されていた tvos_arm64 および ios_arm64 プラットフォームが有効化され、iOS/tvOS デバイスのテストが再開可能になります。 @@ -473,7 +473,7 @@ iOS および tvOS デバイステスト基盤を、スカウティング用 Hel - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2025年12月17日 02:55:21(UTC) - マージ日時: 2026年01月09日 14:25:48(UTC) -- ラベル: area-System.Text.RegularExpressions +- ラベル: area-System.Text.RegularExpressions #### 概要 SYSLIB1045アナライザーがマルチライン正規表現パターンに対して診断を報告する際、エディタの全行に"..."のサジェスション修飾子を表示していた問題を修正しました。診断スパンを開き括弧の前までに絞ることで、`Regex.IsMatch`、`new Regex`、target-typed `new`などのメソッド/コンストラクタ名のみを指すようにしています。これにより、マルチラインパターンでのUI混雑を改善します。 @@ -498,7 +498,7 @@ SYSLIB1045アナライザーがマルチライン正規表現パターンに対 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2025年12月10日 21:15:16(UTC) - マージ日時: 2026年01月09日 14:35:59(UTC) -- ラベル: area-System.Text.RegularExpressions linkable-framework +- ラベル: area-System.Text.RegularExpressions linkable-framework #### 概要 このPRは、.NET 10.0以上をターゲットとしているため、すべての `[GeneratedRegex]` 属性の宣言をメソッド構文からプロパティ構文に変換します。プロパティ構文はプロパティアクセス形式 `{ get; }` を使用でき、コードをより簡潔にすることができます。 diff --git a/archives/2026/01/10.md b/archives/2026/01/10.md index a3a60ce..83b549b 100644 --- a/archives/2026/01/10.md +++ b/archives/2026/01/10.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#123070 \[release/9.0\] Bump internal MacOS build image to MacOS15](#123070) 2. [#123067 Restructure copilot-instructions.md to emphasize mandatory baseline build](#123067) 3. [#123061 \[main\] Update dependencies from dotnet/runtime-assets](#123061) @@ -13,7 +13,7 @@ - 作成者: [@steveisok](https://github.com/steveisok) - 作成日時: 2026年01月10日 18:55:55(UTC) - マージ日時: 2026年01月10日 21:08:17(UTC) -- ラベル: Servicing-approved area-Infrastructure +- ラベル: Servicing-approved area-Infrastructure #### 概要 macOS内部ビルドイメージをmacOS-13からmacOS-15に更新するインフラストラクチャ変更です。Azure Pipelinesの設定を更新し、macOS、Mac Catalyst、iOS、tvOS、およびそれらのシミュレータプラットフォーム向けの内部ビルドがより新しいmacOSバージョンで実行されるようになります。 @@ -69,7 +69,7 @@ dotnet/runtimeプロジェクトの`copilot-instructions.md`を再構成し、AI - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月10日 02:01:17(UTC) - マージ日時: 2026年01月10日 22:38:35(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 dotnet/runtime-assets リポジトリから依存関係を更新するPull Requestです。テスト データおよび関連アセットの16個の NuGet パッケージを、バージョン 11.0.0-beta.25626.1 から 11.0.0-beta.26059.1 に更新しています。この更新は 2026年1月9日に生成されたビルド 20260109.1 に基づいています。 @@ -109,7 +109,7 @@ dotnet/runtime-assets リポジトリから依存関係を更新するPull Reque - 作成者: [@MihaZupan](https://github.com/MihaZupan) - 作成日時: 2026年01月09日 23:14:20(UTC) - マージ日時: 2026年01月10日 02:22:50(UTC) -- ラベル: area-System.Net +- ラベル: area-System.Net #### 概要 `Uri` パス正規化処理において、`Compress` メソッドが先頭スラッシュのないパス全体を削除した場合に発生していたデバッグアサーション失敗を修正しました。`ValueStringBuilder` の `this[]` アクセッサで範囲外読み込みが発生していましたが、実際の動作は安全です。修正内容は `dest.Length > start` の境界チェック追加です。 @@ -135,7 +135,7 @@ dotnet/runtime-assets リポジトリから依存関係を更新するPull Reque - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月07日 19:43:26(UTC) - マージ日時: 2026年01月10日 06:26:10(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 `DOTNET_DbgEnableMiniDump`環境変数が設定されている場合、createdumpバイナリが存在しないことを示すエラーメッセージがランタイム初期化時に出力されていました。この変更により、エラーメッセージの出力をダンプ作成時点まで遅延させることで、crossgenのようなダンプ生成が不要なシナリオでの不要な警告を排除します。 @@ -166,7 +166,7 @@ dotnet/runtime-assets リポジトリから依存関係を更新するPull Reque - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2025年12月29日 23:51:49(UTC) - マージ日時: 2026年01月10日 21:56:01(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 `Enum.Equals`メソッドをJIT intrinsicとして実装し、enum比較時のボックス化を排除します。ジェネリック型パラメータでのenum比較が、ボックス化なしで直接基礎型の値を比較するように最適化されます。アセンブリコードサイズが70バイトから10バイトへ削減され、パフォーマンスが大幅に向上します。 @@ -202,7 +202,7 @@ bool Test(T a, T b) => a.Equals(b); - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2025年12月26日 02:02:14(UTC) - マージ日時: 2026年01月10日 00:21:00(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/runtimeの`release/10.0`ブランチにおいて、dotnet/icuリポジトリからの依存関係を更新するPRです。Microsoft.NETCore.Runtime.ICU.Transportパッケージを`10.0.0-rtm.25612.2`から`10.0.0-rtm.25625.1`へ更新しており、2025年12月25日のビルド(Build ID: 20251225.1)に基づいています。 @@ -226,7 +226,7 @@ dotnet/runtimeの`release/10.0`ブランチにおいて、dotnet/icuリポジト - 作成者: [@agocke](https://github.com/agocke) - 作成日時: 2025年12月10日 23:53:47(UTC) - マージ日時: 2026年01月10日 12:13:58(UTC) -- ラベル: Servicing-approved area-Infrastructure +- ラベル: Servicing-approved area-Infrastructure #### 概要 macOS のデフォルトビルド環境を macOS 13 から macOS 15(Xcode 16 を含む)にアップグレードするもの。パブリックビルドプールのインフラストラクチャを更新し、新しい環境で失敗する Swift 相互運用性ストレステストを除外します。 diff --git a/archives/2026/01/11.md b/archives/2026/01/11.md index c1b51c6..1bd0d1b 100644 --- a/archives/2026/01/11.md +++ b/archives/2026/01/11.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#122843 Fix System.Timers.Timer Stop() not working after setting AutoReset or Interval on disabled one-shot timer](#122843) 2. [#120640 Improve code coverage for System.Security.Cryptography.Xml](#120640) @@ -7,7 +7,7 @@ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月03日 22:45:23(UTC) - マージ日時: 2026年01月11日 03:17:01(UTC) -- ラベル: area-System.ComponentModel +- ラベル: area-System.ComponentModel #### 概要 `System.Timers.Timer`の一度限りのタイマー(`AutoReset=false`)で、発火後に`Interval`または`AutoReset`を設定すると、タイマーが意図せず再起動してしまい、その後`Stop()`が機能しなくなるバグを修正しました。`UpdateTimer()`メソッドに`_enabled`フラグのチェックを追加することで、無効化されたタイマーの再起動を防ぎます。 @@ -43,7 +43,7 @@ private void UpdateTimer() - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2025年10月11日 17:47:04(UTC) - マージ日時: 2026年01月11日 01:32:52(UTC) -- ラベル: area-System.Security test-enhancement +- ラベル: area-System.Security test-enhancement #### 概要 System.Security.Cryptography.Xml ライブラリの単体テストカバレッジを大幅に向上させるプルリクエストです。特に `CanonicalXmlEntityReference` クラスのカバレッジを 0% から 92.8% に引き上げ、XML正規化変換、エンティティ参照、ハッシング処理などをカバーする複数の新規テストケースが追加されています。 diff --git a/archives/2026/01/12.md b/archives/2026/01/12.md index a0727d0..c4f3d45 100644 --- a/archives/2026/01/12.md +++ b/archives/2026/01/12.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#123108 Add X509Certificate2PemTests to CredScanSuppressions](#123108) 2. [#123086 Simplify Enum.Equals/GetHashCode optimization](#123086) 3. [#123082 \[release/10.0\] Update dependencies from dotnet/xharness](#123082) @@ -25,7 +25,7 @@ - 作成者: [@hoyosjs](https://github.com/hoyosjs) - 作成日時: 2026年01月12日 23:06:27(UTC) - マージ日時: 2026年01月12日 23:23:53(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 X509Certificate2PemTests に関連するテスト項目をCredScanSuppressions.jsonの除外リストに追加するPull Requestです。セキュリティスキャンツール(CredScan)の誤検知を抑制するための設定変更です。 @@ -46,7 +46,7 @@ CredScanはMicrosoftのセキュリティスキャンツールであり、この - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年01月12日 12:47:24(UTC) - マージ日時: 2026年01月12日 20:59:28(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 このPRは、Enum.Equals/GetHashCode の最適化実装を簡潔にするものです。RyuJIT が Equals の最適化を実装したため(PR #122779)、カスタム IL サンク生成を削除し、CoreCLR VM と同じアプローチを採用しています。GetHashCode 最適化は constrained call 解決時に enum 型を基になる型に置き換えることで実現されます。 @@ -71,7 +71,7 @@ PR #122779(RyuJIT での Enum.Equals 最適化実装) - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月12日 08:36:40(UTC) - マージ日時: 2026年01月12日 12:08:46(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/xharnessの依存関係を更新するマイナーバージョンアップです。XHarness関連の3つのNuGetパッケージを10.0.0-prerelease.25622.2から11.0.0-prerelease.26058.2にアップグレードしました。これはテストランナーとCLIツールの機能強化やバグ修正を含む更新です。 @@ -97,7 +97,7 @@ dotnet/xharnessの依存関係を更新するマイナーバージョンアッ - 作成者: [@MihaZupan](https://github.com/MihaZupan) - 作成日時: 2026年01月11日 16:06:25(UTC) - マージ日時: 2026年01月12日 08:37:17(UTC) -- ラベル: area-System.Net +- ラベル: area-System.Net #### 概要 Uri の `UriFormat.Unescaped` コードパスにおいて、空のスパンを処理する際に発生するデバッグアサーション失敗を修正しました。`Overlaps` メソッドが空のスパンに対して誤った判定を行うため、アサーション条件を修正して空のスパンチェックを追加しました。 @@ -121,7 +121,7 @@ Uri の `UriFormat.Unescaped` コードパスにおいて、空のスパンを - 作成者: [@adityamandaleeka](https://github.com/adityamandaleeka) - 作成日時: 2026年01月10日 03:08:44(UTC) - マージ日時: 2026年01月12日 21:38:17(UTC) -- ラベル: area-GC-coreclr +- ラベル: area-GC-coreclr #### 概要 .NETランタイムのGC(ガベージコレクション)から、未使用の `SORT_MARK_STACK` 機能と関連する `rqsort1` 関数を削除するPRです。このマーク スタック ソート機能は本番ビルドで有効化されておらず、現在はプリフェッチ最適化がマーク フェーズで利用可能となっているため、不要なコードの削除となります。 @@ -149,7 +149,7 @@ Uri の `UriFormat.Unescaped` コードパスにおいて、空のスパンを - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年01月09日 20:01:10(UTC) - マージ日時: 2026年01月12日 21:20:37(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 インタープリタベースのプラットフォーム向けハードウェア組み込み関数のルーティングロジックを最適化するPRです。サポートされている命令セットのみからメソッドをルーティングするよう変更され、システムモジュール内の全ハードウェア組み込み関数型を走査する必要がなくなりました。新しい`LookupPlatformIntrinsicTypes`ヘルパーメソッドを追加し、命令セットから管理型へのマッピングを効率化しています。 @@ -173,7 +173,7 @@ Uri の `UriFormat.Unescaped` コードパスにおいて、空のスパンを - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年01月08日 22:36:31(UTC) - マージ日時: 2026年01月12日 22:33:39(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 このPRは、PInvokeArgIteratorを使用した未使用のネイティブスタック引数サイズ計算を削除し、ランタイムコードを簡素化します。デリゲートから関数ポインタを構築する際に、構造体パラメータのマーシャリングに関連する計算を削除することで、Unix X64プラットフォームでのコードサイズ削減と、すべてのWindows以外のプラットフォームでのわずかなパフォーマンス向上を実現します。Windows COM シナリオではPInvokeArgIteratorが引き続き必要なため、そこは未修正です。 @@ -204,7 +204,7 @@ Uri の `UriFormat.Unescaped` コードパスにおいて、空のスパンを - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年01月08日 21:20:01(UTC) - マージ日時: 2026年01月12日 02:40:42(UTC) -- ラベル: needs-area-label +- ラベル: needs-area-label #### 概要 ブートストラップビルドが事前ビルド使用状況追跡ファイルを上書きするという問題(#122968)を修正しました。ビルドの各段階が独立した追跡ファイルを保持するように、ブートストラップビルド中のカスタムパスを設定します。 @@ -228,7 +228,7 @@ Uri の `UriFormat.Unescaped` コードパスにおいて、空のスパンを - 作成者: [@steveisok](https://github.com/steveisok) - 作成日時: 2026年01月07日 21:50:04(UTC) - マージ日時: 2026年01月12日 17:07:53(UTC) -- ラベル: Servicing-approved area-Infrastructure +- ラベル: Servicing-approved area-Infrastructure #### 概要 このPRは、.NET runtimeのCI/CDパイプラインにおけるmacOS Helixテストキューを、バージョン13からバージョン14へアップグレードするものです。arm64およびx64アーキテクチャ向けのテスト基盤をmacOS 14に統一し、CI/CDインフラの最新化を図っています。 @@ -261,7 +261,7 @@ Uri の `UriFormat.Unescaped` コードパスにおいて、空のスパンを - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年01月07日 17:56:33(UTC) - マージ日時: 2026年01月12日 22:29:34(UTC) -- ラベル: arch-wasm area-System.Runtime os-browser +- ラベル: arch-wasm area-System.Runtime os-browser #### 概要 WebAssembly(WASM)上で実行される.NET CoreCLRランタイムのテストスイートをReleaseビルドでCI環境で有効化するPRです。System.Runtime.Testsを含む主要なライブラリテストがWasmプラットフォームで実行可能になり、複数の関連するランタイム問題の修正と回避策が含まれています。主な変更は、IL Trimmingの無効化、インタプリタから管理コードへの呼び出しシグネチャの追加、Emscriptenビルドの最適化です。 @@ -314,7 +314,7 @@ WebAssembly(WASM)上で実行される.NET CoreCLRランタイムのテス - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月07日 00:26:54(UTC) - マージ日時: 2026年01月12日 14:29:29(UTC) -- ラベル: area-System.Collections +- ラベル: area-System.Collections #### 概要 `HashSet.UnionWith`メソッドを最適化し、空の`HashSet`に対して同じコンパレアを持つ別の`HashSet`から呼び出された場合、各要素を個別に追加するのではなく、内部データ構造を直接コピーするようにしました。これにより、Clear後にUnionWithで再入力するパターンでのパフォーマンスが向上します。 @@ -350,7 +350,7 @@ if (Count == 0 && other is HashSet otherAsSet && - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月03日 18:37:42(UTC) - マージ日時: 2026年01月12日 17:25:37(UTC) -- ラベル: area-System.Text.Json +- ラベル: area-System.Text.Json #### 概要 カスタム `JsonConverter` が特定の型(例:string)を `CanConvert` で処理する場合、文字列キーを持つディクショナリをシリアライズする際に StackOverflowException が発生する問題を修正しました。根本原因は `CastingConverter` の無限再帰で、ソースコンバーターの型が対象型と一致しない場合に無限ループが発生していました。 @@ -389,7 +389,7 @@ JsonSerializer.Serialize(value, options); // StackOverflowException - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2025年12月26日 17:16:17(UTC) - マージ日時: 2026年01月12日 19:00:45(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 OpenSSL 4.0-dev との互換性を確保するため、System.Security.Cryptography.Native の関数シグネチャにconst修飾子を追加しました。OpenSSL が const を要求するようになった複数のメソッドに対応し、今後の OpenSSL 本体ブランチとの互換性を維持できるようにしています。 @@ -412,7 +412,7 @@ OpenSSL 4.0-dev との互換性を確保するため、System.Security.Cryptogra - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2025年12月25日 02:33:53(UTC) - マージ日時: 2026年01月12日 12:19:42(UTC) -- ラベル: area-System.Linq +- ラベル: area-System.Linq #### 概要 .NET 10で導入された`UseSizeOptimizedLinq=true`時に使用される`SizeOptIListSelectIterator`および`SizeOptIListWhereIterator`が、保持している`_enumerator`参照を破棄していない回帰バグを修正。カスタム`IList`実装でEnumerator破棄を追跡している実装(例:ICSharpCode.Decompiler)が機能しなくなっていた。 @@ -450,7 +450,7 @@ dotnet/runtime#122725 - 作成者: [@prozolic](https://github.com/prozolic) - 作成日時: 2025年12月23日 09:50:20(UTC) - マージ日時: 2026年01月12日 13:12:11(UTC) -- ラベル: area-System.Collections community-contribution +- ラベル: area-System.Collections community-contribution #### 概要 `KeyAnalyzer.cs`のコメントを更新し、以前のPR #119673で`IsAllAscii`から`Ascii.IsValid`に変更された実装に合わせて、コメント記述を修正するものです。コード実装は変更されず、ドキュメンテーションの正確性を向上させています。 @@ -474,7 +474,7 @@ dotnet/runtime#122725 - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2025年12月15日 12:23:10(UTC) - マージ日時: 2026年01月12日 22:49:50(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 このPRはVMR (Virtual Monorepo) からのコードフロー更新で、.NET 10.0.1xx ブランチの依存パッケージを2025年12月22日ビルド版に更新しています。Roslyn、NuGet、System.Text.Json など複数の重要なコンポーネントの新バージョンが取り込まれています。 @@ -515,7 +515,7 @@ dotnet/runtime#122725 - 作成者: [@agocke](https://github.com/agocke) - 作成日時: 2025年12月10日 23:56:17(UTC) - マージ日時: 2026年01月12日 18:09:49(UTC) -- ラベル: Servicing-approved area-Infrastructure +- ラベル: Servicing-approved area-Infrastructure #### 概要 このPRはmacOS 13からmacOS 15(Xcode 16対応)へのビルドイメージアップグレードを行うcherry-pickです。パブリックビルドの既定イメージをmacOS 15に更新し、新環境で互換性のないSwift相互運用性ストレステストを除外します。ビルドプラットフォームは常に最新バージョンを使用すべきという指針コメントも追加されています。 @@ -541,7 +541,7 @@ Issue #121983(Swift interop stress testsのmacOS 15環境での既知問題) - 作成者: [@MihaZupan](https://github.com/MihaZupan) - 作成日時: 2025年11月28日 13:37:55(UTC) - マージ日時: 2026年01月12日 16:14:20(UTC) -- ラベル: area-System.Net +- ラベル: area-System.Net #### 概要 非ASCII文字を含むURIの正規化ロジックを`ParseRemaining`から独立した`ParseRemaining_RecreateNormalizedString`ヘルパーメソッドに分割し、約5個の一時的な文字列割り当てを削減。コード可読性の向上とメモリ効率化を実現しました。 @@ -587,7 +587,7 @@ if (HasUnicode) - 作成者: [@iremyux](https://github.com/iremyux) - 作成日時: 2025年11月28日 10:58:04(UTC) - マージ日時: 2026年01月12日 19:53:53(UTC) -- ラベル: area-System.IO.Compression +- ラベル: area-System.IO.Compression #### 概要 `ZipArchiveEntry.Open()` と `OpenAsync()` に `FileAccess` パラメータを受け付ける新しいオーバーロードが追加されました。これにより、ユーザーは `ZipArchiveMode.Update` モードで開かれたアーカイブから、エントリを読み取り専用で効率的にストリーミング読込できるようになります。従来は常に読み書き可能なストリームが返され、メモリ全体にデコンプレスされていました。 @@ -622,7 +622,7 @@ public Task OpenAsync(FileAccess access, CancellationToken cancellationT - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2025年10月21日 18:31:16(UTC) - マージ日時: 2026年01月12日 21:59:30(UTC) -- ラベル: area-Infrastructure os-ios +- ラベル: area-Infrastructure os-ios #### 概要 NativeAOT テストをランナー統合後もモバイルプラットフォーム上で実行できるように、各テストプロジェクトを独立した「マージされたランナー」として設定し直しました。また、CoreCLR と NativeAOT の ComWrappers 実装が共有化されたため、重複していた ComWrappers テストを削除しました。 diff --git a/archives/2026/01/13.md b/archives/2026/01/13.md index e7cc6d3..6986c67 100644 --- a/archives/2026/01/13.md +++ b/archives/2026/01/13.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#123150 Merging internal commits for release/8.0](#123150) 2. [#123149 Merging internal commits for release/9.0](#123149) 3. [#123134 Add null validation for relativeUri in Uri(Uri, Uri) constructor](#123134) @@ -35,7 +35,7 @@ - 作成者: [@vseanreesermsft](https://github.com/vseanreesermsft) - 作成日時: 2026年01月13日 19:50:58(UTC) - マージ日時: 2026年01月13日 21:31:19(UTC) -- ラベル: NO-SQUASH Servicing-approved area-codeflow +- ラベル: NO-SQUASH Servicing-approved area-codeflow #### 概要 このPull Requestは、release/8.0ブランチへの内部コミットのマージ作業です。具体的な変更ファイルや詳細情報が提供されていないため、リリース準備に関連する内部的なメンテナンス作業と考えられます。 @@ -58,7 +58,7 @@ - 作成者: [@vseanreesermsft](https://github.com/vseanreesermsft) - 作成日時: 2026年01月13日 19:38:39(UTC) - マージ日時: 2026年01月13日 21:35:04(UTC) -- ラベル: NO-SQUASH Servicing-approved area-codeflow +- ラベル: NO-SQUASH Servicing-approved area-codeflow #### 概要 このPull Requestは、dotnet/runtime リポジトリの release/9.0 ブランチ向けの内部コミットのマージです。ただし、詳細な変更内容は提供されていません。 @@ -81,7 +81,7 @@ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月13日 15:43:07(UTC) - マージ日時: 2026年01月13日 19:07:24(UTC) -- ラベル: area-System.Net +- ラベル: area-System.Net #### 概要 `Uri(Uri, Uri)` コンストラクタが null の `relativeUri` パラメータを渡された際に `NullReferenceException` を投げる代わりに、適切に `ArgumentNullException` を投げるようにバグを修正しました。パラメータ検証時に例外が発生するようになり、デバッグ体験が向上します。 @@ -110,7 +110,7 @@ Uri result = new Uri(baseUri, (Uri)null); // ArgumentNullException with paramet - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年01月13日 15:01:31(UTC) - マージ日時: 2026年01月13日 15:25:46(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT コンパイラの関数シグネチャ変更に伴う呼び出し側の不整合を修正するパッチです。`impGetNodeAddr` 関数のシグネチャが #122381 で変更されましたが、#122167 で導入された呼び出しサイト `impImportAndPushBoxForNullable` が更新されていなかったため、ビルドが失敗していました。新しい `allowedMustPreserveIndirFlags` パラメータに `GTF_IND_INITCLASS` フラグを指定することで、nullable 型のボックス化時に initclass フラグの保持を許可するよう修正されました。 @@ -133,7 +133,7 @@ JIT コンパイラの関数シグネチャ変更に伴う呼び出し側の不 - 作成者: [@jeffhandley](https://github.com/jeffhandley) - 作成日時: 2026年01月13日 01:50:04(UTC) - マージ日時: 2026年01月13日 23:00:57(UTC) -- ラベル: NO-SQUASH Servicing-approved area-Infrastructure linkable-framework +- ラベル: NO-SQUASH Servicing-approved area-Infrastructure linkable-framework #### 概要 release/8.0-stagingをrelease/8.0にマージするメンテナンスPRです。主にバージョン情報、ビルドスクリプト、パイプライン設定、およびSystem.Net.HttpストレステストのDockerfile関連の更新が含まれています。OOB(Out-of-Band)パッケージの``フラグのリセットは不要でした。 @@ -165,7 +165,7 @@ release/8.0-stagingをrelease/8.0にマージするメンテナンスPRです。 - 作成者: [@jeffhandley](https://github.com/jeffhandley) - 作成日時: 2026年01月13日 01:41:57(UTC) - マージ日時: 2026年01月13日 20:25:41(UTC) -- ラベル: NO-SQUASH Servicing-approved area-Infrastructure linkable-framework +- ラベル: NO-SQUASH Servicing-approved area-Infrastructure linkable-framework #### 概要 このプルリクエストは、dotnet/runtimeの`release/9.0-staging`ブランチを`release/9.0`ブランチへマージする定期的なリリース統合です。バージョン番号の更新、ビルド設定の調整、およびいくつかの技術的改善が含まれています。主な変更はバージョン管理ファイルとビルドパイプライン設定の更新です。 @@ -209,7 +209,7 @@ release/8.0-stagingをrelease/8.0にマージするメンテナンスPRです。 - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月12日 22:54:35(UTC) - マージ日時: 2026年01月13日 02:20:50(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 このPRはdotnet/dotnetのVMR(Virtual Mono Repository)からdotnet/runtimeへのコードフロー更新です。.NET 10.0.1xxのrelease ブランチから複数の依存パッケージが更新されており、主にMicrosoft.CodeAnalysis(Roslyn)、ビルドツール、テストフレームワークなどが対象となっています。破壊的変更やAPIの非互換性は含まれていません。 @@ -241,7 +241,7 @@ release/8.0-stagingをrelease/8.0にマージするメンテナンスPRです。 - 作成者: [@PranavSenthilnathan](https://github.com/PranavSenthilnathan) - 作成日時: 2026年01月12日 22:36:32(UTC) - マージ日時: 2026年01月13日 17:16:28(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 Composite ML-DSA仕様のdraft 14への対応により、コンテキスト認識署名のサポートを追加しました。テストベクトルが更新され、コンテキスト有無両方の署名検証シナリオをカバーするようになります。 @@ -265,7 +265,7 @@ Composite ML-DSA仕様のdraft 14への対応により、コンテキスト認 - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月12日 20:59:17(UTC) - マージ日時: 2026年01月13日 23:48:08(UTC) -- ラベル: linkable-framework area-codeflow +- ラベル: linkable-framework area-codeflow #### 概要 このPull Requestは、dotnet/dotnetリポジトリからのソースコード更新とビルド依存関係の一括更新です。Maestroによる自動コードフロー更新で、Microsoft.CodeAnalysis(5.3.0から5.4.0へ)、Roslyn関連ツール、ランタイムコンポーネント、Mono LLVM関連パッケージなど複数の主要な依存関係が更新されています。新たにMicrosoft.DotnetFuzzing.TestDataが追加されました。 @@ -305,7 +305,7 @@ Composite ML-DSA仕様のdraft 14への対応により、コンテキスト認 - 作成者: [@SingleAccretion](https://github.com/SingleAccretion) - 作成日時: 2026年01月12日 20:50:10(UTC) - マージ日時: 2026年01月13日 17:53:23(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 WebAssembly (WASM) JIT コンパイラに stackification アルゴリズムの検証部分を追加しました。Stackification は WASM の stack-based アーキテクチャに最適化するための中核となるアルゴリズムです。現在は検証機能のみの実装であり、最適化ロジックは今後段階的に追加される予定です。また、呼び出し関連の軽微なバグ修正も含まれています。 @@ -366,7 +366,7 @@ SearchValues.Create("\t\n\f\r #$()*+.?[\\^{|"); - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年01月10日 01:49:59(UTC) - マージ日時: 2026年01月13日 01:22:04(UTC) -- ラベル: area-System.Runtime.InteropServices +- ラベル: area-System.Runtime.InteropServices #### 概要 System.DirectoryServices と System.Data.OleDb ライブラリで使用されていたカスタムの VARIANT および PROPVARIANT 型定義を、`System.Runtime.InteropServices.Marshalling` の標準 `ComVariant` 型に統一しました。Win32 VARIANT 型へのインターオップをベストプラクティスに従う形で実装し、コード重複を削減します。 @@ -403,7 +403,7 @@ v.Dispose(); - 作成者: [@eduardo-vp](https://github.com/eduardo-vp) - 作成日時: 2026年01月10日 00:14:37(UTC) - マージ日時: 2026年01月13日 22:04:03(UTC) -- ラベル: area-NativeAOT-coreclr runtime-async +- ラベル: area-NativeAOT-coreclr runtime-async #### 概要 ARM32プラットフォームで非同期継続オブジェクト参照を保持するr2レジスタをGC中に保護するための修正です。AMD64(rcx)とARM64(x2)の動作に合わせることで、hijack固定処理の正確性を確保します。 @@ -431,7 +431,7 @@ https://github.com/dotnet/runtime/issues/122492 - 作成者: [@wfurt](https://github.com/wfurt) - 作成日時: 2026年01月09日 23:22:07(UTC) - マージ日時: 2026年01月13日 09:17:42(UTC) -- ラベル: area-System.Net.Security +- ラベル: area-System.Net.Security #### 概要 Ubuntu 24など、破損したGSSAPI実装を持つプラットフォーム上でNTLM認証テストを修正するPRです。ネイティブGSSAPIに頼らず、マネージド実装を使用することで、以前にスキップされていたテストが正常に実行されるようになります。 @@ -454,7 +454,7 @@ Ubuntu 24など、破損したGSSAPI実装を持つプラットフォーム上 - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年01月09日 23:08:33(UTC) - マージ日時: 2026年01月13日 21:03:43(UTC) -- ラベル: area-Interop-coreclr +- ラベル: area-Interop-coreclr #### 概要 C言語の`union`型のセマンティクスをサポートする`ExtendedLayoutKind.CUnion`を実装しました。すべてのフィールドをオフセット0に配置し、型のサイズは最大フィールドのサイズで決定されます。`CStruct`と同様にアンマネージドフィールドのみサポートし、auto layoutは非対応です。 @@ -494,7 +494,7 @@ public struct MyCUnion - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年01月09日 21:38:53(UTC) - マージ日時: 2026年01月13日 19:58:42(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr runtime-async +- ラベル: area-CodeGen-Interpreter-coreclr runtime-async #### 概要 このPRは、インタープリタが非同期再開スタブ(Async Resume Stub)をコンパイルしようとするのを防止します。これらのスタブはJIT固有の組み込み関数を使用しており、インタープリタは処理できません。代わりにJITまたはR2Rコンパイラによって生成されます。 @@ -525,7 +525,7 @@ if (method->IsAsyncResumeStub()) - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月03日 21:52:46(UTC) - マージ日時: 2026年01月13日 15:50:22(UTC) -- ラベル: area-System.Text.Json +- ラベル: area-System.Text.Json #### 概要 `JsonNode.GetPath()` が特殊文字を含むプロパティ名に対して、仕様に準拠した有効なJSON Path構文を生成していなかった問題を修正。プロパティ名が `$` で始まる場合はドット記法ではなくブラケット記法を使用し、ブラケット記法内ではシングルクォートとバックスラッシュを適切にエスケープするようになります。 @@ -560,7 +560,7 @@ dotnet/runtime#83547(gregsdennis による報告) - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月03日 21:08:44(UTC) - マージ日時: 2026年01月13日 12:06:08(UTC) -- ラベル: area-System.Text.Json +- ラベル: area-System.Text.Json #### 概要 `JsonSerializer.Serialize`が`[JsonExtensionData]`属性を持つ`JsonObject`型のプロパティをシリアライズする際、無効なJSONを生成していたバグを修正します。 @@ -593,7 +593,7 @@ JsonSerializer.Serialize(mix); - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2025年12月26日 18:34:59(UTC) - マージ日時: 2026年01月13日 18:20:44(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 このPull Requestは、dotnet/emsdkリポジトリからの依存関係を更新するものです。Emscripten Workloadに関連する2つのNuGetパッケージが更新されており、WebAssembly (WASM)開発環境のサポート向上が目的と考えられます。 @@ -619,7 +619,7 @@ JsonSerializer.Serialize(mix); - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2025年12月22日 05:01:54(UTC) - マージ日時: 2026年01月13日 10:44:11(UTC) -- ラベル: area-Infrastructure-mono +- ラベル: area-Infrastructure-mono #### 概要 dotnet/xharnessの依存パッケージを更新するPull Requestです。Microsoft.DotNet.XHarness.CLI、Microsoft.DotNet.XHarness.TestRunners.Common、Microsoft.DotNet.XHarness.TestRunners.Xunitの3つのパッケージをバージョン11.0.0-prerelease.25603.1から11.0.0-prerelease.26058.2に更新しています。 @@ -678,7 +678,7 @@ private readonly uint[] _ascii = new uint[4]; - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2025年12月18日 13:45:22(UTC) - マージ日時: 2026年01月13日 23:53:37(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 このPRはControl Flow Guard (CFG)が有効な場合のインターフェースメソッド呼び出しを、スタブディスパッチャーから高速解決ヘルパー(`RhpResolveInterfaceMethodFast`)経由に変更します。JIT下位化時にVSD呼び出しをリゾルバー呼び出しに変換し、二重間接参照を排除してパフォーマンスを改善します。 @@ -789,7 +789,7 @@ Issue #122538: ".NET segfaults instead of showing error when OpenSSL config is i - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2025年12月10日 21:05:46(UTC) - マージ日時: 2026年01月13日 18:35:21(UTC) -- ラベル: area-System.IO +- ラベル: area-System.IO #### 概要 `FileInfo.Create()` に `FileSystemRights.Read` を指定した際に、返された `FileStream` の `CanWrite` プロパティが誤って `true` になる不具合を修正しました。根本原因は `GetFileAccessFromRights` メソッドのビット演算ロジックの誤りで、複合フラグ(`FullControl`、`Modify`)に対して「ビットが1つでも重なっているか」を確認していました。 @@ -828,7 +828,7 @@ if ((rights & FileSystemRights.FullControl) == FileSystemRights.FullControl) - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2025年12月10日 11:27:38(UTC) - マージ日時: 2026年01月13日 14:01:36(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 `impGetNodeAddr`が返すフラグ(volatile、unaligned、initclass)を5つのコールサイトが無視していた問題を修正します。`allowConfiguredDerefs`パラメータを追加し、volatile/unaligned/initclassフラグを含む間接参照をサポートできないコンテキスト(VMヘルパーへのアドレス渡し)では、フラグを保持するテンポラリ作成にフォールスルーするようにしました。 @@ -856,7 +856,7 @@ PR作成者はCopilot(AI)です。全5つの「TODO-Bug?: verify if flags matter - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2025年12月06日 21:58:37(UTC) - マージ日時: 2026年01月13日 21:59:35(UTC) -- ラベル: NO-SQUASH Servicing-approved +- ラベル: NO-SQUASH Servicing-approved #### 概要 release/9.0ブランチからrelease/9.0-stagingブランチへの自動マージPRです。jeffhandleyとdotnet-maestro[bot]による変更をrelease/9.0-stagingに統合します。このPRは自動マージされず、チェック完了後に手動でマージコミット(squashやrebaseではなく)を作成する必要があります。 @@ -882,7 +882,7 @@ release/9.0ブランチからrelease/9.0-stagingブランチへの自動マー - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2025年12月06日 18:28:00(UTC) - マージ日時: 2026年01月13日 16:25:51(UTC) -- ラベル: area-CodeGen-coreclr reduce-unsafe +- ラベル: area-CodeGen-coreclr reduce-unsafe #### 概要 JITコンパイラのRange Check Analysis(境界値チェック最適化)を強化し、ビット演算(AND、OR、シフト、MOD)を含む式の値範囲を正確に計算できるようにしました。これにより、Base64エンコーディングなどのビット演算パターンで不要な境界チェックが自動的に削除されます。 @@ -919,7 +919,7 @@ int Test(byte inData) - 作成者: [@hez2010](https://github.com/hez2010) - 作成日時: 2025年11月27日 17:12:36(UTC) - マージ日時: 2026年01月13日 13:11:10(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 JITコンパイラにジェネリック仮想メソッドのdevirtualization(仮想化解除)機能を追加しました。実行時に正確な型が判明している場合、仮想メソッドの呼び出しを直接呼び出しに最適化できるようになります。これにより仮想ディスパッチのオーバーヘッドを削減し、インライン化などの後続最適化が可能になります。 @@ -977,7 +977,7 @@ c.Process(42); - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2025年11月11日 18:11:59(UTC) - マージ日時: 2026年01月13日 02:24:58(UTC) -- ラベル: area-CodeGen-coreclr reduce-unsafe +- ラベル: area-CodeGen-coreclr reduce-unsafe #### 概要 RangeCheckの最適化により、同じブロック内で先行して生成された境界チェックアサーションを活用できるようになりました。従来は保守的に`bbAssertionIn`のみを使用していましたが、本変更でブロック内部(inter-block)のアサーションも累積することで、冗長な境界チェックを削除可能になります。提供されたコード例では、`i++`後の`arr[i] = 0`での境界チェックが不要と判定され、5バイトのコード削減を実現しています。 @@ -1019,7 +1019,7 @@ void Test(int[] arr, int i) - 作成者: [@medhatiwari](https://github.com/medhatiwari) - 作成日時: 2025年10月20日 17:14:23(UTC) - マージ日時: 2026年01月13日 06:20:38(UTC) -- ラベル: area-VM-meta-mono community-contribution +- ラベル: area-VM-meta-mono community-contribution #### 概要 Mono ランタイムにおいて、ジェネリック型パラメータの NullableAttribute メタデータが失われていた問題を修正しました。KeyValuePair の nullability 検出が正常に機能していなかったため、ASP.NET Core の DataAnnotations テストで不正な NotNull 判定が発生していました。 diff --git a/archives/2026/01/14.md b/archives/2026/01/14.md index 39c237f..dabc584 100644 --- a/archives/2026/01/14.md +++ b/archives/2026/01/14.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#123181 \[browser\] Add explicit runtime flavor to perf pipeline](#123181) 2. [#123179 Add a CCA PR template](#123179) 3. [#123170 Fix deflate64 fuzzer](#123170) @@ -34,7 +34,7 @@ - 作成者: [@maraf](https://github.com/maraf) - 作成日時: 2026年01月14日 16:48:39(UTC) - マージ日時: 2026年01月14日 17:34:04(UTC) -- ラベル: arch-wasm area-Build-mono perf-pipeline os-browser +- ラベル: arch-wasm area-Build-mono perf-pipeline os-browser #### 概要 このPRは、browser/WASM性能パイプラインのアーティファクト準備ステップに明示的な `/p:RuntimeFlavor=Mono` パラメータを追加するものです。これにより、性能パイプラインが他のbrowser/WASM構成と一致し、PR #122495からの回帰を修正します。 @@ -60,7 +60,7 @@ - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年01月14日 15:55:13(UTC) - マージ日時: 2026年01月14日 15:59:39(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 Copilot Coding Agent (CCA) 向けの PR テンプレートを新規追加しました。従来の servicing PR テンプレートが CCA 生成の PR に不適切なセクションを含んでいたため、CCA が専用テンプレートを使用するよう誘導する目的です。新テンプレートは HTML コメント以外のコンテンツは含まず、CCA のデフォルト動作に委ねる設計になっています。 @@ -84,7 +84,7 @@ Copilot Coding Agent (CCA) 向けの PR テンプレートを新規追加しま - 作成者: [@rzikm](https://github.com/rzikm) - 作成日時: 2026年01月14日 08:30:50(UTC) - マージ日時: 2026年01月14日 11:27:04(UTC) -- ラベル: area-Meta +- ラベル: area-Meta #### 概要 #122045でZipCompressionMethod.Deflate64が公開APIになったため、Deflate64Fuzzerの反射処理を削除し、公開enum値を直接使用するように更新しました。反射の削除により、コード保守性とパフォーマンスが向上します。 @@ -113,7 +113,7 @@ var compressionMethod = ZipCompressionMethod.Deflate64; - 作成者: [@tpa95](https://github.com/tpa95) - 作成日時: 2026年01月14日 06:18:58(UTC) - マージ日時: 2026年01月14日 15:29:01(UTC) -- ラベル: area-Codegen-JIT-mono community-contribution +- ラベル: area-Codegen-JIT-mono community-contribution #### 概要 Mono JITコンパイラの`helpers.c`において、opコード変数がOP_LAST値を取得する特定の条件下でバッファオーバーフローが発生する脆弱性を修正しました。opidx配列のサイズがOP_LAST - OP_LOAD要素であるため、境界チェックが不足していました。Linux Verification Center(SVACE)によって検出されたセキュリティ問題です。 @@ -141,7 +141,7 @@ Mono JITコンパイラの`helpers.c`において、opコード変数がOP_LAST - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年01月14日 01:12:01(UTC) - マージ日時: 2026年01月14日 04:23:56(UTC) -- ラベル: area-System.Threading +- ラベル: area-System.Threading #### 概要 no-pthreads共有メモリ実装におけるデッドロック問題を解決するため、名前付きMutex廃棄時のロック取得順序を修正しました。Wait Subsystemロックを保持したまま共有メモリプロセスレベルロックを取得していたのを、ロック順序を逆転させることで回避します。これにより、aspnetcore PR #65006がブロック解除されます。 @@ -164,7 +164,7 @@ no-pthreads共有メモリ実装におけるデッドロック問題を解決す - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年01月13日 20:48:29(UTC) - マージ日時: 2026年01月14日 21:40:23(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 aspnet2 SPMI収集スクリプトの動的バージョンチャネル使用に関する問題を修正しました。スクリプトが以前は "latest" チャネルを使用しようとしてビルド失敗が発生していたため、特定の .NET 10.0 RTM バージョンに一時的にピンニングするワークアラウンドを実装しています。 @@ -187,7 +187,7 @@ aspnet2 SPMI収集スクリプトの動的バージョンチャネル使用に - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年01月13日 20:46:36(UTC) - マージ日時: 2026年01月14日 05:43:40(UTC) -- ラベル: Servicing-approved +- ラベル: Servicing-approved #### 概要 `ur-IN`カルチャーを使用する`NumberFormatInfoGroupSize`テストがmacOSおよび他のAppleオペレーティングシステムで失敗している問題を修正するテストのみの変更です。グローバライゼーションデータの基盤となっているプラットフォーム固有の変更に対応するため、テストが古い値と新しい値の両方を受け入れるように更新されました。 @@ -214,7 +214,7 @@ aspnet2 SPMI収集スクリプトの動的バージョンチャネル使用に - 作成者: [@SingleAccretion](https://github.com/SingleAccretion) - 作成日時: 2026年01月13日 20:41:14(UTC) - マージ日時: 2026年01月14日 21:11:36(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr community-contribution +- ラベル: arch-wasm area-CodeGen-coreclr community-contribution #### 概要 RyuJit/WASM コードジェネレーターのリファクタリングPRです。主な変更は、整数型と浮動小数点型の Live-in マスク用フィールドを統一し、単一のマスクフィールドに統合したことです。また、`genEnregisterIncomingStackArgs`メソッドが実装されました。このPRは差分がないはずの(no-diff)リファクタリングです。 @@ -242,7 +242,7 @@ RyuJit/WASM コードジェネレーターのリファクタリングPRです。 - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年01月13日 19:37:15(UTC) - マージ日時: 2026年01月14日 01:15:40(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 InstructionSet列挙型から管理型へのマッピングロジックに合わせて、`InstructionSetDesc.txt`テーブルを修正しました。管理名を持つISAのみ管理名を記載し、管理型を持たないISAにはR2R名のみを使用するようにしました。この修正により、マッピングロジックと定義テーブルの一貫性が確保されます。 @@ -269,7 +269,7 @@ InstructionSet列挙型から管理型へのマッピングロジックに合わ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月13日 19:16:39(UTC) - マージ日時: 2026年01月14日 00:10:27(UTC) -- ラベル: area-System.Net +- ラベル: area-System.Net #### 概要 `System.Uri`クラスに`UriSchemeData`定数を追加するPRです。データURI(`data:`スキーム)を扱う際に、文字列をハードコーディングする代わりに定数を使用できるようになります。.NET 6で確立されたURI スキーム定数の追加パターンに従っています。 @@ -307,7 +307,7 @@ namespace System - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年01月13日 15:30:35(UTC) - マージ日時: 2026年01月14日 23:36:50(UTC) -- ラベル: arch-wasm area-System.Runtime.InteropServices.JavaScript os-browser +- ラベル: arch-wasm area-System.Runtime.InteropServices.JavaScript os-browser #### 概要 このPRはブラウザプラットフォーム上のCoresCLR向けにJavaScript相互運用機能を実装しています。camelCase命名規則に対応し、C#とJavaScript間のマーシャリング、Promise/Task処理、オブジェクトライフタイム管理、双方向関数呼び出しの基盤を構築しました。CoreCLR向けにはLibraryImportとUnmanagedCallersOnlyを使用し、Mono互換性も維持しています。 @@ -346,7 +346,7 @@ public static void BindManagedFunction(...) { ... } - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月13日 02:03:10(UTC) - マージ日時: 2026年01月14日 19:03:48(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/cecil依存パッケージの自動更新PRです。Microsoft.SourceBuild.Intermediate.cecilおよびMicrosoft.DotNet.Cecilを0.11.5-alpha.25628.2から0.11.5-alpha.26061.2へアップグレードします。このPRはMaestroの自動依存関係更新システムによって生成されました。 @@ -374,7 +374,7 @@ dotnet/cecil依存パッケージの自動更新PRです。Microsoft.SourceBuild - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年01月13日 01:03:23(UTC) - マージ日時: 2026年01月14日 23:55:30(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 このPRは、XUnit wrapper生成器のouterloopテスト優先度追跡メカニズムを修復するものです。以前の実装で汎用的な`Priority`プロパティが失われたため、outerloopテストが正しく実行されていませんでした。本変更により、テストインフラストラクチャ全体で使用されている`CLRTestPriorityToBuild` MSBuildプロパティに統一し、正常なテスト実行動作を復元します。 @@ -398,7 +398,7 @@ dotnet/cecil依存パッケージの自動更新PRです。Microsoft.SourceBuild - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年01月12日 22:32:22(UTC) - マージ日時: 2026年01月14日 14:45:40(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 インタープリタ関連のテストを無効化するPull Request。複数のテストプロジェクト設定ファイルに対して、インタープリタでの実行を除外する設定が追加されています。各ファイルで1行ずつの追加となっており、テスト実行時の互換性問題やテスト失敗への対応と考えられます。 @@ -431,7 +431,7 @@ dotnet/cecil依存パッケージの自動更新PRです。Microsoft.SourceBuild - 作成者: [@MihaZupan](https://github.com/MihaZupan) - 作成日時: 2026年01月12日 01:48:38(UTC) - マージ日時: 2026年01月14日 08:33:09(UTC) -- ラベル: area-Meta +- ラベル: area-Meta #### 概要 ファジングから生成されたテスト入力に対してコード カバレッジ レポートを生成するプロセスを自動化します。従来は複数の手動ステップが必要でしたが、`collect-coverage.ps1` スクリプトにより、単一のコマンドで自動化できるようになります。 @@ -464,7 +464,7 @@ dotnet/cecil依存パッケージの自動更新PRです。Microsoft.SourceBuild - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月11日 15:48:27(UTC) - マージ日時: 2026年01月14日 05:51:32(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 プロセスシャットダウン時のベクタデストラクタによる競合状態を排除するため、`process.cpp`をリファクタリングしました。`std::vector g_argvCreateDump`を固定サイズ配列(32エントリ)に置き換え、クラッシュダンプ生成時の潜在的なクラッシュやハングを防止します。 @@ -505,7 +505,7 @@ g_argvCreateDump[index] = arg; - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年01月09日 21:45:14(UTC) - マージ日時: 2026年01月14日 01:50:43(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 CLRインタープリタモード(`interpmode=2`)使用時にデバッガが正常に動作しなかった問題を修正するPRです。EECodeInfo インフラストラクチャがインタープリタのスタブアドレスではなく実際のバイトコードアドレスを取得できるように改善されました。新たに `GetInterpreterCodeFromInterpreterPrecodeIfPresent` 関数を追加し、インタープリタプリコード(precode)から実際のバイトコードアドレスをアンラップして取得するようになります。 @@ -536,7 +536,7 @@ CLRインタープリタモード(`interpmode=2`)使用時にデバッガが - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月07日 20:32:07(UTC) - マージ日時: 2026年01月14日 16:44:05(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 NativeAOT限定で、`DOTNET_DbgCreateDumpToolPath` 環境変数を追加し、createdumpツールのカスタムディレクトリを指定できるようにしました。createdumpが含まれていない環境で、ユーザーが独自のダンプ生成ツールを提供できます。 @@ -573,7 +573,7 @@ export DOTNET_DbgCreateDumpToolPath=/path/to/directory - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年01月07日 20:07:05(UTC) - マージ日時: 2026年01月14日 21:10:43(UTC) -- ラベル: arch-wasm needs-area-label +- ラベル: arch-wasm needs-area-label #### 概要 WebAssembly向けのRyuJIT実装における呼び出し規約(Calling Convention)に関する包括的なドキュメントを追加しました。R2R(Ready-to-Run)およびJITコンパイル済みマネージドコードがWebAssemblyのスタックモデルとどのように相互運用するかを説明しています。 @@ -603,7 +603,7 @@ WebAssembly向けのRyuJIT実装における呼び出し規約(Calling Convent - 作成者: [@a74nh](https://github.com/a74nh) - 作成日時: 2026年01月07日 16:20:20(UTC) - マージ日時: 2026年01月14日 15:07:16(UTC) -- ラベル: area-System.Runtime.Intrinsics community-contribution +- ラベル: area-System.Runtime.Intrinsics community-contribution #### 概要 ARM ハードウェア内在関数のテストヘルパーメソッドをリファクタリングしました。型固有の overflow 検出実装を複数削除し、`IBinaryInteger` と `BigInteger` を使用した汎用メソッドに統合しました。これにより、コード重複が削減され、overflow 検出の正確性が向上しました。 @@ -638,7 +638,7 @@ public static bool TryAddOverflow(T a, T b, out T result) - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月06日 22:37:16(UTC) - マージ日時: 2026年01月14日 16:18:51(UTC) -- ラベル: area-System.Formats.Tar +- ラベル: area-System.Formats.Tar #### 概要 このPRは、`TarEntry.DataStream`をシークできないストリームで破棄した後に`TarReader.GetNextEntry()`を呼び出すと`ObjectDisposedException`がスローされていた既存のバグに対するリグレッションテストを追加します。バグ自体は既に修正済みで、`SubReadStream.AdvanceToEnd()`メソッドが破棄時にスローするプロパティではなく内部フィールドに直接アクセスするように改善されています。 @@ -672,7 +672,7 @@ public static bool TryAddOverflow(T a, T b, out T result) - 作成者: [@huoyaoyuan](https://github.com/huoyaoyuan) - 作成日時: 2026年01月04日 11:27:46(UTC) - マージ日時: 2026年01月14日 15:33:37(UTC) -- ラベル: area-ExceptionHandling-coreclr community-contribution +- ラベル: area-ExceptionHandling-coreclr community-contribution #### 概要 例外処理(EH)の不要なコードパスをクリーンアップし、`ThreadStartException`をマネージドコードに移動するPRです。特に、`RaiseException`が必要な場合と`DispatchManagedException`で十分な場合を区別し、Windows上での例外相互運用性を改善しています。 @@ -700,7 +700,7 @@ public static bool TryAddOverflow(T a, T b, out T result) - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月03日 19:04:14(UTC) - マージ日時: 2026年01月14日 14:04:26(UTC) -- ラベル: area-System.IO.Compression +- ラベル: area-System.IO.Compression #### 概要 `ZipArchive`で4GBを超えるファイルが4GBを超えるオフセットに書き込まれる際、ZIP64ヘッダが破損する問題を修正しました。`WriteCentralDirectoryFileHeaderInitialize`メソッドでオフセット設定時にZip64ExtraFieldが上書きされ、ファイルサイズ情報が失われていました。修正により、null-coalescing演算子(`??=`)を使用してサイズ情報を保持しながらオフセットを追加するようにしました。 @@ -765,7 +765,7 @@ zip64ExtraField.LocalHeaderOffset = _offsetOfLocalHeader; - 作成者: [@teo-tsirpanis](https://github.com/teo-tsirpanis) - 作成日時: 2025年12月06日 20:25:21(UTC) - マージ日時: 2026年01月14日 22:19:17(UTC) -- ラベル: area-System.Runtime community-contribution +- ラベル: area-System.Runtime community-contribution #### 概要 `ValueStringBuilder`に対して、デバッガー表示時に副作用を持たないデバッグ表示機能を追加しました。従来は`ToString()`呼び出しでビルダーの内容がクリアされてしまい、デバッグ時に予期しない動作を引き起こしていました。`[DebuggerDisplay]`属性を追加し、ビルダーの内容を表示するが状態を変更しないプロパティを実装することで、デバッグ体験を改善しています。 @@ -789,7 +789,7 @@ zip64ExtraField.LocalHeaderOffset = _offsetOfLocalHeader; - 作成者: [@amritanand-py](https://github.com/amritanand-py) - 作成日時: 2025年10月13日 09:47:49(UTC) - マージ日時: 2026年01月14日 21:56:00(UTC) -- ラベル: area-System.Runtime community-contribution +- ラベル: area-System.Runtime community-contribution #### 概要 `Lazy.cs`のドキュメント文字列(XML documentation)を改善する軽微な変更です。`Mode`プロパティのサマリーに終了ピリオドを追加し、`IsValueFaulted`プロパティのサマリーを明確化して、値の作成時の失敗状態を示すよう改善しました。 @@ -815,7 +815,7 @@ zip64ExtraField.LocalHeaderOffset = _offsetOfLocalHeader; - 作成者: [@huoyaoyuan](https://github.com/huoyaoyuan) - 作成日時: 2025年09月17日 11:39:05(UTC) - マージ日時: 2026年01月14日 14:47:13(UTC) -- ラベル: area-System.Collections new-api-needs-documentation community-contribution +- ラベル: area-System.Collections new-api-needs-documentation community-contribution #### 概要 `BitArray`クラスに`PopCount`メソッドを追加しました。このメソッドはビット配列内で設定されている(1になっている)ビットの数をカウントします。BitArray内の1ビットの総数を効率的に取得する必要があるユースケースに対応します。 @@ -843,7 +843,7 @@ int count = bits.PopCount(); // returns 3 - 作成者: [@lilinus](https://github.com/lilinus) - 作成日時: 2025年06月11日 10:54:34(UTC) - マージ日時: 2026年01月14日 07:47:23(UTC) -- ラベル: area-System.Memory community-contribution +- ラベル: area-System.Memory community-contribution #### 概要 `ReadOnlySequence.GetOffset()` メソッドのXML ドキュメンテーションを更新し、戻り値がゼロインデックスではないことを明確に伝えるようにしました。ゼロインデックスの値を得るための調整方法についてのRemarks セクションを追加しています。 @@ -875,7 +875,7 @@ int count = bits.PopCount(); // returns 3 - 作成者: [@trungnt2910](https://github.com/trungnt2910) - 作成日時: 2025年04月11日 02:55:27(UTC) - マージ日時: 2026年01月14日 06:14:07(UTC) -- ラベル: area-System.IO community-contribution os-haiku +- ラベル: area-System.IO community-contribution os-haiku #### 概要 Haiku OS向けのネイティブライブラリIO サポートを追加するPRです。ファイルシステムとマウントAPI(`pal_io.c`と`pal_mount.c`)にHaiku固有の実装を追加し、ポータビリティの向上に対応しています。これは#55803の一部の実装です。 diff --git a/archives/2026/01/15.md b/archives/2026/01/15.md index 000da0b..834a54a 100644 --- a/archives/2026/01/15.md +++ b/archives/2026/01/15.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#123206 \[main\] Source code updates from dotnet/dotnet](#123206) 2. [#123199 Update remaining efteam ownership area. Fix capitalization.](#123199) 3. [#123193 \[clr-interp\] Fix linux x64 Interop test suite, and in general improve SysV struct classification](#123193) @@ -17,7 +17,7 @@ - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月15日 08:52:28(UTC) - マージ日時: 2026年01月15日 23:48:34(UTC) -- ラベル: needs-area-label +- ラベル: needs-area-label #### 概要 このPRは、dotnet/dotnetリポジトリからの定期的なCodeflow更新です。複数の依存パッケージがバージョンアップされ、主にコンパイラツール(Roslyn、CodeAnalysis)、ビルドタスク、NuGetツール、ランタイムコンポーネントが更新されています。破壊的な変更はなく、主にメンテナンスと最新化を目的とした更新です。 @@ -47,7 +47,7 @@ - 作成者: [@jeffhandley](https://github.com/jeffhandley) - 作成日時: 2026年01月14日 23:55:54(UTC) - マージ日時: 2026年01月15日 00:25:43(UTC) -- ラベル: documentation area-Meta +- ラベル: documentation area-Meta #### 概要 Entity Framework チーム(@dotnet/efteam)の所有権情報を更新するフォローアップPRです。GitHub ユーザー名の大文字小文字の統一(`@sammonort` → `@SamMonoRT`)と、System.Transactions エリアの所有者を個別メンテナーから @dotnet/efteam チームに統一しました。これは前回の PR #122357 のマージ後に受け取ったレビューフィードバックに対応するものです。 @@ -69,7 +69,7 @@ Entity Framework チーム(@dotnet/efteam)の所有権情報を更新する - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年01月14日 20:01:40(UTC) - マージ日時: 2026年01月15日 03:39:30(UTC) -- ラベル: area-VM-coreclr area-CodeGen-Interpreter-coreclr +- ラベル: area-VM-coreclr area-CodeGen-Interpreter-coreclr #### 概要 Linux x64上の相互運用テストスイートの失敗を修正するため、SystemV ABI struct分類メカニズムを改善しました。ArgIteratorがマーシャルされた構造体のSysV struct分類を正しく計算できていなかった問題をPInvokeArgIteratorの使用により解決。さらに分類データのキャッシング効率を向上させ、EEClassOptionalFieldsのサイズを40バイトから24バイトに削減しています。 @@ -99,7 +99,7 @@ Linux x64上の相互運用テストスイートの失敗を修正するため - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月14日 16:10:51(UTC) - マージ日時: 2026年01月15日 12:44:01(UTC) -- ラベル: area-System.Reflection.Metadata +- ラベル: area-System.Reflection.Metadata #### 概要 ref-emitted(動的生成)コード内のスタックトレース生成失敗を解決するため、30個のメタデータエンティティ構造体コンストラクタから`Debug.Assert(!handle.IsNil)`を削除しました。XUnitが例外スタックトレースをキャプチャする際、動的生成メソッドからnilハンドルが返されると、デバッグビルドでアサーション失敗によりスタックトレース生成が中断されていました。 @@ -157,7 +157,7 @@ JIT コンパイラの `lvaMarkLclRefs` および `lvaMarkLocalVars` メソッ - 作成者: [@eduardo-vp](https://github.com/eduardo-vp) - 作成日時: 2026年01月12日 11:28:52(UTC) - マージ日時: 2026年01月15日 23:44:41(UTC) -- ラベル: area-NativeAOT-coreclr runtime-async +- ラベル: area-NativeAOT-coreclr runtime-async #### 概要 x86プラットフォームにおいて、GC(ガベージコレクション)実行時に非同期継続(async continuation)を保持するレジスタ(ecx)をマーク対象に追加する修正です。.NET CLRのABI仕様に定義されている非同期呼び出し規約に準拠し、GCプローブ中にecxレジスタが保護されるようになります。 @@ -182,7 +182,7 @@ GC実行時のレジスタ保護範囲が拡大されることで、わずかな - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年01月09日 00:56:33(UTC) - マージ日時: 2026年01月15日 03:40:42(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 ByteMarkベンチマークのインタープリター実行パフォーマンスを改善するPRです。チェックビルドで2~3倍の高速化を実現しています。主な改善は、(1) 配列アクセス時のOBJECTREFオーバーヘッド削減、(2) IL stubから呼び出されるインタープリターコードの直接キャッシング、の2つです。 @@ -211,7 +211,7 @@ ByteMarkベンチマークのインタープリター実行パフォーマンス - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年01月07日 15:20:46(UTC) - マージ日時: 2026年01月15日 19:28:08(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 このPRは、GS(Guard Stack)クッキーのセキュリティチェック処理をJITコンパイラのパイプラインで後期段階(LIR)に移動させ、非同期変換の後に実行するように改善しています。従来はIR段階で実行されていたため、非同期メソッドの暗黙的なbyref パラメータとの組み合わせで、サスペンションポイントを越えて無効なポインタが生存する問題が発生していました。LIR段階での実行により、この問題を解決します。 @@ -242,7 +242,7 @@ ByteMarkベンチマークのインタープリター実行パフォーマンス - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月06日 15:00:46(UTC) - マージ日時: 2026年01月15日 17:06:01(UTC) -- ラベル: area-System.Net.Sockets +- ラベル: area-System.Net.Sockets #### 概要 PR #120634 で導入された >2GB ファイルのパーティショニング機能に`IndexOutOfRangeException`バグが存在していました。パーティショニングにより1つのファイルが複数の`SendPacketsElement`に展開されるとき、`_sendPacketsFileHandles`配列のインデックス追跡が誤っていたため発生していました。修正では、パーティショニング時に並列配列`_sendPacketsElementsFileHandleIndices`を構築し、各要素がどのファイルハンドルを使用するかを追跡するようにしました。 @@ -286,7 +286,7 @@ PR #120634 で導入された >2GB ファイルのパーティショニング機 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2025年12月10日 15:52:59(UTC) - マージ日時: 2026年01月15日 14:46:39(UTC) -- ラベル: area-System.Linq tenet-performance +- ラベル: area-System.Linq tenet-performance #### 概要 AsyncEnumerable の `Append`、`Prepend`、`Concat` 操作のパフォーマンス低下を解決するために、同期LINQ実装と同様の coalescence(合体)最適化を導入しました。これにより、連鎖した `Append` 操作で約900msから280μsへの大幅な性能改善が実現されます。 @@ -329,7 +329,7 @@ Issue #121542「Performance regression with AsyncEnumerable - Append, followed b - 作成者: [@sbomer](https://github.com/sbomer) - 作成日時: 2025年11月27日 01:24:19(UTC) - マージ日時: 2026年01月15日 18:04:57(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 ILC(IL Compiler)において、RyuJitがジェネリックメソッドをインライン化する際に、部分的にインスタンス化された(open generic)メソッドの具体的な依存関係を追跡できていない問題を修正します。`ShadowConcreteMethodNode`を`ShadowGenericMethodNode`に拡張し、完全にインスタンス化されていない一般的なメソッドの依存関係も追跡するようにしました。これにより、AOT コンパイル時にコード生成に必要な依存関係が確実に利用可能になります。 @@ -375,7 +375,7 @@ static string Caller() => Callee(); - 作成者: [@pedrobsaila](https://github.com/pedrobsaila) - 作成日時: 2025年01月05日 22:18:35(UTC) - マージ日時: 2026年01月15日 19:36:32(UTC) -- ラベル: area-Extensions-FileSystem community-contribution +- ラベル: area-Extensions-FileSystem community-contribution #### 概要 `ConfigurationBuilder.AddJsonFile`で相対パスを使用した際、ファイル変更時の`OnChange`イベントが発火しない問題を修正しました。`PhysicalFilesWatcher`の相対パス処理を改善し、ファイル監視が正常に動作するようになります。 diff --git a/archives/2026/01/16.md b/archives/2026/01/16.md index ca531f4..e4f78ba 100644 --- a/archives/2026/01/16.md +++ b/archives/2026/01/16.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#123274 Fix missing static libraries in NativeAOT packs for Apple mobile platforms](#123274) 2. [#123261 \[RyuJit/WASM\] Some fixes related to local addresses and stores](#123261) 3. [#123247 \[main\] Source code updates from dotnet/dotnet](#123247) @@ -54,7 +54,7 @@ NativeAOT runtime packがApple mobile platforms (iOS、tvOS等)向けの必須 - 作成者: [@SingleAccretion](https://github.com/SingleAccretion) - 作成日時: 2026年01月16日 16:15:45(UTC) - マージ日時: 2026年01月16日 21:03:50(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr community-contribution +- ラベル: arch-wasm area-CodeGen-coreclr community-contribution #### 概要 RyuJit/WASMバックエンドにおけるローカル変数アドレス(LCL_ADDR)処理とストア操作に関連するバグ修正。LCL_ADRコード生成から不要な`add`命令を削除し、レジスタ割り当て処理を改善しました。 @@ -88,7 +88,7 @@ PR #122414に関連する修正(参照コメント: https://github.com/dotnet/ - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月16日 02:05:28(UTC) - マージ日時: 2026年01月16日 16:46:57(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 このPRは、dotnet/dotnetリポジトリからのコードフロー更新です。Roslyn、Razor、Runtime、WinFormsなど複数のコンポーネントの依存関係を2026年1月15日時点の最新版に更新しています。主にMicrosoft.CodeAnalysis、NuGet関連パッケージ、System.Text.Jsonなどの構成要素が更新されました。 @@ -119,7 +119,7 @@ PR #122414に関連する修正(参照コメント: https://github.com/dotnet/ - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年01月16日 01:05:55(UTC) - マージ日時: 2026年01月16日 03:27:44(UTC) -- ラベル: area-TypeSystem-coreclr +- ラベル: area-TypeSystem-coreclr #### 概要 TypeGeneratorTests テストスイートを削除するメンテナンス変更です。このテストスイートは全体のプロジェクトファイルロード時間の約1/9を占めながら、回帰を検出した実績がなく、Pri1設定でのみ実行されるため、ビルドパフォーマンス改善のために削除されます。 @@ -186,7 +186,7 @@ TypeGeneratorTests テストスイートを削除するメンテナンス変更 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月16日 00:47:05(UTC) - マージ日時: 2026年01月16日 17:37:52(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT のDockerサンプルを.NET 8から.NET 10へアップデートするPRです。ビルドツールイメージをCBL Mariner 2.0からAzure Linux 3.0に更新し、SDKイメージも.NET 10対応版へ統一しました。また、Ubuntu互換性要件を16.04から18.04へ引き上げ、ドキュメント内の誤ったリンクを修正しています。 @@ -216,7 +216,7 @@ NativeAOT のDockerサンプルを.NET 8から.NET 10へアップデートする - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年01月16日 00:40:11(UTC) - マージ日時: 2026年01月16日 14:16:23(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイラのswitch文最適化における不正なアサーション生成バグを修正。オフセット付きのswitch式で、デフォルトケースに対して誤ったRange Assertionが生成される問題を解決。例えば、case 2,3,4のswitch文で、デフォルトケースに「X >= 5」というアサーションが不正に作成されていたが、実際にはXは0や1の値も取得可能でした。 @@ -238,7 +238,7 @@ JITコンパイラのswitch文最適化における不正なアサーション - 作成者: [@janvorli](https://github.com/janvorli) - 作成日時: 2026年01月15日 22:39:39(UTC) - マージ日時: 2026年01月16日 20:34:00(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 インタープリタのスレッド中止処理をfinally ブロックで正しく動作するように修正しました。単純な `IsAbortRequested()` チェックから、より複雑な `COMPlusCheckForAbort()` 関数に置き換えることで、finally ブロック内でのスレッド中止処理が不正に実行されるのを防ぎます。この修正により、`System.Runtime.Tests.ControlledExecutionTests.CancelItselfFromFinally` テストが正常に動作するようになりました。 @@ -262,7 +262,7 @@ JITコンパイラのswitch文最適化における不正なアサーション - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月15日 20:28:42(UTC) - マージ日時: 2026年01月16日 02:07:46(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 .NET Coreデバッガーの`enumCordbDerived`列挙型と関連コードの大規模クリーンアップです。同期ずれした数値コメント、18個の未使用列挙値、MDA(マネージドデバッグアシスタント)関連の約689行の不要コード、および使用されない`CordbContext`クラスを削除しました。同時に、`CordbValueEnum`と`CordbCodeEnum`の型マッピングを修正し、コンストラクターが正しく列挙型値をベースクラスに渡すようにしました。 @@ -318,7 +318,7 @@ typedef enum { - 作成者: [@mdh1418](https://github.com/mdh1418) - 作成日時: 2026年01月15日 18:39:22(UTC) - マージ日時: 2026年01月16日 22:33:07(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 DiagnosticServerの`EnablePerfMap` IPC コマンドが`PerfMap::Initialize()`の実行前に呼び出されることで発生するレース条件を修正しました。スタートアップシーケンスでPerfMap初期化をDiagnosticServer初期化より前に移動することで、ランタイムのクラッシュを防ぎます。 @@ -353,7 +353,7 @@ DiagnosticServerの`EnablePerfMap` IPC コマンドが`PerfMap::Initialize()`の - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月15日 18:02:41(UTC) - マージ日時: 2026年01月16日 00:14:22(UTC) -- ラベル: area-System.Buffers +- ラベル: area-System.Buffers #### 概要 `Base64{Url}.DecodeFromUtf8` と `DecodeFromChars` がホワイトスペースを含む入力でDestinationTooSmallエラーを誤って返す問題を修正しました。実際のデータは十分な宛先バッファに収まる場合でも、入力全体の長さを基にした計算により早期にエラー判定されていました。 @@ -386,7 +386,7 @@ Base64Url.DecodeFromUtf8(input, new byte[1]); // 修正前: DestinationTooSmall - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月13日 05:48:23(UTC) - マージ日時: 2026年01月16日 17:41:34(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 このPRは.NET 10.0リリースブランチへのコードフロー更新で、VMR(Virtual Machine Repository)からのソースコード変更と依存関係の更新をもたらします。主に開発ツールチェーン、コード分析ライブラリ、ビルドタスク、NuGetパッケージなど多数のコンポーネントが更新されています。 @@ -420,7 +420,7 @@ Base64Url.DecodeFromUtf8(input, new byte[1]); // 修正前: DestinationTooSmall - 作成者: [@kg](https://github.com/kg) - 作成日時: 2026年01月09日 00:57:57(UTC) - マージ日時: 2026年01月16日 03:34:02(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly RyuJIT コンパイラに8ビットおよび16ビットのロード/ストア命令と間接ロード/ストア命令を実装しました。同時に、最大無チェックnullオブジェクトオフセットを0に設定することで、nullチェックがより適切に配置されるようにしています。 @@ -445,7 +445,7 @@ WebAssembly RyuJIT コンパイラに8ビットおよび16ビットのロード/ - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年01月08日 22:04:27(UTC) - マージ日時: 2026年01月16日 13:32:12(UTC) -- ラベル: area-VM-coreclr community-contribution +- ラベル: area-VM-coreclr community-contribution #### 概要 このPRは、P/Invoke フレーム関連の例外処理に throw helper を導入する変更です。`PUSH_COOP_PINVOKE_FRAME` マクロが例外をスローする際に、専用の throw helper 関数を使用することで、アセンブリコードの肥大化を抑制し、メンテナンス性を向上させています。複数のプラットフォーム(x86、x64、ARM、ARM64、LoongArch64、RISC-V)のアセンブリマクロを統一的に更新する大規模な変更です。 @@ -476,7 +476,7 @@ WebAssembly RyuJIT コンパイラに8ビットおよび16ビットのロード/ - 作成者: [@credo-quia-absurdum](https://github.com/credo-quia-absurdum) - 作成日時: 2025年12月10日 12:17:13(UTC) - マージ日時: 2026年01月16日 09:34:47(UTC) -- ラベル: area-CodeGen-coreclr community-contribution arch-riscv +- ラベル: area-CodeGen-coreclr community-contribution arch-riscv #### 概要 RISC-V JITコンパイラの`emitLoadImmediate`関数内のコメントの正確性と一貫性を改善するPRです。不正な投機的コメントを削除し、実装との不一致を修正し、コメントスタイルをリポジトリ規約に統一しました。コード生成ロジック自体の変更はなく、ドキュメンテーションの改善のみです。 diff --git a/archives/2026/01/17.md b/archives/2026/01/17.md index d3241dd..b5be0ae 100644 --- a/archives/2026/01/17.md +++ b/archives/2026/01/17.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#123270 \[RyuJit/WASM\] Establish SP & FP and home register arguments](#123270) 2. [#123250 \[LoongArch64\] Fix the failed for Fp32x2StructFunc in the profiler test slowpatheltleave.sh catched on 2K3000.](#123250) 3. [#123211 Adding C#, F#, VB to StringSyntaxAttribute](#123211) @@ -10,7 +10,7 @@ - 作成者: [@SingleAccretion](https://github.com/SingleAccretion) - 作成日時: 2026年01月16日 18:34:41(UTC) - マージ日時: 2026年01月17日 17:31:06(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr community-contribution +- ラベル: arch-wasm area-CodeGen-coreclr community-contribution #### 概要 WebAssembly向けJITコンパイラの関数プロローグ生成ロジックを改善したPRです。WASM固有の実装を追加し、スタックポインタ(SP)とフレームポインタ(FP)、ホームレジスタ引数の確立を実現しました。`add(x, y)`関数の機能化に向けた重要なステップで、残作業としてSP引数の処理が別PRで進行中です。 @@ -35,7 +35,7 @@ WebAssembly向けJITコンパイラの関数プロローグ生成ロジックを - 作成者: [@LuckyXu-HF](https://github.com/LuckyXu-HF) - 作成日時: 2026年01月16日 07:53:31(UTC) - マージ日時: 2026年01月17日 05:48:41(UTC) -- ラベル: area-Diagnostics-coreclr community-contribution arch-loongarch64 +- ラベル: area-Diagnostics-coreclr community-contribution arch-loongarch64 #### 概要 LoongArch64プラットフォーム上の`ProfileArgIterator::GetReturnBufferAddr()`メソッドを修正し、`struct{single, single}`型の戻り値をプロファイラテストで正しく処理できるようにしました。PR#122714と同様のアプローチで、`pData->buffer`を使用して戻り値を返すように改善されています。 @@ -60,7 +60,7 @@ LoongArch64プラットフォーム上の`ProfileArgIterator::GetReturnBufferAdd - 作成者: [@HakamFostok](https://github.com/HakamFostok) - 作成日時: 2026年01月15日 11:32:52(UTC) - マージ日時: 2026年01月17日 16:14:26(UTC) -- ラベル: area-System.Diagnostics community-contribution +- ラベル: area-System.Diagnostics community-contribution #### 概要 `StringSyntaxAttribute`に、C#、F#、Visual Basicの3つのプログラミング言語構文識別子を表す定数を追加しました。これにより、文字列がどの言語のコードを含むかをアナライザーに明示的に伝えられるようになります。 @@ -92,7 +92,7 @@ public static class StringSyntaxAttribute - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2025年12月30日 17:43:43(UTC) - マージ日時: 2026年01月17日 14:53:08(UTC) -- ラベル: area-System.Security os-ios +- ラベル: area-System.Security os-ios #### 概要 Apple プラットフォームの最小サポートバージョン(macOS 12、iOS/tvOS 13)引き上げに伴い、不要になった `__builtin_available` による旧バージョン対応コードを削除するクリーンアップです。メモリバリア、セキュリティ暗号化、JIT コード生成など、複数のネイティブ実装ファイルで条件分岐を簡素化し、新しい API を無条件で使用するようになります。 @@ -118,7 +118,7 @@ Apple プラットフォームの最小サポートバージョン(macOS 12、 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2025年12月28日 06:50:00(UTC) - マージ日時: 2026年01月17日 23:08:46(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 `Dictionary::PopulateEntry`の未使用パラメータ`nonExpansive`を削除し、到達不可能なコードパスを排除するコード整理です。このパラメータは唯一の呼び出し元である`jithelpers.cpp`から常に`FALSE`で渡されていたため、条件分岐は実行されない死んだコードでした。37行の不要なコードを削除し、実行時の動作には一切影響を与えません。 diff --git a/archives/2026/01/18.md b/archives/2026/01/18.md index 4ceb4c3..33742f5 100644 --- a/archives/2026/01/18.md +++ b/archives/2026/01/18.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#123306 Add early return in TryGetLast for empty results.](#123306) --- @@ -6,7 +6,7 @@ - 作成者: [@prozolic](https://github.com/prozolic) - 作成日時: 2026年01月17日 12:02:53(UTC) - マージ日時: 2026年01月18日 16:08:55(UTC) -- ラベル: area-System.Linq community-contribution +- ラベル: area-System.Linq community-contribution #### 概要 `IEnumerableSkipTakeIterator.TryGetLast`に早期リターン最適化を追加し、Skip操作後に要素が存在しないことが確定した場合に即座に処理を終了します。`GetCount(onlyIfCheap: true)`が有効なカウントを返す場合、`count <= _minIndexInclusive`をチェックして不要な列挙を回避します。 diff --git a/archives/2026/01/19.md b/archives/2026/01/19.md index e97124e..1c607c8 100644 --- a/archives/2026/01/19.md +++ b/archives/2026/01/19.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#123359 Fix typo in ifdef for Rune](#123359) 2. [#123353 Fix WASM debugger breakpoints not hitting after Terser 5.39+.](#123353) 3. [#123335 \[browser\] Fix NETSDK1022: Duplicate 'Content' items for Microsoft.Extensions.Configuration.Functional.Tests](#123335) @@ -15,7 +15,7 @@ - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2026年01月19日 18:21:45(UTC) - マージ日時: 2026年01月19日 20:39:10(UTC) -- ラベル: area-System.Runtime +- ラベル: area-System.Runtime #### 概要 `Rune.cs` のプリプロセッサディレクティブに存在するタイポを修正しました。`SYSTEM_PRIVATE_CORLIB` が誤った表記で、正しくは `SYSTEM_PRIVATE_CORELIB` です。このタイポにより、System.Private.CoreLib ビルド時に ArgumentException が期待されたカスタム例外メッセージを使用できていませんでした。 @@ -40,7 +40,7 @@ - 作成者: [@ilonatommy](https://github.com/ilonatommy) - 作成日時: 2026年01月19日 15:40:28(UTC) - マージ日時: 2026年01月19日 20:40:13(UTC) -- ラベル: area-Debugger-mono +- ラベル: area-Debugger-mono #### 概要 Terser 5.39+による最適化により、WASM デバッガのブレークポイントが機能しなくなっていた問題を修正します。Terser が `console.assert(true, ...)` を不要な処理として削除していたため、デバッガプロキシがポーズ中のスコープから変数を読み取ることができなくなっていました。`true` を `!!Date.now()` に置き換えることで、Terser による静的最適化を回避しつつ、ランタイムでは `true` として評価されます。 @@ -66,7 +66,7 @@ Terser 5.39+による最適化により、WASM デバッガのブレークポイ - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年01月18日 20:28:24(UTC) - マージ日時: 2026年01月19日 13:28:53(UTC) -- ラベル: area-Build-mono os-browser +- ラベル: area-Build-mono os-browser #### 概要 Microsoft.Extensions.Configuration.Functional.Tests プロジェクトにおいて、NETSDK1022 ビルド警告(重複した 'Content' アイテム)を修正しました。SDK がデフォルトで .json と .xml ファイルを Content アイテムとして自動インクルードするのを防ぐため、プロジェクトファイルに `false` を追加しています。 @@ -91,7 +91,7 @@ https://github.com/dotnet/runtime/issues/123237 - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年01月18日 18:22:42(UTC) - マージ日時: 2026年01月19日 07:00:40(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOTにおいて、非順序なコード配置時のソース行属性の誤りを修正するPRです。コンパイラ最適化により、IL オフセットが低いコードが高いネイティブオフセットに配置される場合、デバッガの行マッピングが不正になる問題を解決しています。CoreCLR のデバッガアルゴリズムと同様に、IL オフセットの低下を検出した際にシーケンスポイントを挿入することで、ソース行の正確な属性付けを実現します。 @@ -130,7 +130,7 @@ static async Task DoWork(int i) - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年01月18日 17:43:18(UTC) - マージ日時: 2026年01月19日 14:33:40(UTC) -- ラベル: arch-wasm area-Host os-browser +- ラベル: arch-wasm area-Host os-browser #### 概要 このPRはNode.js環境でのストリーミングインスタンシエーション処理を修正します。ネイティブ`Response`クラスが利用可能な場合はそれを使用し、WebAssemblyのストリーミング有効化に必要な適切なContent-Typeヘッダーをアセットに付与するようになりました。 @@ -170,7 +170,7 @@ WebAssemblyモジュールのストリーミングインスタンシエーショ - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年01月18日 17:40:13(UTC) - マージ日時: 2026年01月19日 15:22:11(UTC) -- ラベル: arch-wasm area-Host os-browser +- ラベル: arch-wasm area-Host os-browser #### 概要 このPRは、WebAssembly/ブラウザ環境におけるCoreQLの初期化プロセスをリファクタリングし、ランタイム設定オプションを環境変数ではなく関数パラメータとして直接渡すように変更しています。これにより、リンカー機能が正常に動作するようになります。 @@ -286,7 +286,7 @@ Debug.Assert は DEBUG ビルドのみで評価されるため、Release ビル - 作成者: [@saitama951](https://github.com/saitama951) - 作成日時: 2025年09月18日 09:43:11(UTC) - マージ日時: 2026年01月19日 19:36:43(UTC) -- ラベル: area-Build-mono runtime-mono community-contribution +- ラベル: area-Build-mono runtime-mono community-contribution #### 概要 S390Xアーキテクチャの命令生成コードから冗長なロード命令を削除しました。`ins->dreg`(浮動小数点レジスタ)と`sreg`(r13)は絶対に競合しないため、不要なロードが削除されています。 @@ -311,7 +311,7 @@ S390Xアーキテクチャの命令生成コードから冗長なロード命令 - 作成者: [@gwr](https://github.com/gwr) - 作成日時: 2024年07月24日 14:38:56(UTC) - マージ日時: 2026年01月19日 11:23:00(UTC) -- ラベル: area-System.Diagnostics.Process port os-SunOS community-contribution +- ラベル: area-System.Diagnostics.Process port os-SunOS community-contribution #### 概要 このPRはSunOS(Solaris/illumos)プラットフォームに対する`System.Diagnostics.Process`のサポートを実装しています。procfsから読み取ったバイナリプロセス情報を利用して、プロセスとスレッドの情報取得機能を追加します。System.Diagnostic.Process.Testsでは大量のスキップがありますが、失敗は報告されていません。 diff --git a/archives/2026/01/20.md b/archives/2026/01/20.md index b0d86ca..f5560b4 100644 --- a/archives/2026/01/20.md +++ b/archives/2026/01/20.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#123393 Delete unused ServerRequestLog.cs file](#123393) 2. [#123392 Implement IDisposable in BlazorWebWasmLogClient](#123392) 3. [#123390 Add thread-safe locking to request logging in BlazorWebWasm](#123390) @@ -131,7 +131,7 @@ app.MapGet("/request-logs", () => - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年01月19日 20:00:02(UTC) - マージ日時: 2026年01月20日 21:42:14(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイラのオブジェクト割り当て最適化において、スタック割り当て配列のレイアウトサイズ計算時に発生するオーバーフロー問題を修正しました。配列の最大長と要素サイズを掛け合わせた際(例:`CORINFO_Array_MaxLength * UINT16_MAX = 140735337136185`)にuint32_tの範囲を超える場合、スタック割り当てを防止することでクラッシュを回避します。 @@ -155,7 +155,7 @@ JIT内部APIの例外安全性向上として、`typGetArrayLayout`の失敗可 - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年01月19日 12:14:30(UTC) - マージ日時: 2026年01月20日 09:18:52(UTC) -- ラベル: needs-area-label +- ラベル: needs-area-label #### 概要 非同期リフレクションテストの不安定性を修正するPRです。`FromStack(1)`と`FromStackDMI(1)`メソッドはスタックフレーム情報に依存しているため、テスト実行時のインライン化によって間違ったフレームがスキップされることが原因でテストが失敗していました。`NoInlining`属性を追加することで、スタックフレームの位置を固定化し、テストの信頼性を向上させます。 @@ -186,7 +186,7 @@ Fix #123279 - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月19日 05:02:44(UTC) - マージ日時: 2026年01月20日 13:39:33(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/xharnessライブラリの依存パッケージを自動更新するPull Requestです。Microsoft.DotNet.XHarness関連の3つのNuGetパッケージを11.0.0-prerelease.26058.2から11.0.0-prerelease.26064.3へ更新しています。このアップデートはxharnessの最新の改善と修正を.NET Runtimeの10.0リリースブランチに取り込むものです。 @@ -218,7 +218,7 @@ dotnet/xharnessライブラリの依存パッケージを自動更新するPull - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月17日 02:01:32(UTC) - マージ日時: 2026年01月20日 13:41:52(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/cecilの依存関係をアルファ版から新しいアルファ版へ更新するPull Requestです。Microsoft.SourceBuild.Intermediate.cecilとMicrosoft.DotNet.Cecilが0.11.5-alpha.26061.2から0.11.5-alpha.26065.1にアップデートされています。これはrelease/9.0-stagingブランチの定期的な依存関係アップデート作業の一環です。 @@ -245,7 +245,7 @@ dotnet/cecilの依存関係をアルファ版から新しいアルファ版へ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月16日 23:55:51(UTC) - マージ日時: 2026年01月20日 02:57:44(UTC) -- ラベル: area-System.Linq +- ラベル: area-System.Linq #### 概要 `Enumerable.Skip()`が存在する要素数以上をスキップした後、`Concat()`や`Append()`などの演算子を呼び出すと`ArgumentOutOfRangeException`がスローされる回帰バグを修正しました。問題は`IListSkipTakeIterator.Fill()`メソッドが境界チェックなしに`Span.Slice()`を呼び出していたことが原因です。 @@ -318,7 +318,7 @@ int exponent = BitOperations.LeadingZeroCount(significand); - 作成者: [@MihaZupan](https://github.com/MihaZupan) - 作成日時: 2026年01月16日 14:31:52(UTC) - マージ日時: 2026年01月20日 22:54:40(UTC) -- ラベル: area-System.Memory +- ラベル: area-System.Memory #### 概要 Base64デコーディングにおいて、小さい宛先バッファと埋め込みホワイトスペースが存在する場合のエッジケースを修正しました。`InvalidDataFallback`メソッドが宛先バッファ不足の状態でホワイトスペース処理時に進行できなくなる問題を解決し、ブロック単位のフォールバック処理を導入しています。 @@ -344,7 +344,7 @@ Base64デコーディングにおいて、小さい宛先バッファと埋め - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月16日 01:03:41(UTC) - マージ日時: 2026年01月20日 13:42:33(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 このPRは、dotnet/runtime の release/9.0-staging ブランチにおいて、dotnet/source-build-reference-packages からの依存関係を更新するものです。Microsoft.SourceBuild.Intermediate.source-build-reference-packages パッケージを 9.0.0-alpha.1.25521.3 から 9.0.0-alpha.1.26055.1 へ更新しています。 @@ -369,7 +369,7 @@ Base64デコーディングにおいて、小さい宛先バッファと埋め - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月16日 01:03:32(UTC) - マージ日時: 2026年01月20日 13:51:57(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 このPull Requestは、`dotnet/source-build-reference-packages`リポジトリからの依存関係を更新するもので、`Microsoft.SourceBuild.Intermediate.source-build-reference-packages`パッケージを`8.0.0-alpha.1.25522.3`から`8.0.0-alpha.1.25615.3`へ更新しています。これはRelease/8.0ブランチの定期的な依存関係同期です。 @@ -397,7 +397,7 @@ Base64デコーディングにおいて、小さい宛先バッファと埋め - 作成者: [@multiarc](https://github.com/multiarc) - 作成日時: 2026年01月16日 00:37:30(UTC) - マージ日時: 2026年01月20日 21:31:59(UTC) -- ラベル: area-System.Net.Security community-contribution +- ラベル: area-System.Net.Security community-contribution #### 概要 LinuxにおけるTLS 1.3セッション再開時に、クライアント証明書を使用した再開接続で`IsMutuallyAuthenticated=false`および`LocalCertificate=null`が誤って報告されるリグレッション問題を修正しました。TLS再開時にクライアント証明書情報が正しく継承されるようにInterop層を修正し、回帰テストを追加しています。 @@ -427,7 +427,7 @@ SSL_get0_param() → 現在のセッションから証明書情報を取得 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月15日 16:16:29(UTC) - マージ日時: 2026年01月20日 03:13:10(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 `.gitignore`ファイルに`*.exe`パターンを追加し、誤ってリポジトリにコミットされる実行ファイル(特に`nuget.exe`)を防ぐ変更です。テストリソースとして必要な既存の`.exe`ファイルは例外として追跡を継続します。 @@ -452,7 +452,7 @@ SSL_get0_param() → 現在のセッションから証明書情報を取得 - 作成者: [@janvorli](https://github.com/janvorli) - 作成日時: 2026年01月15日 13:07:44(UTC) - マージ日時: 2026年01月20日 13:34:35(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 CoreCLR インタープリタは marshalled calli 命令をサポートしていないため、この機能を使用するテストをスキップするようにしました。3つのテストメソッドに `ActiveIssue` 属性を追加して、インタープリタモード実行時にテストを無視するようにしています。 @@ -481,7 +481,7 @@ CoreCLR インタープリタは marshalled calli 命令をサポートしてい - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月14日 17:52:42(UTC) - マージ日時: 2026年01月20日 16:18:27(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/runtime の release/8.0 ブランチにおいて、Emscripten SDK(emsdk)関連の依存パッケージを更新するPull Requestです。Microsoft.SourceBuild.Intermediate.emsdk と Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100 が、それぞれ新しいバージョンに更新されています。 @@ -508,7 +508,7 @@ dotnet/runtime の release/8.0 ブランチにおいて、Emscripten SDK(emsdk - 作成者: [@valco1994](https://github.com/valco1994) - 作成日時: 2026年01月14日 12:54:47(UTC) - マージ日時: 2026年01月20日 23:28:42(UTC) -- ラベル: area-Diagnostics-coreclr community-contribution +- ラベル: area-Diagnostics-coreclr community-contribution #### 概要 プロファイラーが `COR_PRF_MONITOR_GC` を有効にしている場合、`ObjectsAllocatedByClass` コールバックをスキップ可能にする新しいフラグ `COR_PRF_HIGH_MONITOR_GC_SKIP_ALLOCATED_BY_CLASS_STATISTIC` を追加しました。これにより、不要なメモリ統計情報の収集を避けることができます。 @@ -540,7 +540,7 @@ var eventMask = COR_PRF_MONITOR_GC | COR_PRF_HIGH_MONITOR_GC_SKIP_ALLOCATED_BY_C - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月13日 20:19:54(UTC) - マージ日時: 2026年01月20日 03:04:35(UTC) -- ラベル: area-System.Buffers +- ラベル: area-System.Buffers #### 概要 `System.Buffers.Text.Base64` に `Base64Url` と同等のAPI群を追加し、UTF-16ベースのエンコード/デコード操作のパリティを実現するPRです。特に`DecodeFromChars`メソッドが`OperationStatus`を返すことで、`InvalidData`と`DestinationTooSmall`を区別できるようになり、`Convert.TryFromBase64Chars`の制限を解決します。 @@ -577,7 +577,7 @@ Fixes dotnet/runtime#121454 - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月13日 09:35:33(UTC) - マージ日時: 2026年01月20日 13:43:41(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/xharnessの依存関係を更新するPull Requestです。Microsoft.DotNet.XHarness関連のNuGetパッケージを9.0.0-prerelease.25615.2から11.0.0-prerelease.26064.3にアップグレードしています。これにより、テストランナーとCLIツールの最新機能やバグ修正が取り込まれます。 @@ -608,7 +608,7 @@ dotnet/xharnessの依存関係を更新するPull Requestです。Microsoft.DotN - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月13日 02:03:01(UTC) - マージ日時: 2026年01月20日 13:45:40(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/arcadeの依存関係を更新するPull Requestです。Arcadeビルドツールチェーンと関連するNuGetパッケージを`9.0.0-beta.25626.6`から`9.0.0-beta.26063.2`へ、XUnitパッケージを`2.9.0-beta.25626.6`から`2.9.0-beta.26063.2`へ更新しています。このアップデートはrelease/9.0-stagingブランチ向けの自動依存関係更新です。 @@ -636,7 +636,7 @@ dotnet/arcadeの依存関係を更新するPull Requestです。Arcadeビルド - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年01月12日 16:54:00(UTC) - マージ日時: 2026年01月20日 20:36:52(UTC) -- ラベル: arch-wasm area-VM-coreclr +- ラベル: arch-wasm area-VM-coreclr #### 概要 WebAssemblyターゲット向けのPInvoke呼び出しテーブルを自動生成するコード生成ツールの実装です。従来のハードコードされたネイティブライブラリエントリポイントを廃止し、マネージドアセンブリをスキャンして動的に`callhelpers-pinvoke.cpp`を生成します。これにより、PInvoke解決ロジックが一元化され、保守性が向上します。 @@ -673,7 +673,7 @@ public extern IntPtr callhelpers_pinvoke_override(string libraryName, string fun - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月10日 02:01:35(UTC) - マージ日時: 2026年01月20日 13:47:04(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/runtime-assets リポジトリから依存パッケージを更新するマージコミットです。テストデータおよびランタイムリソースパッケージが beta.25625.4 から beta.26059.3 にアップデートされました。14個のテストデータおよびリソース関連パッケージが対象です。 @@ -713,7 +713,7 @@ dotnet/runtime-assets リポジトリから依存パッケージを更新する - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月10日 00:11:42(UTC) - マージ日時: 2026年01月20日 13:48:01(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/emsdk の依存パッケージを release/9.0 ブランチに更新するMaestro自動更新PRです。Emscripten WebAssembly ツールチェーン関連のパッケージをサービシング版から最新版へ更新しています。 @@ -742,7 +742,7 @@ dotnet/emsdk の依存パッケージを release/9.0 ブランチに更新する - 作成者: [@mdh1418](https://github.com/mdh1418) - 作成日時: 2025年12月11日 03:13:14(UTC) - マージ日時: 2026年01月20日 15:09:52(UTC) -- ラベル: area-Tracing-coreclr +- ラベル: area-Tracing-coreclr #### 概要 このPRは、.NET Runtimeのuser_events機能(Linuxカーネルトレースポイント経由のイベントトレーシング)に対する包括的な機能テストを追加します。Microsoft OneCollectのRecordTraceツールを使用してイベントを収集し、エンドツーエンドでの正確性を検証します。共有テストインフラストラクチャ`UserEventsTestRunner`がトレーシング、プロセス生成、イベント検証を調整し、5つのテストシナリオ(基本的なランタイムイベント、アクティビティ追跡、カスタムメタデータ、マネージイベント、マルチスレッド)が実装されています。 diff --git a/archives/2026/01/21.md b/archives/2026/01/21.md index 549428f..0665b02 100644 --- a/archives/2026/01/21.md +++ b/archives/2026/01/21.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#123450 Change pool for evaluate-paths](#123450) 2. [#123441 Remove unused THREADGetThreadProcessId function.](#123441) 3. [#123430 Rework and enable Wasm.Build.Tests.Blazor.AssetCachingTests](#123430) @@ -25,7 +25,7 @@ - 作成者: [@hoyosjs](https://github.com/hoyosjs) - 作成日時: 2026年01月21日 22:45:46(UTC) - マージ日時: 2026年01月21日 23:16:50(UTC) -- ラベル: needs-area-label +- ラベル: needs-area-label #### 概要 Azure DevOps パイプラインの `evaluate-paths` ジョブで使用されるランナーを Ubuntu から macOS に変更しました。ビルドパイプラインの実行環境を macOS ベースに統一することで、プラットフォーム固有の動作検証を強化します。 @@ -53,7 +53,7 @@ macOS ランナーの利用による以下の点を考慮: - 作成者: [@adityamandaleeka](https://github.com/adityamandaleeka) - 作成日時: 2026年01月21日 16:59:56(UTC) - マージ日時: 2026年01月21日 21:25:44(UTC) -- ラベル: area-System.Threading +- ラベル: area-System.Threading #### 概要 CoreCLR PALのスレッド実装から、未使用の`THREADGetThreadProcessId`関数を削除するコミットです。この関数はロジカルバグ(エラーハンドリング条件が反転している)を含んでいたため、削除することで技術負債を軽減します。 @@ -101,7 +101,7 @@ stdout解析からAPI ベースの取得に変更することで、ログ収集 - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年01月21日 09:20:37(UTC) - マージ日時: 2026年01月21日 13:08:57(UTC) -- ラベル: arch-wasm area-Interop-coreclr os-browser +- ラベル: arch-wasm area-Interop-coreclr os-browser #### 概要 ブラウザ環境でのWebAssembly実行時におけるPInvoke呼び出しの問題を修正するPRです。WasmAppBuilderのPInvokeモジュールリストに、ブラウザ固有の2つのネイティブモジュール(`libSystem.Native.Browser`と`libSystem.Runtime.InteropServices.JavaScript.Native`)を追加することで、PInvoke機能の適切な動作を確保しています。 @@ -126,7 +126,7 @@ stdout解析からAPI ベースの取得に変更することで、ログ収集 - 作成者: [@oroztocil](https://github.com/oroztocil) - 作成日時: 2026年01月20日 17:18:54(UTC) - マージ日時: 2026年01月21日 16:59:33(UTC) -- ラベル: arch-wasm test-enhancement area-Infrastructure-mono os-browser +- ラベル: arch-wasm test-enhancement area-Infrastructure-mono os-browser #### 概要 WebAssembly Blazor アセットキャッシング テストの信頼性を改善するPRです。従来のサーバーログの標準出力解析に依存していたため不安定だった`AssetCachingTests`を、HTTP APIエンドポイントベースのログ取得メカニズムに置き換えました。テストサーバーに`/request-logs`エンドポイントを追加し、クライアント側から専用のHTTPクライアント(`BlazorWebWasmLogClient`)でログを取得する方式に統一しています。 @@ -153,7 +153,7 @@ WebAssembly Blazor アセットキャッシング テストの信頼性を改善 - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月20日 16:59:27(UTC) - マージ日時: 2026年01月21日 16:09:48(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 このPRは、dotnet/dotnetリポジトリからdotnet/runtimeへのコードフロー更新です。Microsoft.CodeAnalysisやMicrosoft.DotNetツールチェーン、NuGetライブラリなど複数の依存パッケージをアップデートしています。2026年1月20日付けのビルド20260120.4から、コンパイラ、ビルドタスク、テストフレームワークの最新版を取り込みます。 @@ -182,7 +182,7 @@ WebAssembly Blazor アセットキャッシング テストの信頼性を改善 - 作成者: [@gwr](https://github.com/gwr) - 作成日時: 2026年01月20日 15:00:23(UTC) - マージ日時: 2026年01月21日 10:32:31(UTC) -- ラベル: area-VM-coreclr community-contribution +- ラベル: area-VM-coreclr community-contribution #### 概要 SunOS(illumos/Solaris)プラットフォーム上で発生するmemsetのnamespace問題に対するワークアラウンドを実装しました。`std::memset`を明示的に使用することで、プラットフォーム固有の問題を回避しつつ、他のプラットフォームでの既存動作を維持しています。 @@ -217,7 +217,7 @@ SunOS(illumos/Solaris)プラットフォーム上で発生するmemsetのnam - 作成者: [@ArcadeMode](https://github.com/ArcadeMode) - 作成日時: 2026年01月20日 00:25:34(UTC) - マージ日時: 2026年01月21日 09:26:24(UTC) -- ラベル: arch-wasm area-System.Runtime.InteropServices.JavaScript community-contribution os-browser +- ラベル: arch-wasm area-System.Runtime.InteropServices.JavaScript community-contribution os-browser #### 概要 Browser向けJS相互運用機能において、完了済み`Task`のマーシャリング時にバグが発生していました。完了済みタスクの値を直接マーシャリングする最適化パスで、型固有のマーシャラーではなく汎用の`ToJS(object)`メソッドが呼ばれており、`long`型は`number`と`bigint`の2通りのマーシャリング方法があるため`NotSupportedException`が発生していました。本修正により、完了済みタスクでも型固有のマーシャラーデリゲートを使用するよう統一されます。 @@ -248,7 +248,7 @@ Browser向けJS相互運用機能において、完了済み`Task`のマ - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年01月19日 11:51:38(UTC) - マージ日時: 2026年01月21日 09:18:05(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITのasync変換処理において、例外の再スロー(rethrow)用基本ブロック(BB)の挿入位置が非決定的だったため、デバッグ情報が破損する問題を修正しました。`fgNewBBinRegion`から`fgNewBBafter`へ変更することで、rethrow BBを常にAsync呼び出しの直後に挿入するようにしました。 @@ -280,7 +280,7 @@ fgNewBBafter(...) - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年01月18日 17:26:14(UTC) - マージ日時: 2026年01月21日 13:03:29(UTC) -- ラベル: arch-wasm area-System.Collections linkable-framework size-reduction os-browser +- ラベル: arch-wasm area-System.Collections linkable-framework size-reduction os-browser #### 概要 シングルスレッド環境のBrowser WASM向けランタイムにおいて、`System.Collections.Concurrent`アセンブリ全体がトリミング(削除)されていることを検証するテストを追加しました。CoreLibが並行コレクション型に依存しないようにすることで、ダウンロードサイズを削減します。 @@ -311,7 +311,7 @@ fgNewBBafter(...) - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年01月18日 17:03:12(UTC) - マージ日時: 2026年01月21日 09:35:28(UTC) -- ラベル: area-System.Net.Http os-browser +- ラベル: area-System.Net.Http os-browser #### 概要 ブラウザプラットフォームで `Task.WaitAll` の呼び出しを回避するため、ソケットクローズ操作を同期メソッドから非同期メソッドに変換しました。`CloseWebSocket()` を `CloseWebSocketAsync()` にリネームし、`CloseAsync()`、`ShutdownAsync()`、`ShutdownSendAsync()` を非同期メソッドに改善。テストコード全体で呼び出し箇所を修正しています。 @@ -344,7 +344,7 @@ await _socket.CloseWebSocketAsync(); - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月17日 10:35:27(UTC) - マージ日時: 2026年01月21日 16:52:16(UTC) -- ラベル: arch-wasm area-Build-mono os-browser +- ラベル: arch-wasm area-Build-mono os-browser #### 概要 WebAssembly SDK のビルドタスクを MSBuild の `Runtime="NET"` 属性に対応させることで、レガシーなマルチターゲット対応を削除し、NuGet パッケージレイアウトを簡素化しました。Microsoft.NET.Sdk.WebAssembly.Pack.Tasks を単一ターゲット `$(NetCoreAppToolCurrent)` に変更し、タスク DLL を `tools/` ディレクトリに直接配置するようになります。 @@ -378,7 +378,7 @@ tools/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.dll - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月15日 02:02:09(UTC) - マージ日時: 2026年01月21日 16:10:31(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 dotnet/runtimeの依存パッケージを自動更新するPull Requestです。dotnet/icuからICU Transport関連パッケージ、dotnet/runtime-assetsから複数のテストデータとランタイムアセットパッケージを更新しています。これらは定期的な依存関係の自動同期により、最新の国際化サポートとテストインフラストラクチャを保つためのものです。 @@ -409,7 +409,7 @@ dotnet/runtimeの依存パッケージを自動更新するPull Requestです。 - 作成者: [@barosiak](https://github.com/barosiak) - 作成日時: 2026年01月14日 19:52:00(UTC) - マージ日時: 2026年01月21日 21:20:24(UTC) -- ラベル: bug area-Diagnostics-coreclr +- ラベル: bug area-Diagnostics-coreclr #### 概要 Linux上でmini dumpファイルを生成する際、`DOTNET_DbgMiniDumpName`に`%e.dmp`を指定した場合、実行可能ファイル名が15文字に切り詰められていた問題を修正しました。 @@ -443,7 +443,7 @@ Linux上でmini dumpファイルを生成する際、`DOTNET_DbgMiniDumpName`に - 作成者: [@janvorli](https://github.com/janvorli) - 作成日時: 2026年01月14日 19:46:29(UTC) - マージ日時: 2026年01月21日 08:35:35(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 CoreCLR インタープリタが有効な状態でライブラリテストを実行するための新しいCI パイプラインを追加します。このパイプラインは日次スケジュールで実行され、Linux、Windows、macOS の x64 および ARM64 アーキテクチャ全体でテスト可能にします。インタープリタのパフォーマンスオーバーヘッドに対応するため、タイムアウトは300分に設定されています。 @@ -469,7 +469,7 @@ CoreCLR インタープリタが有効な状態でライブラリテストを実 - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年01月09日 21:08:45(UTC) - マージ日時: 2026年01月21日 22:15:43(UTC) -- ラベル: test-enhancement source-build area-Infrastructure +- ラベル: test-enhancement source-build area-Infrastructure #### 概要 runtime リポジトリ内から VMR(Virtual Monolithic Repository)のソースビルド stage1/stage2 を検証する専用パイプラインを追加します。これにより、予期された失敗を含むソースビルドシナリオを非ブロッキングで検証できるようになります。既存の source-build 関連ジョブは廃止されます。 @@ -496,7 +496,7 @@ runtime リポジトリ内から VMR(Virtual Monolithic Repository)のソー - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2025年12月10日 00:28:36(UTC) - マージ日時: 2026年01月21日 05:42:48(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 OpenSUSE Helix テスト プラットフォームのバージョンを 15.6 から 16.0 に更新するインフラストラクチャのみの変更です。CI パイプライン設定ファイルにおいて、テスト実行環境で使用される OpenSUSE コンテナ イメージとキュー定義を更新します。 @@ -522,7 +522,7 @@ OpenSUSE Helix テスト プラットフォームのバージョンを 15.6 か - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2025年11月07日 02:05:02(UTC) - マージ日時: 2026年01月21日 23:33:47(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 このPRは dotnet/arcade リポジトリの依存パッケージを更新するドットネットマエストロによる自動更新です。Arcade SDK およびビルドタスク群を 9.0.0-beta.25626.6 から 9.0.0-beta.26070.1 へ、テストフレームワークを 2.9.0-beta.25626.6 から 2.9.0-beta.26070.1 へ更新し、.NET SDK を 9.0.113 に統一します。 @@ -546,7 +546,7 @@ OpenSUSE Helix テスト プラットフォームのバージョンを 15.6 か - 作成者: [@sander1095](https://github.com/sander1095) - 作成日時: 2025年10月01日 20:35:27(UTC) - マージ日時: 2026年01月21日 17:21:40(UTC) -- ラベル: area-System.Text.Json community-contribution +- ラベル: area-System.Text.Json community-contribution #### 概要 このPRは`System.Text.Json`ライブラリに`IReadOnlySet`のシリアライズおよびデシリアライズ機能を追加します。`ISet`や`ICollection`など他のコレクションインターフェースと同じ方法で`IReadOnlySet`を認識・変換できるようになります。また、例外ヘルパーメソッド名のタイポ修正も含まれます。 @@ -581,7 +581,7 @@ var deserialized = JsonSerializer.Deserialize>(jsonString); - 作成者: [@mdh1418](https://github.com/mdh1418) - 作成日時: 2025年08月05日 22:00:15(UTC) - マージ日時: 2026年01月21日 15:52:25(UTC) -- ラベル: area-Tracing-coreclr +- ラベル: area-Tracing-coreclr #### 概要 EventPipeの複雑な二重ロック同期スキーム(スレッドロック + buffer_managerロック)を廃止し、単一のbuffer_managerロックに統一。ThreadSessionStateのライフサイクル管理を改善し、メモリリークを防止します。 diff --git a/archives/2026/01/22.md b/archives/2026/01/22.md index c9fd496..cea5b99 100644 --- a/archives/2026/01/22.md +++ b/archives/2026/01/22.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#123488 \[NET\] Remove unnecessary Keyword property from internal log events](#123488) 2. [#123487 \[release/10.0\] Use AzureLinux3 for evaluate-paths-job.yml](#123487) 3. [#123486 Use AzureLinux3 for evaluate-paths-job.yml](#123486) @@ -47,7 +47,7 @@ - 作成者: [@ManickaP](https://github.com/ManickaP) - 作成日時: 2026年01月22日 12:52:19(UTC) - マージ日時: 2026年01月22日 18:06:32(UTC) -- ラベル: area-System.Net +- ラベル: area-System.Net #### 概要 System.Net ライブラリの内部ログイベントから冗長な `Keywords` プロパティを削除しました。`Keywords` は `LogLevel` と重複した情報のみを含んでいたため、削除することで `dotnet trace` でのログ収集時にマスキングフラグ(`:0xf`)の指定が不要になり、ツールの使用性が向上します。 @@ -83,7 +83,7 @@ dotnet trace collect -p --providers Private.InternalDiagnostics.System.Net - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年01月22日 12:30:14(UTC) - マージ日時: 2026年01月22日 21:03:57(UTC) -- ラベル: Servicing-approved area-Infrastructure +- ラベル: Servicing-approved area-Infrastructure #### 概要 CI/CDパイプラインの`evaluate-paths-job.yml`で使用されるLinuxイメージをAzureLinux3に更新するバックポート。release/10.0ブランチへのポート対象。 @@ -108,7 +108,7 @@ CI/CDパイプラインの`evaluate-paths-job.yml`で使用されるLinuxイメ - 作成者: [@akoeplinger](https://github.com/akoeplinger) - 作成日時: 2026年01月22日 11:53:18(UTC) - マージ日時: 2026年01月22日 12:12:45(UTC) -- ラベル: needs-area-label +- ラベル: needs-area-label #### 概要 Azure Pipelines のパイプラインジョブ設定を更新し、`evaluate-paths-job.yml` で使用するビルドエージェントを Ubuntu 22.04 から Azure Linux 3 に変更しました。これはパイプラインインフラストラクチャの統一化を目指す継続的な取り組みの一部です。 @@ -133,7 +133,7 @@ Azure Pipelines のパイプラインジョブ設定を更新し、`evaluate-pat - 作成者: [@liveans](https://github.com/liveans) - 作成日時: 2026年01月22日 10:27:49(UTC) - マージ日時: 2026年01月22日 13:07:54(UTC) -- ラベル: area-System.Net +- ラベル: area-System.Net #### 概要 RFC 6455仕様への準拠を強化するため、WebSocketサーバーが受け取ったマスクされていないフレームを拒否する検証ロジックを追加しました。RFC 6455によれば、クライアントはサーバーに送信するすべてのフレームをマスクする必要があり、サーバーはマスクされていないフレームを拒否すべきです。 @@ -156,7 +156,7 @@ RFC 6455仕様への準拠強化により、セキュリティ面でのリスク - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月22日 09:10:16(UTC) - マージ日時: 2026年01月22日 19:21:13(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 これはVMR(Virtual Mono Repository)からのコードフロー更新PRです。.NET 10.0.1xxブランチの最新ビルド(20260121.16)をruntime リポジトリに同期するもので、複数の依存パッケージが更新されています。主にCodeAnalysis、Build Tasks、NETCore.App.Ref、System.Text.Jsonなどのツールチェーン関連パッケージが対象です。 @@ -196,7 +196,7 @@ RFC 6455仕様への準拠強化により、セキュリティ面でのリスク - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年01月22日 08:28:49(UTC) - マージ日時: 2026年01月22日 21:30:37(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 Native AOT環境でジェネリック再帰テストが意図せず実行されるようになった問題を修正するPRです。PR #123112以降、このテストがNative AOT対象としてコンパイルされるようになり、`TypeLoadException`を発生させていました。Native AOT環境ではジェネリック再帰のカバレッジが別途存在するため、このテストをNative AOT環境で無効化する条件付きスキップを追加しています。 @@ -219,7 +219,7 @@ Native AOT環境でジェネリック再帰テストが意図せず実行され - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年01月22日 08:22:26(UTC) - マージ日時: 2026年01月22日 10:40:20(UTC) -- ラベル: needs-area-label +- ラベル: needs-area-label #### 概要 JITテストの動的メソッド処理において、Reflection Emitが利用不可なプラットフォーム(NativeAOTなど)でのテスト失敗を防ぐため、テスト属性を`[Fact]`から`[ConditionalFact(RefEmitSupported)]`に変更しました。これにより、Reflection Emit対応プラットフォームでのみテストが実行されるようになります。 @@ -252,7 +252,7 @@ public void TestMethod() { ... } - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年01月22日 08:11:02(UTC) - マージ日時: 2026年01月22日 13:30:08(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 variant型(変位型)に対する`getExactClasses`の最適化が不正に動作していた問題を修正します。JITが`Action`型のパラメータに対して`Action`型への型チェックを誤って`false`に最適化していた問題を解決しました。variant型の場合は-1を返すことで、型の正確性が不明な場合の適切な処理を実現します。 @@ -277,7 +277,7 @@ variant型(変位型)に対する`getExactClasses`の最適化が不正に - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年01月22日 07:13:29(UTC) - マージ日時: 2026年01月22日 12:56:31(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 PR #123057で実装されたARM32ハイジャック時の非同期継続レジスタ(r2)保存機能を戻す変更です。アウターループの実行でARM32が一貫してクラッシュしており、その原因がこのPRにあると疑われたため、当該変更を再度検証するための作業です。 @@ -300,7 +300,7 @@ PR #123057で実装されたARM32ハイジャック時の非同期継続レジ - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年01月22日 05:45:39(UTC) - マージ日時: 2026年01月22日 08:29:22(UTC) -- ラベル: area-System.Net.Security +- ラベル: area-System.Net.Security #### 概要 Native AOT outerloopビルドで失敗するNTLMテストを無効化するPRです。`ActiveIssue`属性を追加して、Native AOTプラットフォーム上でのテスト実行をスキップしています。 @@ -325,7 +325,7 @@ Native AOT outerloopビルドで失敗するNTLMテストを無効化するPRで - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月22日 02:01:20(UTC) - マージ日時: 2026年01月22日 17:51:42(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 dotnet/runtime-assets からの依存関係を自動更新するPull Requestです。テストデータとランタイムアセットを含む16個のNuGetパッケージを `11.0.0-beta.26064.1` から `11.0.0-beta.26071.1` にバージョンアップしています。この更新には、CILstrip、ファジングテストデータ、各種テストデータアセット、およびランタイム用のUnicodeデータやタイムゾーンデータが含まれています。 @@ -368,7 +368,7 @@ dotnet/runtime-assets からの依存関係を自動更新するPull Requestで - 作成者: [@janvorli](https://github.com/janvorli) - 作成日時: 2026年01月22日 01:37:50(UTC) - マージ日時: 2026年01月22日 19:50:41(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 インタープリタコンパイラにEdit and Continue (EnC)シナリオで使用されるヘルパー呼び出し経由のフィールドアドレス取得サポートを追加しました。静的フィールドと実例フィールドの両方に対応し、System.Runtime.Loader.Tests ライブラリのテストがインタープリタ実行時に全てパスするようになります。 @@ -399,7 +399,7 @@ CORINFO_FIELD_STATIC_ADDR_HELPER を通じたフィールドアドレス取得 - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年01月21日 23:19:51(UTC) - マージ日時: 2026年01月22日 00:03:27(UTC) -- ラベル: Servicing-approved area-Infrastructure +- ラベル: Servicing-approved area-Infrastructure #### 概要 このPull Requestは、dotnet/runtimeの`release/10.0`ブランチへの バックポート変更です。`#123450`で実装された「evaluate-paths」ジョブ内のプール設定の変更をバックポートしています。CI/CDパイプラインの構成ファイルの更新となります。 @@ -425,7 +425,7 @@ CORINFO_FIELD_STATIC_ADDR_HELPER を通じたフィールドアドレス取得 - 作成者: [@hez2010](https://github.com/hez2010) - 作成日時: 2026年01月21日 14:51:56(UTC) - マージ日時: 2026年01月22日 15:05:04(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 JIT の後期デバーチャライゼーション時にメソッドハンドルを取得する方法を改善したPRです。従来は GenTree からメソッドハンドルを抽出していましたが、今後は import 時に `LateDevirtualizationInfo` に保存されたメソッドハンドルを使用することで、デバーチャライゼーション判定を簡潔にしつつ、より確実に処理できるようにしました。これにより #122023 で導入されたデバーチャライゼーション機能の回帰を修正します。 @@ -459,7 +459,7 @@ struct LateDevirtualizationInfo - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年01月21日 00:54:39(UTC) - マージ日時: 2026年01月22日 23:57:45(UTC) -- ラベル: area-TypeSystem-coreclr +- ラベル: area-TypeSystem-coreclr #### 概要 特別なマーカー型の最適化による2つのリグレッション問題を修正しました。Issue #123254ではVB.NETプログラムで最適化されたインターフェースマップロジックが実装されていなかった問題を、Issue #123318では`MaxGenericParametersForSpecialMarkerType`を超える場合の型チェック漏れを修正しています。 @@ -485,7 +485,7 @@ C#とVB.NETコンパイラのメタデータ生成アルゴリズムの違い( - 作成者: [@VSadov](https://github.com/VSadov) - 作成日時: 2026年01月20日 22:57:38(UTC) - マージ日時: 2026年01月22日 18:12:17(UTC) -- ラベル: area-VM-coreclr runtime-async +- ラベル: area-VM-coreclr runtime-async #### 概要 内部反射API(FindMethod、FindMethodByName、Delegate_BindToMethodName)がメソッド検索時に非同期バリアント(async variants)をスキップするように修正しました。通常の反射APIと同じ理由で、これらのAPI呼び出し側は非同期バリアントを期待していません。将来的に非同期バリアントの考慮が必要な場合は、既存のフラグ(FM_Flags、DelegateBindingFlagsなど)で対応可能です。 @@ -510,7 +510,7 @@ C#とVB.NETコンパイラのメタデータ生成アルゴリズムの違い( - 作成者: [@janvorli](https://github.com/janvorli) - 作成日時: 2026年01月20日 20:44:07(UTC) - マージ日時: 2026年01月22日 15:05:32(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 P/Invoke呼び出しから戻る64ビット未満の整数値の処理に関するバグを修正します。従来は64ビット全体のリターンレジスタ値をインタプリタスタックに書き込んでいましたが、適切なビット数のみを抽出し、符号付き/符号なし型に応じてゼロ拡張または符号拡張する必要があります。 @@ -538,7 +538,7 @@ ARM64 Unix向け(src/coreclr/vm/arm64/asmhelpers.S)のCallJittedMethodRetI4 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月20日 15:42:14(UTC) - マージ日時: 2026年01月22日 14:03:41(UTC) -- ラベル: arch-wasm area-Build-mono os-browser +- ラベル: arch-wasm area-Build-mono os-browser #### 概要 WASM ブラウザプロジェクトの Debug ビルドでデバッグが失敗する回帰を修正します。PR #120330 で `WasmAssembliesFinal`(AOT/再リンク出力)が `ReferenceCopyLocalPaths` から削除されましたが、復元されていなかったため、デバッガメタデータの読み込みと下流の MSBuild ターゲットが失敗していました。修正では `_ResolveWasmOutputs` ターゲットで `WasmAssembliesFinal` を `ReferenceCopyLocalPaths` に戻します。 @@ -569,7 +569,7 @@ WASM ブラウザプロジェクトの Debug ビルドでデバッグが失敗 - 作成者: [@rolfbjarne](https://github.com/rolfbjarne) - 作成日時: 2026年01月20日 10:29:19(UTC) - マージ日時: 2026年01月22日 07:57:16(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT ビルドの不要なタスク実行を最小化し、Windows 上での iOS プロジェクトビルドを可能にするとともに、macOS ビルドのパフォーマンスを改善します。具体的には、`xcrun` 実行やXcode バージョン検出、ネイティブリンカー検証を条件付きでスキップします。 @@ -656,7 +656,7 @@ int result = data.IndexOfAnyInRange((byte)200, (byte)100); - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年01月19日 14:27:15(UTC) - マージ日時: 2026年01月22日 09:29:51(UTC) -- ラベル: arch-wasm os-browser area-CodeGen-Interpreter-coreclr +- ラベル: arch-wasm os-browser area-CodeGen-Interpreter-coreclr #### 概要 このPRは、Mono と CoreCLR の両方のインタプリタ実行環境を統一的に検出するため、`PlatformDetection` に `IsInterpreter` プロパティを導入し、テストコード全体で使用するよう更新しています。issue #123224 に関連する変更です。 @@ -680,7 +680,7 @@ issue #123224 - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月19日 05:01:37(UTC) - マージ日時: 2026年01月22日 07:52:49(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 dotnet/xharness への依存関係を更新する自動マージPRです。Microsoft.DotNet.XHarness パッケージ(CLI、TestRunners.Common、TestRunners.Xunit)を v11.0.0-prerelease.26058.2 から v11.0.0-prerelease.26064.3 にアップデートしています。テスト実行ツールチェーンの最新プレリリース版を取り込むものです。 @@ -706,7 +706,7 @@ dotnet/xharness への依存関係を更新する自動マージPRです。Micro - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年01月18日 17:22:01(UTC) - マージ日時: 2026年01月22日 14:35:37(UTC) -- ラベル: arch-wasm area-System.Threading linkable-framework os-browser +- ラベル: arch-wasm area-System.Threading linkable-framework os-browser #### 概要 WebAssemblyの単一スレッド(ST)ビルドにおけるトリミング最適化を改善するPRです。ProcessorCountのILLink XML置換をインライン条件付きコンパイルに変更し、FEATURE_SINGLE_THREADEDガードをブロッキング操作の前に追加することで、コード削減を実現しています。また、単一スレッド対応をブラウザのみからブラウザとWASIプラットフォーム両方に拡張しています。 @@ -757,7 +757,7 @@ public static int ProcessorCount - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月17日 15:40:32(UTC) - マージ日時: 2026年01月22日 01:47:52(UTC) -- ラベル: area-ILTools-coreclr +- ラベル: area-ILTools-coreclr #### 概要 ilasm/ildasm のラウンドトリップ処理において、自己参照制約を持つジェネリックインターフェース(例:`IEqualityOperators where TSelf : IEqualityOperators`)の制約が重複する問題を修正しました。トークンベースの重複検出が失敗する場合、シグネチャベースの比較を追加することで解決しています。 @@ -789,7 +789,7 @@ ilasm/ildasm のラウンドトリップ処理において、自己参照制約 - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年01月17日 13:55:48(UTC) - マージ日時: 2026年01月22日 21:46:31(UTC) -- ラベル: area-VM-coreclr community-contribution +- ラベル: area-VM-coreclr community-contribution #### 概要 OSR(On-Stack Replacement)とwrite barriers(書き込みバリア)ジットヘルパーを新しい決定的アンワインドプラン(Rtl*およびPAL_VirtualUnwind関連の呼び出しを廃止)に移行するコミットです。また、未使用と思われる`UnwindAndContinueResumeAfterCatch`を削除しています。この変更により、複数のアーキテクチャ(AMD64、ARM64、LoongArch64、RISC-V64)にわたる例外ハンドリングとアンワインド処理がより統一された方式で実装されます。 @@ -819,7 +819,7 @@ Rtl*およびPAL_VirtualUnwind呼び出しの廃止により、例外処理時 - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年01月16日 16:56:20(UTC) - マージ日時: 2026年01月22日 19:39:47(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly RyuJIT コンパイラに対して、マネージド呼び出し規約のメソッドに隠し引数(スタックポインタとポータブルエントリポイント)を追加するための基盤実装です。また、ローカル変数 0 が常に "this" ポインタであると仮定していたコードを修正し、struct 引数の ABI 分類を実装しています。 @@ -852,7 +852,7 @@ WebAssembly RyuJIT コンパイラに対して、マネージド呼び出し規 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月15日 15:38:27(UTC) - マージ日時: 2026年01月22日 17:30:19(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 HttpClientが`socks5h://`プロキシスキームをサポートするようになりました。従来は`NotSupportedException`が発生していました。`socks5h`はcURLの慣例で、SOCKS5でDNS解決をプロキシに委譲することを示します。実装上は既存の`socks5`と同じように、ホスト名をデフォルトでプロキシに転送します。 @@ -885,7 +885,7 @@ Issue #123217を解決します。 - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年01月15日 13:44:36(UTC) - マージ日時: 2026年01月22日 09:30:58(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 WebAssembly/CoreCLR統合において、`RhExceptionHandling_FailedAllocation`のポータブル実装を追加しました。従来の`PORTABILITY_ASSERT`を既存の`RhExceptionHandling_FailedAllocation_Helper`関数への呼び出しに置き換え、メモリ割り当て失敗時の例外処理を適切に実装しています。 @@ -915,7 +915,7 @@ RhExceptionHandling_FailedAllocation_Helper(nullptr); - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年01月12日 21:10:26(UTC) - マージ日時: 2026年01月22日 13:44:26(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 本PRは`ICorDebugProcess12::GetAsyncStack`という新しいデバッグインターフェースを実装しており、デバッガがC# async/awaitの継続チェーンをウォークできるようになります。async stackの走査機能により、非同期コードのデバッグが向上します。 @@ -950,7 +950,7 @@ ICorDebugAsyncStackWalk asyncStackWalk = process.GetAsyncStack(thread); - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年01月12日 20:42:57(UTC) - マージ日時: 2026年01月22日 19:32:42(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 DynamicOptimizationプロファイラテストのインタープリタ検出ロジックを改善しました。一部のインタープリタテストモードではJITコンパイルが実際に行われるため、インライン数の期待値が不正確でした。純粋なインタープリタモード(インライン数=0)とJIT併用モード(非ゼロのインライン数)の両ケースに対応するよう修正しました。 @@ -976,7 +976,7 @@ DynamicOptimizationプロファイラテストのインタープリタ検出ロ - 作成者: [@tmds](https://github.com/tmds) - 作成日時: 2026年01月07日 10:14:36(UTC) - マージ日時: 2026年01月22日 17:44:58(UTC) -- ラベル: area-System.IO community-contribution +- ラベル: area-System.IO community-contribution #### 概要 Unix ファイルシステムタイプの定義を .NET ランタイムが実際に使用する値に限定するための最適化です。未使用のファイルシステムタイプ定義を削除し、ネイティブコード(`pal_io.c`)と マネージドコード間の冗長性を排除することで、コードベースを簡潔にしています。 @@ -1004,7 +1004,7 @@ Unix ファイルシステムタイプの定義を .NET ランタイムが実際 - 作成者: [@eduardo-vp](https://github.com/eduardo-vp) - 作成日時: 2026年01月06日 21:57:28(UTC) - マージ日時: 2026年01月22日 23:55:17(UTC) -- ラベル: arch-arm64 area-NativeAOT-coreclr runtime-async +- ラベル: arch-arm64 area-NativeAOT-coreclr runtime-async #### 概要 ARM64でのスレッドハイジャック処理を修正し、x2レジスタ(async continuation値を格納可能)を保護するPRです。ハイジャック時にGC中もx2がasync continuationを保持できるよう、スレッドポインタをx2からx9に移動し、プローブフレームでx2を保存・復元するようになりました。 @@ -1026,7 +1026,7 @@ ARM64でのスレッドハイジャック処理を修正し、x2レジスタ(a - 作成者: [@adamperlin](https://github.com/adamperlin) - 作成日時: 2026年01月05日 16:59:05(UTC) - マージ日時: 2026年01月22日 17:48:33(UTC) -- ラベル: arch-wasm area-crossgen2-coreclr +- ラベル: arch-wasm area-crossgen2-coreclr #### 概要 このPRは、crossgen2がWebAssembly(Wasm)対象のR2R(Ready2Run)メタデータをデータセクションに書き込む機能を実装しています。`WasmObjectWriter`クラスを大幅にリファクタリングし、基本クラス`ObjectWriter`のメソッドを活用してDependencyNodesを処理できるように改善しました。各データセグメントは独立して表現され、Wasm形式の要件に従って単一のデータセクションにマージされます。 @@ -1054,7 +1054,7 @@ PR説明に関連Issueの明記がないため、詳細は不明です。 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月02日 17:57:48(UTC) - マージ日時: 2026年01月22日 06:02:35(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 `AllocHeap`実装を最適化し、OS仮想メモリAPI(`PalVirtualAlloc`/`PalVirtualFree`)から標準C++ allocation(`new`/`delete`)に置き換えました。このアロケータが使用するメモリ量は典型的なアプリケーションでは少量のため、OSの仮想メモリAPIは不要です。特にWindows実装では64KBの予約に対して4KBしかコミットしていなかった非効率性を解決します。 @@ -1078,7 +1078,7 @@ PR説明に関連Issueの明記がないため、詳細は不明です。 - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2025年10月16日 23:01:06(UTC) - マージ日時: 2026年01月22日 07:12:00(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 dotnet/runtimeのビルドシステムで使用するCMakeの最小要件バージョンを3.20から3.26にアップグレードするPRです。.NET 11対応に伴い、RHEL9との互換性を保ちながら、CMake 3.26で利用可能なモダンな機能を活用できるようにします。このアップグレードにより、ビルド構成の簡潔化とコード保守性の向上が実現されます。 @@ -1111,7 +1111,7 @@ dotnet/runtimeのビルドシステムで使用するCMakeの最小要件バー - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2025年10月11日 17:34:42(UTC) - マージ日時: 2026年01月22日 12:34:51(UTC) -- ラベル: test-enhancement area-Extensions-Hosting +- ラベル: test-enhancement area-Extensions-Hosting #### 概要 Microsoft.Extensions.Hosting* プロジェクトのテストカバレッジを大幅に拡充するPRです。**79個の新規単体テスト**を追加し、以前はほぼテストされていなかったクラスを網羅的にカバーするようにしました。テストは段階的にコンソリデーションされ、最終的には**51個の統合テスト**(Microsoft.Extensions.Hosting)と**30個のテスト**(Microsoft.Extensions.Hosting.Abstractions)に調整されました。結果として304個のテストすべてが合格し、87.69%のライン覆率を達成しています。 @@ -1151,7 +1151,7 @@ dotnet/runtime#49725 (Microsoft.Extensions.Hosting*の単体テスト追加) - 作成者: [@rzikm](https://github.com/rzikm) - 作成日時: 2025年09月11日 12:14:17(UTC) - マージ日時: 2026年01月22日 14:44:47(UTC) -- ラベル: area-System.IO.Compression +- ラベル: area-System.IO.Compression #### 概要 ZStandard (Zstd) 圧縮形式の Stream、Encoder、Decoder を .NET ランタイムに実装しました。新しい `System.IO.Compression.Zstandard` ライブラリを追加し、既存の Brotli や Deflate と同様のAPIで Zstd 圧縮・展開機能を提供します。ベンチマーク結果では、Zstd は Brotli や Deflate よりも高速な圧縮・展開を実現しています。 @@ -1209,7 +1209,7 @@ using (var zstdStream = new ZstandardStream(compressedStream, CompressionMode.De - 作成者: [@xtqqczze](https://github.com/xtqqczze) - 作成日時: 2025年09月08日 14:27:00(UTC) - マージ日時: 2026年01月22日 15:04:30(UTC) -- ラベル: area-System.Memory community-contribution +- ラベル: area-System.Memory community-contribution #### 概要 `Span.ToArray` と `ReadOnlySpan.ToArray` のメソッド実装をリファクタリングし、unsafe コードの使用を削減しました。このリファクタリングは機能的な変更なく、コードの安全性を向上させることを目的としています。 @@ -1238,7 +1238,7 @@ using (var zstdStream = new ZstandardStream(compressedStream, CompressionMode.De - 作成者: [@xtqqczze](https://github.com/xtqqczze) - 作成日時: 2025年06月12日 09:16:15(UTC) - マージ日時: 2026年01月22日 15:04:48(UTC) -- ラベル: area-System.Runtime community-contribution +- ラベル: area-System.Runtime community-contribution #### 概要 `Guid.DecodeByte`メソッドの最適化により、PR #88267から生じたパフォーマンス回帰に対応しました。`ParseExactD`、`ctor_str`、`Parse`メソッドで約14~17%のパフォーマンス改善を実現しています。 @@ -1274,7 +1274,7 @@ Guid解析関連のAPI全般において、バイトデコード処理の最適 - 作成者: [@IvanStoychev](https://github.com/IvanStoychev) - 作成日時: 2025年04月13日 22:03:10(UTC) - マージ日時: 2026年01月22日 08:15:02(UTC) -- ラベル: area-System.Memory community-contribution +- ラベル: area-System.Memory community-contribution #### 概要 JIT コンパイラのレイアウト最適化に関する過去の問題が解決されたため、`SpanHelpers.T.cs` ファイル内の `goto` ステートメントを用いた回避策を削除するPull Requestです。これにより、コードの可読性と保守性が向上し、より通常的な制御フローに整理されます。 @@ -1309,7 +1309,7 @@ JIT コンパイラのレイアウト最適化に関する過去の問題が解 - 作成者: [@AlexRadch](https://github.com/AlexRadch) - 作成日時: 2024年08月22日 04:51:33(UTC) - マージ日時: 2026年01月22日 08:00:47(UTC) -- ラベル: area-System.Numerics new-api-needs-documentation community-contribution +- ラベル: area-System.Numerics new-api-needs-documentation community-contribution #### 概要 `IBinaryInteger`インターフェースに対して、5つの丸め戦略(Truncate、Floor、Ceiling、AwayFromZero、Euclidean)をサポートする新しい`DivisionRounding`列挙型を導入し、`Divide`、`DivRem`、`Remainder`メソッドの新しいオーバーロードを追加しました。これにより、整数除算時に異なる丸め動作を指定できるようになります。 @@ -1347,7 +1347,7 @@ var result = DivRem(dividend, divisor, DivisionRounding.Floor); - 作成者: [@wfurt](https://github.com/wfurt) - 作成日時: 2024年08月14日 00:15:18(UTC) - マージ日時: 2026年01月22日 03:57:06(UTC) -- ラベル: area-System.Net.Sockets new-api-needs-documentation +- ラベル: area-System.Net.Sockets new-api-needs-documentation #### 概要 System.Net.Sockets に並列接続(Parallel Connect)機能を追加しました。API #87932 で承認された機能で、複数の DNS アドレスに対して並列に接続試行を行い、最初に成功した接続を確立します。現在は `SocketAsyncEventArgs` (SAEA) のみサポートしており、リスクを最小化するため既存の `MultiConnectSocketAsyncEventArgs` に新しいメンバーを追加する設計となっています。 diff --git a/archives/2026/01/23.md b/archives/2026/01/23.md index 10b1f7a..cb25b64 100644 --- a/archives/2026/01/23.md +++ b/archives/2026/01/23.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#123543 Remove System.ServiceModel.Primitives dependency](#123543) 2. [#123541 Mark new userevents tests as native AOT incompatible](#123541) 3. [#123539 Run OneLocBuild and SourceIndex on schedule instead of every commit in runtime-official.yml](#123539) @@ -31,7 +31,7 @@ - 作成者: [@akoeplinger](https://github.com/akoeplinger) - 作成日時: 2026年01月23日 12:24:26(UTC) - マージ日時: 2026年01月23日 15:32:00(UTC) -- ラベル: needs-area-label +- ラベル: needs-area-label #### 概要 Windows Compatibility Pack で過去に必要だった System.ServiceModel.Primitives 依存関係を削除するPRです。バージョン管理ファイルからこの依存関係への参照をすべて削除し、不要になった依存関係を整理します。 @@ -53,7 +53,7 @@ Windows Compatibility Pack で過去に必要だった System.ServiceModel.Primi - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年01月23日 12:00:25(UTC) - マージ日時: 2026年01月23日 21:42:24(UTC) -- ラベル: area-Tracing-coreclr +- ラベル: area-Tracing-coreclr #### 概要 Native AOT コンパイルでクラッシュしている User Events テストスイートを Native AOT 非互換として正式にマークしました。テスト実行時に `System.ArgumentNullException` が発生していた問題に対応するため、`Directory.Build.props` ファイルを追加して `NativeAotIncompatible=true` を設定しています。 @@ -78,7 +78,7 @@ Native AOT コンパイルでクラッシュしている User Events テスト - 作成者: [@akoeplinger](https://github.com/akoeplinger) - 作成日時: 2026年01月23日 11:45:33(UTC) - マージ日時: 2026年01月23日 11:47:43(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 runtime-official.yml CI パイプラインの最適化により、OneLocBuild と SourceIndex を毎コミット実行から定期スケジュール実行(日次)に変更。assetless ビルドの導入によりパイプライン実行時間が短縮されたため、毎回これらの操作を実行する必要がなくなり、CI リソースの節約を実現。 @@ -106,7 +106,7 @@ runtime-official.yml CI パイプラインの最適化により、OneLocBuild - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年01月23日 10:02:00(UTC) - マージ日時: 2026年01月23日 14:23:17(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 SuperPMI(.NETランタイムのJIT性能測定ツール)の改善で、`getContinuationType`呼び出しが記録にない場合の処理を強化しました。非同期処理関連の変更時に、継続型レイアウトが見つからないシナリオに対して、合成された仮のクラスハンドルを返すことで、不要な「コンテキスト欠落」エラーを回避できます。 @@ -138,7 +138,7 @@ CORINFO_CLASS_HANDLE pseudoHandle = /* synthetic handle */; - 作成者: [@ViktorHofer](https://github.com/ViktorHofer) - 作成日時: 2026年01月23日 09:56:00(UTC) - マージ日時: 2026年01月23日 12:17:16(UTC) -- ラベル: needs-area-label +- ラベル: needs-area-label #### 概要 VS 2026のコンパイラ警告C4319を解消するため、libunwindの`UNW_ALIGN`マクロに明示的なsize_t型キャストを追加しました。unsigned longからsize_tへのゼロ拡張に関する警告を修正し、Windows環境での整合性を改善するアップストリーム修正のバックポートです。 @@ -160,7 +160,7 @@ PR #122179のrelease/9.0ブランチへのフォワードポート - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年01月23日 06:54:08(UTC) - マージ日時: 2026年01月23日 21:43:22(UTC) -- ラベル: needs-area-label +- ラベル: needs-area-label #### 概要 Native AOT環境でのStringBuilder marshalling テストの失敗に対応するため、3つのテストメソッド(`ByValue`、`ByRef`、`ReversePInvoke`)に`ActiveIssue`属性を追加して、Native AOT環境での実行をスキップするようにしました。これらのテストは PR #123112 により outerloop priority tracking の修正後に実行されるようになったことが原因です。 @@ -186,7 +186,7 @@ Native AOT環境でのStringBuilder marshalling テストの失敗に対応す - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年01月23日 06:39:09(UTC) - マージ日時: 2026年01月23日 12:16:38(UTC) -- ラベル: area-System.Net.Security +- ラベル: area-System.Net.Security #### 概要 Native AOT + Linux環境でNegotiateAuthenticationTests全体がクラッシュする問題に対応するため、ActiveIssue属性をテストメソッドレベルからクラスレベルに変更しました。当初は特定のテスト(Package_Unsupported_NTLM)のみが問題だと思われていましたが、実際にはテストクラス全体が影響を受けることが判明したため、スキップの対象範囲を拡大しています。 @@ -238,7 +238,7 @@ CoreCLRのutilcodeから使用されていない関数とクラスを削除す - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年01月23日 02:22:02(UTC) - マージ日時: 2026年01月23日 22:25:21(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 WebAssembly RyuJIT コンパイラで、`block` および `loop` 命令の emission 時に必須の型フィールド(block type byte)が欠落していた問題を修正しました。新しい `emitIns_B` ヘルパーメソッドを追加し、これらの構造化制御フロー命令が正しく型情報を含めて emission されるようにしました。 @@ -261,7 +261,7 @@ WebAssembly RyuJIT コンパイラで、`block` および `loop` 命令の emiss - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年01月23日 00:32:57(UTC) - マージ日時: 2026年01月23日 23:28:05(UTC) -- ラベル: Servicing-approved area-TypeSystem-coreclr +- ラベル: Servicing-approved area-TypeSystem-coreclr #### 概要 PR #120712で導入された「特殊マーカー型」インターフェースマップ最適化による2つの回帰を修正するバックポートです。主な修正は、インターフェース展開ロジックの完全な実装と、ジェネリック型パラメータ数の上限チェック(`MaxGenericParametersForSpecialMarkerType`)の忘却箇所の対応です。特にVB.NETコンパイラのメタデータ生成パターンで問題が顕在化しています。 @@ -290,7 +290,7 @@ PR #120712で導入された「特殊マーカー型」インターフェース - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年01月22日 23:55:56(UTC) - マージ日時: 2026年01月23日 22:31:43(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 Windows Arm64上のアンマネージドC++メンバー関数(thiscall)呼び出しに対応するため、戻り値バッファの引き渡しメカニズムを修正しました。Windows Arm64では、戻り値バッファが通常のX8レジスタではなく、第2引数レジスタ(X1、thisが存在する場合)で渡される特異な呼び出し規約に対応しています。 @@ -320,7 +320,7 @@ Windows Arm64上のアンマネージドC++メンバー関数(thiscall)呼 - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年01月22日 22:37:44(UTC) - マージ日時: 2026年01月23日 19:23:08(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 CLR インタープリタの `CEE_JMP` 命令処理を修正し、`call.tail` オペコードが実際にはテール呼び出しを実行しない場合にも対応するようにしました。リターン処理ロジックを `EmitRet` ヘルパー関数に統合し、`CEE_RET` と `CEE_JMP` の両方から呼び出すことで、テール呼び出し失敗時にも無効なコード実行を防ぐようになります。これにより Windows Arm64 での P/Invoke ジャンプ/テールコール関連テストが修正されます。 @@ -354,7 +354,7 @@ CLR インタープリタの `CEE_JMP` 命令処理を修正し、`call.tail` - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月22日 18:00:44(UTC) - マージ日時: 2026年01月23日 01:00:34(UTC) -- ラベル: linkable-framework +- ラベル: linkable-framework #### 概要 `Microsoft.NET.ILLink` と `Microsoft.NET.ILLink.Tasks` NuGetパッケージに対して、SDK内部専用パッケージであることを明記するPACKAGE.mdファイルを追加しました。これらのパッケージは直接参照すべきではなく、SDKを通じてのみ使用されるべきであることをユーザーに明確に伝えます。 @@ -412,7 +412,7 @@ Dictionary _lazyData; // 文字列キーを直接使用 - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年01月21日 23:39:16(UTC) - マージ日時: 2026年01月23日 17:30:30(UTC) -- ラベル: Servicing-approved area-Infrastructure +- ラベル: Servicing-approved area-Infrastructure #### 概要 release/9.0ブランチへのバックポート変更です。evaluate-paths-jobパイプラインの設定でプール(実行環境)の構成を変更しています。これはCI/CDパイプラインの実行環境最適化に関連する変更です。 @@ -435,7 +435,7 @@ CI/CDパイプラインの実行環境構成の変更であるため、ビルド - 作成者: [@cincuranet](https://github.com/cincuranet) - 作成日時: 2026年01月21日 11:13:21(UTC) - マージ日時: 2026年01月23日 13:26:54(UTC) -- ラベル: area-Extensions-Logging source-generator +- ラベル: area-Extensions-Logging source-generator #### 概要 ロガーメッセージジェネレータの生成されたクラスの出力順序を安定化させました。namespace→name の順でソートして出力することで、ビルド結果の非決定性を排除し、再現可能なビルドを実現します。これにより、同じソースコードから常に同じ生成コードが出力されるようになります。 @@ -458,7 +458,7 @@ CI/CDパイプラインの実行環境構成の変更であるため、ビルド - 作成者: [@MihaZupan](https://github.com/MihaZupan) - 作成日時: 2026年01月20日 20:45:39(UTC) - マージ日時: 2026年01月23日 22:32:11(UTC) -- ラベル: area-System.Memory reduce-unsafe +- ラベル: area-System.Memory reduce-unsafe #### 概要 Base64エンコーディングで改行挿入(`Base64FormattingOptions.InsertLineBreaks`)を行う際、既存の`Base64.EncodeToChars`ヘルパーを利用するようにリファクタリングしました。不安全なポインタベースの実装から安全なspan操作への変更により、30バイト以上の入力では性能が向上(最大47%削減)します。10~20バイトのごく小さい入力では軽微な性能低下(9~56%増加)がありますが、全体としては改善されています。 @@ -494,7 +494,7 @@ Base64エンコーディングで改行挿入(`Base64FormattingOptions.InsertL - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年01月20日 19:48:35(UTC) - マージ日時: 2026年01月23日 12:19:42(UTC) -- ラベル: arch-wasm area-System.Runtime.InteropServices.JavaScript os-browser +- ラベル: arch-wasm area-System.Runtime.InteropServices.JavaScript os-browser #### 概要 このPRではMonoからHTTPおよびWebSocket JavaScriptクライアント実装をCoreCLRに移植しました。ブラウザベースのWASM応用でネットワーク機能が利用できるようになります。WebSocketのクローズステータスプロパティ名をJavaScript命名規約に準拠させ、null promiseハンドリングのバグを修正し、タイマー管理機構を拡張しました。 @@ -542,7 +542,7 @@ Fixes #120216 - 作成者: [@maraf](https://github.com/maraf) - 作成日時: 2026年01月19日 11:02:05(UTC) - マージ日時: 2026年01月23日 09:50:29(UTC) -- ラベル: arch-wasm area-Build-mono os-browser +- ラベル: arch-wasm area-Build-mono os-browser #### 概要 WebAssembly ビルドプロセスの回帰問題を修正するPRです。NuGetパッケージから複数のカルチャを持つサテライトアセンブリが、重複ファイルとして誤くフラグされる問題を解決しました。サテライトアセンブリはカルチャ固有のサブディレクトリに配置されるため、メインフレームワークフォルダのアセンブリに対してのみ適用される一意ファイル名チェックをバイパスするよう修正しています。 @@ -569,7 +569,7 @@ WebAssembly ビルドプロセスの回帰問題を修正するPRです。NuGet - 作成者: [@VSadov](https://github.com/VSadov) - 作成日時: 2026年01月17日 20:00:41(UTC) - マージ日時: 2026年01月23日 04:14:58(UTC) -- ラベル: area-VM-coreclr runtime-async +- ラベル: area-VM-coreclr runtime-async #### 概要 RuntimeAsync機能における非同期メソッド変種のシグネチャから`modreq`の生成を廃止し、代わりに`AsyncVariantKind`列挙型を`MethodSignature`に追加して、非同期変種の種別(Task/ValueTask)を明示的に追跡する変更です。これにより、`Task M()`と`ValueTask M()`の非同期変種を同じスコープ内で区別でき、シグネチャの曖昧性を解決しています。 @@ -604,7 +604,7 @@ enum AsyncVariantKind - 作成者: [@rosebyte](https://github.com/rosebyte) - 作成日時: 2026年01月16日 11:06:11(UTC) - マージ日時: 2026年01月23日 12:16:23(UTC) -- ラベル: area-Extensions-DependencyInjection +- ラベル: area-Extensions-DependencyInjection #### 概要 DIコンテナのオープンジェネリック解決時に、制約が互換性のない最新登録をスキップし、以前の互換可能な登録にフォールバックしていた問題を修正。これにより、単一インスタンス解決時に「最後に登録されたもの勝ち」の原則が正しく適用されるようになりました。修正前は混乱を招く挙動を引き起こしていました。 @@ -626,7 +626,7 @@ DIコンテナのオープンジェネリック解決時に、制約が互換性 - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年01月15日 23:02:23(UTC) - マージ日時: 2026年01月23日 16:22:11(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITの範囲チェック分析における二項演算(Add/Multiply)の処理を強化し、整数オーバーフロー時の動作を改善しました。`TryGetRangeFromAssertions`関数にオフセット削除ロジックを統合することで、アサーション基盤の範囲演算をSSAベースの処理と同等に改善しました。これにより、Issue #122288のオーバーフロー時の不正な範囲演算結果を修正します。 @@ -656,7 +656,7 @@ JITの範囲チェック分析における二項演算(Add/Multiply)の処 - 作成者: [@AaronRobinsonMSFT](https://github.com/AaronRobinsonMSFT) - 作成日時: 2026年01月14日 22:18:10(UTC) - マージ日時: 2026年01月23日 15:49:15(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 このPRはデバッグトランスポートレイヤーをリファクタリングし、`TwoWayPipe`の直接利用を`IDebugChannel` COM インターフェースで抽象化します。これにより関心の分離が向上し、将来的に異なるトランスポート実装への拡張が可能になります。 @@ -696,7 +696,7 @@ class DbgTransportPipeChannel : IDebugChannel - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月12日 17:06:26(UTC) - マージ日時: 2026年01月23日 13:05:25(UTC) -- ラベル: area-System.Formats.Tar +- ラベル: area-System.Formats.Tar #### 概要 tar アーカイブにおいて 8GB を超える大容量ファイルエントリのハンドリングをテストするための自動テストスイートを追加しました。`SimulatedDataStream` と `ConnectedStreams` を活用して、CI 環境での大容量データテストをディスク領域やメモリ消費なしに実現します。ライター/リーダーの並列パターンで、実際のデータ実体化を回避しながら PAX および GNU フォーマットをテストしています。 @@ -724,7 +724,7 @@ tar アーカイブにおいて 8GB を超える大容量ファイルエント - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2025年10月16日 15:21:23(UTC) - マージ日時: 2026年01月23日 00:24:51(UTC) -- ラベル: area-System.Text.Json +- ラベル: area-System.Text.Json #### 概要 `JsonSerializerOptions.GetConverter(Type)`で取得した数値プリミティブコンバーター(Int32Converter等)が、公開メソッド`Read()`と`Write()`で`JsonNumberHandling`設定を無視していた問題を修正しました。修正後は、例えば`AllowReadingFromString`設定で文字列形式の数値を正しく処理できるようになります。 @@ -779,7 +779,7 @@ dotnet/runtime#120798(元のIssue) - 作成者: [@clamp03](https://github.com/clamp03) - 作成日時: 2025年10月14日 06:50:45(UTC) - マージ日時: 2026年01月23日 16:20:59(UTC) -- ラベル: area-VM-coreclr community-contribution area-CodeGen-Interpreter-coreclr +- ラベル: area-VM-coreclr community-contribution area-CodeGen-Interpreter-coreclr #### 概要 ARM32 SOFTFP向けのインタープリータ実装を有効化するPRです。引数と戻り値のアセンブリ実装を追加し、ARM32 SOFTFP呼び出し規約に対応した小さなバグ修正を含みます。簡単なテストケースで検証済みです。 diff --git a/archives/2026/01/24.md b/archives/2026/01/24.md index 5841e56..723ae18 100644 --- a/archives/2026/01/24.md +++ b/archives/2026/01/24.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#123557 Fix token memory ordering issue reading from the MethodDef and FieldDef token tables](#123557) 2. [#123551 Switch Windows build pools from VS2022 to VS2026 preview](#123551) 3. [#123527 Update Roslyn to 5.0.0-2.26070.104 and suppress IDE0071/IDE0031](#123527) @@ -14,7 +14,7 @@ - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年01月23日 19:18:17(UTC) - マージ日時: 2026年01月24日 04:18:23(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 MethodDef/FieldDefトークンテーブルの読み取り時にメモリ順序の問題を修正しました。TypeDefテーブルの読み取り成功後にMethodDef/FieldDefテーブルから値を読み込む際、明示的なメモリバリアがないため、CPUが依存順序を無視して先にMethodDef/FieldDefテーブルを読み込む可能性がありました。`VolatileLoad`を使用してメモリ順序を保証することで、この問題を解決しています。 @@ -103,7 +103,7 @@ netstandard ターゲットではReadOnlySpan<char>を直接文字列補 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月22日 23:48:02(UTC) - マージ日時: 2026年01月24日 00:59:46(UTC) -- ラベル: area-System.Net +- ラベル: area-System.Net #### 概要 このPRは、廃止されたETW(Event Tracing for Windows)ログ取得ヘルパースクリプトを削除し、System.Net名前空間のデバッグドキュメントを公式のMicrosoft Learn テレメトリドキュメントへリダイレクトするものです。ローカルで管理されていた10個のMicrosoft-System-Net-* イベントソースのリストは削除され、メンテナンスされている公式ドキュメントを参照するよう更新されました。 @@ -133,7 +133,7 @@ netstandard ターゲットではReadOnlySpan<char>を直接文字列補 - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年01月22日 22:28:54(UTC) - マージ日時: 2026年01月24日 02:08:01(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 PR #122012で導入されたリグレッションを修正するもので、AOTコンパイラが非具体的なジェネリック型に対して辞書ノードを作成しようとしていた問題を解決しています。`VirtualDispatchCellGenericLookupResult`では、非具体的なインスタンス化の場合、ジェネリック辞書の生成を試みないようにします。 @@ -162,7 +162,7 @@ PR #122012で導入されたリグレッションを修正するもので、AOT - 作成者: [@agocke](https://github.com/agocke) - 作成日時: 2026年01月21日 21:31:39(UTC) - マージ日時: 2026年01月24日 08:35:51(UTC) -- ラベル: needs-area-label +- ラベル: needs-area-label #### 概要 .NET 11以上のライブラリテストプロジェクトに対して、ランタイム非同期プレビュー機能を有効化します。サポートされていないシナリオは適切に除外されます。テストインフラストラクチャの設定ファイルで条件付きPropertyGroupを追加し、互換性のあるテストプロジェクトで機能を有効にします。 @@ -226,7 +226,7 @@ ClearUnsigned(); - 作成者: [@adamperlin](https://github.com/adamperlin) - 作成日時: 2026年01月05日 04:51:13(UTC) - マージ日時: 2026年01月24日 01:14:40(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly JIT のキャスト操作のコード生成を拡張するPRです。小整数型(byte、short)キャストの符号拡張対応、float→int のキャストが飽和非トラップ変換命令を使用して実装されました。Wasm オペコードを1バイトから2バイトに拡張し、`GenIntCastDesc` を條件付きコンパイル外に移動して Wasm 対応を強化しています。 @@ -265,7 +265,7 @@ WebAssembly JIT のキャスト操作のコード生成を拡張するPRです - 作成者: [@Henr1k80](https://github.com/Henr1k80) - 作成日時: 2025年10月02日 20:57:48(UTC) - マージ日時: 2026年01月24日 03:29:10(UTC) -- ラベル: area-System.Runtime tenet-performance community-contribution +- ラベル: area-System.Runtime tenet-performance community-contribution #### 概要 `Array.FindAll`メソッドのパフォーマンスを改善しました。マッチ結果をスタック上に一時的に格納し、Listの割り当てをオプション化することで、メモリ割り当てと実行速度の両方を削減します。.NET 10で利用可能な`InlineArray16`を活用した実装です。 diff --git a/archives/2026/01/25.md b/archives/2026/01/25.md index c3f4360..b741aaf 100644 --- a/archives/2026/01/25.md +++ b/archives/2026/01/25.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#123565 \[RyuJit Wasm\] fix off by one error for br_table](#123565) 2. [#123200 Update macOS minimum version from 12.0 to 14.0, Mac Catalyst to 17.0, and remove obsolete availability checks](#123200) @@ -7,7 +7,7 @@ - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年01月23日 22:40:25(UTC) - マージ日時: 2026年01月25日 19:58:10(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 RyuJIT WAsmコード生成において、`br_table`命令を用いたswitch文の処理時に発生していた1オフのカウントエラーを修正しました。switch文のターゲット数をカウントする際、デフォルトケースを除外する必要がありますが、以前はこれが正しく処理されていませんでした。 diff --git a/archives/2026/01/26.md b/archives/2026/01/26.md index f12020e..02605b9 100644 --- a/archives/2026/01/26.md +++ b/archives/2026/01/26.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#123613 Clarify compilation and testing requirements in copilot-instructions](#123613) 2. [#123603 JIT: Fix mask AND with zero incorrectly folded](#123603) 3. [#123600 Add test coverage for DateTime.ParseExact with different DateTimeStyles](#123600) @@ -23,7 +23,7 @@ - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年01月26日 03:27:54(UTC) - マージ日時: 2026年01月26日 03:34:04(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 このPRはcopilot-instructions.mdのコンパイルとテスト要件を厳格化し、ビルドプロセスをより決定論的にするものです。コンパイル/テスト要件を"SHOULD"から"MUST"に昇格させ、コメント変更のみの例外を削除しました。またSystem.Private.CoreLibの再構築設定を`-rc release`から`-rc checked`に修正しています。 @@ -58,7 +58,7 @@ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月25日 22:37:24(UTC) - マージ日時: 2026年01月26日 18:13:04(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITの定数折畳最適化(`gtFoldExprHWIntrinsic`)でマスク型と定数ゼロの`AND`演算が誤って折畳まれ、ゼロではなくマスク値を返していたバグを修正しました。.NET 10.0での回帰です。 @@ -86,7 +86,7 @@ Vector512.Equals(v, v) & Vector512.LessThan(v.AsUInt32(), Vector512.Zero). - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月25日 18:20:13(UTC) - マージ日時: 2026年01月26日 03:50:26(UTC) -- ラベル: area-System.DateTime +- ラベル: area-System.DateTime #### 概要 `DateTime.ParseExact`に関するテストカバレッジを拡充するPRです。特に`DateTimeStyles`パラメータのカバレッジが不足していた部分を補填しています。新たに9つのテストケースを追加し、無効なスタイル組み合わせの検証も強化されています。 @@ -124,7 +124,7 @@ Vector512.Equals(v, v) & Vector512.LessThan(v.AsUInt32(), Vector512.Zero). - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月25日 18:17:20(UTC) - マージ日時: 2026年01月26日 12:04:52(UTC) -- ラベル: area-System.Collections +- ラベル: area-System.Collections #### 概要 `ConcurrentDictionary.GetOrAdd` と `AddOrUpdate` メソッドのテストにおいて、コールバックデリゲートの引数が正しく渡されることを検証するアサーションを追加しました。従来のテストではラムダ式が引数を使用しないか検証なしで使用していたため、引数渡しのバグを検出できませんでした。本変更により、各コールバック内で明示的なアサーションを追加し、期待値が正しく渡されることを確認します。 @@ -158,7 +158,7 @@ dict.GetOrAdd(j, x => - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月24日 23:06:54(UTC) - マージ日時: 2026年01月26日 18:13:38(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT の範囲チェック省略(Bounds Check Elision)を検証する FileCheck ベースのリグレッション テストを追加しました。マスキング、シフト、文字列長比較、`ulong.Log2()` などのパターンで、JIT が安全にインデックスアクセスをプルーフでき、`CORINFO_HELP_RNGCHKFAIL` 呼び出しが完全に削除されることを確認します。 @@ -206,7 +206,7 @@ Issue #123583 - 作成者: [@Henr1k80](https://github.com/Henr1k80) - 作成日時: 2026年01月24日 21:44:05(UTC) - マージ日時: 2026年01月26日 12:53:32(UTC) -- ラベル: community-contribution needs-area-label +- ラベル: community-contribution needs-area-label #### 概要 `ComEventMethods`クラスで、オーバーアロケーションを伴うListベースの実装から改善されたArray.FindAllへ切り替え、コード量削減とメモリ効率の向上を実現します。 @@ -238,7 +238,7 @@ var methods = Array.FindAll(methodsArray, predicate); - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年01月24日 00:26:55(UTC) - マージ日時: 2026年01月26日 16:21:32(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssemblyのJIT コードジェネレーションにおいて、ローカル変数がスタックに配置されない場合、パラメータのホーミング処理をスキップするように最適化しました。スタックポインタレジスタが設定されていない(`REG_NA`)フレームレス状態では、不要なパラメータのホーミング処理を回避します。 @@ -277,7 +277,7 @@ if (GetStackPointerReg() == REG_NA) - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年01月23日 20:20:26(UTC) - マージ日時: 2026年01月26日 13:01:05(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 このPRはJITコンパイラの範囲分析を強化し、PHI定義の到達可能性を分析できるようにします。`GetRangeFromAssertions`がPHIノードを再帰的に分析して、より厳密な範囲を計算できるようになり、分岐の削除最適化(branch folding)が向上します。 @@ -324,7 +324,7 @@ PR番号のみで、特定のIssueリンクは記載されていません。 - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年01月23日 19:35:31(UTC) - マージ日時: 2026年01月26日 19:56:04(UTC) -- ラベル: Servicing-approved area-System.Runtime.InteropServices linkable-framework +- ラベル: Servicing-approved area-System.Runtime.InteropServices linkable-framework #### 概要 .NET 10の新しい`System.Runtime.InteropServices.TypeMapAttribute`を使用して作成されたタイプマップが、`PublishTrimmed=true`でアプリケーションを公開する際にアセンブリ間で正常に機能していなかった問題を修正するバックポートです。ILLinkerのTypeMap属性処理を改善し、クロスアセンブリ参照の保存とマーキングの正確性を向上させました。 @@ -361,7 +361,7 @@ PR番号のみで、特定のIssueリンクは記載されていません。 - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年01月22日 23:42:05(UTC) - マージ日時: 2026年01月26日 19:55:35(UTC) -- ラベル: Servicing-approved area-System.Runtime.InteropServices +- ラベル: Servicing-approved area-System.Runtime.InteropServices #### 概要 `TypeMapLazyDictionary`でハッシュコリジョンが発生し、`ArgumentException`が非決定的に発生する問題を修正しました。複数の`TypeMapAssociationAttribute`が存在する場合、異なる文字列が同じハッシュコードを生成することがありました。修正前はハッシュコード値を直接辞書のキーとして使用していたため、コリジョン時の衝突処理ができていませんでした。修正後は文字列そのものをキーとして使用することで、確実にコリジョンを回避できるようにしました。 @@ -389,7 +389,7 @@ PR番号のみで、特定のIssueリンクは記載されていません。 - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月22日 19:48:01(UTC) - マージ日時: 2026年01月26日 20:01:03(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 このPull Requestは、dotnet/dotnetリポジトリからdotnet/runtimeへのコードフロー更新です。2026年1月23日時点のビルド(20260123.10)から、複数の依存パッケージがアップデートされています。主にCodeAnalysis関連のツール、ビルドタスク、NuGet関連パッケージ、WebAssembly Node Transport関連のランタイムパッケージが更新されています。 @@ -424,7 +424,7 @@ PR番号のみで、特定のIssueリンクは記載されていません。 - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年01月21日 23:47:12(UTC) - マージ日時: 2026年01月26日 20:12:43(UTC) -- ラベル: Servicing-approved area-Infrastructure +- ラベル: Servicing-approved area-Infrastructure #### 概要 このPRは、#123450のバックポート版で、release/8.0ブランチに対するCI/CDパイプラインの変更です。評価パス用(evaluate-paths)のジョブで使用されるプールを変更する修正を含んでいます。これはビルドインフラストラクチャの改善に関連し、パイプラインの実行環境を最適化する変更と考えられます。 @@ -449,7 +449,7 @@ PR番号のみで、特定のIssueリンクは記載されていません。 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月17日 22:29:50(UTC) - マージ日時: 2026年01月26日 18:22:45(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 EgorBotを使用したアドホックなパフォーマンスベンチマーク実行を可能にするCopilotスキルを追加しました。このスキルにより、開発者はPRコメント経由でBenchmarkDotNetベンチマークを自動生成・実行でき、パフォーマンス検証が容易になります。 @@ -485,7 +485,7 @@ public int SumArray() => _data.Sum(); - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月17日 17:49:28(UTC) - マージ日時: 2026年01月26日 13:20:19(UTC) -- ラベル: area-System.Memory +- ラベル: area-System.Memory #### 概要 `Base64.DecodeFromUtf8()`で最終量子(パディング`=`を含む)がホワイトスペースで分割されており、かつ`isFinalBlock=false`の場合、ホワイトスペースが誤って消費される問題を修正しました。ストリーミングデコーダーがより多くのデータを受け取った後に`isFinalBlock=true`で再試行する際の回復を可能にします。 @@ -521,7 +521,7 @@ dotnet/runtime#123311、dotnet/runtime#123313 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月06日 23:33:00(UTC) - マージ日時: 2026年01月26日 19:12:03(UTC) -- ラベル: area-System.IO +- ラベル: area-System.IO #### 概要 Windows上の`Directory.GetFiles`のパフォーマンスを最適化するPRです。従来は検索パターンに関わらず全ファイルを列挙していたため、大規模ディレクトリでO(N)の処理になっていました。本変更では「安全な」パターンをOS(NtQueryDirectoryFile)のプリフィルタとして渡すことで、O(log N)相当の高速化を実現します。マネージド側の`MatchesPattern`フィルタは継続して実行し、100%の正確性を保証します。 @@ -559,7 +559,7 @@ Windows上の`Directory.GetFiles`のパフォーマンスを最適化するPRで - 作成者: [@jtschuster](https://github.com/jtschuster) - 作成日時: 2025年12月18日 20:58:08(UTC) - マージ日時: 2026年01月26日 21:44:06(UTC) -- ラベル: area-crossgen2-coreclr runtime-async +- ラベル: area-crossgen2-coreclr runtime-async #### 概要 crossgen2においてTask返却型の非同期メソッドのthunkをMethodSignatureとして出力するようになりました。AsyncVariantフラグを設定することで、ランタイムが非同期メソッドの継続パラメータを正しく処理できるようになります。同時に、GCRefMapの生成ロジックと例外ハンドリング情報が継続パラメータに対応するよう更新されました。 @@ -589,7 +589,7 @@ crossgen2においてTask返却型の非同期メソッドのthunkをMethodSigna - 作成者: [@GrabYourPitchforks](https://github.com/GrabYourPitchforks) - 作成日時: 2025年12月02日 20:50:52(UTC) - マージ日時: 2026年01月26日 18:20:47(UTC) -- ラベル: area-System.Globalization reduce-unsafe +- ラベル: area-System.Globalization reduce-unsafe #### 概要 TextInfo.csの`ToLowerAsciiInvariant(string)`メソッドから unsafe コードを除去し、モダンな C# パターンに置き換えました。このメソッドはカルチャー名("aa-BB" など短い文字列)のキャッシング用に使用され、ホットコードパスではないため、安全性を優先した設計に変更されています。 @@ -616,7 +616,7 @@ TextInfo.csの`ToLowerAsciiInvariant(string)`メソッドから unsafe コード - 作成者: [@tmds](https://github.com/tmds) - 作成日時: 2025年06月30日 14:42:38(UTC) - マージ日時: 2026年01月26日 11:58:16(UTC) -- ラベル: area-System.IO community-contribution +- ラベル: area-System.IO community-contribution #### 概要 Linux上のFileSystemWatcherを複数インスタンス間で単一のinotifyインスタンスを共有する設計に変更しました。Linuxではユーザーあたり128個のinotify制限があるため、この共有化により他のアプリケーションとの競合を削減します。対応Issue: #62869 diff --git a/archives/2026/01/27.md b/archives/2026/01/27.md index 75834b5..072df2e 100644 --- a/archives/2026/01/27.md +++ b/archives/2026/01/27.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#123637 Use IndexOfAny in BaseConfigurationRecord](#123637) 2. [#123636 Skip crypto tests requiring elevation when not elevated](#123636) 3. [#123631 \[Wasm RyuJit\] proper fix for register homing](#123631) @@ -17,7 +17,7 @@ - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年01月26日 19:30:09(UTC) - マージ日時: 2026年01月27日 02:08:40(UTC) -- ラベル: area-System.Configuration +- ラベル: area-System.Configuration #### 概要 `BaseConfigurationRecord.NormalizeConfigSource`メソッド内の文字列検索処理を最適化しました。2つの個別の`IndexOf`呼び出しを、単一の`IndexOfAny`呼び出しに置き換えることで、パス区切り文字(`\`または`/`)の検出を効率化しています。 @@ -57,7 +57,7 @@ int index = configSource.AsSpan().IndexOfAny('\\', '/'); - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年01月26日 19:05:38(UTC) - マージ日時: 2026年01月27日 16:49:52(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 Windows環境で管理者権限なしで実行される場合、X509 PKCS#12ローダーテストの一部をスキップするように修正しました。機械キーストア操作が必要なテストケースが権限不足で失敗するのを防ぎます。 @@ -96,7 +96,7 @@ if (useKeyName && !PlatformDetection.IsPrivilegedProcess) - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年01月26日 16:37:44(UTC) - マージ日時: 2026年01月27日 17:41:30(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 Wasm RyuJitのレジスタホーミング処理を改善したPRです。フレームポインタレジスタの割り当てを、ローカル変数のスタック格納時に動的に割り当てる方式から、候補識別フェーズで事前割り当てする方式に変更しました。これにより、レジスタが必要な時点で確実に利用可能になります。 @@ -152,7 +152,7 @@ ByRef フィールドと byref-like ジェネリクス機能に関するドキ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月26日 02:16:09(UTC) - マージ日時: 2026年01月27日 12:22:08(UTC) -- ラベル: area-System.Numerics.Tensors +- ラベル: area-System.Numerics.Tensors #### 概要 TensorPrimitivesの`BitIncrement`と`BitDecrement`操作をfloatおよびdouble型向けにSIMD対応させました。ブランチフリーの実装により、ConditionalSelectを最小限(2回)に抑えた効率的なベクトル化を実現しています。特殊値(NaN、±Infinity、±0.0)の処理をビット演算で統合し、コード行数を56%削減しました。 @@ -200,7 +200,7 @@ Vector128 result = Vector128.ConditionalSelect(isNegative, bits - Vector12 - 作成者: [@eduardo-vp](https://github.com/eduardo-vp) - 作成日時: 2026年01月23日 04:47:46(UTC) - マージ日時: 2026年01月27日 08:28:32(UTC) -- ラベル: area-NativeAOT-coreclr runtime-async +- ラベル: area-NativeAOT-coreclr runtime-async #### 概要 ARM32でのGCヒジャッキング時に、非同期継続レジスタ(r2)を正しく保持するようにする修正です。従来はr0とr1のみを保存していましたが、ARM32の非同期呼び出し規約ではr2が継続値を返すため、GC中にr2が失われるとコードの不正な動作につながります。フラグ定義を追加し、プローブフレームでr0-r2を保存・復元するように修正しました。 @@ -228,7 +228,7 @@ ARM32でのGCヒジャッキング時に、非同期継続レジスタ(r2) - 作成者: [@adamperlin](https://github.com/adamperlin) - 作成日時: 2026年01月22日 21:36:12(UTC) - マージ日時: 2026年01月27日 22:17:39(UTC) -- ラベル: arch-wasm area-crossgen2-coreclr +- ラベル: arch-wasm area-crossgen2-coreclr #### 概要 このPRは、crossgen2のWebAssemblyオブジェクトライターにテスト用WASMモジュール生成に必要な機能を追加します。具体的には、ランタイムスタック用のデータセクションオフセット(0x10000/64KB)、テーブルセクション、そして.NETメソッドシグネチャからWASM型シグネチャへの変換ロジックを実装しています。 @@ -262,7 +262,7 @@ public void GenerateTypeSignature(MethodDesc method) - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年01月21日 23:13:16(UTC) - マージ日時: 2026年01月27日 23:05:57(UTC) -- ラベル: needs-area-label +- ラベル: needs-area-label #### 概要 内部検証パイプラインの障害を修正するPRです。Helixキューの構成調整とプライベートNuGetフィード認証のサポート追加により、クロスプラットフォームビルドの信頼性を向上させます。主な変更としてAndroidキュー選択ロジックをUbuntuベースに統一し、iOS/tvOS/Android/Browser WASMプラットフォームでパブリック/インターナルキューの区別を実装しています。 @@ -286,7 +286,7 @@ public void GenerateTypeSignature(MethodDesc method) - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月21日 04:06:25(UTC) - マージ日時: 2026年01月27日 01:39:46(UTC) -- ラベル: area-System.Text.Json +- ラベル: area-System.Text.Json #### 概要 STJ(System.Text.Json)のソースジェネレーターが、複数の部分的なクラス宣言に分割された`JsonSerializerContext`で各宣言に`[JsonSerializable]`属性がある場合に失敗する問題を修正します。根本原因は、`ForAttributeWithMetadataName`が各部分宣言ごとにトリガーされる一方、`GetAttributes()`がすべての部分宣言の属性を返すため、同じ名前のコード生成が重複することでした。 @@ -325,7 +325,7 @@ dotnet/runtime#99669(STJのソースジェネレーターが複数の部分ク - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年01月20日 13:36:36(UTC) - マージ日時: 2026年01月27日 12:53:22(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 `allocMem` APIを再設計し、固定的なホット/コールド/読み取り専用データブロックから、任意数のデータチャンクを割り当てられる柔軟な構造へ変更しました。これにより ILC がテキストセクションへのリロケーション対応セクションに非同期再開情報チャンクを配置可能になり、複数関数間での読み取り専用データ共有もサポートします。 @@ -376,7 +376,7 @@ struct AllocMemChunk { - 作成者: [@eduardo-vp](https://github.com/eduardo-vp) - 作成日時: 2026年01月13日 00:58:51(UTC) - マージ日時: 2026年01月27日 01:18:49(UTC) -- ラベル: area-System.Threading +- ラベル: area-System.Threading #### 概要 スレッドプールの優先度交替メカニズムのバグを修正しました。`_dispatchNormalPriorityWorkFirst`フラグの切り替えが条件付きブロック内でのみ実行されていたため、優先度の適切な交替が行われず、通常優先度の作業アイテムが飢餓状態に陥る可能性がありました。フラグの切り替えを条件付きブロックの外に移動し、`DequeueWithPriorityAlternation`の呼び出しごとに確実に実行されるようにしました。 @@ -401,7 +401,7 @@ struct AllocMemChunk { - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月07日 03:18:19(UTC) - マージ日時: 2026年01月27日 02:19:53(UTC) -- ラベル: area-System.Text.RegularExpressions +- ラベル: area-System.Text.RegularExpressions #### 概要 正規表現コンパイラに、ソースジェネレータから交互分岐最適化をポートしました。各分岐が異なる文字で始まる交互分岐に対して、C#スイッチ文をILレベルで発行する最適化です。Roslyn の휴리스틱(要素数 >= 7 かつ密度 >= 0.5)を使用して、パフォーマンスが向上する場合にのみ適用されます。 diff --git a/archives/2026/01/28.md b/archives/2026/01/28.md index 3c27b67..5a5569e 100644 --- a/archives/2026/01/28.md +++ b/archives/2026/01/28.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#123724 Install .NET 9.0 in OneFuzz deployment pipeline](#123724) 2. [#123720 \[release/10.0\] Fixed codegen for IEnumerable binding \(#123422\)](#123720) 3. [#123715 \[release/11.0-preview1\] Revert "Bring a few jithelpers to new unwind plan \(#123307\)"](#123715) @@ -33,7 +33,7 @@ - 作成者: [@MihaZupan](https://github.com/MihaZupan) - 作成日時: 2026年01月28日 18:46:37(UTC) - マージ日時: 2026年01月28日 19:06:04(UTC) -- ラベル: area-Meta +- ラベル: area-Meta #### 概要 OneFuzz デプロイメントパイプラインに .NET 9.0 SDK のインストールステップを追加しました。`vs2026preview` イメージへの更新後、デプロイメントが失敗していた問題を解決します。`winget` を使用して .NET 9.0 をインストールする処理を追加しています。 @@ -58,7 +58,7 @@ OneFuzz デプロイメントパイプラインに .NET 9.0 SDK のインスト - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年01月28日 16:57:51(UTC) - マージ日時: 2026年01月28日 23:52:53(UTC) -- ラベル: Servicing-approved area-System.Configuration source-generator +- ラベル: Servicing-approved area-System.Configuration source-generator #### 概要 Configuration Source Generatorで、プライマリコンストラクタを持つクラス/レコードに対して、コンストラクタパラメータが`IEnumerable`型の場合、バインディング時に`System.InvalidOperationException`が発生していた回帰バグを修正。.NET 10.0.1での回帰で、PR #121325の修正漏れが原因。 @@ -85,7 +85,7 @@ Configuration Source Generatorで、プライマリコンストラクタを持 - 作成者: [@jkotas](https://github.com/jkotas) - 作成日時: 2026年01月28日 14:08:25(UTC) - マージ日時: 2026年01月28日 21:49:32(UTC) -- ラベル: Servicing-approved area-VM-coreclr +- ラベル: Servicing-approved area-VM-coreclr #### 概要 PR #123307で導入された回帰バグを修正するために、JIT ヘルパーのアンワインド計画に関する変更をリバートします。複数のアーキテクチャ(ARM64、LoongArch64、RISC-V64)で CPU コンテキスト操作の不具合によるランタイムクラッシュが頻発していた問題を解決します。リバートにより、OSR パッチポイント遷移をTransitionBlockベースの構築から、キャプチャ/アンワンドされたコンテキストを使用する方式に戻します。 @@ -115,7 +115,7 @@ PR #123307で導入された回帰バグを修正するために、JIT ヘルパ - 作成者: [@maraf](https://github.com/maraf) - 作成日時: 2026年01月28日 10:32:13(UTC) - マージ日時: 2026年01月28日 13:06:07(UTC) -- ラベル: arch-wasm test-enhancement area-Infrastructure-mono os-browser +- ラベル: arch-wasm test-enhancement area-Infrastructure-mono os-browser #### 概要 Blazor WebAssemblyのテストアセットソリューション定義から、誤って追加された`wasm`プラットフォーム設定を削除するPull Request です。この変更により、ソリューションは標準的なCPUプラットフォームのみに統一されます。 @@ -139,7 +139,7 @@ PR #123287 の誤った追加を修正するもの - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年01月28日 09:01:44(UTC) - マージ日時: 2026年01月28日 11:27:43(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 SuperPMI の `allocMem` 関数で、ポインタのアライメント調整後に十分なメモリ空間を確保するための修正です。従来の単純なサイズ切り上げでは、アライメント調整時にメモリ不足が発生する可能性がありました。ホットコードバッファと読み取り専用データバッファの割り当て時に、アライメント前に追加パディングを確保することで、この問題を解決しています。 @@ -173,7 +173,7 @@ size = ALIGN_UP(size, alignment) + (alignment - 1); - 作成者: [@jkotas](https://github.com/jkotas) - 作成日時: 2026年01月28日 01:41:47(UTC) - マージ日時: 2026年01月28日 04:09:18(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 PR #123307で導入された「新しいアンワインド計画」のJITヘルパー関連の変更をリバートするPRです。複数のアーキテクチャ(ARM64、LoongArch64、RISC-V64)の`ClrRestoreNonvolatileContextWorker`実装を削除し、AMD64のみに制限。JITパッチポイントのコンテキストキャプチャを`RtlCaptureContext`経由の仮想アンワインドに変更し、プロローグ/エピローグメカニズムの簡素化を実施します。 @@ -203,7 +203,7 @@ PR #123307で導入された「新しいアンワインド計画」のJITヘル - 作成者: [@jkotas](https://github.com/jkotas) - 作成日時: 2026年01月27日 23:07:33(UTC) - マージ日時: 2026年01月28日 04:09:50(UTC) -- ラベル: area-System.Globalization reduce-unsafe +- ラベル: area-System.Globalization reduce-unsafe #### 概要 PR #122116で行われた`TextInfo.cs`内のunsafe使用量削減を改めて元に戻すリバートです。NativeAOT(Native Ahead-of-Time)バイナリサイズが回帰(~1.5MB → 1.551MB)し、サイズテストが失敗しているため、この問題(#123667)を調査するために実施されました。 @@ -236,7 +236,7 @@ NativeAOT バイナリサイズの回帰が報告されており、以下の懸 - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年01月27日 21:26:03(UTC) - マージ日時: 2026年01月28日 18:27:16(UTC) -- ラベル: area-Interop-coreclr +- ラベル: area-Interop-coreclr #### 概要 COM相互運用のCOMバリアント配列マーシャリング処理で、GC実行中のメモリ移動によるクラッシュを修正しました。PR #121362でBSTR配列マーシャリングがマネージドコードを呼び出すように変更されたことで、予期しないGC遷移が発生し、内部ポインタが無効化される問題が生じていました。`GCPROTECT_BEGININTERIOR`を使用して配列内部ポインタを保護することで、GCによる配列の移動時にポインタを自動更新できるようになりました。 @@ -274,7 +274,7 @@ GCPROTECT_ENDINTERIOR(); // GC保護終了 - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年01月27日 19:44:28(UTC) - マージ日時: 2026年01月28日 20:55:03(UTC) -- ラベル: area-System.Threading +- ラベル: area-System.Threading #### 概要 Windows API `CreateFile` の P/Invoke 宣言における型定義の誤りを修正しました。セキュリティ属性(Atts)とテンプレートファイルハンドル(Template)パラメータは、ネイティブ側ではポインタ型ですが、マネージドコード側で `int` として宣言されていました。これを `nint`(ポインタサイズの整数型)に修正することで、64ビットシステムでの正しい相互運用を実現します。 @@ -314,7 +314,7 @@ static extern IntPtr CreateFile(string lpFileName, uint dwDesiredAccess, - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月27日 11:25:06(UTC) - マージ日時: 2026年01月28日 22:38:25(UTC) -- ラベル: area-CodeGen-coreclr runtime-async +- ラベル: area-CodeGen-coreclr runtime-async #### 概要 JIT の Guarded Devirtualization (GDV) で `AsyncContinuation` 引数を含むメソッドが Tiered PGO + Delegate/VTable プロファイリング有効時にアサーション失敗する問題を修正しました。`isCompatibleMethodGDV` の互換性チェックに `WellKnownArg::AsyncContinuation` を追加し、コンパイラが挿入する引数として IL シグネチャに含まれない引数として扱うようにしています。 @@ -347,7 +347,7 @@ case WellKnownArg::AsyncContinuation: - 作成者: [@dmitry-kandiner](https://github.com/dmitry-kandiner) - 作成日時: 2026年01月27日 10:39:53(UTC) - マージ日時: 2026年01月28日 16:50:06(UTC) -- ラベル: area-Extensions-Configuration community-contribution +- ラベル: area-Extensions-Configuration community-contribution #### 概要 Configuration Binder の source generator において、ネストされた positional record 内で `IEnumerable` をバインドする際に `InvalidOperationException` が誤って発生していた問題を修正しました。コード生成ロジックが `ArraySpec` 型のみをチェックしていたため、`IEnumerable` 型には対応していませんでした。 @@ -376,7 +376,7 @@ public record ContainingIEnumerable(NestedWithIEnumerable Nested); - 作成者: [@tmds](https://github.com/tmds) - 作成日時: 2026年01月26日 08:20:20(UTC) - マージ日時: 2026年01月28日 14:18:01(UTC) -- ラベル: area-System.IO community-contribution +- ラベル: area-System.IO community-contribution #### 概要 Android上で`DriveInfo`が`/proc`を使用してドライブフォーマット情報を取得するように対応しました。これにより、Android環境でのドライブ情報取得の完全性が向上します。 @@ -406,7 +406,7 @@ Android上で`DriveInfo`が`/proc`を使用してドライブフォーマット - 作成者: [@MihaZupan](https://github.com/MihaZupan) - 作成日時: 2026年01月25日 16:18:20(UTC) - マージ日時: 2026年01月28日 18:59:30(UTC) -- ラベル: area-Meta +- ラベル: area-Meta #### 概要 ファジング用コードカバレッジ収集スクリプトを改善し、グローバルな dotnet SDK の代わりにローカル SDK を使用するように変更しました。これにより、特殊なセットアップ環境(Helix キュー等)でもファジング機能が正常に動作します。また、ビルド時に既にローカルツールがインストールされているため、グローバルツールの使用を削除しました。 @@ -436,7 +436,7 @@ MihuBot のファジング機能を Helix キューで動作させるために - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2026年01月24日 21:27:43(UTC) - マージ日時: 2026年01月28日 14:17:13(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 macOS が System.Security.Cryptography.Native.OpenSSL のビルドを廃止し、Apple 固有の実装(System.Security.Cryptography.Native.Apple)に移行したため、opensslshim.c から Apple 関連の条件付きコンパイルコードを削除するクリーンアップです。これにより、コードベースから不要な Apple 固有の処理(DYLIBNAME_PREFIX/DYLIBNAME_SUFFIX など)が除去されます。 @@ -461,7 +461,7 @@ macOS が System.Security.Cryptography.Native.OpenSSL のビルドを廃止し - 作成者: [@elinor-fung](https://github.com/elinor-fung) - 作成日時: 2026年01月23日 23:27:09(UTC) - マージ日時: 2026年01月28日 22:04:57(UTC) -- ラベル: area-Host +- ラベル: area-Host #### 概要 .NET ランタイムのホストポリシーにおいて、サービング ディレクトリ(deps.json追加ファイルの配置先)が存在する場合の不要なファイル存在チェックを削減するパフォーマンス最適化です。これまでサービング ディレクトリの存在だけで全ファイルのグローバルチェックが有効化されていましたが、サービング ディレクトリのプローブ時のみに限定することで、起動時のI/O操作を大幅に削減します。 @@ -493,7 +493,7 @@ Windows環境でstaticconsoleteplate起動テスト実施時(空のサービ - 作成者: [@janvorli](https://github.com/janvorli) - 作成日時: 2026年01月23日 21:03:17(UTC) - マージ日時: 2026年01月28日 21:38:25(UTC) -- ラベル: area-ExceptionHandling-coreclr +- ラベル: area-ExceptionHandling-coreclr #### 概要 新しい例外処理(EH)実装において、funclet(finally/catch ブロックなど)を含むメソッドのプロファイラー通知が重複して報告されていた問題を修正しました。修正前は親メソッドとその各funcletに対して重複した enter/leave 通知が送信されていましたが、修正後は旧EH動作と同様に各メソッドごとに1回のみ報告されるようになります。 @@ -521,7 +521,7 @@ Windows環境でstaticconsoleteplate起動テスト実施時(空のサービ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月23日 17:34:14(UTC) - マージ日時: 2026年01月28日 21:25:40(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT ビルドで `Assembly.Location` が空文字列を返すため、tracing/userevents テストが `ArgumentNullException` でクラッシュしていた問題を修正。`AppContext.BaseDirectory` を使用したディレクトリベースの NativeAOT 検出に切り替え、API を簡素化。修正後、テストは `record-trace` の NativeAOT 制限により期待通り失敗するため、`NativeAotIncompatible` としてマーク。 @@ -558,7 +558,7 @@ if (Path.GetFileName(userEventsScenarioDir.TrimEnd(Path.DirectorySeparatorChar)) - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年01月23日 15:01:22(UTC) - マージ日時: 2026年01月28日 10:30:28(UTC) -- ラベル: arch-wasm area-Build-mono os-browser +- ラベル: arch-wasm area-Build-mono os-browser #### 概要 WebAssembly AOT ビルド時の `llvm-size` コマンドのコマンドラインの長さ制限(Windows Server 2016 以前では 8191 文字)を回避するため、オブジェクトファイル引数をレスポンスファイルに移行した変更です。オブジェクトファイルリストを別ファイルに書き出し、`@ファイルパス` 構文で `llvm-size` に渡すことで、長いコマンドラインの問題を解決します。 @@ -581,7 +581,7 @@ WebAssembly AOT ビルド時の `llvm-size` コマンドのコマンドライン - 作成者: [@reedz](https://github.com/reedz) - 作成日時: 2026年01月23日 11:52:09(UTC) - マージ日時: 2026年01月28日 14:15:37(UTC) -- ラベル: community-contribution needs-area-label +- ラベル: community-contribution needs-area-label #### 概要 `Guid.NewGuid()`のLinuxでのパフォーマンスを約10倍高速化する最適化を実施しました。`getrandom()`syscallの活用(14%高速化)と、スレッドローカルストレージでのGUID一括キャッシング(`Random.Shared`と同様の手法)により、614.2nsから61.16nsへ改善しています。 @@ -621,7 +621,7 @@ var guid = Guid.NewGuid(); // 61.16 ns (~10x faster) - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年01月22日 12:52:21(UTC) - マージ日時: 2026年01月28日 22:34:17(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITのテールコール時に使用されていた`BBF_GC_SAFE_POINT`フラグの検証アサーションを削除する変更です。このフラグは最新状態に保たれていないため、信頼できないアサーションを削除しました。特にテールマージ最適化がGC安全点を持たない新しいブロックを作成する場合に偽の失敗が発生していました。 @@ -649,7 +649,7 @@ JITのテールコール時に使用されていた`BBF_GC_SAFE_POINT`フラグ - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年01月19日 17:38:42(UTC) - マージ日時: 2026年01月28日 06:43:14(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 iOS等の動的コード生成が利用できない環境で、配列ソート性能を最適化するPull Requestです。`GenericArraySortHelper`がリフレクションで動的にインスタンス化される際にR2Rコンパイル対象外となっていた問題を修正し、`IsDynamicCodeCompiled`フラグをチェックして非最適化バージョンにフォールバックさせることで、**List.Sort()の性能を60倍改善**しています。 @@ -691,7 +691,7 @@ NativeAoT実装(`System.Private.CoreLib/src/System/Collections/Generic/ArraySo - 作成者: [@kasperk81](https://github.com/kasperk81) - 作成日時: 2026年01月16日 20:57:00(UTC) - マージ日時: 2026年01月28日 04:46:51(UTC) -- ラベル: arch-wasm area-Build-mono community-contribution os-browser +- ラベル: arch-wasm area-Build-mono community-contribution os-browser #### 概要 BlazorWebWasm ソリューションファイルを旧形式から新形式(.slnx)に変換しました。この変更は PR #115818 の後続として実施されたもので、Visual Studio のモダンなソリューションファイル形式への移行を目的としています。 @@ -761,7 +761,7 @@ public struct CUnionMixedSizes - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年01月15日 18:09:06(UTC) - マージ日時: 2026年01月28日 18:34:42(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 CoreCLR インタプリタにおいて、tailcall コンテキスト内で呼び出される IL ヘルパーメソッドが誤って tailcall として扱われるバグを修正しました。ヘルパー IL メソッド呼び出し時に `isTailcall` フラグを `false` にリセットすることで、ヘルパー呼び出しが不正に tailcall 最適化されるのを防ぎます。WASM 上の複数のランタイムテストを修正します。 @@ -786,7 +786,7 @@ CoreCLR インタプリタにおいて、tailcall コンテキスト内で呼び - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年01月08日 08:07:00(UTC) - マージ日時: 2026年01月28日 21:21:07(UTC) -- ラベル: area-ILTools-coreclr community-contribution +- ラベル: area-ILTools-coreclr community-contribution #### 概要 C# ilasm(IL アセンブラ)に**ラベル検証**と**typedef 解決**機能を実装しました。命令トークンを文法に統合してレキサー優先度を確立し、ラベルの未定義参照を検出してエラー報告します。メソッド本体の回復可能なエラーでもアセンブリ生成を継続できるよう改善しました。 @@ -858,7 +858,7 @@ set EnableClServerMode=true - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2025年12月10日 00:35:49(UTC) - マージ日時: 2026年01月28日 21:07:01(UTC) -- ラベル: Servicing-approved area-Infrastructure +- ラベル: Servicing-approved area-Infrastructure #### 概要 OpenSUSE コンテナ参照を 15.6 から 16.0 に更新し、Helix パイプライン設定を新しい OpenSUSE リリースに対応させるインフラストラクチャ変更です。また OpenSUSE 16.0 との互換性を確保するために、プラットフォーム検出とテストのスキップ処理、IDNA テストデータの更新を含みます。 @@ -889,7 +889,7 @@ main PR: https://github.com/dotnet/runtime/pull/122371 - 作成者: [@namu-lee](https://github.com/namu-lee) - 作成日時: 2025年12月02日 01:33:52(UTC) - マージ日時: 2026年01月28日 13:53:59(UTC) -- ラベル: area-CodeGen-coreclr community-contribution arch-riscv +- ラベル: area-CodeGen-coreclr community-contribution arch-riscv #### 概要 RISC-V JITコンパイラにおいて、Common Subexpression Elimination(CSE)による最適化がアドレッシングモードノードを変換してしまい、Zba拡張の`sh1/2/3add(.uw)`命令の生成を妨げていた問題を修正しました。CSEの対象外フラグを設定することで、効率的なシングル命令での実装が可能になりました。 diff --git a/archives/2026/01/29.md b/archives/2026/01/29.md index 320f920..d86e137 100644 --- a/archives/2026/01/29.md +++ b/archives/2026/01/29.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#123743 JIT: fix retyping issue in object stack allocation](#123743) 2. [#123741 Update tools in prompts to non-deprecated names that work in VSC Copilot Chat](#123741) 3. [#123733 Disable userevents tests via CLRTestTargetUnsupported](#123733) @@ -27,7 +27,7 @@ - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年01月29日 00:53:47(UTC) - マージ日時: 2026年01月29日 10:18:11(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT のオブジェクトスタック割り当て時に、ローカル構造体の格納操作が `GT_COMMA` ノードの値側で実行される場合、祖先型伝播により `GT_COMMA` が誤って再型付けされ、その変更が格納操作にまでカスケード伝播して不正なIRが生成されるバグを修正しました。修正方法は、ローカル構造体の格納ノード訪問時に祖先型伝播をスキップすることです。 @@ -48,7 +48,7 @@ JIT のオブジェクトスタック割り当て時に、ローカル構造体 - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年01月29日 00:39:24(UTC) - マージ日時: 2026年01月29日 06:46:20(UTC) -- ラベル: needs-area-label +- ラベル: needs-area-label #### 概要 GitHub Copilot Chat用のプロンプト設定ファイルにおいて、非推奨なツール名を名前空間付きの現在のツール名に更新しました。また、JIT-EE APIプロンプトに`edit/editFiles`ツールを追加しています。この変更により、VS Code Copilot Chatでのツール認識が正常に機能するようになります。 @@ -101,7 +101,7 @@ GitHub Copilot Chat用のプロンプト設定ファイルにおいて、非推 - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年01月28日 21:15:29(UTC) - マージ日時: 2026年01月29日 14:05:47(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 Windows ARM64プラットフォーム上でC++コンパイラのバグに対応するため、`InterpCompiler::EmitStaticFieldAddress`関数の最適化を無効化するワークアラウンドを実装しました。このバグはVisual Studio Developer Communityで報告されており、関数の最適化時に`noreturn`属性の処理に関する問題が発生します。 @@ -128,7 +128,7 @@ https://developercommunity.visualstudio.com/t/noreturn-function-called-from-a-fu - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年01月28日 19:55:16(UTC) - マージ日時: 2026年01月29日 18:08:31(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 Windows ARM64 InterpreterStubにおいて、ThreadContextが未設定の場合にx19レジスタ(IR bytecode address)が初期化される前に条件分岐が発生していたバグを修正しました。GetInterpThreadContextWithPossiblyMissingThreadOrCallStubへのジャンプ前にx19を確実に設定するよう、アセンブリ命令の順序を変更しています。 @@ -153,7 +153,7 @@ Windows ARM64 InterpreterStubにおいて、ThreadContextが未設定の場合 - 作成者: [@AaronRobinsonMSFT](https://github.com/AaronRobinsonMSFT) - 作成日時: 2026年01月28日 18:53:51(UTC) - マージ日時: 2026年01月29日 17:40:51(UTC) -- ラベル: area-Interop-coreclr +- ラベル: area-Interop-coreclr #### 概要 `System.__ComObject`のCOM相互運用型キャストにおいて、動的インターフェースマップの処理に関する前回の修正(#112375)が不十分だったため、より包括的な検証とテストを追加しました。特に`MethodTable::HasDynamicInterfaceMap()`ロジックの改善と、動的インターフェースマップの用途に関する説明コメントが追加されています。 @@ -186,7 +186,7 @@ Windows ARM64 InterpreterStubにおいて、ThreadContextが未設定の場合 - 作成者: [@adamperlin](https://github.com/adamperlin) - 作成日時: 2026年01月28日 17:47:48(UTC) - マージ日時: 2026年01月29日 23:07:10(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 このドラフトPRは、Helix ランナー上での SPMI ベンチマーク収集における .NET SDK インストールを、セットアップフェーズから実行フェーズに移行させています。目的は NuGet キャッシュの場所を設定し、Helix マシンの限定的な OS ディスク容量を消費しないようにすることです。 @@ -215,7 +215,7 @@ Windows ARM64 InterpreterStubにおいて、ThreadContextが未設定の場合 - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年01月28日 17:06:37(UTC) - マージ日時: 2026年01月29日 05:10:23(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 Native AOT (Ahead-Of-Time) コンパイル実行時にテストが失敗するケースに対応するため、既存テストにスキップ条件を追加し、テストインフラストラクチャを拡張するPRです。NativeAOT環境での実行差異に対応するため、JITアウターループテストおよびUTF8文字列マーシャリングテストを条件付きでスキップするようにしました。 @@ -240,7 +240,7 @@ Native AOT (Ahead-Of-Time) コンパイル実行時にテストが失敗する - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年01月28日 14:25:39(UTC) - マージ日時: 2026年01月29日 23:07:55(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 ReadyToRun/prejit生成時の非決定的Intrinsicsをブロックする際に、より適切なJIT失敗コード `CORJIT_R2R_UNSUPPORTED` を導入するPRです。従来の `CORJIT_IMPLLIMITATION` の代わりに専用のエラーコードを使用することで、x86 crossgen環境でのSPMI(SuperPMI)の失敗を解決します。これにより、JIT、VM、ツール(SuperPMI、managed JitInterface)全体で一貫性のある処理が実現されます。 @@ -269,7 +269,7 @@ jakobbotschの提案を反映したもので、x86 crossgen環境でのSPMI失 - 作成者: [@steveisok](https://github.com/steveisok) - 作成日時: 2026年01月28日 02:09:21(UTC) - マージ日時: 2026年01月29日 14:40:34(UTC) -- ラベル: arch-wasm area-Build-mono os-browser +- ラベル: arch-wasm area-Build-mono os-browser #### 概要 WebAssemblyビルドのCMake設定フェーズを大幅に高速化するPRです。294個の機能検出結果をキャッシュすることで、CMake設定時間を約2-3分から10-20秒に短縮(86%削減)しました。Emscripten 3.1.56に特化したキャッシュファイルで、クロスコンパイル時の重複した機能検出を排除しています。 @@ -309,7 +309,7 @@ WebAssemblyビルドのCMake設定フェーズを大幅に高速化するPRで - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年01月27日 18:20:37(UTC) - マージ日時: 2026年01月29日 14:00:24(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 SVE (Scalable Vector Extension) intrinsics のサポートにおいて、FFR (First-Fault Register) レジスタの per-method 保存状態管理が interpreter で実装されていないため、interpreter が有効な場合に SVE intrinsics を無効化する変更です。これにより、interpreter 使用時のランタイムエラーを防止します。 @@ -338,7 +338,7 @@ SVE (Scalable Vector Extension) intrinsics のサポートにおいて、FFR (Fi - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月26日 22:27:42(UTC) - マージ日時: 2026年01月29日 12:43:46(UTC) -- ラベル: area-System.IO +- ラベル: area-System.IO #### 概要 非暗号化ハッシュアルゴリズムの実装に対して、空のデータ(空のspan)の追記がハッシュ結果に影響を与えないことを検証するテストを追加します。`NonCryptoHashTestDriver`基底クラスに`AppendingEmptyHasNoEffect()`テストメソッドを追加することで、CRC32、CRC64、XxHash32、XxHash64など全ての実装に自動的に適用されます。 @@ -384,7 +384,7 @@ PR #123601のレビューコメントで提案された改善(@vcsjones指摘 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月26日 21:04:51(UTC) - マージ日時: 2026年01月29日 16:12:35(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 PRs #108942 と #108414 で導入された `TRACE_MULTICAST_DELEGATE_HELPER` と `TRACE_EXTERNAL_METHOD_FIXUP` トレース型が NULL アドレスを設定していたため、デバッガーの `IsTailCall` 関数で NULL ポインター参照例外が発生していました。本PRでは `IsTailCall` 関数で `trace.GetAddress()` が NULL かどうかをチェックしてから `GetNativeCodeMethodDesc()` を呼び出すよう修正しました。 @@ -421,7 +421,7 @@ else if (trace.GetAddress() != (PCODE)NULL) - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年01月26日 14:59:59(UTC) - マージ日時: 2026年01月29日 10:32:38(UTC) -- ラベル: area-CodeGen-coreclr reduce-unsafe +- ラベル: area-CodeGen-coreclr reduce-unsafe #### 概要 このPRは、JITコンパイラのRange Analysis(範囲解析)と検証命題の伝播を強化し、関係演算子の比較結果をより正確に認識できるようにします。比較式が常に真(`[1..1]`)または常に偽(`[0..0]`)であることを判定でき、より多くの分岐の最適化が可能になります。 @@ -458,7 +458,7 @@ else if (trace.GetAddress() != (PCODE)NULL) - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月25日 00:44:30(UTC) - マージ日時: 2026年01月29日 21:14:51(UTC) -- ラベル: area-Meta +- ラベル: area-Meta #### 概要 このPRはメンテナンス要求に基づいて、dotnet/runtimeリポジトリから`marek-safar`を全てのコードオーナー設定から削除するものです。併せてILLinkのコード所有権構造を統合し、`sbomer`への一元化を実施しました。機能的なコード変更はなく、純粋な設定ファイルの更新です。 @@ -486,7 +486,7 @@ else if (trace.GetAddress() != (PCODE)NULL) - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年01月23日 13:58:07(UTC) - マージ日時: 2026年01月29日 13:54:28(UTC) -- ラベル: Servicing-approved +- ラベル: Servicing-approved #### 概要 Blazor WebAssemblyのホットリロード機能において、ランタイムが同時に2つの更新を受け取った際にアサーション失敗する問題を修正しました。空のILを含む更新を無視することで、この防御層を追加しています。この修正は.NET 10および9で既に適用されており、今回は.NET 8へのバックポートです。 @@ -517,7 +517,7 @@ Blazor WebAssemblyのホットリロード機能において、ランタイム - 作成者: [@ArcadeMode](https://github.com/ArcadeMode) - 作成日時: 2026年01月23日 02:37:06(UTC) - マージ日時: 2026年01月29日 08:55:24(UTC) -- ラベル: arch-wasm area-System.Runtime.InteropServices.JavaScript community-contribution os-browser +- ラベル: arch-wasm area-System.Runtime.InteropServices.JavaScript community-contribution os-browser #### 概要 WebAssemblyランタイムで、JavaScriptから C#への`Task`マーシャリング時に型アサーション失敗がランタイムクラッシュを引き起こしていた問題を修正しました。クラッシュの代わりに、アサーション失敗を Task の Exception として C# 側に伝播させるよう改善しています。 @@ -559,7 +559,7 @@ catch (Exception ex) - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月22日 02:02:37(UTC) - マージ日時: 2026年01月29日 06:48:55(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/icu リポジトリからの依存関係を更新するPull Requestです。Microsoft.NETCore.Runtime.ICU.Transport パッケージを 10.0.0-rtm.25625.1 から 10.0.0-rtm.26071.1 にアップグレードします。この更新は2026年1月21日の ICU ビルド 20260121.1 に基づいています。 @@ -584,7 +584,7 @@ dotnet/icu リポジトリからの依存関係を更新するPull Requestです - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年01月21日 11:54:38(UTC) - マージ日時: 2026年01月29日 08:24:41(UTC) -- ラベル: arch-wasm area-System.Diagnostics size-reduction os-browser +- ラベル: arch-wasm area-System.Diagnostics size-reduction os-browser #### 概要 WebAssembly/ブラウザ向けビルドでスタックトレースのファイル情報(ファイル名、行番号、列番号)収集を無効化する機能スイッチを追加しました。`System.Diagnostics.StackTrace.IsLineNumberSupported`フィーチャースイッチを導入し、WASM Release ビルドではデフォルトで無効化されます。これにより、hello worldアプリケーションから**214KBの未圧縮IL削減**が実現されます。 @@ -612,7 +612,7 @@ PR #123429 - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年01月09日 23:11:53(UTC) - マージ日時: 2026年01月29日 00:05:30(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssemblyのRyuJITで明示的なnullチェックと例外ヘルパー呼び出しのインフラストラクチャを整備するPRです。Wasmではnullチェックが明示的であり、OSのページフォルト機構に依存できないため、例外をヘルパー呼び出し経由で発生させる必要があります。 @@ -647,7 +647,7 @@ Wasmプラットフォームのnullチェックが明示的化されることで - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年01月07日 16:21:57(UTC) - マージ日時: 2026年01月29日 18:16:52(UTC) -- ラベル: Servicing-approved area-Debugger-mono +- ラベル: Servicing-approved area-Debugger-mono #### 概要 Monoデバッガーで多次元配列(例:`string[][]`)の検査時に、モバイルおよびWasm環境で誤ったジェネリック型パラメータが返される問題を修正しました。デバッガープロトコルの型情報処理における軽微なバグ修正です。 @@ -679,7 +679,7 @@ Monoデバッガーで多次元配列(例:`string[][]`)の検査時に、 - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2025年12月15日 23:23:26(UTC) - マージ日時: 2026年01月29日 18:08:08(UTC) -- ラベル: Servicing-approved test-enhancement area-Interop-coreclr +- ラベル: Servicing-approved test-enhancement area-Interop-coreclr #### 概要 `CrossApartmentQueryInterface_NoDeadlock`テストにおけるICustomQueryInterfaceの実装を修正するテストのみの変更です。main ブランチで数ヶ月間CIで実行されており、安定性が確認されています。issue #111264の修正を.NET 9.0リリースブランチにバックポートしたものです。 diff --git a/archives/2026/01/30.md b/archives/2026/01/30.md index 50c0dad..7103885 100644 --- a/archives/2026/01/30.md +++ b/archives/2026/01/30.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#123794 Fix bug in RangeOps::ShiftRight](#123794) 2. [#123791 Move OneLocBuild back to run on every main commit](#123791) 3. [#123785 Replace mangod9 with agocke under area-vm-coreclr in resourceManagement.yml](#123785) @@ -21,7 +21,7 @@ - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年01月30日 11:34:55(UTC) - マージ日時: 2026年01月30日 21:55:37(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 RangeOps::ShiftRight の範囲計算バグを修正しました。右シフト演算で範囲の上下限を入れ替える必要があったミスを解決しています。例えば `[0..65535] >> [0..31]` の計算結果が `[0 >> 31 .. 65535 >> 0]` となるべきところが `[0 >> 0 .. 65535 >> 31]` で計算されていたことを修正しました。 @@ -49,7 +49,7 @@ RangeOps::ShiftRight の範囲計算バグを修正しました。右シフト - 作成者: [@akoeplinger](https://github.com/akoeplinger) - 作成日時: 2026年01月30日 10:30:45(UTC) - マージ日時: 2026年01月30日 10:35:39(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 OneLocBuild(ローカライゼーション処理)の実行スケジュールを変更するPRです。前回のPR #123539で両方のビルドを定期実行のみに変更していましたが、OneLoc チームからの要望により、OneLocBuild を毎回のメインコミット時に実行するように戻しました。一方、SourceIndex は引き続き日次スケジュール実行のままです。 @@ -147,7 +147,7 @@ nodeFactoryFlags.EnableCachedInterfaceDispatchSupport = - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年01月29日 20:05:26(UTC) - マージ日時: 2026年01月30日 22:42:47(UTC) -- ラベル: area-ILTools-coreclr community-contribution +- ラベル: area-ILTools-coreclr community-contribution #### 概要 ILアセンブラ(ilasm)の機能拡張PRで、`.param`/`.property`のデフォルト値(initOpt)、VTableフィックスアップ、型フォワーダー、汎用パラメータの出力などをサポートしました。IL言語の仕様により準拠した実装となり、より複雑なアセンブリメタデータの生成が可能になります。 @@ -177,7 +177,7 @@ ILアセンブラ(ilasm)の機能拡張PRで、`.param`/`.property`のデフ - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年01月29日 18:17:48(UTC) - マージ日時: 2026年01月30日 04:17:20(UTC) -- ラベル: needs-area-label +- ラベル: needs-area-label #### 概要 NativeAOTでの例外スタックトレース表示の不具合を修正するPRです。従来は`throw;`で例外を再スローした際に、元の`throw new Exception`の位置を上書きしてしまう問題がありました。本修正により、CoreCLRと同様に元のスロー位置を保持するようになります。 @@ -247,7 +247,7 @@ var fs = new FileStream(asyncHandle, FileAccess.ReadWrite, 4096, isAsync: false) - 作成者: [@cincuranet](https://github.com/cincuranet) - 作成日時: 2026年01月27日 08:19:48(UTC) - マージ日時: 2026年01月30日 08:26:11(UTC) -- ラベル: area-Extensions-Hosting +- ラベル: area-Extensions-Hosting #### 概要 `AddHostedService` 拡張メソッドのXML ドキュメンテーションを更新し、これらのメソッドが DI コンテナに `IHostedService` としてのみ登録され、具体的な型そのものは登録されないことを明確化しました。開発者が具体型も登録されると期待していた混乱(Issue #53831)を解決するものです。 @@ -279,7 +279,7 @@ services.AddHostedService(provider => provider.GetRequiredServicearea-System.Console +- ラベル: area-System.Console #### 概要 `System.Console`のTermInfo printf形式解析をシンプル化するPull Requestです。手動のスキャンループを`IndexOfAny`に置き換えることで、フォーマット終端文字(`d/o/x/X/s`)を検索する処理をより簡潔に実装しました。 @@ -309,7 +309,7 @@ services.AddHostedService(provider => provider.GetRequiredServicearea-System.Globalization +- ラベル: area-System.Globalization #### 概要 `IdnMapping` に Span ベースの API (`TryGetAscii`/`TryGetUnicode`) を追加し、国際化ドメイン名の変換時にメモリアロケーションを回避できるようにしました。新しいメソッドは無効入力時に例外をスロー、宛先バッファ不足時のみ `false` を返します。 @@ -363,7 +363,7 @@ public sealed class IdnMapping - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月24日 22:53:49(UTC) - マージ日時: 2026年01月30日 10:04:29(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイラの範囲解析におけるビット演算AND(`RangeOps::And`)のバグを修正しました。負の下限を持つ広い範囲のオペランドがある場合、不正な範囲推定が行われ、Release buildで間違った最適化判定が発生していました。 @@ -400,7 +400,7 @@ if (35009 > (1264240267 & (sbyte)(-s_4))) // 本来falseなのにtrueと判定 - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年01月22日 21:08:36(UTC) - マージ日時: 2026年01月30日 15:38:30(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 `NextCallReturnAddress` intrinsic は tail-call helper 関数内でのみ使用されます。一部の interpreter モードでこの tail-call helper の interpretation が試みられると問題が発生するため、compilation を スキップするようにしました。これにより、不要な compilation 処理を削減し、interpreter モードでの安定性を向上させます。 @@ -429,7 +429,7 @@ if (35009 > (1264240267 & (sbyte)(-s_4))) // 本来falseなのにtrueと判定 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月22日 09:56:31(UTC) - マージ日時: 2026年01月30日 16:56:24(UTC) -- ラベル: area-System.IO +- ラベル: area-System.IO #### 概要 プロセスの標準出力・標準エラー・標準入力を効率的に破棄するための新しい `File.OpenNullHandle()` API を追加します。従来は出力データを読み込んで無視する非効率な方法が必要でしたが、本APIにより null デバイスへのハンドルを直接取得できます。 @@ -471,7 +471,7 @@ process.StartInfo.StandardError = nullHandle; - 作成者: [@lateralusX](https://github.com/lateralusX) - 作成日時: 2026年01月19日 12:19:35(UTC) - マージ日時: 2026年01月30日 10:38:12(UTC) -- ラベル: needs-area-label +- ラベル: needs-area-label #### 概要 Monoのスタックウォーク時に、非同期シグナルセーフモードで読み込まれた`MonoJitInfo`に対して`mono_jit_info_get_method`を呼び出すとアサーション失敗が発生する問題を修正しました。AOT メソッドの`MonoJitInfo`がシグナルハンドラから呼び出された際にロードされると、`async`フラグが立てられ、このフラグが立った状態でメソッドアクセスを試みるとデッドロックのリスクがあります。本修正では、メソッドアクセス前に`async`フラグをチェックして安全に処理できるようにしました。 @@ -509,7 +509,7 @@ if (ji && !ji->async) { - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年01月13日 00:34:12(UTC) - マージ日時: 2026年01月30日 22:46:11(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 legacy XUnitWrapper テスト基盤の削除を行うPRです。新しいテストシステムへの完全移行に伴い、古いXUnitWrapper ロジックをテストビルドシステムとHelix パブリッシングから削除します。`BuildAllTestsAsStandalone=true` シナリオの互換性維持のため、基本的なローカルテストランナーを新たに追加しています。 @@ -542,7 +542,7 @@ legacy XUnitWrapper テスト基盤の削除を行うPRです。新しいテス - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月07日 12:21:07(UTC) - マージ日時: 2026年01月30日 20:12:24(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT コンパイラから `CHK_FLOW_UPDATE` ストレスモードを削除し、`fgDebugCheckUpdate()` 関数がすべてのデバッグビルドで無条件に実行されるようにしました。これにより、開発時のフロー グラフ検証カバレッジが向上します。 diff --git a/archives/2026/01/31.md b/archives/2026/01/31.md index 2b681b1..e3e5fbc 100644 --- a/archives/2026/01/31.md +++ b/archives/2026/01/31.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#123839 SPMI: Update superpmi-collect queues from osx13 to osx15](#123839) 2. [#123821 Fix LINQ Append/Prepend GetCount overflow to throw OverflowException](#123821) 3. [#123814 JIT: fix arm32 dump/disasm of references to async resume info](#123814) @@ -12,7 +12,7 @@ - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年01月31日 13:42:41(UTC) - マージ日時: 2026年01月31日 18:37:21(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 OSX 13 ARM64キューの容量不足に対応するため、SPMI(SuperPMI)収集スクリプトのキュー構成をOSX 13からOSX 15に更新しました。これにより、継続的なパフォーマンス測定とJIT最適化データの収集が維持されます。 @@ -38,7 +38,7 @@ OSX 13 ARM64キューの容量不足に対応するため、SPMI(SuperPMI) - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月30日 22:43:33(UTC) - マージ日時: 2026年01月31日 06:26:03(UTC) -- ラベル: area-System.Linq +- ラベル: area-System.Linq #### 概要 LINQ の `Append` と `Prepend` メソッドの `GetCount` 最適化において、`int.MaxValue` 要素を持つシーケンスをカウントする際にサイレント整数オーバーフローが発生し、負の値を返していた問題を修正しました。修正により、`Concat` と同様に `OverflowException` をスローするようになります。 @@ -146,7 +146,7 @@ public static int GetValue() => value; // R2R化により高速化 - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年01月29日 23:01:45(UTC) - マージ日時: 2026年01月31日 23:08:52(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT コンパイラの throw helper 処理フローを再設計しました。従来は `fgAddCodeRef` を通じて throw helper 需要を事前に予測していましたが、Wasm など null check が明示的であるターゲットではこの手法が適さないため、throw helper の需要判定と生成を stack level setting フェーズ中に一元化しました。これにより、デバッグ不可能なコードでは共通 throw helper のセットを最小化します。 @@ -175,7 +175,7 @@ Copilot のレビューコメントで、Wasm コードジェネレータ (`code - 作成者: [@elinor-fung](https://github.com/elinor-fung) - 作成日時: 2026年01月29日 21:15:47(UTC) - マージ日時: 2026年01月31日 02:27:27(UTC) -- ラベル: area-Host +- ラベル: area-Host #### 概要 ホストからプロパティを取得する際に、実際に書き込まれたプロパティ長より大きい文字列長が返される問題を修正しました。バッファを実際の書き込み長でクローズすることで、正確な文字列長を確保します。 @@ -200,7 +200,7 @@ Copilot のレビューコメントで、Wasm コードジェネレータ (`code - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月16日 02:12:07(UTC) - マージ日時: 2026年01月31日 03:32:54(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 テスト除外設定を集中型の `issues.targets` (3,447行) から、インライン `[ActiveIssue]` 属性へマイグレーション。1,201個のテスト除外をテストソースコード内に移動し、可読性と保守性を向上。`issues.targets` は99.7%削減(3,447→9行)。 diff --git a/archives/2026/02/01.md b/archives/2026/02/01.md index dedba3a..ee078c6 100644 --- a/archives/2026/02/01.md +++ b/archives/2026/02/01.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#123854 Use \[\] instead of Array.Empty in corelib](#123854) 2. [#123852 Remove unused ToUpperInvariantMode methods](#123852) 3. [#123850 Fix incorrect Vector256->Vector512 in SpanHelpers](#123850) @@ -14,7 +14,7 @@ - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年02月01日 12:51:20(UTC) - マージ日時: 2026年02月01日 22:11:38(UTC) -- ラベル: area-Meta +- ラベル: area-Meta #### 概要 このPRは、System.Private.CoreLibコードベース内の150以上の`Array.Empty()`呼び出しを、モダンなC# collection expression構文`[]`に置き換えるコード改善です。ランタイムの動作は完全に同一で、両方式とも共有されたキャッシュ済みの空配列シングルトンを返すため、実質的な機能変更はありません。 @@ -69,7 +69,7 @@ - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年02月01日 05:02:58(UTC) - マージ日時: 2026年02月01日 19:09:40(UTC) -- ラベル: area-System.Memory +- ラベル: area-System.Memory #### 概要 `SpanHelpers.T.cs`の`NonPackedIndexOfAnyInRangeUnsignedNumber`メソッドにおいて、Vector512高速パスでのポインタインクリメントが誤ってVector256のカウント値を使用していた問題を修正しました。これにより、Vector512使用時の不要な重複処理が排除され、パフォーマンスが改善されます。 @@ -149,7 +149,7 @@ Assert.Fail("Expected exception was not thrown"); - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年01月31日 13:54:56(UTC) - マージ日時: 2026年02月01日 11:51:16(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 SPMI(SuperPMI)の差分検証キューを OSX.14.Arm64.Open から OSX.15.Arm64.Open に更新するPRです。新しいキューはより高い処理容量を提供します。 @@ -172,7 +172,7 @@ SPMI(SuperPMI)の差分検証キューを OSX.14.Arm64.Open から OSX.15.Ar - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年01月31日 13:36:27(UTC) - マージ日時: 2026年02月01日 03:46:06(UTC) -- ラベル: needs-area-label +- ラベル: needs-area-label #### 概要 `RuntimeHelpers.PrepareMethod`において、非同期メソッドのthunkを透過的に処理するようになりました。Reflectionで公開される非同期メソッドは通常Task返却型のthunkですが、実際のユーザーILを持つメソッドをJITコンパイルするよう改善されています。 @@ -199,7 +199,7 @@ SPMI(SuperPMI)の差分検証キューを OSX.14.Arm64.Open から OSX.15.Ar - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年01月31日 12:11:59(UTC) - マージ日時: 2026年02月01日 04:00:26(UTC) -- ラベル: area-System.Formats.Tar +- ラベル: area-System.Formats.Tar #### 概要 TAR ライブラリの `GetLongMetadataStream` メソッドを最適化し、GNU フォーマットの TAR エントリ向けの長いメタデータストリーム生成時の不要な配列割り当てを削減しました。中間的なバッファ割り当てを排除し、単一のバイト配列に直接 UTF-8 バイトを書き込むように改善されています。 @@ -228,7 +228,7 @@ TAR ライブラリの `GetLongMetadataStream` メソッドを最適化し、GNU - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月31日 12:05:45(UTC) - マージ日時: 2026年02月01日 03:01:08(UTC) -- ラベル: area-Meta +- ラベル: area-Meta #### 概要 このPRは、フォーマット引数のない`SR.Format(SR.SomeMessage)`の呼び出しを削除し、直接`SR.SomeMessage`に置き換える機械的なリファクタリングです。67個の無操作(no-op)な`SR.Format`呼び出しを6つのライブラリにまたがって削除し、コードの明確性を向上させます。また、`ComplexTypeRestrictionNotSupported`で検出された未使用の`{0}`プレースホルダーのバグを修正しました。 @@ -264,7 +264,7 @@ throw new InvalidOperationException(SR.SomeErrorMessage); - 作成者: [@xtqqczze](https://github.com/xtqqczze) - 作成日時: 2025年10月27日 03:35:22(UTC) - マージ日時: 2026年02月01日 20:05:40(UTC) -- ラベル: area-System.Memory community-contribution +- ラベル: area-System.Memory community-contribution #### 概要 `MemoryExtensions.cs`の`SliceLongerSpanToMatchShorterLength`メソッドにおいて、境界チェック(bounds checks)のロジックを最適化しました。これにより、不要なチェック処理を削除し、コード効率を改善しています。 diff --git a/archives/2026/02/02.md b/archives/2026/02/02.md index 5794c33..6487150 100644 --- a/archives/2026/02/02.md +++ b/archives/2026/02/02.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#123908 \[Wasm Ryujit\] Flow cannot fall through into a throw helper](#123908) 2. [#123902 Revert TargetFramework to net10.0 in BlazorWebWasm test assets for backport branch](#123902) 3. [#123899 Fix ListDictionaryInternal.Count to not be O\(n\)](#123899) @@ -36,7 +36,7 @@ - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年02月02日 19:13:30(UTC) - マージ日時: 2026年02月02日 23:45:56(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 Wasm RyuJIT におけるコントロールフロー制御の不正な落下(fall-through)を修正するPR です。throw helper ブロックに対して新しい `BBF_THROW_HELPER` フラグを導入し、複雑なヒューリスティック検出ロジック(約60行)をシンプルなフラグチェックに置き換えました。これにより、ブロック途中からの分岐時に throw helper への不正な落下を防止します。 @@ -89,7 +89,7 @@ main PR #123883 - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年02月02日 17:41:49(UTC) - マージ日時: 2026年02月02日 23:39:18(UTC) -- ラベル: area-System.Collections +- ラベル: area-System.Collections #### 概要 `ListDictionaryInternal`内の`NodeKeyValueCollection`クラスの`Count`プロパティをO(n)からO(1)に最適化しました。従来の実装では全ノードをトラバースして件数をカウントしていましたが、親リストが既に管理している`count`フィールドを直接参照するよう改善されています。 @@ -134,7 +134,7 @@ public int Count => list.Count; - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年02月02日 16:00:58(UTC) - マージ日時: 2026年02月02日 21:14:38(UTC) -- ラベル: area-System.IO +- ラベル: area-System.IO #### 概要 FileInfo.MoveTo メソッドにおいて、不要な DirectoryInfo オブジェクトの割り当てを削除する最適化です。`new DirectoryInfo(Path.GetDirectoryName(FullName)!).Exists` を `Directory.Exists(Path.GetDirectoryName(FullName))` に置き換え、同等の機能を保ちながらメモリ割り当てを削減します。 @@ -166,7 +166,7 @@ FileInfo.MoveTo メソッドにおいて、不要な DirectoryInfo オブジェ - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年02月02日 14:59:29(UTC) - マージ日時: 2026年02月02日 19:44:08(UTC) -- ラベル: area-System.Globalization +- ラベル: area-System.Globalization #### 概要 `DateTimeFormatInfoScanner`の内部フィールド`m_dateWords`をレイジー初期化に変更するPRです。日付単語を持たないカルチャが多くある中で、不要なメモリ割り当てを避けることができます。既に初期化チェックは実装されていたため、変更は限定的です。 @@ -272,7 +272,7 @@ PR #123854の指摘を受けた修正 - 作成者: [@huoyaoyuan](https://github.com/huoyaoyuan) - 作成日時: 2026年02月01日 04:06:38(UTC) - マージ日時: 2026年02月02日 00:51:43(UTC) -- ラベル: area-VM-coreclr community-contribution +- ラベル: area-VM-coreclr community-contribution #### 概要 オブジェクト操作関連の未使用コードを削除するクリーンアップPRです。CoreCLRのVM層における使用されていない関数、マクロ定義、ヘッダー宣言を削除し、コードベースの保守性を向上させています。合計9ファイルで326行のコードが削除されました。 @@ -300,7 +300,7 @@ PR #123854の指摘を受けた修正 - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年01月31日 20:03:50(UTC) - マージ日時: 2026年02月02日 18:05:41(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT コンパイラのアサーション処理をリファクタリングするゼロ差分のクリーンアップ変更です。`AssertionDsc` オブジェクトの生成に専用のファクトリメソッド(`AssertionDsc::Create*`)を導入し、`AssertionDsc*` ポインタを `const AssertionDsc&` 参照に置き換えることで、メモリセーフ性を向上させ、TP(スループット)パフォーマンスも向上させます。 @@ -335,7 +335,7 @@ JIT コンパイラのアサーション処理をリファクタリングする - 作成者: [@AaronRobinsonMSFT](https://github.com/AaronRobinsonMSFT) - 作成日時: 2026年01月31日 04:36:55(UTC) - マージ日時: 2026年02月02日 16:08:38(UTC) -- ラベル: NO-MERGE area-VM-coreclr +- ラベル: NO-MERGE area-VM-coreclr #### 概要 このPRは、`MethodDescCallSite`機構を使用した呼び出しを、`UnmanagedCallersOnly`属性が指定されたメソッドへの直接ポインタ呼び出しに置き換えるリファクタリングです。逆P/Invoke呼び出しを簡潔に実装し、ランタイムのアンマネージド間境界処理を最適化します。 @@ -372,7 +372,7 @@ public static void MyNativeCallback() { } - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月31日 00:19:58(UTC) - マージ日時: 2026年02月02日 15:37:21(UTC) -- ラベル: area-ExceptionHandling-coreclr +- ラベル: area-ExceptionHandling-coreclr #### 概要 Windows環境において、スレッド初期化の非常に早い段階で未処理例外が発生した場合に`COMUnhandledExceptionFilter`内でTLS(スレッドローカルストレージ)ポインタがまだ初期化されていないことに起因するクラッシュを防ぐため、Null チェックを追加しました。他のグローバル例外ハンドラーに同様のチェックが既に存在します。 @@ -394,7 +394,7 @@ Windows環境において、スレッド初期化の非常に早い段階で未 - 作成者: [@janvorli](https://github.com/janvorli) - 作成日時: 2026年01月30日 22:24:35(UTC) - マージ日時: 2026年02月02日 22:26:57(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 ARM64プラットフォームでHFA(Homogeneous Floating-Point Aggregate)引数がスタック上で渡される場合、インタープリタのスタックスロットサイズに整列していないときにテストが失敗していた問題を修正しました。コールスタブジェネレーターが隣接する2つのスタック範囲をマージする際に、前の引数がインタープリタスタックスロットの途中で終了することを考慮していなかったのが原因です。 @@ -421,7 +421,7 @@ Issue情報は提供されていません。 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月30日 21:45:20(UTC) - マージ日時: 2026年02月02日 14:47:52(UTC) -- ラベル: area-System.IO.Compression +- ラベル: area-System.IO.Compression #### 概要 `System.IO.Packaging`の`InterleavedZipPackagePartStream.Length`プロパティに不正な`Debug.Assert(CanSeek)`が存在し、デバッグビルドで`CanSeek`が`false`の場合に失敗していた問題を修正。基盤となる`ZipArchiveEntry.Length`はシークを必要としないため、このアサーションは不要でした。 @@ -455,7 +455,7 @@ using (Stream stream = partEntry.GetStream(FileMode.Open)) - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年01月30日 19:38:46(UTC) - マージ日時: 2026年02月02日 17:10:22(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 このPRは、非同期スタックウォーキング機能を強化し、デバッグ情報を持たないAsync v2 → Async v1 thunk メソッド等の診断非表示メソッドをスキップするようにしました。これにより、スタック反復時の例外発生を回避し、デバッガに不要なフレームが露出しないようになります。 @@ -510,7 +510,7 @@ Skill作成の詳細は GitHub公式ドキュメント(https://docs.github.com - 作成者: [@John-Leitch](https://github.com/John-Leitch) - 作成日時: 2026年01月30日 05:08:18(UTC) - マージ日時: 2026年02月02日 00:57:07(UTC) -- ラベル: area-Extensions-Logging community-contribution +- ラベル: area-Extensions-Logging community-contribution #### 概要 LoggerMessageGeneratorが生成するC#ソースコード内のメッセージ文字列をエスケープする処理を修正しました。バックスラッシュと0x20未満の全制御文字をエスケープして、生成される文字列リテラルが正当なC#コードになるようになりました。`\r`と`\n`は名前付きエスケープシーケンスとして、その他の制御文字は`\xNN`形式の16進エスケープシーケンスとして出力されます。 @@ -534,7 +534,7 @@ LoggerMessageGeneratorが生成するC#ソースコード内のメッセージ - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年01月29日 21:58:31(UTC) - マージ日時: 2026年02月02日 19:42:32(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 XUnitWrapperGeneratorで`SkipOnCoreClrAttribute`を使用する際に、すべてのRuntimeTestModesがスキップされる場合のテスト処理を修正しました。対象となるすべてのランタイムテストモードが除外されている場合、テスト実行をスキップするロジックが追加されています。 @@ -562,7 +562,7 @@ XUnitWrapperGeneratorで`SkipOnCoreClrAttribute`を使用する際に、すべ - 作成者: [@steveisok](https://github.com/steveisok) - 作成日時: 2026年01月29日 18:25:45(UTC) - マージ日時: 2026年02月02日 13:59:27(UTC) -- ラベル: Servicing-approved needs-area-label +- ラベル: Servicing-approved needs-area-label #### 概要 macOS 13のキューが廃止されたため、iOS及びtvOSのデバイステスト用Helixキュー設定をmacOS 13からmacOS 15に更新するインフラストラクチャ変更です。これはCI/CDパイプラインの定義ファイルの更新であり、機能コードの変更はありません。 @@ -588,7 +588,7 @@ macOS 13のキューが廃止されたため、iOS及びtvOSのデバイステ - 作成者: [@steveisok](https://github.com/steveisok) - 作成日時: 2026年01月29日 18:20:04(UTC) - マージ日時: 2026年02月02日 00:02:05(UTC) -- ラベル: Servicing-approved needs-area-label +- ラベル: Servicing-approved needs-area-label #### 概要 macOS Helix キューの参照を OSX.13 から OSX.15 に更新するメンテナンスPRです。OSX.13 キューは廃止され、既に存在しなくなったため、CI/CD パイプラインとビルドスクリプト内の古いキュー参照をすべて OSX.15 に置き換えています。 @@ -611,7 +611,7 @@ macOS Helix キューの参照を OSX.13 から OSX.15 に更新するメンテ - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年01月29日 17:45:42(UTC) - マージ日時: 2026年02月02日 00:49:26(UTC) -- ラベル: Servicing-approved area-Interop-coreclr +- ラベル: Servicing-approved area-Interop-coreclr #### 概要 .NET 10のリリースブランチに対するバックポート修正です。PR #112375で導入された不十分な検証が原因で、COM相互運用オブジェクトの動的インターフェースマップに関する回帰が発生していました。本修正は、`__ComObject`がマネージドインターフェースへのキャストに失敗する問題を解決し、欠落していたテストケースを追加します。 @@ -646,7 +646,7 @@ macOS Helix キューの参照を OSX.13 から OSX.15 に更新するメンテ - 作成者: [@MihaZupan](https://github.com/MihaZupan) - 作成日時: 2026年01月27日 03:02:51(UTC) - マージ日時: 2026年02月02日 02:35:23(UTC) -- ラベル: area-Meta +- ラベル: area-Meta #### 概要 このPull Requestは、`Span.Contains(T)` メソッドをポリフィル実装として追加するもので、古い.NETバージョンでの互換性を提供します。変更ファイルは75個にわたり、主にポリフィル実装の追加とプロジェクトファイルの構成管理が行われています。 @@ -686,7 +686,7 @@ public static bool Contains(this Span span, T value) - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月27日 00:16:12(UTC) - マージ日時: 2026年02月02日 13:52:19(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 このPull Requestは、dotnet/dotnetリポジトリからのコードフロー更新です。release/10.0ブランチに対して、2026年1月27日付の複数のアセンブリ依存関係を更新しています。主な更新対象は、Roslyn(Microsoft.CodeAnalysis)、.NETビルドツール、およびWebAssembly Node.js実行時パッケージです。 @@ -719,7 +719,7 @@ public static bool Contains(this Span span, T value) - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年01月26日 16:08:19(UTC) - マージ日時: 2026年02月02日 19:53:07(UTC) -- ラベル: arch-wasm area-GC-coreclr os-browser +- ラベル: arch-wasm area-GC-coreclr os-browser #### 概要 Webアセンブリ(WebAssembly)ブラウザ環境でのファイナライザー実行を改善するPRです。ブラウザのイベントループ上で安全にファイナライザーを実行できるようにスケジューリング機構を再構築しました。ファイナライザースレッドの動作をブラウザのシングルスレッド環境に適応させています。 @@ -746,7 +746,7 @@ Webアセンブリ(WebAssembly)ブラウザ環境でのファイナライザ - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月26日 05:03:36(UTC) - マージ日時: 2026年02月02日 13:50:42(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet-optimization内部リポジトリから依存関係を更新するPull Requestです。MIBC(Managed IL Binary Code)ランタイムとPGO(Profile Guided Optimization)CoreCLRの最適化パッケージを複数のプラットフォーム向けに更新しています。バージョンは1.0.0-prerelease.25502.1から1.0.0-prerelease.26080.1に更新されています。 @@ -776,7 +776,7 @@ MIBC(Managed IL Binary Code)ランタイムとPGO(Profile Guided Optimizat - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月23日 08:57:50(UTC) - マージ日時: 2026年02月02日 09:20:50(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 HTTP自動レスポンス展開機能に Zstandard(zstd)圧縮サポートを追加します。`DecompressionMethods` 列挙型に `Zstandard = 0x8` を追加し、`HttpClientHandler` および `SocketsHttpHandler` が zstd エンコードされたレスポンスを自動的に展開できるようになります。既存の Brotli サポートと同じパターンに従っています。 @@ -815,7 +815,7 @@ var response = await client.GetAsync("https://example.com"); - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月22日 02:02:54(UTC) - マージ日時: 2026年02月02日 13:55:22(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/icu リポジトリからの依存関係を更新するプルリクエストです。Microsoft.NETCore.Runtime.ICU.Transport パッケージを 9.0.0-rtm.25627.1 から 9.0.0-rtm.26078.1 に更新しています。これは .NET 9.0 リリースブランチの定期的な依存関係更新です。 @@ -841,7 +841,7 @@ dotnet/icu リポジトリからの依存関係を更新するプルリクエス - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月20日 16:38:13(UTC) - マージ日時: 2026年02月02日 23:26:07(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 これはVMR(Virtual Monorepo)からのコードフロー更新です。dotnet/runtimeリポジトリに対して、dotnet/dotnetのメインブランチから2026年1月19日時点のソースコード変更と依存関係の更新が反映されています。主にバージョン設定ファイル、ビルド設定、テンプレート関連ファイルが更新されています。 @@ -876,7 +876,7 @@ dotnet/icu リポジトリからの依存関係を更新するプルリクエス - 作成者: [@rosebyte](https://github.com/rosebyte) - 作成日時: 2026年01月19日 11:22:35(UTC) - マージ日時: 2026年02月02日 15:13:01(UTC) -- ラベル: area-Extensions-DependencyInjection +- ラベル: area-Extensions-DependencyInjection #### 概要 DI(依存性注入)スコープ破棄時の例外処理を改善するPRです。従来は最初の例外で即座に破棄が中断されていましたが、本変更によりスコープ内のすべての一次消費可能オブジェクトを破棄した後に、複数の例外がある場合は集約例外として伝播させるようになります。これは.NET設計ガイドラインに準拠し、リソースリークを防ぎます。 @@ -918,7 +918,7 @@ try { disposable2.Dispose(); } catch(e) { exceptions.Add(e); } - 作成者: [@pentp](https://github.com/pentp) - 作成日時: 2026年01月13日 01:50:54(UTC) - マージ日時: 2026年02月02日 20:18:56(UTC) -- ラベル: area-System.Runtime community-contribution +- ラベル: area-System.Runtime community-contribution #### 概要 `Ascii.Equals`のベクトル化において、`WideningLoader`を使用する場合の最小長チェックが誤っていた問題を修正しました。従来は`Vector128.Count`(16)を使用していましたが、実際の最小値は`Vector128.Count`(8)であるため、長さ8~15のバイト列比較がベクトル化されず、スカラー処理へ不必要にフォールバックしていました。 @@ -955,7 +955,7 @@ if (length < Vector128.Count) { /* vectorized path */ } - 作成者: [@dhartglassMSFT](https://github.com/dhartglassMSFT) - 作成日時: 2026年01月09日 01:04:58(UTC) - マージ日時: 2026年02月02日 05:57:16(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 ARM64アーキテクチャにおいて、条件付きインクリメント命令(`cinc`/`csinc`)への変換が最適化されました。特に、ローカル変数と定数を比較する`SELECTCC`パターン(例:`if (lzcnt==0) lzcnt=1;`)が正しく条件付きインクリメント命令に変換されるようになりました。 @@ -986,7 +986,7 @@ public static int RuneLength(in byte value) - 作成者: [@saucecontrol](https://github.com/saucecontrol) - 作成日時: 2025年07月12日 20:44:13(UTC) - マージ日時: 2026年02月02日 17:58:45(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 このPRはxarch上での浮動小数点→整数キャスト処理をJITの低位化フェーズに完全に移行する変更です。従来はコード生成フェーズで`genFloatToIntCast`により処理されていた一部のキャストを、すべてHWIntrinsicノードに置き換えることで、コードサイズとスループットの改善を実現しています。 diff --git a/archives/2026/02/03.md b/archives/2026/02/03.md index 6f12496..c219453 100644 --- a/archives/2026/02/03.md +++ b/archives/2026/02/03.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#123947 SVE: Add float/double args for mask APIs](#123947) 2. [#123945 Don't ping codegen team for codegen label](#123945) 3. [#123940 Add GetTypeInfo\(\) and TryGetTypeInfo\(\) to JsonSerializerOptions](#123940) @@ -35,7 +35,7 @@ - 作成者: [@a74nh](https://github.com/a74nh) - 作成日時: 2026年02月03日 16:06:23(UTC) - マージ日時: 2026年02月03日 20:19:19(UTC) -- ラベル: area-System.Runtime.Intrinsics community-contribution +- ラベル: area-System.Runtime.Intrinsics community-contribution #### 概要 ARM64 SVE(Scalable Vector Extension)マスクAPI群に対してfloat/double型引数のサポートを追加するPull Requestです。これにより、整数型のみに限定されていたマスク関連のAPIを浮動小数点型にも拡張します。CreateWhile*()の変更は別途対応予定とのことです。 @@ -62,7 +62,7 @@ ARM64 SVE(Scalable Vector Extension)マスクAPI群に対してfloat/double - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年02月03日 15:44:41(UTC) - マージ日時: 2026年02月03日 19:04:17(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 `area-CodeGen-coreclr` ラベルの自動割り当て機能を削除するための変更です。このラベルは dotnet/runtime で最も使用頻度の高いラベルであり、CodeGen チームへの自動通知が大量のメール混乱を引き起こしていたため、PR #122357 での変更を取り消します。チームは既存の方式で全ての関連 Issue を確認しているため、この自動割り当てが不要と判断されました。 @@ -85,7 +85,7 @@ PR #122357(本変更で取り消された内容の元の変更) - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月03日 14:30:32(UTC) - マージ日時: 2026年02月03日 20:36:17(UTC) -- ラベル: area-System.Text.Json +- ラベル: area-System.Text.Json #### 概要 `JsonSerializerOptions`に汎用メソッド`GetTypeInfo()`と`TryGetTypeInfo()`を追加しました。これにより、型情報取得時の明示的なキャストが不要になり、型安全性が向上します。 @@ -118,7 +118,7 @@ API Reviewで承認された設計に基づく実装です。拡張メソッド - 作成者: [@MihaZupan](https://github.com/MihaZupan) - 作成日時: 2026年02月03日 07:19:36(UTC) - マージ日時: 2026年02月03日 17:44:46(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 DNS制限を超過するホスト名(長いラベルを含む場合など)でPunycodeエンコーディングに失敗し、`IdnHost`が非ASCII値を返すエッジケースに対応しました。このケースでHTTP処理のデバッグアサーション失敗が発生していたため、ASCII検証ロジックを追加して堅牢性を向上させています。 @@ -186,7 +186,7 @@ description: Description - 作成者: [@jeffhandley](https://github.com/jeffhandley) - 作成日時: 2026年02月02日 21:47:17(UTC) - マージ日時: 2026年02月03日 21:34:42(UTC) -- ラベル: documentation area-Meta +- ラベル: documentation area-Meta #### 概要 dotnet/runtime リポジトリのエリアオーナーシップ割り当てを更新するPRです。Extensions関連のエリア(Caching、Configuration、DependencyInjection、FileSystemなど)の所有者を `@jeffhandley` から `@karelz` に変更し、System.Reflection関連のエリア(Reflection、Reflection.Emit、Reflection.Metadataなど)を `@agocke` に、System.Diagnostics.Process を `@SamMonoRT` に割り当て直しています。 @@ -213,7 +213,7 @@ dotnet/runtime リポジトリのエリアオーナーシップ割り当てを - 作成者: [@sbomer](https://github.com/sbomer) - 作成日時: 2026年02月02日 19:42:12(UTC) - マージ日時: 2026年02月03日 20:35:39(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 TypePreinitのswitch IL命令ハンドラーにおけるオフバイワンエラーを修正します。ECMA-335仕様に従い、switch値がケース数以上の場合(`value >= count`)に次の命令にフォールスルーする必要がありますが、修正前は`value > count`のみをチェックしていました。値がケース数と正確に一致する場合、存在しないジャンプテーブルエントリーを読み込もうとしてILリーダーのオフセットが破損し、NativeAOT コンパイル中に`IndexOutOfRangeException`が発生していました。 @@ -237,7 +237,7 @@ TypePreinitのswitch IL命令ハンドラーにおけるオフバイワンエラ - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年02月02日 19:41:40(UTC) - マージ日時: 2026年02月03日 22:54:14(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 issues.targets移行後に無効または見落とされたサプレッション設定を修正するPull Requestです。テストプロジェクトのビルド設定と複数のILテストファイルのサプレッション属性が更新されており、テストの正確な実行と警告管理の一貫性が改善されます。 @@ -263,7 +263,7 @@ issues.targets移行後に無効または見落とされたサプレッション - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年02月02日 18:27:31(UTC) - マージ日時: 2026年02月03日 02:31:34(UTC) -- ラベル: area-System.Net.Security +- ラベル: area-System.Net.Security #### 概要 SSL/TLS ALPN(Application-Layer Protocol Negotiation)プロトコル選択処理において、バイトシーケンス比較の実装をより適切で読みやすいパターンに改善しました。`SequenceCompareTo(...) == 0` の比較パターンを `SequenceEqual(...)` メソッドに置き換えることで、コード意図の明確化とイディオマティックな実装を実現しています。 @@ -295,7 +295,7 @@ if (supportedProtocols[i].SequenceEqual(protocol)) - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年02月02日 18:27:22(UTC) - マージ日時: 2026年02月03日 02:31:18(UTC) -- ラベル: area-System.Net.Security +- ラベル: area-System.Net.Security #### 概要 macOS の TLS 証明書チェーン設定時のメモリ割り当てを最適化するPRです。`SafeDeleteSslContext.SetCertificate` において、証明書ハンドルリスト構築時のヒープ割り当てを回避するため、stackalloc/ヒープフォールバック戦略を導入します。 @@ -330,7 +330,7 @@ Span buffer = bufferSize <= ThresholdSize - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年02月02日 18:25:23(UTC) - マージ日時: 2026年02月03日 02:30:42(UTC) -- ラベル: area-System.Net.Security +- ラベル: area-System.Net.Security #### 概要 `GetRequestCertificateAuthorities`メソッドのパフォーマンスを最適化し、Windows/macOSプラットフォーム上で証明書認証局の識別名処理時における不要な配列割り当てを削減しました。`ReadOnlySpan`を直接使用することで、メモリ割り当てのオーバーヘッドを排除しています。 @@ -366,7 +366,7 @@ Span buffer = bufferSize <= ThresholdSize - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年02月02日 17:45:07(UTC) - マージ日時: 2026年02月03日 02:32:04(UTC) -- ラベル: area-System.IO +- ラベル: area-System.IO #### 概要 `FileSystemName.MatchPattern`メソッドにおいて、DOS_STAR ワイルドカード処理中のピリオド検出ロジックを手動ループから組み込みの`Contains`メソッドに置き換えました。コード可読性と保守性の向上を実現しています。 @@ -402,7 +402,7 @@ if (span.Contains('.')) { /* ... */ } - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年02月02日 15:02:54(UTC) - マージ日時: 2026年02月03日 02:31:56(UTC) -- ラベル: area-System.Globalization +- ラベル: area-System.Globalization #### 概要 `CultureInfo.CreateSpecificCulture`メソッドの実装を簡潔化しました。`IndexOf`を活用した文字列処理により、コードの可読性と保守性を向上させています。 @@ -430,7 +430,7 @@ if (span.Contains('.')) { /* ... */ } - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月02日 08:36:33(UTC) - マージ日時: 2026年02月03日 14:19:23(UTC) -- ラベル: area-System.Net.Security +- ラベル: area-System.Net.Security #### 概要 `RemoteCertificateValidationCallback`で追加された証明書が`SslStream`により不正に破棄されることで発生するNREバグを修正。ユーザーが`X509Chain.ChainPolicy.ExtraStore`に追加した共有証明書が複数のハンドシェイク間で再利用される際、`ExtraStore`の破棄ロジックを改善して証明書の所有権を正しく判断するようにしました。 @@ -474,7 +474,7 @@ chain.Build(cert); // 次の呼び出しで NRE 発生 - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年02月01日 13:34:22(UTC) - マージ日時: 2026年02月03日 16:27:11(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT コンパイラのグローバル最適化パス(GlobalAP)から、低効率な複数の最適化ロジックを削除しました。`optAssertionVnInvolvesNan`、`optImpliedByConstAssertion`、`optImpliedByTypeOfAssertions`、および`VnAssertionMapping`を廃止することで、最大-0.4%のタイム・フェーズ(TP)改善を実現しながら、削除されたコードを他の有価値な最適化(例:アサーション有効化)に充てることができます。 @@ -538,7 +538,7 @@ JIT コンパイラのグローバル最適化パス(GlobalAP)から、低効率 - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年01月31日 13:04:01(UTC) - マージ日時: 2026年02月03日 13:04:37(UTC) -- ラベル: area-System.IO.Compression +- ラベル: area-System.IO.Compression #### 概要 `System.IO.Compression`の`ZipArchive`処理における不要な配列割り当てを排除し、`ArrayPool`からのバッファ再利用と`Span`操作の簡素化を実施。Zipセントラルディレクトリの読み取り時に池化されたバッファを使用し、手動ループを`Span.Fill`/`Span.Clear`に置き換えることで、GC圧力を軽減します。 @@ -569,7 +569,7 @@ JIT コンパイラのグローバル最適化パス(GlobalAP)から、低効率 - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年01月31日 02:26:42(UTC) - マージ日時: 2026年02月03日 15:11:23(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT(Native Ahead-of-Time)のIL(Intermediate Language)オフセットからネイティブコードの行番号へのマッピング処理における2つのバグを修正しました。前回のPR #123333で発生した問題を解決し、IL オフセットがシーケンスポイントの最高値を超えるケースや、中間値のケースで適切にドキュメント情報を保持し、ネイティブ←→行番号マッピングを生成できるようにしました。 @@ -593,7 +593,7 @@ NativeAOT(Native Ahead-of-Time)のIL(Intermediate Language)オフセットから - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月30日 18:21:40(UTC) - マージ日時: 2026年02月03日 00:02:30(UTC) -- ラベル: breaking-change area-System.DateTime +- ラベル: breaking-change area-System.DateTime #### 概要 `DateOnly.TryParse`/`TryParseExact` と `TimeOnly.TryParse`/`TryParseExact` メソッドが無効な `DateTimeStyles` パラメータに対して `false` を返す代わりに `ArgumentException` をスローするよう修正しました。これにより、`DateTime` や `DateTimeOffset` などの他の .NET API との一貫性が確保されます。 @@ -627,7 +627,7 @@ DateOnly.TryParseExact("2064-07-01", "yyyy-MM-dd", null, DateTimeStyles.AssumeUn - 作成者: [@adamperlin](https://github.com/adamperlin) - 作成日時: 2026年01月28日 23:52:53(UTC) - マージ日時: 2026年02月03日 22:54:41(UTC) -- ラベル: arch-wasm area-crossgen2-coreclr +- ラベル: arch-wasm area-crossgen2-coreclr #### 概要 このPRは、WebAssembly(Wasm)のオブジェクトライターにインポートセクションの生成機能を追加します。ランタイムから提供される`env.memory`、`__stack_pointer`、`__r2r_start`をインポートし、定数式拡張を使用してR2Rペイロード配置のアドレス計算を行います。モジュールメモリのエクスポート削除により、ランタイムとのメモリ共有に対応します。 @@ -656,7 +656,7 @@ DateOnly.TryParseExact("2064-07-01", "yyyy-MM-dd", null, DateTimeStyles.AssumeUn - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年01月28日 10:51:46(UTC) - マージ日時: 2026年02月03日 10:07:11(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT(Native Ahead-of-Time)テスト設定のタイムアウト値を240分から300分に拡張します。最近これらのテスト構成で断続的にタイムアウトが発生しているため、テスト完了に必要なバッファを増やします。 @@ -684,7 +684,7 @@ NativeAOT(Native Ahead-of-Time)テスト設定のタイムアウト値を240 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月28日 05:28:43(UTC) - マージ日時: 2026年02月03日 19:40:26(UTC) -- ラベル: area-Interop-coreclr +- ラベル: area-Interop-coreclr #### 概要 COM相互運用機能における`MethodTable::GetMethodDescForComInterfaceMethod`メソッドの未使用パラメータ`fNullOk`を削除しました。このパラメータは常に`false`で渡されており、関数が実際にNULLを返すことはないため、死んだコードを削除し、コード品質を向上させています。 @@ -728,7 +728,7 @@ MethodDesc *GetMethodDescForComInterfaceMethod(MethodDesc *pItfMD) - 作成者: [@JeremyKuhne](https://github.com/JeremyKuhne) - 作成日時: 2026年01月28日 00:27:19(UTC) - マージ日時: 2026年02月03日 00:00:01(UTC) -- ラベル: area-System.IO +- ラベル: area-System.IO #### 概要 `NtQueryDirectoryFile`でフィルタリング機能を実装するための準備作業です。適切にエスケープされたフィルタであれば使用できるようにしており、`.`と`..`などの特殊ディレクトリのみブロックされます。Windows ファイルシステム列挙の効率化と柔軟性向上が目的です。 @@ -755,7 +755,7 @@ MethodDesc *GetMethodDescForComInterfaceMethod(MethodDesc *pItfMD) - 作成者: [@t-mustafin](https://github.com/t-mustafin) - 作成日時: 2026年01月26日 15:49:05(UTC) - マージ日時: 2026年02月03日 19:41:54(UTC) -- ラベル: area-crossgen2-coreclr community-contribution +- ラベル: area-crossgen2-coreclr community-contribution #### 概要 Crossgen2の`--out-near-input`と`--single-file-compilation`オプション(inputbubbleなし)使用時のメモリリークを修正。armelアーキテクチャでのピークRSS消費量が825MBから312MBに削減されました。 @@ -780,7 +780,7 @@ Crossgen2の`--out-near-input`と`--single-file-compilation`オプション(in - 作成者: [@sbomer](https://github.com/sbomer) - 作成日時: 2026年01月23日 22:42:10(UTC) - マージ日時: 2026年02月03日 18:10:46(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 ILC(Intermediate Language Compiler)のジェネリック解析処理に関するドキュメントを追加するPRです。ILC開発の学習に役立つよう、ジェネリック型の解析メカニズムについての知見をまとめています。 @@ -804,7 +804,7 @@ ILC(Intermediate Language Compiler)のジェネリック解析処理に関 - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年01月21日 14:05:29(UTC) - マージ日時: 2026年02月03日 12:05:44(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 ELF/MachO形式では読み取り専用セクション(.rodata)から.textセクションへのリロケーションがサポートされていません。このPRは、async resumption infoを生成する際に、必要に応じてこのデータを読み取り/書き込み可能なセクションに配置するよう、ilc/crossgen2を改善します。これにより、AOT(Ahead-of-Time)コンパイル時のリロケーション問題を解決します。 @@ -837,7 +837,7 @@ ELF/MachO形式では読み取り専用セクション(.rodata)から.text - 作成者: [@hez2010](https://github.com/hez2010) - 作成日時: 2026年01月14日 17:22:36(UTC) - マージ日時: 2026年02月03日 00:23:32(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 このPRは、Ready2Run (R2R) コンパイル時に非共有汎用仮想メソッド (GVM) の仮想化解除(devirtualization)をサポートするためのもので、マネージ型システムに実装されています。共有GVMの仮想化解除はまだ汎用コンテキストの不足により実装されていません。NativeAOTでは、JITが太いポインタのヘルパーコール処理を改善する必要があるため、今回は非共有ケースが優先されています。 @@ -867,7 +867,7 @@ R2R構成での仮想呼び出しのdevirtualization実現により、実行時 - 作成者: [@kg](https://github.com/kg) - 作成日時: 2026年01月09日 20:37:12(UTC) - マージ日時: 2026年02月03日 16:57:41(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly用RyuJIT コンパイラにおいて、関数呼び出し(calls)とヘルパー呼び出し(helper calls)の基盤実装を開始するPRです。呼び出し規約、パラメータの受け渡し、戻り値処理などのスカフォルディングコードを追加し、Wasm環境での関数呼び出しメカニズムの実装基盤を構築します。 @@ -894,7 +894,7 @@ PR #123021に依存しています。 - 作成者: [@credo-quia-absurdum](https://github.com/credo-quia-absurdum) - 作成日時: 2025年12月12日 18:06:05(UTC) - マージ日時: 2026年02月03日 12:28:57(UTC) -- ラベル: area-CodeGen-coreclr community-contribution arch-riscv +- ラベル: area-CodeGen-coreclr community-contribution arch-riscv #### 概要 RISC-V JIT コンパイラの `emitLoadImmediate` 関数における64ビットオフセット処理の修正です。32ビット表現でのオフセット計算が32ビットを超える場合に未定義動作を引き起こし、冗長な命令生成につながる問題を解決しました。現在の実装は正確性を損なっていませんが、将来の拡張時にも堅牢であることを確保します。 @@ -925,7 +925,7 @@ RISC-V JIT コンパイラの `emitLoadImmediate` 関数における64ビット - 作成者: [@xtqqczze](https://github.com/xtqqczze) - 作成日時: 2025年09月29日 15:13:02(UTC) - マージ日時: 2026年02月03日 02:46:32(UTC) -- ラベル: area-Infrastructure community-contribution +- ラベル: area-Infrastructure community-contribution #### 概要 `.editorconfig` ファイルで無効な `csharp_space_around_declaration_statements` オプション値を修正します。有効な値は `ignore` と `false` のみですが、無効な値 `do_not_ignore` が使用されていました。デフォルト値は `false` のため、この無効な値は暗黙的に `false` として機能していました。 diff --git a/archives/2026/02/04.md b/archives/2026/02/04.md index d4c9c4f..5eff462 100644 --- a/archives/2026/02/04.md +++ b/archives/2026/02/04.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#124002 Clarify AddFilter parameter documentation](#124002) 2. [#123993 SPMI: Fix TOC logic broken after PAL cleanup](#123993) 3. [#123985 Temporarily disable ios_arm64 platform builds](#123985) @@ -29,7 +29,7 @@ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月04日 13:05:12(UTC) - マージ日時: 2026年02月04日 22:22:46(UTC) -- ラベル: documentation area-Extensions-Logging +- ラベル: documentation area-Extensions-Logging #### 概要 `Microsoft.Extensions.Logging`の`AddFilter`メソッドのXML文書化を改善し、フィルター関数のパラメータ(`string?`型)の意味を明確化しました。プロバイダータイプ名、カテゴリ名、ログレベルなどのパラメータの役割と、戻り値(`true`でログを許可、`false`でフィルタリング)の意味を詳細に記載しました。 @@ -55,7 +55,7 @@ - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年02月04日 10:13:50(UTC) - マージ日時: 2026年02月04日 17:40:57(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 PR #116096のPALクリーンアップ後、SPMI(SuperPMI)のTOC(Table of Contents)ファイル検出ロジックが反転していたバグを修正しました。この不具合により、TOCファイルが使用されず、superpmi-diffsのパフォーマンスが大幅に低下していました。修正により、asmdiff生成処理が約55倍高速化されました。 @@ -89,7 +89,7 @@ PR #116096のPALクリーンアップ後、SPMI(SuperPMI)のTOC(Table of C - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年02月04日 07:50:24(UTC) - マージ日時: 2026年02月04日 12:12:26(UTC) -- ラベル: area-Infrastructure os-ios +- ラベル: area-Infrastructure os-ios #### 概要 iOS ARM64プラットフォームでのアプリインストール失敗の問題により、CI/CDパイプラインから`ios_arm64`ビルドを一時的に無効化しました。tvOS ARM64ビルドは継続して実行されます。問題追跡用のGitHub Issueにリンクされています。 @@ -116,7 +116,7 @@ iOS ARM64プラットフォームでのアプリインストール失敗の問 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月04日 04:43:41(UTC) - マージ日時: 2026年02月04日 13:07:27(UTC) -- ラベル: area-System.Net.Sockets +- ラベル: area-System.Net.Sockets #### 概要 `TimeSpan.Milliseconds`(0-999の成分値)と`TimeSpan.TotalMilliseconds`(総ミリ秒数)の誤用を修正するPRです。System.Net.Socketsではタイムアウト計算が非単調時間源を使用していた問題も解決します。例えば2.5秒経過時、`.Milliseconds`は500を返しますが`.TotalMilliseconds`は2500.0を返します。 @@ -166,7 +166,7 @@ timeout -= (int)Stopwatch.GetElapsedTime(waitStart).TotalMilliseconds; - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年02月03日 22:55:18(UTC) - マージ日時: 2026年02月04日 09:57:02(UTC) -- ラベル: Servicing-approved area-Build-mono +- ラベル: Servicing-approved area-Build-mono #### 概要 PR #123304で導入された`Runtime="NET"`属性を使用したWebAssembly SDK pack タスクの最適化を取り消すバックポート。この機能がSDK形式のプロジェクトでのみサポートされており、Blazorテストが失敗するため、マルチターゲティング(net11.0 + net472)とMSBuildRuntimeType ベースのTFM選択に戻します。 @@ -202,7 +202,7 @@ PR #123304で導入された`Runtime="NET"`属性を使用したWebAssembly SDK - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年02月03日 22:47:17(UTC) - マージ日時: 2026年02月04日 09:35:37(UTC) -- ラベル: area-Build-mono +- ラベル: area-Build-mono #### 概要 PR #123304で導入された`Runtime="NET"`アプローチをリバートする変更です。WebAssembly SDKのビルドタスクをマルチターゲット(net11.0 + net472)に戻し、`TaskFactory="TaskHostFactory"`と TFM ベースの選択を復活させます。理由は`Runtime="NET"`がSDKスタイルプロジェクトのみでサポートされており、非SDKスタイルプロジェクトから呼び出すと失敗するため、および.NET Runtime Task Host インフラがまだ成熟していないためです。 @@ -236,7 +236,7 @@ PR #123304で導入された`Runtime="NET"`アプローチをリバートする - 作成者: [@AaronRobinsonMSFT](https://github.com/AaronRobinsonMSFT) - 作成日時: 2026年02月03日 21:47:21(UTC) - マージ日時: 2026年02月04日 19:14:29(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 このPRは、`appdomain.cpp`内で使用されていた`MethodDescCallSite`を削除し、より効率的なメソッド呼び出しメカニズムに置き換えるリファクタリングです。CoreCLRのメソッド呼び出し処理を簡潔化し、保守性を向上させることが目的です。Issue #123864に貢献しています。 @@ -265,7 +265,7 @@ Issue #123864 - 作成者: [@ViktorHofer](https://github.com/ViktorHofer) - 作成日時: 2026年02月03日 21:29:56(UTC) - マージ日時: 2026年02月04日 04:13:45(UTC) -- ラベル: needs-area-label +- ラベル: needs-area-label #### 概要 Microsoft.NET.Sdk.IL プロジェクトファイルの PackageReference に `PrivateAssets="all"` 属性を追加し、ビルド時の依存パッケージ(Microsoft.DotNet.Build.Tasks.Templating)が NuGet パッケージの推移的依存関係として公開されることを防ぐ変更です。これにより、P1 への影響回避とパッケージ解決の問題を修正します。 @@ -289,7 +289,7 @@ https://github.com/dotnet/dotnet/issues/4638 - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年02月03日 18:58:55(UTC) - マージ日時: 2026年02月04日 21:10:10(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 このPRは、JITコンパイラの`AssertionDsc`、`AssertionDscOp1`、`AssertionDscOp2`構造体の全フィールドをprivateに変更し、公開getterで検証ロジック付きで公開する変更です。アサーション値が不正なコンテキストで変更されることを防ぎ、メモリレイアウトの最適化(64ビットで40バイト)を実現しています。フィールド名をm_プレフィックスに統一し、JitDumpの出力も改善されています。 @@ -316,7 +316,7 @@ https://github.com/dotnet/dotnet/issues/4638 - 作成者: [@alexcovington](https://github.com/alexcovington) - 作成日時: 2026年02月03日 18:32:12(UTC) - マージ日時: 2026年02月04日 23:40:13(UTC) -- ラベル: area-System.Numerics tenet-performance community-contribution +- ラベル: area-System.Numerics tenet-performance community-contribution #### 概要 `Matrix4x4.GetDeterminant`にSSE(Streaming SIMD Extensions)実装を追加しました。ベクトル化により約15%のパフォーマンス向上を実現しています。ベンチマーク結果では3.487nsから2.971nsへの改善が確認されており、Ratio 0.85を達成しています。 @@ -348,7 +348,7 @@ SSE命令の活用により、複数の浮動小数点演算を並列実行す - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年02月03日 16:09:27(UTC) - マージ日時: 2026年02月04日 08:34:13(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイラのliveness解析(変数の生存期間分析)を独立したクラスに再構成するリファクタリングです。将来の非同期変換時にliveness解析を修正可能にするための基盤整備で、拡張性を高めながらゼロコストの設計を実現しています。 @@ -380,7 +380,7 @@ PR番号: #123948 - 作成者: [@ManickaP](https://github.com/ManickaP) - 作成日時: 2026年02月03日 12:04:25(UTC) - マージ日時: 2026年02月04日 12:27:27(UTC) -- ラベル: Servicing-approved area-System.Net.Quic +- ラベル: Servicing-approved area-System.Net.Quic #### 概要 MsQuic(マイクロソフトのQUICプロトコル実装)をバージョン2.4.16に更新するリリースブランチのバックポートです。このパッチバージョン更新により、Windows環境でのQUIC通信のサポートが改善されます。既にメインブランチと.NET 10で数ヶ月間安定稼働しているため、低リスクの変更です。 @@ -405,7 +405,7 @@ MsQuic(マイクロソフトのQUICプロトコル実装)をバージョン2.4.1 - 作成者: [@ManickaP](https://github.com/ManickaP) - 作成日時: 2026年02月03日 12:01:11(UTC) - マージ日時: 2026年02月04日 12:27:32(UTC) -- ラベル: Servicing-approved area-System.Net.Quic +- ラベル: Servicing-approved area-System.Net.Quic #### 概要 dotnet/runtime の Windows 環境において、MsQuic ライブラリのバージョンを 2.4.16 に更新するバックポートです。メインブランチと .NET 10 では既に数ヶ月間このバージョンで運用されており、安定性が確認されています。 @@ -429,7 +429,7 @@ dotnet/runtime の Windows 環境において、MsQuic ライブラリのバー - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年02月03日 01:42:12(UTC) - マージ日時: 2026年02月04日 05:20:51(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 このPRはJITコンパイラの約40のクラス・構造体における`Compiler*`フィールドの命名を統一し、すべて`m_compiler`という一貫した名前に標準化しています。これまで`m_comp`、`m_pComp`、`m_pCompiler`、`comp`、`compiler`など多様な命名パターンが混在していた部分を整理し、コード可読性と保守性を向上させています。 @@ -460,7 +460,7 @@ dotnet/runtime の Windows 環境において、MsQuic ライブラリのバー - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年02月02日 21:32:01(UTC) - マージ日時: 2026年02月04日 13:08:08(UTC) -- ラベル: area-System.Text.RegularExpressions +- ラベル: area-System.Text.RegularExpressions #### 概要 RegexCompilerの正規表現バックリファレンスマッチング処理にパフォーマンス最適化を追加しました。大文字小文字を区別する場合に`SequenceEqual`を使用することで、文字ごとの比較から効率的なスパン比較に変更。これにより、RegexSourceGeneratorと同じ最適化アプローチが実装されました。 @@ -494,7 +494,7 @@ if (spanA.SequenceEqual(spanB)) - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月02日 03:16:21(UTC) - マージ日時: 2026年02月04日 22:48:29(UTC) -- ラベル: area-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 `Process.KillTree`がプロセス列挙中に大量の例外をスロー・キャッチしていた問題を修正しました。デバッガ接続時に23秒かかっていた処理が0.17秒に改善されます。非スロー型のヘルパーメソッド(`TryGetStartTime`、`TryGetParentProcessId`)を追加し、例外を最小限に削減しながらプロセスツリーの終了機能を維持します。 @@ -531,7 +531,7 @@ dotnet/runtime#121279(Issue: `Process.KillTree throws a lot of exceptions inte - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年01月30日 23:36:59(UTC) - マージ日時: 2026年02月04日 20:53:42(UTC) -- ラベル: Servicing-approved area-Infrastructure +- ラベル: Servicing-approved area-Infrastructure #### 概要 .NET 10.0向けのリリースブランチにおいて、内部ビルドの検証パイプラインを修正するインフラストラクチャのみの変更です。VMR(Unified Repository)からのバックフロー検証を有効化するために、NuGetソース認証の設定を一元化し、内部ビルド用のHelixキューを適切に選択するように修正されています。 @@ -561,7 +561,7 @@ dotnet/runtime#121279(Issue: `Process.KillTree throws a lot of exceptions inte - 作成者: [@lilinus](https://github.com/lilinus) - 作成日時: 2026年01月30日 14:41:48(UTC) - マージ日時: 2026年02月04日 22:22:06(UTC) -- ラベル: area-System.Xml community-contribution +- ラベル: area-System.Xml community-contribution #### 概要 `XDocument.LoadAsync`が同期読み込みを使用していた問題を修正します。このメソッドを非同期コンテキストで呼び出す際に、スレッドプールのスレッドをブロックする問題が解決されます。 @@ -585,7 +585,7 @@ Issue #100239 - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年01月29日 15:50:26(UTC) - マージ日時: 2026年02月04日 10:54:40(UTC) -- ラベル: arch-wasm area-VM-coreclr +- ラベル: arch-wasm area-VM-coreclr #### 概要 WebAssembly上のCoreClRで、大きなバリュー型(large valuetypes)に対するリフレクション呼び出しのサポートを実装しました。`this`ポインタと戻り値バッファ(`retbuf`)の引数順序を変更し、新しい呼び出し規約に対応しています。この修正により、Pri0テストで6個、Pri1テストで約2000個のテストが修正されます。 @@ -626,7 +626,7 @@ WebAssemblyプラットフォーム特有の実装を中心とした修正で、 - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年01月28日 22:13:54(UTC) - マージ日時: 2026年02月04日 01:08:39(UTC) -- ラベル: needs-area-label +- ラベル: needs-area-label #### 概要 ReadyToRun (R2R) テスト ビルドにおいて、`ResolveReadyToRunCompilers` を適切にオーバーライドするための変更です。テスト ビルド構成でReadyToRunコンパイラーの解決プロセスを制御し、特定のテストシナリオでの動作を改善します。Issue #123499 の修正に対応しています。 @@ -651,7 +651,7 @@ Issue #123499 - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月27日 02:02:18(UTC) - マージ日時: 2026年02月04日 23:56:57(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/cecil ライブラリの依存関係を `0.11.5-alpha.26065.1` から `0.11.5-alpha.26075.3` にアップデートするPull Request です。このアップデートは release/9.0-staging ブランチの自動依存関係更新による変更です。 @@ -681,7 +681,7 @@ dotnet/cecil ライブラリの依存関係を `0.11.5-alpha.26065.1` から `0. - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月22日 08:17:05(UTC) - マージ日時: 2026年02月04日 19:31:27(UTC) -- ラベル: area-System.IO +- ラベル: area-System.IO #### 概要 `OpenStandardInputHandle`、`OpenStandardOutputHandle`、`OpenStandardErrorHandle` の3つの新しい公開API を System.Console に追加するPRです。これらのAPIは、標準入力・出力・エラーストリームの基盤となるOSハンドル(SafeFileHandle)を取得するための機能を提供します。 @@ -727,7 +727,7 @@ SafeFileHandle errorHandle = Console.OpenStandardErrorHandle(); - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月22日 02:01:49(UTC) - マージ日時: 2026年02月04日 23:59:28(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/runtime-assets リポジトリから依存関係を更新するPull Requestです。複数のテストデータおよびランタイム関連NuGetパッケージを beta.26059.3 から beta.26071.2 へアップグレードしています。.NET 9.0 release/9.0-staging ブランチへの定期的な依存関係同期です。 @@ -771,7 +771,7 @@ dotnet/runtime-assets リポジトリから依存関係を更新するPull Reque - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月16日 18:45:17(UTC) - マージ日時: 2026年02月04日 04:16:00(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 インタープリタコールスタブのログ出力を、コンパイル時の`#if LOG_COMPUTE_CALL_STUB`ディレクティブからランタイム制御可能なLOG2ファシリティに変換しました。これにより、再コンパイルなしにデバッグ時のログを有効化できるようになります。環境変数`DOTNET_LogFacility2=0x2 DOTNET_LogLevel=10000`で制御可能です。 diff --git a/archives/2026/02/05.md b/archives/2026/02/05.md index 34992e2..7f1514f 100644 --- a/archives/2026/02/05.md +++ b/archives/2026/02/05.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#124054 Add tests for NumberStyles.AllowTrailingInvalidCharacters](#124054) 2. [#124030 Introduce OAK_*relops*](#124030) 3. [#124011 Remove unused method signatures from corelib and metasig headers](#124011) @@ -77,7 +77,7 @@ if (int.TryParse("123abc", - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年02月05日 03:46:44(UTC) - マージ日時: 2026年02月05日 23:00:24(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 このPRは、JITコンパイラの値番号付け(VN)ベースのアサーション表現を簡潔にするものです。従来の `relopVN OAK_[NOT]_EQUAL 0` という表現から、`op1VN OAK_ op2VN` という直接的な表現に統一することで、アサーション処理を効率化し、将来の最適化を可能にしています。 @@ -111,7 +111,7 @@ op1VN OAK_LE op2VN - 作成者: [@AaronRobinsonMSFT](https://github.com/AaronRobinsonMSFT) - 作成日時: 2026年02月04日 18:58:30(UTC) - マージ日時: 2026年02月05日 15:22:12(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 corelib.hとmetasig.hヘッダーファイルから未使用のメソッドシグネチャを削除するクリーンアップです。合計142行のコードを削除し、ランタイムのコード整理と保守性向上を目的としています。 @@ -133,7 +133,7 @@ corelib.hとmetasig.hヘッダーファイルから未使用のメソッドシ - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年02月04日 11:53:11(UTC) - マージ日時: 2026年02月05日 10:34:51(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイラのライブネス解析フェーズをリファクタリングする変更です。各ライブネスフェーズを独立した関数に分離し、`LiveVarAnalysis`クラスを`Liveness`クラスに統合しました。機能的な動作変更はありませんが、MSSQLコンパイラでのインライン決定に関連したテンポラルパフォーマンス回帰が存在します。 @@ -191,7 +191,7 @@ JITコンパイラのライブネス解析フェーズをリファクタリン - 作成者: [@jonathanpeppers](https://github.com/jonathanpeppers) - 作成日時: 2026年02月03日 21:13:38(UTC) - マージ日時: 2026年02月05日 19:16:07(UTC) -- ラベル: area-EnC-mono needs-area-label +- ラベル: area-EnC-mono needs-area-label #### 概要 Monoランタイムが `$DOTNET_STARTUP_HOOKS` 環境変数を読み込まない問題を修正します。現在、`System.StartupHookProvider.ProcessStartupHooks()` 呼び出し時に空文字列のみが渡されており、他のランタイム(CoreCLRなど)と異なる動作をしていました。この修正により、Monoでも環境変数から起動フックを正しく読み込めるようになり、ランタイム間の一貫性が向上します。 @@ -226,7 +226,7 @@ Monoランタイムが `$DOTNET_STARTUP_HOOKS` 環境変数を読み込まない - 作成者: [@elinor-fung](https://github.com/elinor-fung) - 作成日時: 2026年02月02日 23:39:22(UTC) - マージ日時: 2026年02月05日 18:14:18(UTC) -- ラベル: area-Host +- ラベル: area-Host #### 概要 アプリケーション起動時のアセット解決処理を最適化し、文字列の比較とコピーを削減しました。サービス提供ディレクトリ名との不要な文字列比較を回避し、TPA リスト構築時の`deps_asset_t`アセットのコピーを削減することで、空のコンソールアプリケーション起動時に約1000個のメモリ割り当てを削減しました。ベンチマーク結果では平均起動時間が55.77msから55.48msに短縮(-0.5%)されており、標準偏差も0.50msから0.35msに改善されています。 @@ -254,7 +254,7 @@ Monoランタイムが `$DOTNET_STARTUP_HOOKS` 環境変数を読み込まない - 作成者: [@vseanreesermsft](https://github.com/vseanreesermsft) - 作成日時: 2026年02月02日 17:32:46(UTC) - マージ日時: 2026年02月05日 01:00:05(UTC) -- ラベル: Servicing-approved +- ラベル: Servicing-approved #### 概要 .NET Runtime 9.0.14リリースに向けて、ブランディング・ファイルバージョン情報を更新するPull Requestです。ProductVersionとPatchVersionを9.0.13から9.0.14へ引き上げています。 @@ -277,7 +277,7 @@ Monoランタイムが `$DOTNET_STARTUP_HOOKS` 環境変数を読み込まない - 作成者: [@vseanreesermsft](https://github.com/vseanreesermsft) - 作成日時: 2026年02月02日 17:31:38(UTC) - マージ日時: 2026年02月05日 00:47:03(UTC) -- ラベル: Servicing-approved +- ラベル: Servicing-approved #### 概要 .NET Runtime 8.0系の製品ブランディングバージョンを 8.0.24 から 8.0.25 へ更新するパッチリリースです。共有バージョン設定ファイルの `ProductVersion` と `PatchVersion` を段階的に更新しています。 @@ -298,7 +298,7 @@ Monoランタイムが `$DOTNET_STARTUP_HOOKS` 環境変数を読み込まない - 作成者: [@a74nh](https://github.com/a74nh) - 作成日時: 2026年02月02日 15:11:31(UTC) - マージ日時: 2026年02月05日 18:21:11(UTC) -- ラベル: area-System.Runtime.Intrinsics community-contribution +- ラベル: area-System.Runtime.Intrinsics community-contribution #### 概要 ARM SVE2命令セットに対する2つの新しいシフト命令 `ShiftRightLogicalNarrowingSaturate(Even|Odd)` を追加します。これらの命令は、ベクトル要素を論理的に右にシフトしながら、結果を狭い型に飽和させます。 @@ -329,7 +329,7 @@ Copilotによるレビューで、テストコード内の一部ヘルパーメ - 作成者: [@mdh1418](https://github.com/mdh1418) - 作成日時: 2026年01月29日 22:57:33(UTC) - マージ日時: 2026年02月05日 19:45:37(UTC) -- ラベル: area-Tracing-coreclr +- ラベル: area-Tracing-coreclr #### 概要 EventPipeに新しいマッピング `dotnet_ipc_created` を追加し、.NETプロセスの診断ポート(listen port)が正常に作成されたことを低オーバーヘッドで外部ツールに通知できるようにしました。従来は複数の一時ファイルディレクトリをスキャンする必要がありましたが、この変更によりプロセスの準備完了を効率的に検出できます。 @@ -353,7 +353,7 @@ NativeAOT 環境での userevents ランタイムテストが正常に動作す - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年01月28日 18:59:13(UTC) - マージ日時: 2026年02月05日 11:30:04(UTC) -- ラベル: arch-wasm area-Host os-browser +- ラベル: arch-wasm area-Host os-browser #### 概要 WebAssembly上のブラウザホスト環境の改善を行うPull Requestです。ファイルシステム仮想化の統一、エラー検出の強化、メモリプローブ機能の追加などが含まれています。主にWasm環境での実行時の安定性と互換性を向上させています。 @@ -398,7 +398,7 @@ WebAssembly上のブラウザホスト環境の改善を行うPull Requestです - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2026年01月28日 17:02:30(UTC) - マージ日時: 2026年02月05日 03:11:57(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 SignedInfo クラスの `` 要素の最大数を AppContext スイッチで設定可能にしました。従来は 100 に硬直していましたが、.NET Framework の互換性を復元し、多数の参照を含む SOAP メッセージなどのワークロードに対応します。 @@ -428,7 +428,7 @@ AppContext.SetSwitch("System.Security.Cryptography.MaxReferencesPerSignedInfo", - 作成者: [@a74nh](https://github.com/a74nh) - 作成日時: 2026年01月27日 12:19:33(UTC) - マージ日時: 2026年02月05日 23:02:11(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 SVE(Scalable Vector Extension)における長いナロー化操作でのシフト処理のバグを修正しました。Issue #123496 に対応した修正で、JIT コンパイラのベクトル操作処理における問題を解決しています。 @@ -490,7 +490,7 @@ DebuggerJitInfo *info = patch->HasDJI() ? patch->GetDJI() : g_pDebugger->GetJitI - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月26日 09:35:06(UTC) - マージ日時: 2026年02月05日 00:02:26(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/hotreload-utils の依存関係を更新するPull Requestです。`Microsoft.DotNet.HotReload.Utils.Generator.BuildTool` が バージョン `8.0.0-alpha.0.25625.3` から `8.0.0-alpha.0.26076.2` に更新されています。これは release/8.0 ブランチの自動依存関係更新です。 @@ -514,7 +514,7 @@ dotnet/hotreload-utils の依存関係を更新するPull Requestです。`Micro - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月22日 23:39:09(UTC) - マージ日時: 2026年02月05日 21:06:11(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 このPull Requestは、`dotnet-optimization`リポジトリからの依存関係を自動更新するものです。MIBC(Machine Intelligent Bytecode Commit)RuntimeおよびPGO(Profile-Guided Optimization)CoreCLRの最適化パッケージが、バージョン1.0.0-prerelease.25502.1から1.0.0-prerelease.26080.1に更新されました。Linux ARM64/x64、Windows NT ARM64/x64/x86の各プラットフォーム向けの最適化データが含まれています。 @@ -548,7 +548,7 @@ MIBC Runtimeおよび PGO CoreCLRの最適化データの更新により、ラ - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月21日 15:31:22(UTC) - マージ日時: 2026年02月05日 00:00:18(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/hotreload-utils の依存パッケージを 9.0.0-alpha.0.25625.4 から 9.0.0-alpha.0.26104.3 にアップデートする自動的な依存パッケージ更新PRです。Microsoft.DotNet.HotReload.Utils.Generator.BuildTool のバージョンアップが含まれており、release/9.0-staging ブランチへの定期的なメンテナンス更新です。 @@ -571,7 +571,7 @@ dotnet/hotreload-utils の依存パッケージを 9.0.0-alpha.0.25625.4 から - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月20日 23:14:32(UTC) - マージ日時: 2026年02月05日 00:01:08(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 このPRは、dotnet/emsdkリポジトリからの依存関係を更新するものです。Emscripten関連のWorkloadマニフェストを9.0.13から9.0.14へアップグレードし、複数のプラットフォーム向けJITツールとMono LLVM関連パッケージの一貫性を確保しています。.NET 9.0ブランチのサービス版・安定版の両方のパッケージが更新対象です。 @@ -604,7 +604,7 @@ dotnet/hotreload-utils の依存パッケージを 9.0.0-alpha.0.25625.4 から - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月20日 22:40:41(UTC) - マージ日時: 2026年02月05日 18:49:37(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/emsdk(Emscripten SDK)の依存関係を更新するPull Requestです。release/8.0ブランチにおいて、Microsoft.SourceBuild.Intermediate.emsdkおよびMicrosoft.NET.Workload.Emscripten.Current.Manifestを8.0.25へアップグレードしています。この更新により、WebAssembly開発向けのEmscripten関連ツールチェーンが最新化されます。 @@ -631,7 +631,7 @@ dotnet/emsdk(Emscripten SDK)の依存関係を更新するPull Requestです - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年01月13日 17:05:09(UTC) - マージ日時: 2026年02月05日 10:13:25(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 CoreCLR interpreter on arm64にSwift呼び出し規約のサポートを追加しました。Swiftは標準arm64 ABIと異なる呼び出し規約を使用しており、専用レジスタ(x20=self、x21=error、x8=indirect result)とstruct値型の引数・戻り値のloweringに対応しています。 @@ -659,7 +659,7 @@ CoreCLR interpreter on arm64にSwift呼び出し規約のサポートを追加 - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2025年12月24日 05:50:09(UTC) - マージ日時: 2026年02月05日 04:22:55(UTC) -- ラベル: area-ExceptionHandling-coreclr area-NativeAOT-coreclr runtime-async +- ラベル: area-ExceptionHandling-coreclr area-NativeAOT-coreclr runtime-async #### 概要 このPRは、CoreCLRとNativeAOT両方の実行時における非同期スタック(runtime-async stacks)でのスタックトレース収集を実装します。`Exception.ToString()`で非同期待機チェーン(async-await chain)のフレームを例外スタックトレースに含めることで、より完全なスタックトレース情報を提供します。主な実装は、AsyncHelpers内でContinuationのDiagnosticIPを使用してフレームを追加し、ThrowExactヘルパーで既存のスタックトレースを保持しながら例外を再スロー(ExKind.RethrowFlagを利用)することです。 @@ -691,7 +691,7 @@ CoreCLR interpreter on arm64にSwift呼び出し規約のサポートを追加 - 作成者: [@amritanand-py](https://github.com/amritanand-py) - 作成日時: 2025年10月08日 15:10:50(UTC) - マージ日時: 2026年02月05日 17:34:05(UTC) -- ラベル: area-Meta linkable-framework community-contribution +- ラベル: area-Meta linkable-framework community-contribution #### 概要 このPRは、dotnet/runtimeリポジトリ全体の`.json`ファイルにおける**インデンテーションとフォーマットの不一致を修正**するものです。セマンティックな変更は一切なく、スタイル・フォーマットのみを統一しています。約40個のJSONファイルを2スペースインデント(またはプロジェクト定義のインデント)に統一し、余分な空白を削除して構造を整理しました。 diff --git a/archives/2026/02/06.md b/archives/2026/02/06.md index 5232fb9..42826d8 100644 --- a/archives/2026/02/06.md +++ b/archives/2026/02/06.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#124090 Delete GetFriendlyErrorCodeString and HAVE_STRERRORNAME_NP](#124090) 2. [#124084 \[release/10.0\] Fix SampleType field in ThreadSample event from Sample Profiler](#124084) 3. [#124057 Update dogfooding.md to target .NET 11](#124057) @@ -28,7 +28,7 @@ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月06日 15:02:29(UTC) - マージ日時: 2026年02月06日 19:12:02(UTC) -- ラベル: area-PAL-coreclr +- ラベル: area-PAL-coreclr #### 概要 未使用のデッドコード `GetFriendlyErrorCodeString` 関数とその関連する `HAVE_STRERRORNAME_NP` CMake設定を削除するPRです。コードベース内に呼び出しサイトが存在しないため、安全に削除できます。合計62行のコードを削除し、codebaseのメンテナンス性を向上させます。 @@ -62,7 +62,7 @@ - 作成者: [@steveisok](https://github.com/steveisok) - 作成日時: 2026年02月06日 12:47:19(UTC) - マージ日時: 2026年02月06日 18:42:26(UTC) -- ラベル: Servicing-approved area-VM-coreclr +- ラベル: Servicing-approved area-VM-coreclr #### 概要 .NET 9で導入されたリグレッションを修正するバックポート。SampleProfilerのThreadSampleイベントにおいて、`SampleType`フィールドがマネージドコード実行中でも常に`EP_SAMPLE_PROFILER_SAMPLE_TYPE_EXTERNAL`を報告していた問題を解決します。新しいスレッド状態フラグ`TS_SuspensionTrapped`を導入し、スレッドが協調的(cooperative)モード中に自発的に一時停止したかどうかを追跡することで、正確なプロファイリングデータを提供するようになります。 @@ -118,7 +118,7 @@ dogfooding.md ドキュメントを .NET 9 から .NET 11 に統一する更新 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月05日 15:04:35(UTC) - マージ日時: 2026年02月06日 07:11:52(UTC) -- ラベル: area-PAL-coreclr +- ラベル: area-PAL-coreclr #### 概要 PAL(Platform Abstraction Layer)から約1,200行の不要なスレッド制御コードを削除し、単一統一されたpthread mutex基盤の実装に統一しました。複数の古い同期メカニズム(POSIX semaphore、SysV semaphore、pthread condition variable、spinlock)と関連インフラをクリーンアップし、コードベースを大幅に簡素化しています。 @@ -150,7 +150,7 @@ PAL(Platform Abstraction Layer)から約1,200行の不要なスレッド制 - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年02月05日 10:54:59(UTC) - マージ日時: 2026年02月06日 01:43:56(UTC) -- ラベル: area-ExceptionHandling-coreclr os-ios runtime-async +- ラベル: area-ExceptionHandling-coreclr os-ios runtime-async #### 概要 Apple モバイルプラットフォーム上で CoreCLR R2R およびインタープリターモードにおいて、`ToString_Async` テストが失敗する問題に対応するPRです。該当するテストを無効化し、トラッキングissue #124044 で問題の根本原因の解決を追跡する予定です。 @@ -175,7 +175,7 @@ Apple モバイルプラットフォーム上で CoreCLR R2R およびインタ - 作成者: [@jeffhandley](https://github.com/jeffhandley) - 作成日時: 2026年02月05日 01:55:31(UTC) - マージ日時: 2026年02月06日 01:21:32(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 Copilot作成のPull Requestでissue-labelerワークフローが実行されない問題を解決するため、ポーリング機構を導入しました。5分ごとのcronスケジュールで未ラベル化されたPRを検出し、issue-labelerを実行します。これにより、Copilot PRやGitHubサービス中断時にラベル付けが漏れたPRも対象となります。 @@ -199,7 +199,7 @@ Copilot作成のPull Requestでissue-labelerワークフローが実行されな - 作成者: [@steveisok](https://github.com/steveisok) - 作成日時: 2026年02月04日 23:19:58(UTC) - マージ日時: 2026年02月06日 04:51:30(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 ThreadSample イベントの SampleType フィールドが常に `EP_SAMPLE_PROFILER_SAMPLE_TYPE_EXTERNAL` を報告していた問題を修正。.NET 9 で SuspendAllThreads を NativeAOT から CoreCLR に移植した際のリグレッション。修正により、マネージドコード実行中のスレッドは RareDisablePreemptiveGC で自身の GC モード(マネージド/外部)を保存するようになり、サンプラーがより正確なサンプルタイプを報告可能に。 @@ -223,7 +223,7 @@ ThreadSample イベントの SampleType フィールドが常に `EP_SAMPLE_PROF - 作成者: [@SingleAccretion](https://github.com/SingleAccretion) - 作成日時: 2026年02月04日 21:49:28(UTC) - マージ日時: 2026年02月06日 20:44:39(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr community-contribution +- ラベル: arch-wasm area-CodeGen-coreclr community-contribution #### 概要 WebAssembly(WASM)ターゲット向けのレジスタ割り当て(RA)アルゴリズムを簡素化・改善するPRです。追跡対象の各ローカル変数に仮想レジスタを割り当て、その仮想レジスタを物理的なWASM局所変数にマッピングするシンプルで正確性の高い設計を導入しました。将来的には、境界チェック用の内部レジスタなどの追加機能の基盤となります。 @@ -256,7 +256,7 @@ WebAssembly(WASM)ターゲット向けのレジスタ割り当て(RA)アルゴ - 作成者: [@sec](https://github.com/sec) - 作成日時: 2026年02月04日 19:06:54(UTC) - マージ日時: 2026年02月06日 12:37:19(UTC) -- ラベル: area-System.Security os-freebsd community-contribution +- ラベル: area-System.Security os-freebsd community-contribution #### 概要 FreeBSD 15.0で導入されたOpenSSL 3.5.4に対応するため、OpenSSLライブラリの動的読み込み処理にサフィックス番号付けを追加しました。これにより、複数のOpenSSLバージョンが共存する環境での正確なライブラリ解決が可能になります。 @@ -286,7 +286,7 @@ FreeBSD 15.0で導入されたOpenSSL 3.5.4に対応するため、OpenSSLライ - 作成者: [@mrvoorhe](https://github.com/mrvoorhe) - 作成日時: 2026年02月04日 19:06:33(UTC) - マージ日時: 2026年02月06日 18:14:52(UTC) -- ラベル: linkable-framework community-contribution area-Tools-ILLink +- ラベル: linkable-framework community-contribution area-Tools-ILLink #### 概要 ILLink テストフレームワークに `[IgnoreILFailure]` 属性を追加し、特定の IL 検証エラーを選択的に無視できるようにしました。これにより、System.Private.CoreLib の IL 修正時にオフセット変更によって引き起こされる検証エラーを個別にフィルタリングできるため、アセンブリ全体の IL 検証を無効化する必要がなくなります。 @@ -315,7 +315,7 @@ ILLink テストフレームワークに `[IgnoreILFailure]` 属性を追加し - 作成者: [@jtschuster](https://github.com/jtschuster) - 作成日時: 2026年02月04日 18:51:57(UTC) - マージ日時: 2026年02月06日 23:41:33(UTC) -- ラベル: area-R2RDump-coreclr +- ラベル: area-R2RDump-coreclr #### 概要 R2RDump(Ready2Run ダンプツール)で、メソッドシグネチャにプレフィックスを追加し、メソッドエントリーポイントテーブルのダンプ出力において、タスク返却メソッド、async メソッド、async resumption stub などの異なるメソッドバリアントを識別可能にしました。 @@ -338,7 +338,7 @@ R2RDump(Ready2Run ダンプツール)で、メソッドシグネチャにプ - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年02月04日 15:11:09(UTC) - マージ日時: 2026年02月06日 20:40:09(UTC) -- ラベル: arch-wasm area-Infrastructure-coreclr +- ラベル: arch-wasm area-Infrastructure-coreclr #### 概要 WebAssemblyにおけるCoresCLRの開発効率を向上させるために、C++ヘルパーファイルを自動生成するためのシェルスクリプトを追加しました。Unix/macOS用のBashスクリプト(`generate-coreclr-helpers.sh`)とWindows用のバッチスクリプト(`generate-coreclr-helpers.cmd`)により、`ManagedToNativeGenerator`タスクの実行を自動化します。 @@ -363,7 +363,7 @@ WebAssemblyにおけるCoresCLRの開発効率を向上させるために、C++ - 作成者: [@jtschuster](https://github.com/jtschuster) - 作成日時: 2026年02月03日 23:10:30(UTC) - マージ日時: 2026年02月06日 21:54:10(UTC) -- ラベル: area-crossgen2-coreclr runtime-async +- ラベル: area-crossgen2-coreclr runtime-async #### 概要 Ready-to-Run (R2R) コンパイラに対して、`AllocContinuation`、`AllocContinuationMethod`、`AllocContinuationClass` の3つのヘルパー関数を追加しました。これらは非同期状態機械の継続アロケーション処理を最適化するためのランタイムサポート機能です。 @@ -390,7 +390,7 @@ Ready-to-Run (R2R) コンパイラに対して、`AllocContinuation`、`AllocCon - 作成者: [@AaronRobinsonMSFT](https://github.com/AaronRobinsonMSFT) - 作成日時: 2026年02月03日 19:42:06(UTC) - マージ日時: 2026年02月06日 00:08:08(UTC) -- ラベル: area-Interop-coreclr +- ラベル: area-Interop-coreclr #### 概要 COM相互運用における`IDispatch`カスタムマーシャラーのネイティブシナリオに対するテストカバレッジの追加です。PR #123832で発見されたテストの抜け穴を埋めるため、.NETサーバーとネイティブクライアント間の`IDispatch`通信テストを実装しました。 @@ -416,7 +416,7 @@ PR #123832(本PRで対応された先行PR) - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年02月02日 21:05:57(UTC) - マージ日時: 2026年02月06日 20:27:50(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 Azure DevOps と Helix テスト失敗を分析するための AI エージェントスキルを追加します。Copilot に CI 失敗の調査方法を教え、PR番号またはビルドIDからAPIクエリを実行し、失敗詳細を抽出して改善提案を提供します。dotnet/runtime、sdk、aspnetcore、roslyn など複数リポジトリに対応し、既知問題との照合や PR の変更との相関分析も実施します。 @@ -452,7 +452,7 @@ Azure DevOps と Helix テスト失敗を分析するための AI エージェ - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年02月02日 17:26:18(UTC) - マージ日時: 2026年02月06日 00:52:23(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 このPRは、dotnet/dotnetのVMR(Virtual Monolithic Repository)から自動生成されたコードフロー更新です。.NET 10.0.1xxリリースブランチの複数の依存パッケージをバージョンアップしています。主な更新対象は、Roslyn/CodeAnalysis、.NETビルドツール、NuGetパッケージなど、開発ツールチェーン全体にわたっています。 @@ -488,7 +488,7 @@ efcore、roslyn、runtime、sdk、winformsなど複数のドットネット関 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月29日 14:52:34(UTC) - マージ日時: 2026年02月06日 04:03:15(UTC) -- ラベル: area-System.Numerics.Tensors +- ラベル: area-System.Numerics.Tensors #### 概要 `TensorPrimitives.BitIncrement` と `TensorPrimitives.BitDecrement` の `Half` 型に対してベクトル化を追加しました。これまで `float` への拡張と縮小を行っていたオーバーヘッドを排除し、`Half` の `ushort` ビット表現を直接操作することで性能を向上させます。 @@ -526,7 +526,7 @@ PR #123610 のフィードバックに基づく変更 - 作成者: [@alinpahontu2912](https://github.com/alinpahontu2912) - 作成日時: 2026年01月28日 15:52:43(UTC) - マージ日時: 2026年02月06日 12:08:52(UTC) -- ラベル: area-System.IO.Compression +- ラベル: area-System.IO.Compression #### 概要 ZipArchive の Update モードで、エントリストリームを開く際に実際のデータ書き込みがなくても、アーカイブが変更済みと誤認識され、Dispose 時に不要な再書き込みが発生していた問題を修正しました。これにより、MemoryStream などの拡張不可能なストリームで NotSupportedException がスローされていた問題が解決されます。 @@ -570,7 +570,7 @@ using (var archive = new ZipArchive(stream, ZipArchiveMode.Update)) - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月27日 02:14:26(UTC) - マージ日時: 2026年02月06日 17:43:59(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 このPRは、dotnet/dotnetリポジトリからのコードフロー更新で、.NET 11.0-preview1ブランチに対するソースコード変更と依存関係の更新を統合します。Roslyn、NuGet、System.Text.Jsonなど複数の重要なコンポーネントの依存関係がアップデートされており、ビルドシステムとバージョン管理ファイルが更新されています。 @@ -611,7 +611,7 @@ arcade、aspnetcore、roslyn、sdk、msbuildなど13以上のdotnetエコシス - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年01月26日 21:52:33(UTC) - マージ日時: 2026年02月06日 17:16:52(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 Runtime Async v2メソッドのデバッガサポートを実装しました。Async メソッドは同じメタデータトークンを持つ2つの `MethodDesc` バリアント(Task返却アダプタの"thunk"と実装)を生成しますが、デバッガはthunkと実装を区別できず、ステップイン失敗やブレークポイント バインディング問題が発生していました。本PR は新しい `AsyncThunkStubManager` を追加し、ステップイン時のthunk認識、ブレークポイント バインディングの制御、スタックウォークでの非表示化を実現します。 @@ -647,7 +647,7 @@ Runtime Async v2メソッドのデバッガサポートを実装しました。A - 作成者: [@jtschuster](https://github.com/jtschuster) - 作成日時: 2026年01月26日 21:48:31(UTC) - マージ日時: 2026年02月06日 19:22:13(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 ReadyToRun (R2R) イメージにおけるContinuation型のエンコード機能を追加しました。新しいフィックスアップタイプ(READYTORUN_FIXUP_Continuation_Layout = 0x37)を導入し、GC参照マップをビットベクトルからバイト配列に展開してエンコードします。ランタイム側では`GetContinuationTypeFromLayout`による復号化と`LoadDynamicInfoEntry`による処理に対応しました。 @@ -682,7 +682,7 @@ ReadyToRun (R2R) イメージにおけるContinuation型のエンコード機能 - 作成者: [@SingleAccretion](https://github.com/SingleAccretion) - 作成日時: 2026年01月23日 18:09:56(UTC) - マージ日時: 2026年02月06日 20:44:51(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 RyuJITのターゲットアーキテクチャヘッダーファイル(`target*.h`)から不要なインデント(2スペース)を削除するリファクタリング。`targetwasm.h`を追加する際のスタイル不一致を解消し、`#define`のインデント規約を統一。 @@ -711,7 +711,7 @@ RyuJITのターゲットアーキテクチャヘッダーファイル(`target* - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年01月22日 16:17:13(UTC) - マージ日時: 2026年02月06日 11:26:00(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 MinOpts(最小化最適化)コード生成時に、async中断を跨いでのローカル変数の生存性判定を改善しました。従来はすべてのローカル変数をliveと見なしていましたが、本PRで完全な生存性分析(full liveness)を実行することで、余分なlifted state生成を削減し、全体的なパフォーマンスを向上させています。 diff --git a/archives/2026/02/07.md b/archives/2026/02/07.md index 851c6b8..b9cbb84 100644 --- a/archives/2026/02/07.md +++ b/archives/2026/02/07.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#124126 Fix Helix file URIs for subdirectory artifacts \(xharness-output\)](#124126) 2. [#124115 \[Wasm Ryujit\] Wasm SP is implicitly referenced](#124115) 3. [#124113 \[Wasm RyuJit\] Ind write barriers, direct helper calls, more](#124113) @@ -19,7 +19,7 @@ - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年02月07日 05:19:14(UTC) - マージ日時: 2026年02月07日 16:25:35(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 Helix CI分析スキルの2つの改善を実施しています。1つ目は、サブディレクトリ内のアーティファクト(例:`xharness-output/wasm-console.log`)に対するHelix APIの不正なURI返却に対応する修正です。2つ目は、スキルの適用範囲をCI失敗分析から一般的なCI状態分析へ拡大し、ビルド完全成功時や未実行時の情報も正確に表示するようになりました。 @@ -42,7 +42,7 @@ dotnet/dnceng#6072(Helix APIのサブディレクトリファイルURI不正 - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年02月07日 00:26:18(UTC) - マージ日時: 2026年02月07日 20:07:59(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssemblyのJIT (Ryujit)コンパイル時に、スタックポインタ (SP)ローカル変数が後から参照される場合(例:throw helper内)に、未使用と判定されてしまう問題を修正します。スタックポインタローカル変数を暗黙的に参照されるものとしてマークすることで、適切に保持されるようになります。 @@ -69,7 +69,7 @@ WebAssemblyのJIT (Ryujit)コンパイル時に、スタックポインタ (SP) - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年02月06日 23:40:38(UTC) - マージ日時: 2026年02月07日 19:16:28(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly(Wasm)RyuJit コンパイラにおいて、Write Barrier ヘルパー呼び出しのコード生成実装と、ヘルパー関数への直接呼び出しをサポートするための改善です。ダンプおよび逆アセンブリ出力に呼び出し対象の記号名を付与し、デバッグ時の可視性を向上させています。 @@ -95,7 +95,7 @@ WebAssembly(Wasm)RyuJit コンパイラにおいて、Write Barrier ヘル - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年02月06日 22:15:53(UTC) - マージ日時: 2026年02月07日 03:37:06(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 dotnet/runtime リポジトリに VMR(Vendor Managed Repository)コードフローの健全性を自動分析する新しい Copilot Agent Skill を追加します。このスキルは、バックフロー(VMR → 製品リポ)とフォワードフロー(製品リポ → VMR)の両方に対応し、PR メタデータの解析、スナップショットの検証、鮮度チェック、競合検出、修正トレースなどを実行して、推奨アクション(force trigger、close/reopen など)と実行可能な darc コマンドを提供します。 @@ -126,7 +126,7 @@ dotnet/runtime リポジトリに VMR(Vendor Managed Repository)コードフ - 作成者: [@AaronRobinsonMSFT](https://github.com/AaronRobinsonMSFT) - 作成日時: 2026年02月06日 21:38:58(UTC) - マージ日時: 2026年02月07日 01:27:39(UTC) -- ラベル: area-ILTools-coreclr +- ラベル: area-ILTools-coreclr #### 概要 ildasm(IL Disassembler)ツール内の文字列処理の問題を修正しました。PR #78894で導入されたバグを解決するもので、mdinfo.cpp内の1行を修正しています。 @@ -148,7 +148,7 @@ ildasm(IL Disassembler)ツール内の文字列処理の問題を修正し - 作成者: [@gewarren](https://github.com/gewarren) - 作成日時: 2026年02月06日 19:36:56(UTC) - マージ日時: 2026年02月07日 00:44:37(UTC) -- ラベル: linkable-framework area-Tools-ILLink +- ラベル: linkable-framework area-Tools-ILLink #### 概要 ILLink trim analysis ソースコード内の XML ドキュメンテーション コメントの不正な形式を修正し、XML ドキュメント出力を有効にしたビルドが失敗しないようにしました。主な修正は、`Nullable` テキストを `Nullable{T}` にエスケープし、`` エントリを `` ブロックで適切にラップすることです。 @@ -173,7 +173,7 @@ ILLink trim analysis ソースコード内の XML ドキュメンテーション - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年02月06日 18:31:55(UTC) - マージ日時: 2026年02月07日 17:42:57(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 このPRは、dotnet/dotnetリポジトリから dotnet/runtime への自動コードフロー更新です。.NET 11.0 Preview 1リリース用に、複数の依存関係パッケージをビルド2895914(2026年2月5日)の最新版に更新しています。主な更新対象はRoslyn、Arcade、MSBuild、NuGetなどの重要なビルドツールセットです。 @@ -205,7 +205,7 @@ ILLink trim analysis ソースコード内の XML ドキュメンテーション - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月06日 13:11:44(UTC) - マージ日時: 2026年02月07日 01:36:48(UTC) -- ラベル: area-PAL-coreclr +- ラベル: area-PAL-coreclr #### 概要 .NET 10 Linuxで`Task.Delay`がシステム時刻が逆方向にジャンプした時にフリーズする回帰バグを修正するPRです。CMakeはモノトニッククロック(CLOCK_MONOTONIC)サポートを検出していましたが、その結果が`config.h`に反映されず、ランタイムが壁時計時刻(CLOCK_REALTIME)にフォールバックしていたのが原因です。 @@ -237,7 +237,7 @@ ILLink trim analysis ソースコード内の XML ドキュメンテーション - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年02月06日 08:46:17(UTC) - マージ日時: 2026年02月07日 01:55:21(UTC) -- ラベル: os-ios area-CodeGen-Interpreter-coreclr runtime-async +- ラベル: os-ios area-CodeGen-Interpreter-coreclr runtime-async #### 概要 Apple mobile(iOS/tvOS)プラットフォームでランタイムの非同期機能を無効化するPRです。Issue #124044で報告された問題に対応し、Apple mobile環境での非同期機能の実行を制限します。 @@ -260,7 +260,7 @@ Apple mobile環境での非同期操作が無効化されるため、該当プ - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年02月06日 02:21:22(UTC) - マージ日時: 2026年02月07日 17:19:12(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT コンパイラの境界チェック最適化において、`O1K_BOUND_OPER_BND` と `O1K_BOUND_LOOP_BND` を削除し、統一された境界アサーション形式を導入しました。すべての境界関連アサーションが `O1K_VN -- OAK_ -- O2K_CHECKED_BOUND_ADD_CNS` という単一形式に統一され、`x < len` と `x < (len - 10)` のような異なるパターンを均一に扱えるようになりました。 @@ -287,7 +287,7 @@ Issue #124065(このタイトルから推測) - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月06日 00:25:35(UTC) - マージ日時: 2026年02月07日 00:42:11(UTC) -- ラベル: area-TypeSystem-coreclr runtime-async +- ラベル: area-TypeSystem-coreclr runtime-async #### 概要 async Task がTask をオーバーライドする際に発生する`TypeLoadException`を修正します。ランタイムが生成する非同期バリアント メソッド(アンラップされた戻り値型)が共変戻り値型の検証に不正に含まれていたことが原因です。 @@ -328,7 +328,7 @@ public class Derived : Base { - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年02月05日 02:11:59(UTC) - マージ日時: 2026年02月07日 16:03:35(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly(Wasm)のコール処理に関連した複数のコンパイラバグ修正を行うPull Requestです。境界チェック(GT_BOUNDS_CHECK)と生存期間管理(GT_KEEPALIVE)のコード生成修正、ヘルパー呼び出しの実装、デリゲート呼び出しのローリング処理の修正、配列アドレス最適化のarity検証修正、および値の番号付け(VN)でのヘルパー呼び出しarity問題の修正が含まれています。 @@ -354,7 +354,7 @@ WebAssembly(Wasm)のコール処理に関連した複数のコンパイラバグ - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年02月05日 01:02:18(UTC) - マージ日時: 2026年02月07日 00:00:33(UTC) -- ラベル: Servicing-approved needs-area-label +- ラベル: Servicing-approved needs-area-label #### 概要 ReadyToRun メソッドのブレークポイント設定時にデバッガーがハングする競合状態を修正しました。複数スレッドがほぼ同時に実行される場合、デバッドジット情報(DJI)の不要な再検索を避けることで、ランタイムデッドロックを防止します。 @@ -389,7 +389,7 @@ ReadyToRun メソッドのブレークポイント設定時にデバッガーが - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年01月30日 10:42:51(UTC) - マージ日時: 2026年02月07日 02:23:28(UTC) -- ラベル: Servicing-approved needs-area-label +- ラベル: Servicing-approved needs-area-label #### 概要 Mono のスタックウォーク処理でアサーション失敗を修正するバックポート。`mono_jit_info_get_method` がasync signal safe モード中に呼び出されるとアサーション例外が発生していた問題を、async 状態をチェックしてから呼び出すように修正しました。これにより `get_thread_dump` や AOT メソッドでの `mono_handle_native_crash` 時のクラッシュが解消されます。 diff --git a/archives/2026/02/08.md b/archives/2026/02/08.md index 8bfa2a4..956fec1 100644 --- a/archives/2026/02/08.md +++ b/archives/2026/02/08.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#124148 Add a code review skill based on past PR interactions](#124148) 2. [#124146 Add official build freshness check to vmr-codeflow-status skill](#124146) 3. [#124137 \[Wasm RyuJit\] fix local type encoding](#124137) @@ -15,7 +15,7 @@ - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年02月08日 18:58:22(UTC) - マージ日時: 2026年02月08日 19:34:13(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 このPull Requestは、GitHubのCopilot統合に関する設定を更新するもので、過去のPRでのインタラクションに基づいたコードレビュースキルを追加しています。Copilot指示ファイルの更新と、新しいコードレビュースキル定義ファイルの追加が含まれています。 @@ -41,7 +41,7 @@ - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年02月08日 17:57:38(UTC) - マージ日時: 2026年02月08日 20:08:30(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 VMR(Visual Studio Runtime)公式ビルドの鮮度確認機能を追加し、Codeflow状態スキルの診断精度を向上させました。aka.ms経由で最後に成功したビルドのタイムスタンプを取得し、バックフロー停止の真の原因を特定できるようになります。従来の誤解を招く「Maestroが停止している可能性」という警告から、より正確な「アップストリームのビルドが古い」という診断に改善されました。 @@ -65,7 +65,7 @@ bugfix: マージ済みPR選択時に`closedAt`比較を使用することで`gh - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年02月08日 02:37:23(UTC) - マージ日時: 2026年02月08日 21:52:44(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WASM RyuJit コンパイラのローカル型エンコーディングの不具合を修正しました。`WasmValueType` enum の順序と `typecode_mapping` ルックアップテーブルの順序が一致していなかったため、正しい順序に再整列しました。 @@ -87,7 +87,7 @@ WASM バイナリへのコンパイル時にローカル変数の型情報が誤 - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年02月08日 01:07:37(UTC) - マージ日時: 2026年02月08日 02:33:14(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 Azure DevOpsのタイムアウトなどによってキャンセルされたジョブから、Helixのテスト結果を回復する方法をドキュメント化しました。キャンセルされたジョブでもパイプラインアーティファクトに含まれる`SendToHelix.binlog`からHelixジョブIDを抽出し、Helix APIで直接クエリして結果を回復できることを解説しています。 @@ -112,7 +112,7 @@ Azure DevOpsのタイムアウトなどによってキャンセルされたジ - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年02月07日 07:29:33(UTC) - マージ日時: 2026年02月08日 02:44:35(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 dotnet/runtimeのVMRコードフロー状態スクリプトを改善し、`Version.Details.xml`をVMRスナップショットの主要ソースとして使用するようになりました。手動バックフロー(`darc vmr backflow`)時にPRボディメタデータが古くなる問題を解決し、フォワードフロー(product repo → dotnet/dotnet)のスキャン機能も追加されました。 @@ -150,7 +150,7 @@ dotnet/runtimeのVMRコードフロー状態スクリプトを改善し、`Versi - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月07日 05:42:36(UTC) - マージ日時: 2026年02月08日 22:11:20(UTC) -- ラベル: needs-area-label +- ラベル: needs-area-label #### 概要 JIT の範囲分析において、乗算演算が負の値を含む範囲に対して不正な結果を返していた問題を修正しました。例えば `[-100..100] * [0..10]` が `[0..1000]` ではなく正しく `[-1000..1000]` を返すようになります。標準的な区間演算のアプローチを採用し、4つのエンドポイント積すべての最小値・最大値を計算することで解決しています。 @@ -184,7 +184,7 @@ long vr10 = (ushort)s_4 * (sbyte)(-s_4); // キャスト関連の最適化で - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月07日 01:43:06(UTC) - マージ日時: 2026年02月08日 09:06:12(UTC) -- ラベル: area-PAL-coreclr +- ラベル: area-PAL-coreclr #### 概要 `HAVE_CLOCK_MONOTONIC` マクロをすべてのUnix系プラットフォームから削除するリファクタリングです。このマクロはすべてのサポート対象プラットフォームで常に1に定義されているため、マクロ定義とその関連フォールバックコードを完全に削除し、`clock_gettime(CLOCK_MONOTONIC, ...)` の使用を標準化します。 @@ -220,7 +220,7 @@ long vr10 = (ushort)s_4 * (sbyte)(-s_4); // キャスト関連の最適化で - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年02月05日 19:49:10(UTC) - マージ日時: 2026年02月08日 10:10:44(UTC) -- ラベル: Servicing-approved area-Tracing-coreclr +- ラベル: Servicing-approved area-Tracing-coreclr #### 概要 .NET 10のUser_events機能をNativeAOTで動作可能にするため、診断ポート(diagnostic ports)の可用性を通知するための`dotnet_ipc_created`メモリマッピングを追加しました。このマッピングはPROT_NONEパーミッションを持つプライベートマッピングで、One-Collectの`record-trace`ツールがNativeAOTでUser_eventsを有効化できるようになります。 @@ -253,7 +253,7 @@ https://github.com/microsoft/one-collect/issues/226(NativeAOT互換性の議 - 作成者: [@steveisok](https://github.com/steveisok) - 作成日時: 2026年02月05日 13:01:40(UTC) - マージ日時: 2026年02月08日 06:38:12(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 dotnet/runtime のビルドシステムで、macOS と Linux のデフォルトビルドツールを Ninja に変更するPRです。ベンチマーク結果によると、macOS では平均 654 秒から 718 秒への改善により、約 8.8% の高速化が期待されます。ユーザーは `--ninja false` オプションで従来のビルドシステムに戻すことができます。 @@ -279,7 +279,7 @@ https://github.com/dotnet/runtime/issues/54022 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月03日 19:00:51(UTC) - マージ日時: 2026年02月08日 10:47:59(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 Crossgen2がトリミングされたハードウェア拡張機能型を含むプロジェクトをコンパイルする際のTypeLoadException失敗を修正しました。`InstructionSetGenerator`を改修し、型のロック時に`GetType(..., false)`を使用してnullを返すようにし、nullチェックを追加することで、トリミングされた型を適切にスキップできるようになります。 diff --git a/archives/2026/02/09.md b/archives/2026/02/09.md index fd8d77c..44ee9f4 100644 --- a/archives/2026/02/09.md +++ b/archives/2026/02/09.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#124201 Add exception catching comment to code review skill](#124201) 2. [#124199 Use Helix ListFiles endpoint to work around dnceng#6072](#124199) 3. [#124193 ci-analysis: Add Azure CLI guidance for AzDO pipeline investigation](#124193) @@ -33,7 +33,7 @@ - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年02月09日 21:28:22(UTC) - マージ日時: 2026年02月09日 22:04:21(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 コードレビュースキルのガイダンスを更新し、例外を無視する try/catch ブロックに対して懐疑的になるよう明示的に推奨しています。予期しないエラーを隠蔽するのではなく、失敗を表面化させることでレビュー品質を向上させます。 @@ -64,7 +64,7 @@ - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年02月09日 21:25:17(UTC) - マージ日時: 2026年02月09日 23:35:42(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 Helix work item Details APIの2つのバグ(サブディレクトリ内のファイル名が平坦化される、Unicode文字が拒否される)に対処するため、CI分析スキルをListFilesエンドポイント経由で取得するように変更。これにより、完全なサブディレクトリパスを保持し、Unicode文字を含むファイル名に対応したブロブストレージURIが取得できます。 @@ -93,7 +93,7 @@ Helix work item Details APIの2つのバグ(サブディレクトリ内のフ - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年02月09日 18:28:00(UTC) - マージ日時: 2026年02月09日 20:33:20(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 このPRは、AzDO(Azure DevOps)パイプラインの調査に関するドキュメントに、Azure CLIの使用ガイダンスを追加するものです。手動でのREST API構築への依存を減らし、`az` CLIコマンドの活用を推奨しています。主な追加内容は、認証確認、パイプラインクエリ、アーティファクト一覧化、およびREST API フォールバック条件の説明です。 @@ -126,7 +126,7 @@ Helix work item Details APIの2つのバグ(サブディレクトリ内のフ - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年02月09日 16:45:40(UTC) - マージ日時: 2026年02月09日 17:53:48(UTC) -- ラベル: needs-area-label +- ラベル: needs-area-label #### 概要 dotnet/runtimeのコードレビュースキルドキュメントを更新し、レビュー出力の標準化、レビュー前のコンテキスト収集の推奨、複数モデル選択のガイダンスを改善しました。これにより、差分のみのレビューによるエラーを削減し、より効果的なコードレビュープロセスを実現します。 @@ -150,7 +150,7 @@ dotnet/runtimeのコードレビュースキルドキュメントを更新し、 - 作成者: [@akoeplinger](https://github.com/akoeplinger) - 作成日時: 2026年02月09日 15:07:48(UTC) - マージ日時: 2026年02月09日 15:13:39(UTC) -- ラベル: Servicing-approved area-Infrastructure +- ラベル: Servicing-approved area-Infrastructure #### 概要 Azure DevOps パイプライン設定で AZL3(Azure Linux 3)ビルドイメージの識別子を正しい名前に更新しました。公開ビルドプール用と内部ビルドプール用で適切なイメージ名を指定しています。 @@ -174,7 +174,7 @@ Azure DevOps パイプライン設定で AZL3(Azure Linux 3)ビルドイメ - 作成者: [@akoeplinger](https://github.com/akoeplinger) - 作成日時: 2026年02月09日 15:06:43(UTC) - マージ日時: 2026年02月09日 15:12:52(UTC) -- ラベル: Servicing-approved area-Infrastructure +- ラベル: Servicing-approved area-Infrastructure #### 概要 Azure Pipelines設定ファイルにおいて、Azure Linux 3(AZL3)ビルドイメージの正しい識別子を使用するよう修正しました。公開ビルドプール用と内部ビルドプール用の両方のImageOverride設定が更新され、CI/CDパイプラインが正しいビルド環境を参照するようになります。 @@ -199,7 +199,7 @@ Azure Pipelines設定ファイルにおいて、Azure Linux 3(AZL3)ビルド - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年02月09日 12:35:11(UTC) - マージ日時: 2026年02月09日 15:12:29(UTC) -- ラベル: Servicing-approved area-Infrastructure +- ラベル: Servicing-approved area-Infrastructure #### 概要 .NET 10.0のリリースブランチにおいて、AZL3(Azure Linux 3)ビルドイメージの名前を正しく修正するCI設定の変更です。本PR #124170をrelease/10.0ブランチへバックポートしたもので、CI/CDパイプラインのみに影響します。 @@ -223,7 +223,7 @@ Azure Pipelines設定ファイルにおいて、Azure Linux 3(AZL3)ビルド - 作成者: [@akoeplinger](https://github.com/akoeplinger) - 作成日時: 2026年02月09日 12:25:57(UTC) - マージ日時: 2026年02月09日 12:32:34(UTC) -- ラベル: needs-area-label +- ラベル: needs-area-label #### 概要 Azure DevOps のビルドパイプラインで使用されている Azure Linux 3(AZL3)ビルドイメージの識別子を、一時的な識別子から正式な識別子に更新するパッチです。パブリックパイプラインと内部パイプラインの両方で、ジョブが意図された AZL3 エージェントに正しくスケジュールされるようになります。 @@ -248,7 +248,7 @@ Azure DevOps のビルドパイプラインで使用されている Azure Linux - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年02月08日 20:46:03(UTC) - マージ日時: 2026年02月09日 00:25:12(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 CI分析スキルの機能拡張と整理が行われました。ディレクトリ・スクリプト名が`azdo-helix-failures`から`ci-analysis`へリネームされ、より広範なCI分析に対応できるようになりました。SKILL.mdが大幅に改善され、使用パターン、制限事項、決定テーブル、アンチパターンが明確に文書化されました。PowerShell 5.1互換性の改善も実施されています。 @@ -277,7 +277,7 @@ CI分析スキルの機能拡張と整理が行われました。ディレクト - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年02月08日 20:22:48(UTC) - マージ日時: 2026年02月09日 01:18:36(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 vmr-codeflow-status スキルのSKILL.md ドキュメントを改善し、スキル・ビルダーの方法論に基づいてドキュメント構造を最適化しました。スクリプト自体の変更はなく、ドキュメンテーション改善のみです。 @@ -306,7 +306,7 @@ vmr-codeflow-status スキルのSKILL.md ドキュメントを改善し、スキ - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年02月08日 18:30:31(UTC) - マージ日時: 2026年02月09日 15:33:24(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT コンパイラの checked context における冗長なオーバーフロー チェック フラグを最適化する変更です。`GetRangeFromAssertions` を活用して、範囲解析により実行時にオーバーフローが発生しないと判定できる場合、不要なオーバーフロー チェック命令(`jo` とそれに続く `CORINFO_HELP_OVERFLOW` 呼び出し)を削除します。 @@ -345,7 +345,7 @@ int Case1(int[] arr) - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月06日 22:49:39(UTC) - マージ日時: 2026年02月09日 20:41:54(UTC) -- ラベル: area-System.Numerics +- ラベル: area-System.Numerics #### 概要 `TensorPrimitives.Hypot`のXML ドキュメント内にある誤りを修正したPRです。メソッドのリマーク部分で、`T.Hypot(x[i], x[i])`と誤記されていた箇所を、正しい`T.Hypot(x[i], y[i])`に訂正しました。メソッドシグネチャの`(x, y)`という2つのパラメータに対応した正確なドキュメント記述になります。 @@ -370,7 +370,7 @@ int Case1(int[] arr) - 作成者: [@steveisok](https://github.com/steveisok) - 作成日時: 2026年02月06日 20:08:18(UTC) - マージ日時: 2026年02月09日 09:39:35(UTC) -- ラベル: area-PAL-coreclr +- ラベル: area-PAL-coreclr #### 概要 WASM環境でのランタイム初期化失敗を修正するPRです。WASM環境ではミニダンプがサポートされていないため、`DOTNET_DbgEnableMiniDump=1`の設定時に`PROCAbortInitialize`が`g_szCoreCLRPath`の未設定によって失敗していました。この変更により、WASM上での初期化処理をスキップします。 @@ -395,7 +395,7 @@ WASM環境でのランタイム初期化失敗を修正するPRです。WASM環 - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年02月06日 18:12:27(UTC) - マージ日時: 2026年02月09日 04:45:39(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 `VolatilePtr`が基底クラス`Volatile

`の`operator=`をオーバーライドしていないため、コンパイラが生成する代入演算子がrelease semanticsを伴うメモリバリア(`stlr`)をバイパスして単純なストア(`str`)を実行していた問題を修正します。`using`宣言で基底クラスの`operator=`をスコープに導入し、明示的なコピー代入演算子を追加することで、メモリバリアが確実に実行されるようになります。 @@ -430,7 +430,7 @@ ptr1 = ptr2; // stlr (ARM64) またはVolatileStore()呼び出し - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年02月06日 09:53:53(UTC) - マージ日時: 2026年02月09日 08:31:40(UTC) -- ラベル: area-Diagnostics-coreclr runtime-async +- ラベル: area-Diagnostics-coreclr runtime-async #### 概要 Android プラットフォームでのスタックトレース出力形式の違いに対応するため、`Ctor_Async_TestData` テストを更新しました。Android では、スタックトレースにファイル名と行番号が含まれないため、テスト検証ロジックをプラットフォーム別に分岐させています。 @@ -454,7 +454,7 @@ Android プラットフォームでのスタックトレース出力形式の違 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月06日 09:06:33(UTC) - マージ日時: 2026年02月09日 14:59:52(UTC) -- ラベル: area-Extensions-Logging source-generator +- ラベル: area-Extensions-Logging source-generator #### 概要 `LoggerMessageGenerator`と`JsonSourceGenerator`の増分生成を改善するPRです。両ジェネレータがパイプラインに`Compilation`を渡していたため、任意のコンパイル変更で全体が再実行されていました。本PRでは、属性付き構文ノードの変更時のみ再処理するよう、パイプラインをリファクタリングしています。Roslyn 3.11、4.0、4.4、4.8に対応しています。 @@ -493,7 +493,7 @@ dotnet/runtime#76119、dotnet/runtime#93309 - 作成者: [@prozolic](https://github.com/prozolic) - 作成日時: 2026年02月05日 13:47:49(UTC) - マージ日時: 2026年02月09日 15:47:55(UTC) -- ラベル: area-System.Collections community-contribution +- ラベル: area-System.Collections community-contribution #### 概要 ImmutableArrayの範囲検証でInteger Overflowが発生していた問題を修正。`start + length`の加算時にオーバーフローが発生すると、負の値になり検証をすり抜けて、配列割り当て時にOutOfMemoryExceptionが発生していました。例えば、`start=1, length=int.MaxValue`の場合にオーバーフローが発生します。 @@ -515,7 +515,7 @@ ImmutableArrayの範囲検証でInteger Overflowが発生していた問題を - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年02月05日 08:56:48(UTC) - マージ日時: 2026年02月09日 10:55:34(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 iOS ARM64 プラットフォームビルドの一時的な無効化を取り消すリバートPRです。PR #123985で無効化されたiOS ARM64ビルドを再度有効化し、Mono、CoreCLR、Native AOTランタイムフレーバー全体でのiOS ARM64ビルドを復活させます。これにより、メインランタイムパイプラインと追加プラットフォームパイプラインの両方でiOS ARM64ビルドが実行されるようになります。 @@ -548,7 +548,7 @@ iOS ARM64 プラットフォームビルドの一時的な無効化を取り消 - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年02月04日 12:39:15(UTC) - マージ日時: 2026年02月09日 11:32:00(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITのliveness計算ロジックを改善し、アドレス公開ローカル変数のliveness情報をasync中断ポイント(suspension points)で正確に計算するよう修正しました。ローカル変数のアドレスはasync中断ポイントを跨いで取得されないため、より正確なliveness情報が得られます。 @@ -575,7 +575,7 @@ JITのliveness計算ロジックを改善し、アドレス公開ローカル変 - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年02月04日 11:53:25(UTC) - マージ日時: 2026年02月09日 13:27:57(UTC) -- ラベル: os-android area-Infrastructure os-ios +- ラベル: os-android area-Infrastructure os-ios #### 概要 extra-platformsパイプラインでのモバイルビルドおよびテスト失敗を修正するPRです。`ZipMergedPayloadDirectory`ターゲットが削除されたターゲットを参照していた問題を解決し、Native AOT モバイルテスト用のマーカーを追加、Androidの共有ライブラリテストを除外、Apple モバイルの不安定なソケットテストを無効化しました。 @@ -611,7 +611,7 @@ extra-platformsパイプラインでのモバイルビルドおよびテスト - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年02月04日 00:53:34(UTC) - マージ日時: 2026年02月09日 10:59:12(UTC) -- ラベル: arch-wasm area-Diagnostics-mono os-browser +- ラベル: arch-wasm area-Diagnostics-mono os-browser #### 概要 WebAssembly(WASM)環境でのEventPipeDiagnosticsテストのタイミングに関する問題を修正。主な修正は、Playwrightが非同期操作を待つことでEventPipeをブロックしていた問題を解決し、テストの安定性を向上させています。また、テストコードの可読性向上とサンプリング期間の延長(2秒→5秒)が含まれています。 @@ -636,7 +636,7 @@ Issue #123977 - 作成者: [@agocke](https://github.com/agocke) - 作成日時: 2026年02月03日 21:34:10(UTC) - マージ日時: 2026年02月09日 18:29:12(UTC) -- ラベル: area-GC-coreclr +- ラベル: area-GC-coreclr #### 概要 PR #112403で導入されたGC(ガベージコレクション)のピン昇格/降格処理の最適化が一部シナリオでハング(無応答)を引き起こすため、その変更を完全に戻すリバートPRです。ピン昇格決定ロジックをシンプルなインライン実装に戻し、抽出されたヘルパー関数を削除することで安定性を優先します。高ピン処理シナリオではパフォーマンス低下の可能性があります。 @@ -667,7 +667,7 @@ PR #112403で導入されたGC(ガベージコレクション)のピン昇 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月03日 19:11:07(UTC) - マージ日時: 2026年02月09日 17:29:43(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 WebAssembly JIT コンパイラが WASM ネイティブ型のタイプシンボルハンドルを取得するための新しい JIT-EE インターフェース API `getWasmTypeSymbol` を追加します。この PR は完全なクロスレイヤプランビングを提供する**インフラストラクチャ変更**で、実装は `UNREACHABLE()` や `NotImplementedException` などのプレースホルダスタブで遅延されています。 @@ -705,7 +705,7 @@ CORINFO_WASM_TYPE_SYMBOL_HANDLE getWasmTypeSymbol(CorInfoType* types) - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年02月03日 16:31:38(UTC) - マージ日時: 2026年02月09日 10:52:34(UTC) -- ラベル: arch-wasm area-Infrastructure os-browser +- ラベル: arch-wasm area-Infrastructure os-browser #### 概要 Emscripten SDK (emsdk) の取得機能を coreCLR の WebAssembly ビルド環境に統合するための変更です。新しく `AcquireEmscriptenSdk.proj` と `AcquireEmscriptenSdk.targets` を追加し、ビルドプロセス内での emsdk 自動取得を実現します。これにより、WebAssembly コンパイル時の依存関係管理が改善されます。 @@ -730,7 +730,7 @@ Issue #123682 に対応 - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年01月30日 20:52:52(UTC) - マージ日時: 2026年02月09日 12:38:53(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 CLRインタープリターにおける仮想/インターフェースメソッドディスパッチのキャッシング機構を実装しました。`InterpDispatchCache`という簡易ハッシュテーブルを導入し、DispatchToken + target MTからターゲットメソッドへのマッピングをキャッシュします。VSDの`DispatchCache`と同様の設計で、衝突時は新しいエントリで置き換えられ、置き換えられたエントリはGC時に解放されます。この実装により、マイクロベンチマークで**4倍の高速化**を実現しています。 @@ -761,7 +761,7 @@ CLRインタープリターにおける仮想/インターフェースメソッ - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年01月24日 15:05:25(UTC) - マージ日時: 2026年02月09日 18:33:12(UTC) -- ラベル: area-System.Runtime community-contribution +- ラベル: area-System.Runtime community-contribution #### 概要 libsネイティブレイヤーのCMakeビルド設定とPAL(Platform Abstraction Layer)定義を修正するPull Requestです。`pal_config.h.in`から不要な定義を削除し、`configure.cmake`に新しい定義を追加、`pal_time.c`のコンパイルエラーを修正しています。 @@ -784,7 +784,7 @@ libsネイティブレイヤーのCMakeビルド設定とPAL(Platform Abstract - 作成者: [@kasperk81](https://github.com/kasperk81) - 作成日時: 2026年01月20日 21:50:29(UTC) - マージ日時: 2026年02月09日 17:23:38(UTC) -- ラベル: community-contribution area-System.Formats.Tar +- ラベル: community-contribution area-System.Formats.Tar #### 概要 `TarFile.CreateFromDirectory` メソッドに `TarEntryFormat` パラメータを指定できる4つの新しいオーバーロードを追加しました。これまではPAX形式のみでしたが、V7、Ustar、Pax、Gnuの4つの形式に対応します。既存メソッドは新しいオーバーロードにデリゲートし、デフォルト形式としてPAXを使用します。 @@ -826,7 +826,7 @@ public static Task CreateFromDirectoryAsync( - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年01月20日 13:50:41(UTC) - マージ日時: 2026年02月09日 18:50:00(UTC) -- ラベル: Servicing-approved linkable-framework area-codeflow +- ラベル: Servicing-approved linkable-framework area-codeflow #### 概要 release/9.0ブランチからrelease/9.0-stagingブランチへの自動マージPRです。dotnet-maestro[bot]、jeffhandley、vseanreesermstftによるコミットが含まれています。ビルド依存関係のバージョン更新とNuGetの設定変更が含まれています。 diff --git a/archives/2026/02/10.md b/archives/2026/02/10.md index 6467ceb..49f286b 100644 --- a/archives/2026/02/10.md +++ b/archives/2026/02/10.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#124237 Merging internal commits for release/8.0](#124237) 2. [#124236 Merging internal commits for release/9.0](#124236) 3. [#124229 Further improvements to code-review skill](#124229) @@ -30,7 +30,7 @@ - 作成者: [@vseanreesermsft](https://github.com/vseanreesermsft) - 作成日時: 2026年02月10日 19:01:13(UTC) - マージ日時: 2026年02月10日 22:10:12(UTC) -- ラベル: Servicing-approved area-System.Security +- ラベル: Servicing-approved area-System.Security #### 概要 このPRは、.NET 8.0リリースに向けたCOSE(Cryptographic Object Signing and Encryption)実装の改善をマージしています。主な改善点は、不定長CBORマップのデコード対応と、クリティカルヘッダー検証の強化です。特に、不定長配列の処理改善と空のクリティカル配列の拒否処理が追加されています。 @@ -57,7 +57,7 @@ - 作成者: [@vseanreesermsft](https://github.com/vseanreesermsft) - 作成日時: 2026年02月10日 18:48:54(UTC) - マージ日時: 2026年02月10日 22:10:32(UTC) -- ラベル: Servicing-approved area-System.Security +- ラベル: Servicing-approved area-System.Security #### 概要 COSE(CBOR Object Signing and Encryption)メッセージのデコーディングおよび署名動作を更新し、不定長CBOR コンテナをサポート、および`crit`(Critical Headers)ヘッダーの検証エラーを`CryptographicException`で明確に表面化しました。定長・不定長両方のエンコーディング方式に対応したテストも追加されています。 @@ -88,7 +88,7 @@ COSE(CBOR Object Signing and Encryption)メッセージのデコーディン - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年02月10日 16:10:49(UTC) - マージ日時: 2026年02月10日 17:42:33(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 dotnet/runtimeのコードレビュープロセスを改善するPRです。AIレビュアーが、PR/Issueのコメントに左右されないよう、コード自体から独立した意見を先に形成してから判断するプロンプトに変更しました。また、レビュー結果に「Needs Human Review」オプションを明示的に追加し、より懐疑的で厳密なレビューを促進します。 @@ -117,7 +117,7 @@ Copilotレビューから、テンプレートの一貫性に関する指摘あ - 作成者: [@a74nh](https://github.com/a74nh) - 作成日時: 2026年02月10日 14:55:03(UTC) - マージ日時: 2026年02月10日 18:29:41(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 Arm64 SVE(Scalable Vector Extension)のマスクテスト失敗を修正するPull Requestです。float/double型のマスク値をビットパターンとして扱うことで、reinterpret/bitcast操作時の正確なマスク処理を実現しています。 @@ -143,7 +143,7 @@ Arm64 SVE(Scalable Vector Extension)のマスクテスト失敗を修正す - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年02月09日 17:48:32(UTC) - マージ日時: 2026年02月10日 19:11:05(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 WebAssembly (Wasm) ターゲット向けの JIT コンパイラにおいて、オペランド評価順序のヒューリスティクスを調整しました。通常の評価順序を優先し、`GT_REVERSE_OPS` フラグの使用を抑制します。リロップ(演算子の変更で実現)と可換操作(オペランドの交換で実現)の場合のみ、反転が可能です。 @@ -168,7 +168,7 @@ Wasm ターゲットのコード生成品質を改善する可能性がありま - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年02月09日 16:47:33(UTC) - マージ日時: 2026年02月10日 22:22:49(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイラがawaitを含まない非同期メソッドのインライン化を可能にするPRです。awaitが存在しない非同期メソッドはアロケーション不要で比較的シンプルなため、これらのメソッドのインライン化により呼び出しオーバーヘッドを削減できます。 @@ -200,7 +200,7 @@ public async Task GetValueAsync() - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月09日 15:18:20(UTC) - マージ日時: 2026年02月10日 16:52:58(UTC) -- ラベル: area-System.Numerics.Tensors +- ラベル: area-System.Numerics.Tensors #### 概要 `Tensor.Reverse`がlength-1次元(stride 0)を持つテンソルに対して不正な結果を返す問題を修正します。例えば、形状`[1, 3]`のテンソル`[1, 2, 3]`を反転すると、期待値は`[3, 2, 1]`ですが、修正前は`[0, 2, 1]`となっていました。 @@ -242,7 +242,7 @@ var reversed = Tensor.Reverse(tensor); - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年02月09日 14:16:40(UTC) - マージ日時: 2026年02月10日 22:21:47(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 AsyncSuspend組み込み関数の使用時に、`GT_RETURN_SUSPEND`ノードが`BBJ_RETURN`ブロック以外に存在する可能性がある問題に対応しました。ELTプロファイラーフックによるリターンマージにより発生するこの状況に対し、lowering処理を拡張して`GT_RETURN_SUSPEND`を含むブロックを`BBJ_RETURN`ブロックに変換します。 @@ -266,7 +266,7 @@ ELTプロファイラーフックによるリターンマージが行われた - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年02月09日 12:58:14(UTC) - マージ日時: 2026年02月10日 12:14:17(UTC) -- ラベル: Servicing-approved area-ExceptionHandling-coreclr +- ラベル: Servicing-approved area-ExceptionHandling-coreclr #### 概要 .NET 9で導入された新しい例外処理(EH)メカニズムで、プロファイラーの例外処理コールバック(`ExceptionSearchFunctionEnter/Leave`、`ExceptionUnwindFunctionEnter/Leave`)がfunclet(catch/finallyブロック)に対して誤って複数回呼び出される回帰バグを修正しました。ネストされたfinallyブロックがある場合、同一メソッドに対して複数回のコールバックが発火し、プロファイラーの実装によっては クラッシュやmisbehaviorが発生する可能性があります。 @@ -292,7 +292,7 @@ ELTプロファイラーフックによるリターンマージが行われた - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年02月08日 02:38:01(UTC) - マージ日時: 2026年02月10日 19:11:15(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly向けのRyuJIT コンパイラにbitcast操作のコード生成サポートを追加しました。bitcast命令は型を変更せずにバイナリ表現を別の型として解釈する操作で、浮動小数点数と整数の間の変換などで使用されます。 @@ -314,7 +314,7 @@ WebAssembly向けのRyuJIT コンパイラにbitcast操作のコード生成サ - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年02月06日 22:27:34(UTC) - マージ日時: 2026年02月10日 00:20:34(UTC) -- ラベル: Servicing-approved area-VM-coreclr +- ラベル: Servicing-approved area-VM-coreclr #### 概要 メモリ順序付けに関する問題を修正したバックポート。TypeDefテーブルとMethodDef/FieldDefトークンマップテーブル間の読み込み順序が保証されておらず、特にArm64などの弱メモリ順序付けCPUで、実行時に予期しない読み込み順序が発生し、クラッシュを引き起こしていました。`VolatileLoad`を使用することで適切なメモリバリアを確保します。 @@ -347,7 +347,7 @@ VolatileLoad(); - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年02月06日 12:31:49(UTC) - マージ日時: 2026年02月10日 22:20:33(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 MachO形式のバイナリにおいて、adrp/addおよびbranch命令の再配置(relocation)処理を修正しました。これらの命令は埋め込み加数(embedded addend)を持つことができないため、代わりに追加の再配置エントリを使用する必要があります。オブジェクトライターはすでにこうしたエントリの作成方法を知っていましたが、一部のケースで命令に埋め込み加数が残されていた問題を解決します。 @@ -371,7 +371,7 @@ MachO形式のバイナリにおいて、adrp/addおよびbranch命令の再配 - 作成者: [@hoyosjs](https://github.com/hoyosjs) - 作成日時: 2026年02月06日 05:14:34(UTC) - マージ日時: 2026年02月10日 19:06:09(UTC) -- ラベル: Servicing-approved area-VM-coreclr +- ラベル: Servicing-approved area-VM-coreclr #### 概要 `VolatilePtr` テンプレートクラスのメモリバリア欠落バグを修正。基底クラス `Volatile

` の `operator=` が release semantics を提供していたが、コンパイラ生成の代入演算子がこれを隠蔽し、メモリバリアなしの通常のストアを実行していました。Roslyn言語サーバーで非決定的なロックフリーレースによるクラッシュが発生していたため、`using` 宣言と明示的なコピー代入演算子を追加して修正します。 @@ -406,7 +406,7 @@ class VolatilePtr : public Volatile

- 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月05日 18:29:22(UTC) - マージ日時: 2026年02月10日 00:37:47(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 CoreCLR起動初期にPerfMapEnable IPC コマンドが到達した際のクラッシュを修正します。起動中の早い段階で`GetAppDomain()`や`ExecutionManager::GetEEJitManager()`がNULLである場合、`PerfMap::Enable(sendExisting=true)`がクラッシュしていました。初期化完了を示すフラグを追加し、sendExisting処理の依存関係が準備できるまで当該処理をスキップする対応です。 @@ -430,7 +430,7 @@ CoreCLR起動初期にPerfMapEnable IPC コマンドが到達した際のクラ - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年02月05日 15:40:44(UTC) - マージ日時: 2026年02月10日 13:47:22(UTC) -- ラベル: Servicing-approved area-Codegen-AOT-mono +- ラベル: Servicing-approved area-Codegen-AOT-mono #### 概要 Mono AOTランタイムで、`mono_aot_get_class_from_name`関数においてaotテーブルサイズが0の場合にロックが解放されない問題を修正しました。この修正により、65,000を超えるタイプを含むAOTコンパイル済みアセンブリを持つMaui Androidアプリケーションのデッドロック問題が解決されます。 @@ -459,7 +459,7 @@ Mono AOTランタイムで、`mono_aot_get_class_from_name`関数においてaot - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月04日 09:27:16(UTC) - マージ日時: 2026年02月10日 18:09:07(UTC) -- ラベル: area-System.Net.Security +- ラベル: area-System.Net.Security #### 概要 macOSのSecure Transportで、リモート側が`close_notify`を送信した後にSslStreamへの書き込みが`Debug.Fail`(デバッグビルド)または誤解を招く「Bad address」エラー(リリースビルド)を発生させる問題を修正します。原因は`EncryptMessage`が`SSLWrite`からの`PAL_TlsIo.ClosedGracefully`ステータスを処理していなかったためです。 @@ -483,7 +483,7 @@ dotnet/runtime#121272 - 作成者: [@MihaZupan](https://github.com/MihaZupan) - 作成日時: 2026年02月03日 05:33:55(UTC) - マージ日時: 2026年02月10日 16:41:50(UTC) -- ラベル: area-System.Net +- ラベル: area-System.Net #### 概要 カスタム `UriParser` を使用する場合、`UriKind.Relative` が要求されても絶対 Uri が返される可能性があるエッジケースを修正しました。この問題はカスタム パーサーが `base.InitializeAndValidate()` の検証エラーをクリアした際に発生していました。修正は `else if (uriKind == UriKind.Relative)` を `if` に変更するだけの単純な制御フロー調整です。 @@ -508,7 +508,7 @@ dotnet/runtime#121272 - 作成者: [@tommcdon](https://github.com/tommcdon) - 作成日時: 2026年02月03日 04:52:22(UTC) - マージ日時: 2026年02月10日 19:32:10(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 デバッガがモジュールをアンロードする際に、ハッシュテーブルから正しく削除されていなかった問題を修正します。この不具合により、モジュールの再読み込み時にキャッシュが誤って使用され、デバッガの状態管理が不正になっていました。 @@ -530,7 +530,7 @@ dotnet/runtime#121272 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月30日 18:38:35(UTC) - マージ日時: 2026年02月10日 16:17:02(UTC) -- ラベル: area-System.Collections +- ラベル: area-System.Collections #### 概要 `ArrayList.IListWrapper.BinarySearch`の整数オーバーフロー脆弱性を修正しました。midpoint計算を`mid = (lo + hi) / 2`から`mid = lo + ((hi - lo) >> 1)`に変更し、大規模配列検索時のオーバーフロー問題を解決します。併せてテストカバレッジを大幅に拡張しました。 @@ -569,7 +569,7 @@ int mid = lo + ((hi - lo) >> 1); - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月29日 18:17:55(UTC) - マージ日時: 2026年02月10日 10:36:47(UTC) -- ラベル: area-System.Net +- ラベル: area-System.Net #### 概要 System.Runtime/testsに分散していたUri関連テストを、System.Private.Uri/tests/FunctionalTestsに統合するテスト構成の整理です。ExtendedFunctionalTestsプロジェクトを削除し、重複するテストを排除しながら、15,221個のテストすべてが確認されています。 @@ -596,7 +596,7 @@ System.Runtime/testsに分散していたUri関連テストを、System.Private. - 作成者: [@wfurt](https://github.com/wfurt) - 作成日時: 2026年01月28日 07:26:27(UTC) - マージ日時: 2026年02月10日 10:08:48(UTC) -- ラベル: area-System.Net test-enhancement +- ラベル: area-System.Net test-enhancement #### 概要 EnterpriseTests用のコンテナイメージをUbuntu 18.04から24.04へアップデートします。Ubuntu 24.04では`libapache2-mod-auth-kerb`と`libapache2-mod-auth-ntlm-winbind`が廃止されたため、Kerberosモジュールを`libapache2-mod-auth-gssapi`に置き換え、NTLM Winbindモジュールはソースからビルドして対応します。また、FTP TLS対応をProftpdの設定で追加します。 @@ -623,7 +623,7 @@ https://github.com/dotnet/runtime/issues/123135 (FTP TLS対応の準備) - 作成者: [@kasperk81](https://github.com/kasperk81) - 作成日時: 2026年01月25日 14:15:54(UTC) - マージ日時: 2026年02月10日 14:17:20(UTC) -- ラベル: area-System.Numerics community-contribution +- ラベル: area-System.Numerics community-contribution #### 概要 Vector2/Vector3の`EqualsAny`メソッドの不具合を修正するPull Requestです。Issue #123586で報告された問題を解決し、これらのメソッドが正しく動作するようになります。テストケースも追加されており、Vector2で84行、Vector3で91行の新しいテストが含まれています。 @@ -647,7 +647,7 @@ Vector2/Vector3の`EqualsAny`メソッドの不具合を修正するPull Request - 作成者: [@ptarjan](https://github.com/ptarjan) - 作成日時: 2026年01月18日 17:03:40(UTC) - マージ日時: 2026年02月10日 16:52:51(UTC) -- ラベル: area-System.Net.Http community-contribution +- ラベル: area-System.Net.Http community-contribution #### 概要 プロキシ認証が必要な場合、407レスポンスを待たずに初回リクエストで`Proxy-Authorization`ヘッダを先制的に送信するように修正しました。特に認証なしの接続を拒否するプロキシやHTTPS CONNECTトンネル、環境変数で指定された認証情報付きプロキシに対応します。 @@ -683,7 +683,7 @@ var handler = new SocketsHttpHandler - 作成者: [@dependabot[bot]](https://github.com/apps/dependabot) - 作成日時: 2025年12月26日 21:10:05(UTC) - マージ日時: 2026年02月10日 19:03:11(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 GitHub Actions の `actions/upload-artifact` を v5 から v6 へアップグレードしました。v6 は Node.js 24 をデフォルトランタイムとしており、Actions Runner の最小バージョン要件が 2.327.1 以上になります。セルフホストランナーを使用している場合は、アップグレード前に更新が必要です。 @@ -712,7 +712,7 @@ GitHub Actions の `actions/upload-artifact` を v5 から v6 へアップグレ - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2025年12月05日 09:02:35(UTC) - マージ日時: 2026年02月10日 16:23:18(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 release/8.0ブランチからrelease/8.0-stagingブランチへの自動マージPRです。GitHub Actionsによって自動生成され、複数のコミッター(github-actions[bot]、mmitche、dotnet-maestro[bot])による変更を同期します。主にバージョン情報、ビルド設定、NuGetパッケージ構成の更新が含まれています。 diff --git a/archives/2026/02/11.md b/archives/2026/02/11.md index d7b770b..941f52f 100644 --- a/archives/2026/02/11.md +++ b/archives/2026/02/11.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#124288 Fix browser-wasm test restore NU1102 failures](#124288) 2. [#124280 Fix missing early returns in TensorPrimitives.Round.cs](#124280) 3. [#124277 Add guideline for preferring \[Theory\] over multiple \[Fact\]s](#124277) @@ -36,7 +36,7 @@ - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年02月11日 18:47:55(UTC) - マージ日時: 2026年02月11日 20:04:15(UTC) -- ラベル: NO-MERGE area-skills +- ラベル: NO-MERGE area-skills #### 概要 browser-wasm テストの復元時に NU1102 エラー(パッケージが見つからない)が発生していた問題を修正しました。`UseMonoRuntime` が削除されたことで、SDK が存在しないランタイムパックをNuGetから取得しようとしていました。修正では、テスト依存プロジェクトの復元時に `EnableRuntimePackDownload=false` と `EnableTargetingPackDownload=false` を無条件に渡し、ローカルビルドから提供されるパックを使用するようにしました。 @@ -59,7 +59,7 @@ browser-wasm テストの復元時に NU1102 エラー(パッケージが見 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月11日 16:14:19(UTC) - マージ日時: 2026年02月11日 22:05:14(UTC) -- ラベル: area-System.Numerics tenet-performance +- ラベル: area-System.Numerics tenet-performance #### 概要 `TensorPrimitives.Round(ReadOnlySpan, int, MidpointRounding, Span)` メソッドで `digits == 0` の早期終了後に `return` ステートメントが欠落していたため、丸め処理が2回実行される制御フロー上のバグを修正しました。また、`AwayFromZero` switch ケースの `break` を `return` に変更し、他のケースとの一貫性を確保しました。 @@ -94,7 +94,7 @@ if (digits == 0) - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月11日 15:12:01(UTC) - マージ日時: 2026年02月11日 15:41:09(UTC) -- ラベル: needs-area-label +- ラベル: needs-area-label #### 概要 Copilot coding agentの指示を更新し、重複したテストメソッドよりもパラメータ化されたテストの使用を推奨するようにしました。xUnitの`[Theory]`属性と`[InlineData]`または`[MemberData]`を組み合わせて、複数の類似した`[Fact]`メソッドを1つの汎用テストメソッドに統合することを推奨しています。 @@ -121,7 +121,7 @@ Copilot coding agentの指示を更新し、重複したテストメソッドよ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月11日 14:22:14(UTC) - マージ日時: 2026年02月11日 14:48:39(UTC) -- ラベル: needs-area-label +- ラベル: needs-area-label #### 概要 Markdownのlintルール設定を改善し、`System.Private.Uri/docs`内のThreat modelファイルで使用されている標準的なMarkdown構文(2つのトレーリングスペースでのハードラインブレイク)を正式に認識するようにしました。ファイル全体を抑制するのではなく、ルール設定で適切に対応することで、lintの精度を向上させています。 @@ -144,7 +144,7 @@ Markdownのlintルール設定を改善し、`System.Private.Uri/docs`内のThre - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月11日 13:11:20(UTC) - マージ日時: 2026年02月11日 23:38:08(UTC) -- ラベル: needs-area-label +- ラベル: needs-area-label #### 概要 ProcessRunnerの標準出力・標準エラー出力ハンドラが共有の`StringBuilder`に対して非同期に追記する際の同期化漏れにより、内部状態が破損し`StringBuilder.ExpandByABlock`のアサーション失敗`minBlockCharCount > 0`が発生していた問題を修正します。両イベントハンドラの`AppendLine`呼び出しを`_outputCapture`オブジェクトでロックすることで競合を排除します。 @@ -185,7 +185,7 @@ private void StandardOutputEventHandler(object sender, DataReceivedEventArgs eve - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年02月11日 03:45:24(UTC) - マージ日時: 2026年02月11日 18:22:14(UTC) -- ラベル: area-System.Text.RegularExpressions +- ラベル: area-System.Text.RegularExpressions #### 概要 正規表現エンジンの最適化バグを修正しました。`MakeLoopAtomic`がループをAtomic groupで囲む際、ループ本体内のバックトラッキングを誤って抑制してしまい、不正なマッチ結果を生成していました。修正では、ループ本体にバックトラッキング構文がないことを事前確認してからAtomic化を実行するようにしました。 @@ -217,7 +217,7 @@ if (!CanBeMadeAtomic(loop) || MayContainBacktracking(loop.Child)) - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年02月11日 01:14:50(UTC) - マージ日時: 2026年02月11日 15:05:45(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 PR #123781によるthrow helper blocks生成位置の変更に伴い、liveness情報の更新漏れが発生していました。本PR では、throw helper block生成時に明示的にliveness状態(`bbLiveIn/bbLiveOut`)を正しく設定するようにしました。これにより、遅延生成されたblockでもGC/livenessの正確性が保証されます。 @@ -245,7 +245,7 @@ throw helper blocksが下流フェーズで生成されるようになったた - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月11日 00:19:35(UTC) - マージ日時: 2026年02月11日 23:55:03(UTC) -- ラベル: area-System.Reflection +- ラベル: area-System.Reflection #### 概要 MetadataLoadContextの複数の`Type[]`返却メソッドが、内部実装型の`RoType[]`や`RoModifiedType[]`を返していた問題を修正しました。これにより`AsSpan()`などのモダンSpan APIを使用する際に発生していた`ArrayTypeMismatchException`が解決されます。 @@ -285,7 +285,7 @@ args.AsSpan(); // OK - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年02月10日 23:56:21(UTC) - マージ日時: 2026年02月11日 15:13:30(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 GS(Guard Stack)機能のJIT実装をリファクタリングしました。EnC(Edit and Continue)とWasm環境ではGSが未サポートのため、GSの有効化メカニズムを柔軟にして、オプトアウト理由を記録できるようにしました。また、importer内でlocalloc後のGS要求時にスタック再配置を要求していなかった問題も修正しています。 @@ -311,7 +311,7 @@ GS(Guard Stack)機能のJIT実装をリファクタリングしました。E - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年02月10日 20:36:32(UTC) - マージ日時: 2026年02月11日 16:18:03(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT コンパイラの範囲チェック最適化を改善し、`i + cns < len` パターンの冗長な境界チェックを削除します。条件式で事前に上限チェックが行われている場合、その後のアクセスに対する重複チェックを除去することでコード生成を効率化します。 @@ -346,7 +346,7 @@ if ((uint)(i + 2) < (uint)span.Length) - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年02月10日 19:34:21(UTC) - マージ日時: 2026年02月11日 20:45:22(UTC) -- ラベル: Servicing-approved area-Diagnostics-coreclr +- ラベル: Servicing-approved area-Diagnostics-coreclr #### 概要 .NET 10でアセンブリを複数回アンロードする際にデバッガがクラッシュする問題を修正しました。Visual Studioでコレクション可能なアセンブリをデバッグ中に`HRESULT=0x80131c36`エラーで強制終了する致命的なバグを解決します。デバッガモジュールキャッシュのルックアップキーをアセンブリから正しくモジュールに変更しました。 @@ -374,7 +374,7 @@ if ((uint)(i + 2) < (uint)span.Length) - 作成者: [@jtschuster](https://github.com/jtschuster) - 作成日時: 2026年02月10日 19:29:11(UTC) - マージ日時: 2026年02月11日 23:33:46(UTC) -- ラベル: area-crossgen2-coreclr runtime-async +- ラベル: area-crossgen2-coreclr runtime-async #### 概要 この変更は、Ready-to-Run (R2R) コンパイラにおいて `CorInfoImpl.getAsyncInfo` メソッドで必要とされる参照をモジュールに追加するための機能拡張です。Continuation フィールドアクセス用の `GetHandleForField` メソッドを追加し、非同期情報取得に必要なすべての参照を管理するための `AddNecessaryAsyncReferences` メソッドを実装しています。 @@ -405,7 +405,7 @@ if ((uint)(i + 2) < (uint)span.Length) - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年02月10日 17:10:52(UTC) - マージ日時: 2026年02月11日 16:18:48(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 このPRは、VMR(Virtual Mono Repository)コードフロー状態分析ツール(Copilot CLI skill)を改善するもので、**「現在の状態優先、コメントは履歴」**という設計パターンを採用しています。Maestroコメントを読む前に、PR状態、diff サイズ、force push、タイムラインなどの一次信号から独立した判定を形成し、その後コメントを履歴として参照することで、陳腐化したコメントに基づく誤った判断を防ぎます。 @@ -442,7 +442,7 @@ if ((uint)(i + 2) < (uint)span.Length) - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年02月10日 16:12:28(UTC) - マージ日時: 2026年02月11日 09:54:31(UTC) -- ラベル: documentation os-ios needs-area-label +- ラベル: documentation os-ios needs-area-label #### 概要 CoreCLRをApple モバイルデバイス(iOS)で実行するための公式ドキュメントを更新するPRです。主にiOS向けのビルドおよび実行手順に関するドキュメントを改善し、より正確で実用的な情報を提供することを目的としています。 @@ -470,7 +470,7 @@ CoreCLRをApple モバイルデバイス(iOS)で実行するための公式 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月10日 12:47:34(UTC) - マージ日時: 2026年02月11日 07:12:56(UTC) -- ラベル: arch-wasm area-Infrastructure-mono os-browser +- ラベル: arch-wasm area-Infrastructure-mono os-browser #### 概要 .NET 10→11への移行中に無効化されていた `Wasm.Build.Tests.Blazor.AppsettingsTests.FileInVfs` テストを再度有効化するPRです。リポジトリが.NET 11.0.0への移行を完了したため、バージョン不一致による環境の問題が解決され、テストの再有効化が可能になりました。 @@ -492,7 +492,7 @@ CoreCLRをApple モバイルデバイス(iOS)で実行するための公式 - 作成者: [@mdh1418](https://github.com/mdh1418) - 作成日時: 2026年02月10日 01:42:39(UTC) - マージ日時: 2026年02月11日 13:17:33(UTC) -- ラベル: Servicing-approved area-VM-coreclr +- ラベル: Servicing-approved area-VM-coreclr #### 概要 DiagnosticServerが起動初期段階でPerfMap有効化コマンドを受け取った際のクラッシュを修正するバックポート。PerfMap初期化を早期に移動し、依存関係の準備完了までPerfMap機能の実行を遅延させることで、record-traceなどのツールが即座にPerfMapを有効化する場合でも安全に動作するようにします。 @@ -519,7 +519,7 @@ DiagnosticServerが起動初期段階でPerfMap有効化コマンドを受け取 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月09日 21:10:05(UTC) - マージ日時: 2026年02月11日 12:55:55(UTC) -- ラベル: area-System.Net +- ラベル: area-System.Net #### 概要 `Uri`クラスの2つの廃止予定コンストラクタにおいて、誤解を招く廃止メッセージを修正するPRです。メッセージが「`dontEscape`パラメータは常にfalse」と述べていましたが、実際にはこのパラメータは使用され、内部の`UserEscaped`フラグを設定します。誤った説明を削除し、より正確なメッセージに変更されました。 @@ -556,7 +556,7 @@ DiagnosticServerが起動初期段階でPerfMap有効化コマンドを受け取 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月09日 17:04:53(UTC) - マージ日時: 2026年02月11日 08:01:46(UTC) -- ラベル: area-System.Text.Json source-generator +- ラベル: area-System.Text.Json source-generator #### 概要 PR #124077で導入されたSystem.Text.Json ソースジェネレータの変更を部分的に巻き戻すPRです。変更により`KnownTypeSymbols`が`Compilation`ごとにキャッシュされず、`JsonSerializerContext`処理時に毎回新規インスタンスが作成されてしまい、パフォーマンスが低下していました。このPRでは、インクリメンタルパイプラインパターンを復元し、`KnownTypeSymbols`を`Compilation`単位でキャッシュすることでパフォーマンス回帰を解決します。 @@ -604,7 +604,7 @@ contextGenerationSpecs = context.SyntaxProvider - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年02月09日 16:54:10(UTC) - マージ日時: 2026年02月11日 14:11:33(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT(Just-In-Time)コンパイラの最適化により、冗長なchecked文脈をキャスト操作から削除し、より多くの境界チェック最適化を実施するようになりました。事前の境界チェック(例:`if (a > 100)` の後の `checked((byte)a)`)によって安全性が保証される場合、冗長なchecked修飾子を自動的に削除して、不要なチェック処理をスキップします。 @@ -629,7 +629,7 @@ JIT(Just-In-Time)コンパイラの最適化により、冗長なchecked文 - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年02月07日 19:53:18(UTC) - マージ日時: 2026年02月11日 18:41:42(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 このPRは.NET JITコンパイラのアサーション伝播(Assertion Propagation)の最適化に関する2つの改善を実装しています。 @@ -663,7 +663,7 @@ JIT(Just-In-Time)コンパイラの最適化により、冗長なchecked文 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月07日 01:46:57(UTC) - マージ日時: 2026年02月11日 13:15:06(UTC) -- ラベル: Servicing-approved area-System.Threading linkable-framework +- ラベル: Servicing-approved area-System.Threading linkable-framework #### 概要 .NET 10 Linux環境において、システムクロックが後方に調整されたとき、`Task.Delay`などのタイミング操作が無限にハングする回帰バグを修正します。CMakeが単調時計(monotonic clock)のサポートを検出しても、その設定値がPAL config.hヘッダーに伝播されていなかったため、ランタイムが誤って壁時計(CLOCK_REALTIME)にフォールバックしていました。設定ファイルに1行追加することで対応します。 @@ -691,7 +691,7 @@ JIT(Just-In-Time)コンパイラの最適化により、冗長なchecked文 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月06日 08:44:24(UTC) - マージ日時: 2026年02月11日 12:19:23(UTC) -- ラベル: area-Extensions-Logging +- ラベル: area-Extensions-Logging #### 概要 `EventSourceLoggerProvider.CreateLogger()` がインスタンスをキャッシュせず、呼び出しのたびに新しい `EventSourceLogger` を生成する非キャッシング動作を明確に文書化するPRです。この動作は意図的(動的なEventSource/ETW設定変更のため連結リストを維持するため)ですが、Serilogのようにログイベントごとに `CreateLogger()` を呼び出すライブラリを混乱させていました。このPRは動作を変更せず、ドキュメントのみを追加更新します。 @@ -722,7 +722,7 @@ JIT(Just-In-Time)コンパイラの最適化により、冗長なchecked文 - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年02月05日 14:50:49(UTC) - マージ日時: 2026年02月11日 22:27:52(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 このPRはEmscripten SDK関連の依存ファイルをrelease/9.0ブランチで更新するものです。主にEmscriptenワークロード関連パッケージとMonoランタイムツールを複数プラットフォーム(Linux、Windows、macOS)向けに一貫性のある最新ビルドに統一しています。 @@ -760,7 +760,7 @@ JIT(Just-In-Time)コンパイラの最適化により、冗長なchecked文 - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年02月05日 02:03:05(UTC) - マージ日時: 2026年02月11日 22:28:14(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/icu リポジトリの依存パッケージが更新されました。Microsoft.NETCore.Runtime.ICU.Transport が `10.0.0-rtm.26071.1` から `10.0.0-rtm.26104.1` にアップデートされています。この更新は .NET Runtime 10.0 リリースブランチの定期的な依存関係同期の一部です。 @@ -786,7 +786,7 @@ dotnet/icu リポジトリの依存パッケージが更新されました。Mic - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月04日 09:43:00(UTC) - マージ日時: 2026年02月11日 12:29:32(UTC) -- ラベル: area-System.IO.Compression +- ラベル: area-System.IO.Compression #### 概要 `ZipArchiveEntry.ExtractToFile`で`overwrite: true`指定時に抽出失敗(パスワード保護やデータ破損など)すると、宛先ファイルが0バイトに破損する問題を修正しました。修正内容は、既存ファイル上書き時に一時ファイルへ抽出してから、抽出成功後のみ宛先へ移動させる戦略です。 @@ -838,7 +838,7 @@ Fixes #123059(ZipArchiveEntry.ExtractToFileが例外時に宛先ファイル - 作成者: [@huoyaoyuan](https://github.com/huoyaoyuan) - 作成日時: 2026年02月04日 08:29:56(UTC) - マージ日時: 2026年02月11日 18:14:47(UTC) -- ラベル: area-VM-coreclr community-contribution +- ラベル: area-VM-coreclr community-contribution #### 概要 このPRは、COM相互運用性コードの改善の一環として、`comutilnative.cpp`内の非効率な`MethodDescCallSite`の使用を削除しています。関連Issue #123864に貢献するもので、戻り値サポート機能の追加が含まれています。変更により、COM呼び出し機構の実装がより簡潔になり、保守性が向上します。 @@ -864,7 +864,7 @@ Fixes #123059(ZipArchiveEntry.ExtractToFileが例外時に宛先ファイル - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年02月02日 18:31:19(UTC) - マージ日時: 2026年02月11日 14:47:30(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 `LowerCallMemmove`関数のバグ修正です。`CORINFO_HELP_MEMCPY`呼び出しで、memmove セマンティクスを使用すべき場合に正しく処理されていませんでした。修正により、`Unsafe.CopyBlockUnaligned`などのコピー操作で、すべてのデータをレジスタに読み込んでから一度に書き込む、より効率的なコード生成が実現されます。 @@ -900,7 +900,7 @@ static void Test(ref byte a, ref byte b, uint len) - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年02月02日 13:12:19(UTC) - マージ日時: 2026年02月11日 23:15:52(UTC) -- ラベル: Servicing-approved area-Infrastructure +- ラベル: Servicing-approved area-Infrastructure #### 概要 Blazor Wasm テストの `AssetCachingTests` における競合状態の問題を修正したバックポート。テストサーバーからのログ取得時に発生していた競合状態を解決し、テストの安定性を向上させています。修正後の本番ブランチでは 100% の成功率を達成しており、出荷コードへの影響はなくテストコードのみの修正です。 @@ -928,7 +928,7 @@ Blazor Wasm テストの `AssetCachingTests` における競合状態の問題 - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年01月30日 22:51:57(UTC) - マージ日時: 2026年02月11日 23:14:32(UTC) -- ラベル: area-ILTools-coreclr community-contribution +- ラベル: area-ILTools-coreclr community-contribution #### 概要 dotnet/runtimeにマネージドILアセンブラ(ilasm)のCLIプロジェクトが追加されました。既存のILアセンブラ機能を.NET CLIツールとして利用可能にするための実装で、コマンドラインインターフェースの整備とプロジェクト構成の強化が行われています。 @@ -957,7 +957,7 @@ dotnet/runtimeにマネージドILアセンブラ(ilasm)のCLIプロジェ - 作成者: [@bartonjs](https://github.com/bartonjs) - 作成日時: 2026年01月23日 20:14:50(UTC) - マージ日時: 2026年02月11日 05:55:46(UTC) -- ラベル: area-System.Security tenet-performance +- ラベル: area-System.Security tenet-performance #### 概要 LinuxにおけるCRL(Certificate Revocation List)検証の性能向上を目的とした、メモリ内キャッシュレイヤーを追加します。固定サイズ30要素のLRU(Least Recently Used)キャッシュを実装し、GCのファイナライズタイミングで段階的にエントリを削除します。呼び出し元はAddReferenceで参照カウントを管理し、キャッシュ削除時はDisposeを呼び出すことでSafeHandleのファイナライズを回避します。 @@ -997,7 +997,7 @@ finally - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月16日 23:57:15(UTC) - マージ日時: 2026年02月11日 04:14:14(UTC) -- ラベル: area-System.Collections +- ラベル: area-System.Collections #### 概要 `BitArray.LeftShift`でシフト後に未使用の上位ビットがクリアされず、`PopCount()`が不正な値を返していた問題を修正しました。デシリアライゼーションコンストラクタでも同様の問題を修正し、`ClearHighExtraBits()`の呼び出しを追加しました。 diff --git a/archives/2026/02/12.md b/archives/2026/02/12.md index b3a9100..9eea66d 100644 --- a/archives/2026/02/12.md +++ b/archives/2026/02/12.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#124341 copy_version_files.ps1 improve comparison](#124341) 2. [#124340 runtime-extra-platforms.yml: change schedule to once a day at 3am UTC](#124340) 3. [#124335 JIT: Fix immediate assert when relocs are enabled](#124335) @@ -43,7 +43,7 @@ - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年02月12日 12:59:37(UTC) - マージ日時: 2026年02月12日 21:28:47(UTC) -- ラベル: area-Infrastructure-coreclr +- ラベル: area-Infrastructure-coreclr #### 概要 Windows環境でのインクリメンタルビルドの安定性を向上させるPull Requestです。`copy_version_files.ps1`スクリプトで`_version.c`ファイルの比較ロジックを改善し、空白文字の取り扱いに対するセンシティビティを低減しています。これにより、不要なファイル再生成によるビルド破損を防止します。 @@ -69,7 +69,7 @@ Windows環境でのインクリメンタルビルドの安定性を向上させ - 作成者: [@akoeplinger](https://github.com/akoeplinger) - 作成日時: 2026年02月12日 12:25:09(UTC) - マージ日時: 2026年02月12日 12:27:39(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 Azure Pipelines の "runtime extra platforms" パイプラインの実行スケジュールを変更しました。従来の1日2回実行(09:00 UTC と 21:00 UTC)から1日1回実行(03:00 UTC)に変更することで、実行頻度を削減しつつ、PR実行時にはカバーされないプラットフォームの定期的なテスト覆率を維持します。 @@ -97,7 +97,7 @@ Azure Pipelines の "runtime extra platforms" パイプラインの実行スケ - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年02月12日 11:05:56(UTC) - マージ日時: 2026年02月12日 18:43:10(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 ARM64 JIT コンパイラにおいて、リロケーション記録時の即値エンコードアサート問題を修正。リロケーション対象のアドレス計算では、最終的なコード配置前の即値は無意味であり、エンコード不可能なため、プレースホルダー値 `0` を使用するように改善しました。 @@ -123,7 +123,7 @@ ARM64 JIT コンパイラにおいて、リロケーション記録時の即値 - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年02月12日 08:30:23(UTC) - マージ日時: 2026年02月12日 15:02:52(UTC) -- ラベル: area-System.Net +- ラベル: area-System.Net #### 概要 System.Net.Mail のテストを Native AOT(Ahead-of-Time)コンパイルに対応させるための修正です。Runtime async による最適化により、リフレクション経由の汎用メソッド呼び出しが失敗するようになったため、テストコードを trim friendly(トリミング対応)に改善しました。 @@ -146,7 +146,7 @@ System.Net.Mail のテストを Native AOT(Ahead-of-Time)コンパイルに - 作成者: [@jkotas](https://github.com/jkotas) - 作成日時: 2026年02月12日 03:53:30(UTC) - マージ日時: 2026年02月12日 03:57:21(UTC) -- ラベル: NO-SQUASH Servicing-approved area-codeflow +- ラベル: NO-SQUASH Servicing-approved area-codeflow #### 概要 `release/8.0-staging`から`release/8.0`へのマージコミット。Mono Hot Reload機能の空更新ハンドリング改善、Helixテスト環境のiOS/tvOS対応macOSバージョンアップデート(OSX.13.*→OSX.15.*)、および依存ライブラリ版のバージョン同期が含まれています。 @@ -170,7 +170,7 @@ System.Net.Mail のテストを Native AOT(Ahead-of-Time)コンパイルに - 作成者: [@jozkee](https://github.com/jozkee) - 作成日時: 2026年02月12日 03:13:54(UTC) - マージ日時: 2026年02月12日 06:36:48(UTC) -- ラベル: NO-SQUASH Servicing-approved area-codeflow +- ラベル: NO-SQUASH Servicing-approved area-codeflow #### 概要 release/9.0-stagingからrelease/9.0への手動マージです。主にCI/Helix インフラストラクチャ設定の更新が含まれており、macOS キューのロールフォーワード(OSX.13からOSX.15へ)、1ES イメージ選択の更新、COM相互運用テストの動作調整が行われています。 @@ -206,7 +206,7 @@ release/9.0-stagingからrelease/9.0への手動マージです。主にCI/Helix - 作成者: [@jozkee](https://github.com/jozkee) - 作成日時: 2026年02月12日 02:50:33(UTC) - マージ日時: 2026年02月12日 03:58:47(UTC) -- ラベル: NO-SQUASH Servicing-approved linkable-framework area-codeflow +- ラベル: NO-SQUASH Servicing-approved linkable-framework area-codeflow #### 概要 このPRは`release/8.0`ブランチから`release/8.0-staging`への定期的なマージであり、複数の分野にわたるサービシング更新を含みます。主な変更は以下の通りです: - **COSE(暗号化オブジェクト署名と暗号化)メッセージのデコード改善**:不定長マップ/配列とクリティカルヘッダー検証の処理を強化 @@ -253,7 +253,7 @@ release/9.0-stagingからrelease/9.0への手動マージです。主にCI/Helix - 作成者: [@rbhanda](https://github.com/rbhanda) - 作成日時: 2026年02月12日 02:44:38(UTC) - マージ日時: 2026年02月12日 02:46:49(UTC) -- ラベル: needs-area-label +- ラベル: needs-area-label #### 概要 このPRは#124305で導入された変更をRevertするもので、release/9.0ブランチのテスト動作とビルド/パイプライン設定を復元します。COM相互運用テスト、Helix macOSキューの設定、source-buildエージェントイメージ、xharnessツールバージョンの4つの主要な変更が元に戻されます。 @@ -279,7 +279,7 @@ release/9.0-stagingからrelease/9.0への手動マージです。主にCI/Helix - 作成者: [@rbhanda](https://github.com/rbhanda) - 作成日時: 2026年02月12日 02:42:47(UTC) - マージ日時: 2026年02月12日 02:47:21(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 このPRは、自動マージPR #124246で導入されたCOSE(CBOR Object Signing and Encryption)関連の変更を完全に取り消すリバートです。COSE メッセージのデコーディングロジック、重要ヘッダー検証テスト、ビルドパイプライン設定、およびバージョン/依存関係の更新が全て戻されます。 @@ -309,7 +309,7 @@ dotnet/runtime #124246(本変更でリバート対象となった自動マー - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月12日 02:35:14(UTC) - マージ日時: 2026年02月12日 15:21:08(UTC) -- ラベル: area-System.Text.RegularExpressions +- ラベル: area-System.Text.RegularExpressions #### 概要 SYSLIB1045コード修正が C# 14 の拡張メンバー(extension members)内で無効な `partial extension(...)` 構文を生成する問題を修正しました。拡張ブロック(`ExtensionBlockDeclarationSyntax`)は `TypeDeclarationSyntax` を継承していますが、`partial` 修飾子をサポートしないため、生成されたRegexプロパティは親クラスに配置されるよう修正されました。 @@ -360,7 +360,7 @@ private static partial Regex MyRegex { get; } - 作成者: [@jozkee](https://github.com/jozkee) - 作成日時: 2026年02月12日 02:20:32(UTC) - マージ日時: 2026年02月12日 09:18:02(UTC) -- ラベル: NO-SQUASH Servicing-approved area-codeflow +- ラベル: NO-SQUASH Servicing-approved area-codeflow #### 概要 `release/8.0-staging`から`release/8.0`への定期的なマージPRです。Monoのホットリロード機能の堅牢性向上、CI/CDのiOS/tvOSテスト環境のアップグレード、および8.0サービシング向けの依存関係・ビルド設定の更新が含まれています。 @@ -386,7 +386,7 @@ private static partial Regex MyRegex { get; } - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年02月11日 23:50:38(UTC) - マージ日時: 2026年02月12日 09:23:00(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT(Just-In-Time)コンパイラの値番号(VN)キャッシュに関する回帰バグの修正です。`VNF_ADD(baseVN, const)`パターンで分解されたVNがアサーションキャッシュに登録されていなかったため、範囲チェック(bounds-check)削除ロジックが関連するアサーションを見落とし、コード生成段階での境界チェックが削除されずテストが失敗していました。 @@ -410,7 +410,7 @@ JIT(Just-In-Time)コンパイラの値番号(VN)キャッシュに関す - 作成者: [@jozkee](https://github.com/jozkee) - 作成日時: 2026年02月11日 23:47:33(UTC) - マージ日時: 2026年02月12日 02:10:56(UTC) -- ラベル: NO-SQUASH Servicing-approved area-codeflow +- ラベル: NO-SQUASH Servicing-approved area-codeflow #### 概要 `release/9.0-staging`から`release/9.0`へのマニュアルマージです。COM相互運用性テストの動作修正、macOSのHelixキュー名の更新(OSX.13からOSX.15へ)、および1ESソースビルドインフラストラクチャの更新が含まれます。 @@ -436,7 +436,7 @@ JIT(Just-In-Time)コンパイラの値番号(VN)キャッシュに関す - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年02月11日 22:47:27(UTC) - マージ日時: 2026年02月12日 08:10:30(UTC) -- ラベル: needs-area-label +- ラベル: needs-area-label #### 概要 `AsyncCovariantReturn` テストから `RequiresProcessIsolation` 属性を削除し、プロセス分離の強制を解除しました。これにより、テストが統合 `Loader` テストランナーの一部として実行され、スタンドアロンプロセスとしての実行オーバーヘッドが削減されます。 @@ -460,7 +460,7 @@ JIT(Just-In-Time)コンパイラの値番号(VN)キャッシュに関す - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月11日 20:41:17(UTC) - マージ日時: 2026年02月12日 15:05:13(UTC) -- ラベル: area-System.Threading.Tasks +- ラベル: area-System.Threading.Tasks #### 概要 このPRは、.NET runtimeの内部実装における従来の「Future」という用語を「Task」に統一するリファクタリングです。ファイル名の変更(`Future.cs` → `Task_T.cs`、`FutureFactory.cs` → `TaskFactory_T.cs`)、デバッガプロキシ型名の更新、およびテストコードのコメント・変数名の統一を含みます。 @@ -498,7 +498,7 @@ JIT(Just-In-Time)コンパイラの値番号(VN)キャッシュに関す - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月11日 20:15:48(UTC) - マージ日時: 2026年02月12日 04:04:35(UTC) -- ラベル: area-System.Numerics.Tensors +- ラベル: area-System.Numerics.Tensors #### 概要 `NIndex` と `NRange` の `ToString()` メソッドが 64 ビットプラットフォームで `uint.MaxValue` を超える値を切り詰める問題を修正しました。キャスト時に `uint` ではなく `nuint` を使用することで、大きな値の正確な文字列表現を実現します。 @@ -531,7 +531,7 @@ Console.WriteLine(ni.ToString()); // "^4294967296" - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月11日 20:11:03(UTC) - マージ日時: 2026年02月12日 13:11:56(UTC) -- ラベル: area-System.Reflection +- ラベル: area-System.Reflection #### 概要 `RuntimeParameterInfo.GetCustomAttributesData()` がメタデータを持たないパラメータ(DynamicMethodのデリゲート、ランタイム生成メソッドなど)で呼び出された際に発生する `NullReferenceException` を修正します。同じ `ICustomAttributeProvider` リージョン内の他の3つのメソッドと同様に、メタデータ不在時にnullトークンガードを追加し、空のリストを返すように統一します。 @@ -562,7 +562,7 @@ var attrs = delegateParameter.GetCustomAttributesData(); // IListarea-System.Security test-enhancement +- ラベル: area-System.Security test-enhancement #### 概要 Unix環境のX509証明書テストにおけるオブジェクトライフタイム問題を修正するPull Requestです。`GetGetDotNetCert`メソッドが返す証明書をクローン化することで、`CrlDiskCacheRecovers`テストで発生していたハンドル無効化の問題に対処します。 @@ -585,7 +585,7 @@ Unix環境のX509証明書テストにおけるオブジェクトライフタイ - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年02月11日 19:18:15(UTC) - マージ日時: 2026年02月12日 16:29:54(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 配列長(array len)操作に関連するnull check効果をグローバルアサーション伝播(Global AP)から削除する最適化を実装しました。これは#93531と同様の変更ですが、CSE(Common Subexpression Elimination)の問題によりグローバルAPのみに限定されています。JITコンパイラの最適化パスにおいて、不要なnull checkを削除することでコード生成を改善します。 @@ -615,7 +615,7 @@ Unix環境のX509証明書テストにおけるオブジェクトライフタイ - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年02月11日 19:14:44(UTC) - マージ日時: 2026年02月12日 15:16:22(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 GDV(Guarded Devirtualization)拡張時に、JITが`BBF_DONT_REMOVE`フラグを過度に伝播していた問題を修正します。try ブロックの最初のブロックなど、"must keep"ブロック内のGDVが展開される場合、新しく作成されたブロックがこのフラグを不正に継承してしまっていました。本修正により、スプリット後の残余ブロックおよび展開パスで新規挿入されたすべてのブロックで`BBF_DONT_REMOVE`フラグをクリアします。 @@ -640,7 +640,7 @@ JITコンパイル最適化フローの改善により、不要なブロック - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年02月11日 18:06:50(UTC) - マージ日時: 2026年02月12日 22:20:13(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT コンパイラの最適化により、`GT_INDEX_ADDR` ノードに対する throw ヘルパーの生成を削減し、非最適化メソッドのコード サイズを削減します。また、モルフ後のグラフから `GT_ARR_ELEM` が現れないようにしています。 @@ -663,7 +663,7 @@ JIT コンパイラの最適化により、`GT_INDEX_ADDR` ノードに対する - 作成者: [@MihaZupan](https://github.com/MihaZupan) - 作成日時: 2026年02月11日 16:33:19(UTC) - マージ日時: 2026年02月12日 03:18:36(UTC) -- ラベル: area-System.Net +- ラベル: area-System.Net #### 概要 URI スキーム解析の冗長な範囲チェックを削除し、パフォーマンスオーバーヘッドを軽減する変更です。#121262 で JIT がスキップ可能な範囲チェックを正しく最適化できるようになったため、`ParseSchemeCheckImplicitFile` メソッドの早期検証条件を簡略化しました。 @@ -696,7 +696,7 @@ URI スキーム解析の冗長な範囲チェックを削除し、パフォー - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2026年02月11日 16:21:56(UTC) - マージ日時: 2026年02月12日 00:06:23(UTC) -- ラベル: area-System.Numerics.Tensors +- ラベル: area-System.Numerics.Tensors #### 概要 `System.Numerics.Tensors.slnx` ソリューションフィルターから、以前削除されたテストプロジェクト `System.Numerics.Tensors.Net8.Tests.csproj` への参照を削除するメンテナンス修正です。ソリューション定義とリポジトリの実際のプロジェクト構成を同期させています。 @@ -717,7 +717,7 @@ URI スキーム解析の冗長な範囲チェックを削除し、パフォー - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年02月11日 13:21:49(UTC) - マージ日時: 2026年02月12日 21:29:05(UTC) -- ラベル: arch-wasm area-System.Runtime.InteropServices.JavaScript os-browser +- ラベル: arch-wasm area-System.Runtime.InteropServices.JavaScript os-browser #### 概要 ブラウザベースのWebAssembly(WASM)テストの実行時に、V8テスティングが`--module`フラグなしで動作するよう、テストエントリーポイントファイルを`test-main.js`から`test-main.mjs`にリネームしました。これにより、ESモジュール形式として明示的に認識されるようになり、V8のモジュール処理が改善されます。 @@ -742,7 +742,7 @@ URI スキーム解析の冗長な範囲チェックを削除し、パフォー - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月11日 07:33:10(UTC) - マージ日時: 2026年02月12日 14:17:40(UTC) -- ラベル: area-System.Runtime.InteropServices +- ラベル: area-System.Runtime.InteropServices #### 概要 `PosixSignal` 列挙型に `SIGKILL = -11` を追加します。SIGKILL は POSIX セマンティクスに従い catch または ignore できないシグナルです。登録を試みると OS が自動的に例外をスローするため、マネージコード層での検証は不要です。 @@ -769,7 +769,7 @@ URI スキーム解析の冗長な範囲チェックを削除し、パフォー - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年02月10日 22:13:49(UTC) - マージ日時: 2026年02月12日 02:11:17(UTC) -- ラベル: Servicing-approved needs-area-label +- ラベル: Servicing-approved needs-area-label #### 概要 release/8.0ブランチからrelease/8.0-stagingブランチへの自動マージPRです。複数の貢献者による変更を統合します。主な変更はSystem.Security.Cryptography.COSE(暗号化メッセージ署名フォーマット)関連で、CoseMessageクラスのデコード機能拡張とテストケース追加が含まれています。 @@ -801,7 +801,7 @@ release/8.0ブランチからrelease/8.0-stagingブランチへの自動マー - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年02月10日 19:30:10(UTC) - マージ日時: 2026年02月12日 07:55:48(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 dotnet/runtimeのCI分析スキル向けの大規模なアップデート。PowerShellスクリプト`Get-CIStatus.ps1`に構造化JSON出力とMCP(Model Context Protocol)統合を追加し、推奨事項をデータ駆動型に変更。複数の深掘り調査ガイドを新規追加し、トークン効率を維持しながら詳細な調査ワークフローをサポート。 @@ -856,7 +856,7 @@ dotnet/runtimeのCI分析スキル向けの大規模なアップデート。Powe - 作成者: [@mrek-msft](https://github.com/mrek-msft) - 作成日時: 2026年02月09日 13:28:01(UTC) - マージ日時: 2026年02月12日 14:56:40(UTC) -- ラベル: area-Extensions-Logging +- ラベル: area-Extensions-Logging #### 概要 EventLogLogger がアプリケーション設定ファイルから FormatterOptions をバインドできるようになりました。WebApplication.CreateBuilder で Logging:EventLog セクションの設定を自動的に認識・適用します。Console ロガーと同様の構成メカニズムを実装し、設定駆動型のロギング動作が可能になります。 @@ -898,7 +898,7 @@ EventLogLogger がアプリケーション設定ファイルから FormatterOpti - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年02月09日 08:32:12(UTC) - マージ日時: 2026年02月12日 10:47:34(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 このPRは、デスクトップ環境でiOSと同様の動的コード生成が禁止される環境をシミュレートするための `--dynamiccodecompiled false` ビルドオプションを追加しています。このオプションにより、JITを無効化し、インタプリタを有効化し、キャッシュされたインターフェースディスパッチを有効化するなど、iOS同等の制約をデスクトップで検証できます。 @@ -931,7 +931,7 @@ EventLogLogger がアプリケーション設定ファイルから FormatterOpti - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月30日 01:56:02(UTC) - マージ日時: 2026年02月12日 06:10:06(UTC) -- ラベル: area-System.Numerics +- ラベル: area-System.Numerics #### 概要 BigInteger のパース時にウクライナ文化(uk-UA)で使用される NBSP(U+00A0)と通常のスペース(U+0020)の間の互換性を修正しました。ウクライナ文化は`NumberGroupSeparator`として NBSP を使用しますが、ユーザーが通常のスペースを入力した場合のパース失敗を解決するため、`MatchChars`関数の空白文字の正規化ロジックを双方向に改良しました。 @@ -972,7 +972,7 @@ NormalizeSpaceReplacingChar(cp) != NormalizeSpaceReplacingChar(val) - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月29日 13:04:49(UTC) - マージ日時: 2026年02月12日 23:20:51(UTC) -- ラベル: area-System.Threading.Tasks +- ラベル: area-System.Threading.Tasks #### 概要 `Task`のデバッグプロキシが、失敗またはキャンセルされたタスクの`Result`プロパティに対して`default(TResult)`を表示していた問題を修正しました。修正後は、実際の動作に合わせて例外をスローするようになります。また、古い命名「Future」を「TaskOfTResult」に統一しました。 @@ -1010,7 +1010,7 @@ public TResult Result => m_task.IsCompleted ? m_task.Result : default!; - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月27日 20:07:48(UTC) - マージ日時: 2026年02月12日 16:41:23(UTC) -- ラベル: area-System.Diagnostics +- ラベル: area-System.Diagnostics #### 概要 C# 8+で導入されたインターフェースのデフォルト実装メンバーに対応するため、`ExcludeFromCodeCoverageAttribute`と`StackTraceHiddenAttribute`に`AttributeTargets.Interface`を追加しました。これにより、デフォルト実装を含むインターフェースに対して両属性を適用できるようになります。 @@ -1046,7 +1046,7 @@ API Review で承認済みの変更です。既存の破壊的変更はなく、 - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年01月23日 19:02:23(UTC) - マージ日時: 2026年02月12日 15:29:01(UTC) -- ラベル: area-System.Threading.Channels +- ラベル: area-System.Threading.Channels #### 概要 `UnboundedChannel`の`ChannelReader.Completion`でレース条件が発生し、すべてのアイテムが読み込まれて`TryComplete()`が呼び出されてもチャネルが完了しない問題を修正しました。`TryRead`がロック解放後に最後のアイテムをデキューする際の競合タイミングで、チャネル完了がトリガーされないケースに対応しています。 @@ -1069,7 +1069,7 @@ API Review で承認済みの変更です。既存の破壊的変更はなく、 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月21日 15:29:07(UTC) - マージ日時: 2026年02月12日 15:38:54(UTC) -- ラベル: area-System.Threading.Tasks +- ラベル: area-System.Threading.Tasks #### 概要 `WriteOnceBlock.ReceiveAsync` が `Post` との並行実行時に `null` を返す競合状態を修正しました。原因は `_header` を `_value` より先に設定していたため、読み込み側が `HasValue == true` を観察しながら `_value` がまだ未初期化の状態を見ていました。修正では `_value` を先に設定し、`Interlocked.MemoryBarrier()` を追加してメモリ順序を強制しています。 @@ -1102,7 +1102,7 @@ _header = Common.SingleMessageHeader; // HasValue becomes true - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月20日 23:03:21(UTC) - マージ日時: 2026年02月12日 18:11:16(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 PR #117901の変更によりPInvoke ILStubが`DynamicMethodDesc`から`PInvokeMethodDesc`を直接返すようになったため、混合モードデバッガーのステップイン機能が破損していました。本PRは専用の`PInvokeStubManager`を実装して、デバッガーがPInvokeスタブを正しく認識・トレースできるようにします。 @@ -1148,7 +1148,7 @@ bool IsInteropStub = pMD->IsInteropStub(); // IL stubs と PInvoke methods の - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月13日 15:42:26(UTC) - マージ日時: 2026年02月12日 15:16:37(UTC) -- ラベル: area-System.Configuration +- ラベル: area-System.Configuration #### 概要 `ConfigurationElement.this[string]` インデクサーで存在しないプロパティにアクセスする際に `NullReferenceException` がスローされていた問題を修正しました。プロパティが見つからない場合に適切に `null` を返すよう、null チェックを追加しています。 @@ -1180,7 +1180,7 @@ if (prop is null || prop.ProvidedName != propertyName) return null; - 作成者: [@snickolls-arm](https://github.com/snickolls-arm) - 作成日時: 2025年12月18日 11:23:37(UTC) - マージ日時: 2026年02月12日 18:35:20(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 このPRは、コンパイル時にサイズが不明なローカル変数を扱うための `ValueSize` クラスを導入しています。値の番号付け(Value Numbering)やSSA構築などの最適化フェーズで、正確な数値サイズが不要な場合に、サイズの等価性などのプロパティのみを考慮する仕組みを追加しています。 @@ -1213,7 +1213,7 @@ var valueSize = lclVar.ValueSize; // 等価性チェックなど - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2025年12月02日 22:56:11(UTC) - マージ日時: 2026年02月12日 06:14:53(UTC) -- ラベル: area-NativeAOT-coreclr runtime-async +- ラベル: area-NativeAOT-coreclr runtime-async #### 概要 NativeAOTでの非同期インスタンス化・アンボックスシャンク対応を実現するPRです。新しい`AsyncHelpers.TailAwait`イントリンシックを導入し、JITが非同期呼び出しを"tail await"として処理できるようにしました。これにより、シャンクメソッド自体の新しい中断点を作らず、呼び出し先の継続状態をそのまま返すことができます。 diff --git a/archives/2026/02/13.md b/archives/2026/02/13.md index 0b4423c..57f2347 100644 --- a/archives/2026/02/13.md +++ b/archives/2026/02/13.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#124398 ci-analysis skill: let the agent reason about its own tools](#124398) 2. [#124381 Fix ConnectAsync sending stale ReceiveAsync buffer via ConnectEx](#124381) 3. [#124376 Disable TestStackOverflowLargeFrameMainThread for x64 on Unix](#124376) @@ -26,7 +26,7 @@ - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年02月13日 19:04:57(UTC) - マージ日時: 2026年02月13日 22:00:56(UTC) -- ラベル: needs-area-label +- ラベル: needs-area-label #### 概要 ci-analysis skillをリファクタリングし、AIエージェントのプロンプトから明示的なMCPツール名参照を削除しました。エージェントは既に実行時にツールの説明とパラメータを保有しているため、skillはドメイン知識(落とし穴、優先順位、データ位置、アンチパターン)に集中すべきという設計思想の実装です。ツール呼び出しの連鎖をアクション説明に置き換え、パラメータレベルの詳細をワークフローガイダンスに変更しました。 @@ -55,7 +55,7 @@ PR #124095(実際のCI調査に基づくテスト対象) - 作成者: [@rzikm](https://github.com/rzikm) - 作成日時: 2026年02月13日 12:56:00(UTC) - マージ日時: 2026年02月13日 15:10:53(UTC) -- ラベル: area-System.Net.Sockets +- ラベル: area-System.Net.Sockets #### 概要 `Socket.ConnectAsync(EndPoint)` が再利用するキャッシュされた `_singleBufferReceiveEventArgs` に、prior の `ReceiveAsync` 呼び出しから残された buffer/count が残っていたため、`ConnectEx` にそのバッファが send-on-connect データとして誤って渡されていました。特に `DisconnectAsync(reuseSocket: true)` 後の再接続時に、前の接続で受信したデータが新しい接続で送信されてしまう重大なバグです。修正では接続前に `SetBuffer(default)` を呼び出してバッファ状態をクリアします。 @@ -86,7 +86,7 @@ await ConnectAsync(endPoint); - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月13日 12:02:16(UTC) - マージ日時: 2026年02月13日 14:39:55(UTC) -- ラベル: needs-area-label +- ラベル: needs-area-label #### 概要 `TestStackOverflowLargeFrameMainThread`テストをx64アーキテクチャ上のUnix/MacOSXプラットフォームで無効化するパッチです。スタックプローブが十分にスタックポインタから離れた位置でプローブを行う際に、ランタイムが基盤となるsigsegvをスタックオーバーフローとして認識できない問題(Issue #13519)に対応しています。テストはWindowsおよび他のアーキテクチャ(x86、ARM)では引き続き有効です。 @@ -110,7 +110,7 @@ await ConnectAsync(endPoint); - 作成者: [@ManickaP](https://github.com/ManickaP) - 作成日時: 2026年02月13日 10:27:11(UTC) - マージ日時: 2026年02月13日 15:15:11(UTC) -- ラベル: area-PAL-coreclr +- ラベル: area-PAL-coreclr #### 概要 glibc 2.43のC23関連の変更により、`strrchr`が`const char*`の引数に対して`const char*`を返すようになったため、vendored libunwindの`elfxx.c`でのビルド失敗を修正しました。ローカル変数の型を`char*`から`const char*`に変更することで対応しています。 @@ -140,7 +140,7 @@ const char *p = strrchr(file, '/'); - 作成者: [@jkotas](https://github.com/jkotas) - 作成日時: 2026年02月13日 05:32:15(UTC) - マージ日時: 2026年02月13日 15:29:12(UTC) -- ラベル: area-ExceptionHandling-coreclr +- ラベル: area-ExceptionHandling-coreclr #### 概要 StackOverflow例外の特殊フォーマット処理をスキップする条件を追加しました。出力がより冗長になる(行数が増える)場合は、特殊フォーマットを適用しないようにしています。これにより、例外メッセージの出力をより簡潔に保つことができます。 @@ -163,7 +163,7 @@ StackOverflow例外の特殊フォーマット処理をスキップする条件 - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年02月12日 23:13:47(UTC) - マージ日時: 2026年02月13日 14:41:55(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT のライブネス分析で、到達不可能なスロー ヘルパー ブロックに対するレガシーコードを削除しています。スロー ヘルパー ブロックが lower/liveness フェーズの後に作成されるようになったため、ライブネス分析時には到達不可能なスロー ヘルパー ブロックは存在しないという新しい不変式を強制します。 @@ -187,7 +187,7 @@ JIT のライブネス分析で、到達不可能なスロー ヘルパー ブ - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年02月12日 22:08:53(UTC) - マージ日時: 2026年02月13日 00:25:02(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 dotnet/runtimeのCI分析スキルの改善PR。MSBuildのクロスプラットフォーム警告、マージコミットからのターゲットブランチHEAD抽出ショートカット、およびMCP(Model Context Protocol)ツール代替案の追加により、CI障害調査ワークフローのドキュメントを強化します。構造的な変更はなく、インラインでの最小限の追加です。 @@ -226,7 +226,7 @@ dotnet/runtimeのCI分析スキルの改善PR。MSBuildのクロスプラット - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月12日 21:47:06(UTC) - マージ日時: 2026年02月13日 20:02:19(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 CoreCLRパイプライン設定の最適化を実施。NativeAOT Release ビルドを `osx_x64` から `osx_arm64` に移行し、ARM64 macOS インフラとの整合性を確保。また、CoreCLR テスト実行の重複したプラットフォームマトリックス定義を統合し、設定の冗長性を削減しました。 @@ -253,7 +253,7 @@ CoreCLRパイプライン設定の最適化を実施。NativeAOT Release ビル - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年02月12日 17:18:34(UTC) - マージ日時: 2026年02月13日 09:48:57(UTC) -- ラベル: needs-area-label +- ラベル: needs-area-label #### 概要 SuperPMI収集パイプラインにおいて、linux-arm/linux-arm64ビルド時にx64コンテナ内でSPMIコンポーネントを構築する際、NuGet認証がコンテナ内で正しく実行されるよう修正されました。これにより、x64ホストマシン上でのビルド失敗が解決されます。 @@ -278,7 +278,7 @@ SuperPMI収集パイプラインにおいて、linux-arm/linux-arm64ビルド時 - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年02月12日 13:23:47(UTC) - マージ日時: 2026年02月13日 12:03:30(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 SPMI(SuperPMI)の差分ビルド実行環境をosx-arm64からwindows-x64に変更するパイプライン修正です。osx-arm64のAzDOプール過負荷によるビルド開始遅延(数時間待機)を回避し、ビルドおよびHelixジョブ投入の効率化を実現します。 @@ -304,7 +304,7 @@ SPMI(SuperPMI)の差分ビルド実行環境をosx-arm64からwindows-x64に - 作成者: [@FixBo](https://github.com/FixBo) - 作成日時: 2026年02月12日 09:50:06(UTC) - マージ日時: 2026年02月13日 20:59:26(UTC) -- ラベル: community-contribution needs-area-label +- ラベル: community-contribution needs-area-label #### 概要 .NET 11 Preview 1において、モジュール名の長さがDWORD境界に整列している場合、Optimization Profileの保存に失敗するバグを修正しました。このバグはPR #116203で導入された回帰です。 @@ -329,7 +329,7 @@ PR #116203による回帰修正 - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年02月12日 01:46:38(UTC) - マージ日時: 2026年02月13日 13:21:18(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 このPRはcDAC(Common Data Access Contract)関連の列挙型(enum)に対してバージョン管理を強化するものです。ネイティブコード内で定義されているマジックナンバーに対して、変更時にcDACをバージョニングする必要があることを示すコメントを追加します。また、cDACから未使用または最適でない列挙型を削除し、メンテナンス性を向上させます。 @@ -363,7 +363,7 @@ PR #116203による回帰修正 - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年02月11日 16:30:35(UTC) - マージ日時: 2026年02月13日 16:56:58(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 直接的なawaitをthunk(仲介関数)に解決することを回避する最適化です。不要なJIT compilation と thunk経由の呼び出しによるオーバーヘッドを削減し、JITがコードをより効率的に最適化できるようにします。 @@ -393,7 +393,7 @@ PR #116203による回帰修正 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月11日 12:06:17(UTC) - マージ日時: 2026年02月13日 11:24:22(UTC) -- ラベル: area-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 `System.Diagnostics.Process` に新しい `ProcessExitStatus` クラスを追加します。このクラスは、プロセスの終了状態(終了コード、オプションの POSIX シグナル、キャンセル/タイムアウト情報)を表現します。sealed クラスとして実装され、XML ドキュメントと包括的なユニットテストが含まれています。 @@ -428,7 +428,7 @@ bool wasCanceled = exitStatus.Canceled; - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月10日 22:16:34(UTC) - マージ日時: 2026年02月13日 14:56:31(UTC) -- ラベル: area-Extensions-DependencyInjection +- ラベル: area-Extensions-DependencyInjection #### 概要 このPRは、依存性注入(DI)コンテナのスコープ破棄時の動作に関するAPI ドキュメントを更新するものです。従来のドキュメントでは「スコープ化されたサービス」のみが破棄されると記載されていましたが、実際の動作では一時的なサービス(transient services)もスコープによって追跡・破棄されます。このドキュメント更新により、実装の動作とドキュメントの整合性が取れます。 @@ -456,7 +456,7 @@ bool wasCanceled = exitStatus.Canceled; - 作成者: [@kg](https://github.com/kg) - 作成日時: 2026年02月10日 00:09:20(UTC) - マージ日時: 2026年02月13日 05:09:24(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssemblyの間接呼び出し(call_indirect)に対するリロケーション生成サポートを追加するPull Requestです。Wasm RyuJIT コンパイラが、リンク仕様に基づいたリロケーション型を使用して、呼び出し対象アドレスを動的に解決できるようになります。これにより、Wasmバイナリのリンク時最適化とランタイム動的リンクが改善されます。 @@ -484,7 +484,7 @@ WebAssemblyの間接呼び出し(call_indirect)に対するリロケーシ - 作成者: [@MihaZupan](https://github.com/MihaZupan) - 作成日時: 2026年02月08日 21:49:23(UTC) - マージ日時: 2026年02月13日 16:01:05(UTC) -- ラベル: area-Meta +- ラベル: area-Meta #### 概要 Azure Pipelines のライブラリ Fuzzing "deploy to OneFuzz" パイプラインのジョブタイムアウト値を増加させました。夜間デプロイメント実行が現在のタイムアウト値 (240分) に頻繁に近づいており、または超過している問題を解決するため、`windows` ジョブのタイムアウトを 240 分から 600 分に延長します。これにより、CI における信頼性の低いタイムアウトエラーを削減します。 @@ -505,7 +505,7 @@ Azure Pipelines のライブラリ Fuzzing "deploy to OneFuzz" パイプライ - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年02月03日 20:38:00(UTC) - マージ日時: 2026年02月13日 15:42:51(UTC) -- ラベル: arch-wasm area-PAL-coreclr os-browser +- ラベル: arch-wasm area-PAL-coreclr os-browser #### 概要 WebAssembly (WASM) ブラウザ環境での.NET ランタイム実行を実現するため、プロセス、シグナル、スレッド、ブロッキング操作に対応しないネイティブレイヤーの実装を追加しています。PAL(Platform Abstraction Layer)層でWASM固有のスタブ実装を提供し、ブラウザ環境の制約に適応させる変更です。 @@ -532,7 +532,7 @@ WebAssembly (WASM) ブラウザ環境での.NET ランタイム実行を実現 - 作成者: [@MihaZupan](https://github.com/MihaZupan) - 作成日時: 2026年02月03日 05:04:49(UTC) - マージ日時: 2026年02月13日 21:26:36(UTC) -- ラベル: area-System.Net breaking-change needs-breaking-change-doc-created +- ラベル: area-System.Net breaking-change needs-breaking-change-doc-created #### 概要 `Uri`コンストラクタと`TryCreate`ファクトリメソッド間の解析矛盾を修正します。相対URIへのフォールバック時にIRI正規化がスキップされるなど、2つのコードパス間で動作が異なっていました。修正により両者の動作が統一されます。 @@ -570,7 +570,7 @@ Console.WriteLine(uri2); // pAth - 作成者: [@mdh1418](https://github.com/mdh1418) - 作成日時: 2026年01月28日 23:12:22(UTC) - マージ日時: 2026年02月13日 17:31:03(UTC) -- ラベル: area-ExceptionHandling-coreclr +- ラベル: area-ExceptionHandling-coreclr #### 概要 CoreCLR のシグナルハンドラ処理の順序を変更し、**以前登録されたシグナルハンドラを呼び出す前に** `PROCNotifyProcessShutdown` と `PROCCreateCrashDumpIfEnabled` を実行するようにしました。これにより、Android などのプラットフォームで同期フォルト(SIGSEGV など)発生時に、以前のハンドラが戻らない場合でも、マネージドコンテキストのダンプ生成とシャットダウン通知が確実に実行されます。 @@ -605,7 +605,7 @@ CoreCLR のシグナルハンドラ処理の順序を変更し、**以前登録 - 作成者: [@AraHaan](https://github.com/AraHaan) - 作成日時: 2026年01月25日 18:35:08(UTC) - マージ日時: 2026年02月13日 03:46:43(UTC) -- ラベル: community-contribution area-System.IO.Hashing +- ラベル: community-contribution area-System.IO.Hashing #### 概要 `System.IO.Hashing` ライブラリに Adler32 ハッシュアルゴリズムの実装を追加しました。Adler32 は RFC 1950 で定義された軽量なチェックサムアルゴリズムで、ZIP ファイル形式など複数の標準で使用されています。 diff --git a/archives/2026/02/14.md b/archives/2026/02/14.md index 55ecef8..9f2ad99 100644 --- a/archives/2026/02/14.md +++ b/archives/2026/02/14.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#124416 ci-analysis skill: restore domain examples from eval regression analysis](#124416) 2. [#124395 cDAC loader GetModuleData - remove unneeded transient flags](#124395) 3. [#124362 \[Wasm RyuJit\] More codegen and fixes for crossgen replay](#124362) @@ -11,7 +11,7 @@ - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年02月14日 01:48:04(UTC) - マージ日時: 2026年02月14日 16:37:34(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 ci-analysis skillの評価で、tool-agnostic refactor(#124398)により build progression タスクで68%のツール呼び出し回数増加(25→42)が発生。3つのドメイン固有の例を復元することで、ツール呼び出しを25呼び出しに削減し、実行時間も11m04sから8m46sに短縮。復元された例には、`refs/pull/{PR}/merge` ブランチパターン、マージコミット親抽出のGH API例、チェックアウトログID 5/line 500+のヒント、および停止シグナルが含まれます。 @@ -42,7 +42,7 @@ ci-analysis skillの評価で、tool-agnostic refactor(#124398)により bui - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年02月13日 18:09:21(UTC) - マージ日時: 2026年02月14日 00:49:02(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Compact DAC)ローダーの `GetModuleData` メソッドから不要なトランジェント フラグを削除するリファクタリングです。DAC(Debug Access Component)のモジュールデータ取得処理を簡潔にし、フラグの管理を明確にしています。 @@ -68,7 +68,7 @@ cDAC(Compact DAC)ローダーの `GetModuleData` メソッドから不要な - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年02月13日 00:34:41(UTC) - マージ日時: 2026年02月14日 17:35:14(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 WebAssembly RyuJIT コンパイラのコード生成機能を拡張するPRです。GT_INDEX_ADDR、GT_LEA、GT_MEMORYBARRIER、GT_RETFILT などの命令ノードのコード生成実装を追加し、crossgen replay 機能を改善しています。また、WASM の非連続な例外領域レイアウトに対応するため、例外処理の検証チェックを緩和しています。 @@ -93,7 +93,7 @@ WebAssembly RyuJIT コンパイラのコード生成機能を拡張するPRで - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月11日 09:12:40(UTC) - マージ日時: 2026年02月14日 06:28:08(UTC) -- ラベル: area-Extensions-Logging +- ラベル: area-Extensions-Logging #### 概要 LoggerMessage ソースジェネレータが生成するメソッドに XML ドキュメンテーションを追加し、IDE の IntelliSense でログメッセージテンプレートとログレベルを表示できるようにします。開発者がホバーするだけで生成されたログメソッドの詳細を確認できるようになります。 @@ -132,7 +132,7 @@ public partial void LogHello(string name) - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年02月10日 22:16:26(UTC) - マージ日時: 2026年02月14日 00:33:39(UTC) -- ラベル: linkable-framework area-NativeAOT-coreclr +- ラベル: linkable-framework area-NativeAOT-coreclr #### 概要 ILC(Intermediate Language Compiler)のType Map assembly target traversalロジックを修正するPRです。Type Mapメタデータ生成時に、特定のType Groupに対して`AssemblyTarget`で明示的に参照されていないアセンブリ内のType Mapは保持しないようにしました。これにより、不要な型情報がAOTコンパイル出力に含まれるのを防ぎます。 @@ -159,7 +159,7 @@ ILC(Intermediate Language Compiler)のType Map assembly target traversalロ - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年01月22日 23:37:16(UTC) - マージ日時: 2026年02月14日 21:57:50(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly(Wasm)向けRyuJIT JITコンパイラーに対し、Wasm Basic C ABI仕様に従った構造体分類機能を実装しました。ホスト(VM、CrossGen)ロジックとJITロジックを追加し、Wasmプラットフォーム向けコンパイル時に構造体の引数受け渡し方式を適切に分類します。また、SPMI(SuperPMI)ツール内でも同機能を実装し、cross-jittingによるWasm関連テストを継続できるようにしました。 diff --git a/archives/2026/02/15.md b/archives/2026/02/15.md index f3148cd..d0e2537 100644 --- a/archives/2026/02/15.md +++ b/archives/2026/02/15.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#124436 Remove ForceENC](#124436) 2. [#124431 Fix empty host parsing regression](#124431) 3. [#124303 Replace MethodDescCallSite with UnmanagedCallersOnly for Priority 1 c…](#124303) @@ -12,7 +12,7 @@ - 作成者: [@noahfalk](https://github.com/noahfalk) - 作成日時: 2026年02月15日 00:54:11(UTC) - マージ日時: 2026年02月15日 06:28:00(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 レガシーで未ドキュメント化された `UNSUPPORTED_ForceEnc` 環境変数をCoreClrから削除し、サポート対象の `DOTNET_MODIFIABLE_ASSEMBLIES` 設定に統一します。Edit and Continue (EnC) 機能の有効化判定とApply Update機能の確認ロジックから `ForceEnc` の参照を削除しており、設定オプションの簡素化と一貫性向上が目的です。 @@ -39,7 +39,7 @@ - 作成者: [@MihaZupan](https://github.com/MihaZupan) - 作成日時: 2026年02月14日 22:46:30(UTC) - マージ日時: 2026年02月15日 02:09:26(UTC) -- ラベル: area-System.Net +- ラベル: area-System.Net #### 概要 System.Private.Uri の空のホスト解析に関する回帰バグを修正しました。#121671 で導入された条件チェック `end < length` が、実際の範囲チェックではなく単に `end` が更新されたかどうかの確認になっていた問題を修正しています。 @@ -62,7 +62,7 @@ System.Private.Uri の空のホスト解析に関する回帰バグを修正し - 作成者: [@AaronRobinsonMSFT](https://github.com/AaronRobinsonMSFT) - 作成日時: 2026年02月11日 23:31:39(UTC) - マージ日時: 2026年02月15日 04:44:00(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 このPull Requestは、.NET runtimeの複数の重要な相互運用呼び出しサイトを、従来の`MethodDescCallSite`/`CallDescrWorker`から`UnmanagedCallersOnly`属性を使用した新しいマネージドラッパーに置き換えています。EventSource初期化、スタートアップフック、ローダー割り当て、カルチャ情報管理、JITメタデータ取得など、優先度の高い7つの重要な相互運用地点を対象としています。 @@ -92,7 +92,7 @@ System.Private.Uri の空のホスト解析に関する回帰バグを修正し - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月08日 10:22:16(UTC) - マージ日時: 2026年02月15日 01:05:21(UTC) -- ラベル: area-System.DateTime +- ラベル: area-System.DateTime #### 概要 ISO 8601の24:00:00(日の終わり)をサポートするため、`DateTime`、`DateTimeOffset`、`TimeOnly`、Utf8Parser、System.Text.Jsonのパース機能を拡張しました。24:00:00は翌日の00:00:00と同じ時点として正規化されます。この機能は分秒がいずれも0の場合のみ有効です。 @@ -135,7 +135,7 @@ var dt = DateTimeOffset.Parse("2007-04-05T24:00"); - 作成者: [@VSadov](https://github.com/VSadov) - 作成日時: 2026年02月02日 23:42:36(UTC) - マージ日時: 2026年02月15日 02:14:43(UTC) -- ラベル: area-System.Threading +- ラベル: area-System.Threading #### 概要 ThreadPool のセマフォ実装に関する複数の修正と改善が行われました。主な変更は以下の通りです: @@ -183,7 +183,7 @@ ThreadPool のセマフォ実装に関する複数の修正と改善が行われ - 作成者: [@agocke](https://github.com/agocke) - 作成日時: 2026年01月25日 00:43:53(UTC) - マージ日時: 2026年02月15日 18:18:38(UTC) -- ラベル: linkable-framework area-Tools-ILLink +- ラベル: linkable-framework area-Tools-ILLink #### 概要 `RequiresUnsafe`属性に対応したトリミング解析機能を追加するデバッグ専用の実装です。フレームワークに注釈を付けるための補助機能であり、本番環境での提供を想定していません。Roslyn解析器とコードフィックスプロバイダーを通じて、`unsafe`コンテキスト外での安全でないコード使用を検出し、自動修正を提供します。 @@ -220,7 +220,7 @@ public sealed class RequiresUnsafeAttribute : Attribute - 作成者: [@pedrobsaila](https://github.com/pedrobsaila) - 作成日時: 2025年06月01日 12:53:37(UTC) - マージ日時: 2026年02月15日 14:48:42(UTC) -- ラベル: area-Extensions-Caching community-contribution +- ラベル: area-Extensions-Caching community-contribution #### 概要 MemoryCacheの統計情報の不整合を修正するPull Requestです。キャッシュの統計カウンターが不正確な状態になる問題に対応しており、メモリキャッシュの正確なメトリクス追跡を改善します。 diff --git a/archives/2026/02/16.md b/archives/2026/02/16.md index f9d22a3..1c47fb5 100644 --- a/archives/2026/02/16.md +++ b/archives/2026/02/16.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#124470 ArrayBufferWriter double grow boundary fix](#124470) 2. [#124446 Replace MethodDescCallSite with UnmanagedCallersOnly for ObjC interop](#124446) 3. [#124442 Make report-green.yml run on agentless server job](#124442) @@ -28,7 +28,7 @@ - 作成者: [@sstronin](https://github.com/sstronin) - 作成日時: 2026年02月16日 15:57:31(UTC) - マージ日時: 2026年02月16日 18:57:52(UTC) -- ラベル: area-System.Buffers community-contribution +- ラベル: area-System.Buffers community-contribution #### 概要 `ArrayBufferWriter`で現在の容量が`int.MaxValue / 2`の時に予期しなく再割り当てに失敗するバグを修正しました。バッファが満杯の状態で追加メモリをリクエストすると、オーバーフロー判定が誤った結果になり例外が発生していました。 @@ -60,7 +60,7 @@ abw.GetMemory(1); // throws ArgumentException - 作成者: [@AaronRobinsonMSFT](https://github.com/AaronRobinsonMSFT) - 作成日時: 2026年02月15日 20:26:31(UTC) - マージ日時: 2026年02月16日 16:29:49(UTC) -- ラベル: area-Interop-coreclr +- ラベル: area-Interop-coreclr #### 概要 Objective-C相互運用性の実装において、`MethodDescCallSite`/`CallDescrWorker`を使用した呼び出し機構を、より現代的な`UnmanagedCallersOnly`リバースP/Invokeパターンに置き換えました。具体的には、`AvailableUnhandledExceptionPropagation`と`InvokeUnhandledExceptionPropagation`の2つの関数がこの変更の対象です。 @@ -83,7 +83,7 @@ Objective-C相互運用性の実装において、`MethodDescCallSite`/`CallDesc - 作成者: [@akoeplinger](https://github.com/akoeplinger) - 作成日時: 2026年02月15日 09:43:36(UTC) - マージ日時: 2026年02月16日 08:41:39(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 Azure Pipeline の report-green.yml を、エージェントベースのジョブからエージェントレスサーバージョブに移行しました。ドキュメントのみのPRで成功を報告し、Build Analysis へのハング防止が目的です。従来の PowerShell スクリプトを Delay@1 タスク(遅延0分)に置き換え、CI マシン割り当てを回避して no-op 動作を実現します。 @@ -131,7 +131,7 @@ jobs: - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月15日 01:41:34(UTC) - マージ日時: 2026年02月16日 15:33:06(UTC) -- ラベル: area-System.Xml +- ラベル: area-System.Xml #### 概要 ISO 8601の`24:00:00`(endOfDayFrag)表記をXSD DateTime検証で正式にサポートしました。W3C XML Schema 1.1で定義されている`24:00:00`を`XmlConvert`とXML Schema検証層で受け入れるようになり、`2007-04-05T24:00:00`は`2007-04-06T00:00:00`と解析されます。以前は`FormatException`が発生していた入力が正常に処理されるようになります。 @@ -164,7 +164,7 @@ PR #124142(DateTime/DateTimeOffset/TimeOnlyのISO 8601 24:00サポート基盤 - 作成者: [@jeffhandley](https://github.com/jeffhandley) - 作成日時: 2026年02月15日 00:26:34(UTC) - マージ日時: 2026年02月16日 15:21:49(UTC) -- ラベル: area-Meta +- ラベル: area-Meta #### 概要 issue-labeler の予測閾値を環境変数で設定可能にし、デフォルト値を 0.40 から 0.05 に変更するPR。複数の訓練実行結果から、0.05 の閾値が最も高い正確性(91.91% の一致率)を示し、`needs-area-label` ラベルが必要なケースを最小化できることが確認されました。`ISSUE_LABELER_PREDICTION_THRESHOLD` 環境変数で閾値を動的に調整できます。 @@ -194,7 +194,7 @@ issue-labeler の予測閾値を環境変数で設定可能にし、デフォル - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年02月14日 22:57:14(UTC) - マージ日時: 2026年02月16日 13:18:47(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイラの`impStoreNullableFields`と`impLoadNullableFields`関数において、SIMD型が誤って`TYP_STRUCT`として型付けされていた問題を修正しました。`TypeHandleToVarType`を使用することで、`CORINFO_CLASS_HANDLE`を適切に`TYP_SIMD*`型にマッピングするようになります。 @@ -218,7 +218,7 @@ JITコンパイラの`impStoreNullableFields`と`impLoadNullableFields`関数に - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年02月13日 21:22:25(UTC) - マージ日時: 2026年02月16日 06:42:14(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 動的コード実行機能が無効な場合、インタープリタライブラリをランタイムに静的リンクする変更です。これにより、`FEATURE_DYNAMIC_CODE_COMPILED` が false の場合、プラットフォームマニフェストエントリを作成する代わりに、インタープリタライブラリが直接ランタイムに組み込まれます。 @@ -247,7 +247,7 @@ JITコンパイラの`impStoreNullableFields`と`impLoadNullableFields`関数に - 作成者: [@jtschuster](https://github.com/jtschuster) - 作成日時: 2026年02月13日 17:39:43(UTC) - マージ日時: 2026年02月16日 23:50:24(UTC) -- ラベル: area-crossgen2-coreclr runtime-async +- ラベル: area-crossgen2-coreclr runtime-async #### 概要 ReadyToRun コンパイラの async メソッド処理において、`AsyncHelpers` への参照が存在しないケースでアサーション失敗が発生していた問題を修正しました。不正確なアサーションを削除し、async メソッドが存在する場合は必ず `System.Runtime.CompilerServices.AsyncHelpers` を必須メタデータ参照として明示的に追加するように改善しました。 @@ -279,7 +279,7 @@ requiredTypes.Add(asyncHelpers); - 作成者: [@ManickaP](https://github.com/ManickaP) - 作成日時: 2026年02月13日 15:30:01(UTC) - マージ日時: 2026年02月16日 11:39:04(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 HTTPクライアントテストの`Send_TimeoutRequestContent_Throws`テストにおけるレース条件を修正しました。サーバー接続がクライアントのタイムアウト前にクローズされることで、テストが不安定になっていた問題を、セマフォベースの同期メカニズムで解決します。 @@ -314,7 +314,7 @@ catch (TaskCanceledException ex) when (ex.InnerException is TimeoutException) - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年02月13日 15:20:24(UTC) - マージ日時: 2026年02月16日 23:13:20(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 このPRは、JIT コンパイラの範囲チェック最適化における不正な仮定を修正します。`IsVnCheckedBound` の不正な使用(すべての値番号が非負と仮定)を削除し、代わりに span.Length の非負性をアサーション経由で追跡するようにしています。これにより、範囲チェックの削除における誤った最適化を防ぎます。 @@ -341,7 +341,7 @@ catch (TaskCanceledException ex) when (ex.InnerException is TimeoutException) - 作成者: [@ManickaP](https://github.com/ManickaP) - 作成日時: 2026年02月13日 14:42:22(UTC) - マージ日時: 2026年02月16日 20:15:58(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 HTTP/2接続の適切なシャットダウン(GOAWAY フレーム伝播)を確保するために、リソース破棄の順序を修正したテスト。HttpClientとハンドラーをGenericLoopbackConnectionより先に破棄することで、Windows環境でのタイミング依存バグを解決します。 @@ -369,7 +369,7 @@ HTTP/2接続の適切なシャットダウン(GOAWAY フレーム伝播)を - 作成者: [@ManickaP](https://github.com/ManickaP) - 作成日時: 2026年02月13日 14:37:05(UTC) - マージ日時: 2026年02月16日 09:12:00(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 Issue #72586(2022年10月に解決)に関連する古い`ActiveIssue`属性をテストメソッドから削除しました。これにより、HTTP/1レスポンスストリームの応答キャンセル適合性テストが再度実行されるようになります。以前は`Task.CompletedTask`を返していた3つのテストメソッドオーバーライドが不要になったため、ベースクラスの`CancelPending`テストが実行可能になります。 @@ -392,7 +392,7 @@ Issue #72586(2022年10月に解決)に関連する古い`ActiveIssue`属性 - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年02月13日 10:35:36(UTC) - マージ日時: 2026年02月16日 12:00:35(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT コンパイラの `dataSection` フレキシブル配列を削除し、より安全で保守性の高い実装に置き換えました。フレキシブル配列内にポインタと `emitLocation` インスタンスを格納する際のアラインメント問題を解決しています。 @@ -415,7 +415,7 @@ JIT コンパイラの `dataSection` フレキシブル配列を削除し、よ - 作成者: [@janvorli](https://github.com/janvorli) - 作成日時: 2026年02月12日 01:41:17(UTC) - マージ日時: 2026年02月16日 13:31:10(UTC) -- ラベル: Servicing-approved area-VM-coreclr +- ラベル: Servicing-approved area-VM-coreclr #### 概要 async signal handlerからThread Local Storage (TLS)にアクセスする際のクラッシュを修正するバックポート。最新のglibc版でのメモリ割り当て中の割り込み時にクラッシュする問題を解決するため、lock-freeでasync-safeなスレッドマップを実装し、signal handlerからの安全なスレッド検索を可能にしました。 @@ -454,7 +454,7 @@ Thread* pThread = GetThreadAsyncSafe(); // signal handlerでも安全 - 作成者: [@SingleAccretion](https://github.com/SingleAccretion) - 作成日時: 2026年02月11日 21:29:59(UTC) - マージ日時: 2026年02月16日 17:08:38(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr community-contribution +- ラベル: arch-wasm area-CodeGen-coreclr community-contribution #### 概要 WebAssembly(WASM)バックエンド向けRyuJitに内部レジスタ機構を実装しました。これにより、DIV/MOD命令のゼロ除算チェックなど、一時的な値の保持が必要な操作をより効率的に処理できるようになります。内部レジスタは呼び出し元に見えないレジスタとして機能し、コード生成時に中間値を保存するために使用されます。 @@ -486,7 +486,7 @@ WebAssembly(WASM)バックエンド向けRyuJitに内部レジスタ機構 - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年02月11日 18:24:39(UTC) - マージ日時: 2026年02月16日 16:24:10(UTC) -- ラベル: Servicing-approved area-System.Text.RegularExpressions +- ラベル: Servicing-approved area-System.Text.RegularExpressions #### 概要 .NET 10で導入されたアトミックループ最適化に関するバグを修正しました。ループ内にバックトラッキング構文(例:`(?:...)?`、`{n,m}`など)がネストしている場合、正規表現が誤った結果を返していました。この修正により、そうしたケースでは最適化を無効にし、正確な結果を保証します。 @@ -517,7 +517,7 @@ WebAssembly(WASM)バックエンド向けRyuJitに内部レジスタ機構 - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年02月10日 17:17:09(UTC) - マージ日時: 2026年02月16日 18:55:22(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 dotnet/dotnetリポジトリからのコードフロー更新PR。複数の依存パッケージが更新されており、主にRoslyn(コンパイラ)、NuGet関連ツール、ランタイムコンポーネント、ビルドツールが含まれます。2026年2月10日時点のビルド20260210.16から同期されました。 @@ -552,7 +552,7 @@ dotnet/dotnetリポジトリからのコードフロー更新PR。複数の依 - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年02月08日 01:39:46(UTC) - マージ日時: 2026年02月16日 18:56:53(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 このPRはVMR(Virtual Monorepo)の dotnet/dotnet リポジトリからの定期的なコードフロー更新です。release/10.0.1xx ブランチのコンパイラ、ビルドツール、テストフレームワーク、ランタイムなど複数の依存パッケージが更新されています。特にMicrosoft.CodeAnalysis関連とMicrosoft.DotNet.Arcade.Sdkなどのビルド基盤パッケージが2月10日~11日のビルドに更新されました。 @@ -582,7 +582,7 @@ dotnet/dotnetリポジトリからのコードフロー更新PR。複数の依 - 作成者: [@ezhevita](https://github.com/ezhevita) - 作成日時: 2025年11月17日 07:40:20(UTC) - マージ日時: 2026年02月16日 16:35:05(UTC) -- ラベル: area-System.IO community-contribution +- ラベル: area-System.IO community-contribution #### 概要 macOS上のFileSystemWatcher起動時のパフォーマンス問題(Issue #77793)を修正しました。不要な`Interop.Sys.Sync()`呼び出しを削除することで、ウォッチャーインスタンスあたり約45msの遅延を解消しています。FSEventStream APIは既に`kFSEventStreamEventIdSinceNow`で設定されており、新規イベントのみを受信するため、バッファフラッシュは不要でした。 @@ -611,7 +611,7 @@ macOS上のFileSystemWatcher起動時のパフォーマンス問題(Issue #777 - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2025年11月04日 17:20:01(UTC) - マージ日時: 2026年02月16日 16:38:08(UTC) -- ラベル: Servicing-approved linkable-framework area-codeflow +- ラベル: Servicing-approved linkable-framework area-codeflow #### 概要 dotnet/runtimeの release/9.0-staging ブランチを対象に、dotnet/roslyn からの依存関係を更新するPull Requestです。Roslyn 4.12.0 から 4.14.0、CodeAnalysis.Analyzers 3.11.0-beta1 から 3.12.0-beta1 へアップグレードされています。これに伴い、複数のテストファイルが整理・調整されています。 @@ -637,7 +637,7 @@ dotnet/runtimeの release/9.0-staging ブランチを対象に、dotnet/roslyn - 作成者: [@sancheolz](https://github.com/sancheolz) - 作成日時: 2025年10月20日 12:06:16(UTC) - マージ日時: 2026年02月16日 15:30:06(UTC) -- ラベル: area-System.DirectoryServices community-contribution +- ラベル: area-System.DirectoryServices community-contribution #### 概要 System.DirectoryServices ライブラリにおいて、SafeLsaPolicyHandle オブジェクトの適切なリソース解放を実装しました。SafeLsaPolicyHandle は LSA ポリシーハンドルをラップする SafeHandle 型であり、ネイティブリソースを確実に解放するために明示的な破棄が必要です。静的分析ツール SVACE により検出されました。 @@ -675,7 +675,7 @@ using var policyHandle = new SafeLsaPolicyHandle(...); - 作成者: [@kzrnm](https://github.com/kzrnm) - 作成日時: 2025年09月12日 14:39:27(UTC) - マージ日時: 2026年02月16日 12:48:53(UTC) -- ラベル: area-System.Runtime community-contribution +- ラベル: area-System.Runtime community-contribution #### 概要 `ValueListBuilder.Grow`メソッドの過度なキャパシティ割り当てバグを修正しました。`Grow`メソッドに渡す引数が誤っていたため、必要以上のメモリが確保されていました。この修正により、`ValueStringBuilder`と同じ割り当てロジックに統一されます。 @@ -717,7 +717,7 @@ Issue番号の記載がないため確認できません。 - 作成者: [@prozolic](https://github.com/prozolic) - 作成日時: 2025年08月20日 16:25:05(UTC) - マージ日時: 2026年02月16日 03:36:41(UTC) -- ラベル: area-System.Collections tenet-performance community-contribution +- ラベル: area-System.Collections tenet-performance community-contribution #### 概要 `ImmutableArrayExtensions.SequenceEqual`メソッドのパフォーマンスを大幅に改善するPRです。`ICollection`を実装するコレクション向けに高速パスを追加し、`Enumerable.SequenceEqual`に委譲することで、配列・リストで約90%の高速化を実現しています。純粋な`IEnumerable`型に対しては既存実装を保持し、互換性を維持しています。 diff --git a/archives/2026/02/17.md b/archives/2026/02/17.md index a139392..a801cd9 100644 --- a/archives/2026/02/17.md +++ b/archives/2026/02/17.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#124517 Fix flaky MaxResponseHeadersLength tests by handling additional SocketError codes](#124517) 2. [#124502 JIT: Check for inline candidates in gtTreeContainsAsyncCall](#124502) 3. [#124500 \[browser\] Emit symbols in WasmSDK](#124500) @@ -31,7 +31,7 @@ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月17日 15:44:59(UTC) - マージ日時: 2026年02月17日 19:19:13(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 HTTP クライアントの `MaxResponseHeadersLength` テストにおける競合状態によるフレーキーな失敗を修正しました。クライアントが接続を強制切断した際に、サーバー側が複数の `SocketError` コード(`Shutdown`、`ConnectionReset`、`ConnectionAborted`)に対応することで、プラットフォーム間での非決定的な動作を安定化させています。 @@ -64,7 +64,7 @@ catch (IOException ex) when (ex.InnerException is SocketException se && - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年02月17日 09:46:42(UTC) - マージ日時: 2026年02月17日 23:43:19(UTC) -- ラベル: area-CodeGen-coreclr runtime-async +- ラベル: area-CodeGen-coreclr runtime-async #### 概要 JIT コンパイラの `gtTreeContainsAsyncCall` 関数を改善し、インライン候補内の非同期呼び出しを正しく検出するようにしました。インライン候補は後で元の呼び出しに置き換わる可能性があり、その呼び出しが非同期呼び出しを含む場合、適切なスピリング処理が必要です。Native AOT シナリオでのランタイム非同期有効時における null 参照クラッシュを修正します。 @@ -88,7 +88,7 @@ JIT コンパイラの `gtTreeContainsAsyncCall` 関数を改善し、インラ - 作成者: [@maraf](https://github.com/maraf) - 作成日時: 2026年02月17日 09:31:01(UTC) - マージ日時: 2026年02月17日 17:56:41(UTC) -- ラベル: arch-wasm area-Build-mono os-browser +- ラベル: arch-wasm area-Build-mono os-browser #### 概要 WebAssembly SDK ビルド時にシンボルファイル(PDB)を出力対象に含める機能を追加したPRです。ブラウザベースの .NET ワークロードをデバッグする際に必要なシンボル情報が正しくパッケージに含まれるようになります。 @@ -116,7 +116,7 @@ WebAssembly SDK ビルド時にシンボルファイル(PDB)を出力対象 - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年02月17日 02:05:19(UTC) - マージ日時: 2026年02月17日 20:05:24(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 これはdotnet/dotnetリポジトリからのコードフロー更新PRです。ビルド20260216.9の依存関係更新を含むもので、Microsoft.CodeAnalysis、NuGet、ランタイムコンポーネント、Mono LLVM関連パッケージなど複数の重要なコンポーネントがアップデートされています。主にテストフレームワークの最適化と依存関係の同期化が行われています。 @@ -157,7 +157,7 @@ WebAssembly SDK ビルド時にシンボルファイル(PDB)を出力対象 - 作成者: [@VSadov](https://github.com/VSadov) - 作成日時: 2026年02月17日 01:27:10(UTC) - マージ日時: 2026年02月17日 21:44:20(UTC) -- ラベル: area-System.Threading runtime-async +- ラベル: area-System.Threading runtime-async #### 概要 ValueTaskSourceの完了時に、継続状態(`_continuationState`)を保持し続けることで、オブジェクトのファイナライゼーションが遅延する問題を修正します。完了後は不要な状態をnullに設定することで、ガベージコレクションを促進し、特にHttp3ストリームのような短命なリソースの適切なクリーンアップを実現します。 @@ -192,7 +192,7 @@ ValueTaskSourceは再利用可能な設計のため、1回限りの継続呼び - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年02月17日 00:49:24(UTC) - マージ日時: 2026年02月17日 22:20:21(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 このPRはVMR(Virtual Mono Repository)からのコードフロー更新で、dotnet/dotnetリポジトリ(release/10.0.1xx ブランチ、コミット: 12f41dd)の変更を dotnet/runtime の release/10.0 ブランチに同期しています。Microsoft.CodeAnalysis、NuGet関連パッケージ、およびビルドツール群の依存関係が更新され、System.Security.Cryptography.COSE ライブラリの機能拡張と関連テストが追加されています。 @@ -228,7 +228,7 @@ Issue番号は明記されていませんが、`GitHub_123254.vb` ファイル - 作成者: [@VSadov](https://github.com/VSadov) - 作成日時: 2026年02月16日 23:20:37(UTC) - マージ日時: 2026年02月17日 18:03:44(UTC) -- ラベル: area-VM-coreclr linkable-framework runtime-async +- ラベル: area-VM-coreclr linkable-framework runtime-async #### 概要 ランタイムの非同期API(RuntimeAsync)から `[RequiresPreviewFeatures]` 属性を削除し、正式なAPI として確定させるPull Requestです。同時に不要になった `SYSLIB5007` の抑制コメントも削除しました。このAPIはプレビュー段階を既に卒業していたため、属性の削除により開発者はこのAPIを警告なく使用できるようになります。 @@ -255,7 +255,7 @@ Issue番号は明記されていませんが、`GitHub_123254.vb` ファイル - 作成者: [@SingleAccretion](https://github.com/SingleAccretion) - 作成日時: 2026年02月16日 21:31:58(UTC) - マージ日時: 2026年02月17日 20:28:31(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr community-contribution +- ラベル: arch-wasm area-CodeGen-coreclr community-contribution #### 概要 WASM向けのレジスタ割り当て機構を改善するPRです。複数回使用されるオペランド(multiply-used operands)に対して、新しいLIRフラグを導入し、レジスタアロケータが前方走査で効率的にライフタイムを追跡できるようにしました。また、SDSUノードが有効なレジスタを持つ場合、`local.tee`命令を通じてそれらを割り当てる契約を追加しています。これにより、任意のオペランドをマルチユース化できます。 @@ -289,7 +289,7 @@ Ref: https://github.com/dotnet/runtime/pull/124298 - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年02月16日 19:06:13(UTC) - マージ日時: 2026年02月17日 09:53:23(UTC) -- ラベル: area-Infrastructure-coreclr +- ラベル: area-Infrastructure-coreclr #### 概要 Visual Studio で CoreCLR を開く際の `./build.cmd -vs coreclr.slnx` コマンド実行時に、`FeatureDynamicCodeCompiled` MSBuild プロパティが未定義のため CMake 構成に失敗する問題を修正しました。runtime.proj で条件チェックを修正し、プロパティが未定義の場合はデフォルト値として `true` を使用するようにしました。 @@ -313,7 +313,7 @@ Visual Studio で CoreCLR を開く際の `./build.cmd -vs coreclr.slnx` コマ - 作成者: [@kzrnm](https://github.com/kzrnm) - 作成日時: 2026年02月16日 17:40:06(UTC) - マージ日時: 2026年02月17日 12:11:15(UTC) -- ラベル: area-System.IO.Compression community-contribution +- ラベル: area-System.IO.Compression community-contribution #### 概要 zstd(Zstandard圧縮ライブラリ)のビルド時に `/source-charset:utf-8` コンパイラオプションを追加し、ソースコードの文字エンコーディングを明示的にUTF-8として指定する変更です。これにより、異なるシステムロケール環境でのビルドの一貫性が向上します。 @@ -336,7 +336,7 @@ zstd(Zstandard圧縮ライブラリ)のビルド時に `/source-charset:utf-8` - 作成者: [@ManickaP](https://github.com/ManickaP) - 作成日時: 2026年02月16日 15:40:28(UTC) - マージ日時: 2026年02月17日 15:37:08(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 System.Net.HttpListenerのテストスイートをxUnit並列実行に対応させるため、ブロッキングパターンをasync/awaitに置き換えました。`.Result`や`Task.Run()`でのデッドロックを排除し、テスト並列化制限を解除することで、テスト実行性能が向上します。 @@ -365,7 +365,7 @@ System.Net.HttpListenerのテストスイートをxUnit並列実行に対応さ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月16日 12:13:19(UTC) - マージ日時: 2026年02月17日 08:34:06(UTC) -- ラベル: area-System.Net.Security +- ラベル: area-System.Net.Security #### 概要 TLS セッション再開の無効化をテストする `ClientDisableTlsResume_Succeeds` テストを再有効化するPRです。このテストはWindows上でSChannel関連のバグによってフレーキーな動作を示していましたが、PR #113604で根本的なバグが修正されたため、`[ActiveIssue]` 属性を削除して再有効化します。 @@ -402,7 +402,7 @@ public async Task ClientDisableTlsResume_Succeeds(bool testClient) - 作成者: [@leculver](https://github.com/leculver) - 作成日時: 2026年02月16日 09:30:27(UTC) - マージ日時: 2026年02月17日 20:22:42(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 SOS診断ツールの`dumplog`コマンド実行時にGetManagedResolverでnullポインタ参照によるクラッシュが発生する問題を修正しました。診断コード内でnull状態のm_managedResolverハンドルが検出される場合の処理を追加し、ストレスログ出力時のクラッシュを回避します。 @@ -434,7 +434,7 @@ return ObjectFromHandle(m_managedResolver); - 作成者: [@AaronRobinsonMSFT](https://github.com/AaronRobinsonMSFT) - 作成日時: 2026年02月15日 05:52:25(UTC) - マージ日時: 2026年02月17日 22:17:26(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 `CustomMarshalerInfo::GetInstance` の呼び出しを `MethodDescCallSite`/`CallDescrWorker` から `UnmanagedCallersOnly` (UCO) reverse P/Invoke に置き換えるリファクタリング。これにより、マネージ・アンマネージ間の相互運用コードの統一を進め、#123864 の Priority 1 項目を完了します。 @@ -459,7 +459,7 @@ return ObjectFromHandle(m_managedResolver); - 作成者: [@MihaZupan](https://github.com/MihaZupan) - 作成日時: 2026年02月14日 23:41:48(UTC) - マージ日時: 2026年02月17日 13:05:09(UTC) -- ラベル: area-System.Net +- ラベル: area-System.Net #### 概要 Uri.cs内で`IndexOfAny`と`SearchValues`を活用し、ホスト名解析性能を最適化しました。特にLongHost(長いホスト名)のケースで約28%のパフォーマンス改善が実現されています(166.87ns → 120.22ns)。 @@ -492,7 +492,7 @@ https://github.com/EgorBot/runtime-utils/issues/618 - 作成者: [@jtschuster](https://github.com/jtschuster) - 作成日時: 2026年02月13日 19:59:01(UTC) - マージ日時: 2026年02月17日 22:22:41(UTC) -- ラベル: area-crossgen2-coreclr runtime-async +- ラベル: area-crossgen2-coreclr runtime-async #### 概要 CrossGen2を使用したライブラリテストにおいて、runtime-asyncを有効にした状態での実行レグを追加するPull Requestです。既存のクロスジェン アウターループパイプラインに新しいテスト実行構成を追加し、非同期ランタイム機能の互換性を検証します。 @@ -519,7 +519,7 @@ CrossGen2を使用したライブラリテストにおいて、runtime-asyncを - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年02月13日 19:22:50(UTC) - マージ日時: 2026年02月17日 01:19:02(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 AspNet2のSuperPMI収集スクリプトの堅牢性を向上させる修正です。Helixマシンの制限に対応するため、NuGetキャッシュの設定を改善、ビルドタイムアウトを延長、.NET 11.0プレビューへの切り替え、接続数削減、TieredPGO設定の削除を実施しました。結果として、mchファイルサイズは892 MBとなっています。 @@ -555,7 +555,7 @@ AspNet2のSuperPMI収集スクリプトの堅牢性を向上させる修正で - 作成者: [@agocke](https://github.com/agocke) - 作成日時: 2026年02月12日 08:28:17(UTC) - マージ日時: 2026年02月17日 18:59:10(UTC) -- ラベル: needs-area-label +- ラベル: needs-area-label #### 概要 `System.Diagnostics.Tracing` 名前空間の実装をリファクタリングし、`EventSource.cs` から `ManifestBuilder` と `EventListener` を専用ファイルに抽出しました。これにより `EventSource.cs` のサイズが 1,969行から 411行に削減され、コードの可読性と保守性が向上します。動作は変わらず、純粋なコード整理です。 @@ -579,7 +579,7 @@ AspNet2のSuperPMI収集スクリプトの堅牢性を向上させる修正で - 作成者: [@prozolic](https://github.com/prozolic) - 作成日時: 2026年02月09日 02:35:34(UTC) - マージ日時: 2026年02月17日 21:24:49(UTC) -- ラベル: area-System.Collections community-contribution +- ラベル: area-System.Collections community-contribution #### 概要 `ImmutableList` の `LastIndexOf` と `FindLastIndex` メソッドで上限値チェックが欠落していた問題を修正しました。従来は `index == Count` を指定しても例外をスローせず、不正な結果を返していました。この修正により `ImmutableArray` の動作と一致するようになります。 @@ -612,7 +612,7 @@ int result = list.LastIndexOf(2, 3); // 本来は ArgumentOutOfRangeException - 作成者: [@tpa95](https://github.com/tpa95) - 作成日時: 2026年02月05日 14:21:23(UTC) - マージ日時: 2026年02月17日 21:24:13(UTC) -- ラベル: area-GC-coreclr community-contribution +- ラベル: area-GC-coreclr community-contribution #### 概要 coreclrのガベージコレクション関連コード内で検出された2つの潜在的な整数オーバーフロー脆弱性を修正しました。Svace静的解析ツールで発見された問題で、実際の発生例は未確認ですが、セキュリティ観点から対応が必要です。 @@ -649,7 +649,7 @@ size_t result = (size_t)num_heaps * some_value; - 作成者: [@snickolls-arm](https://github.com/snickolls-arm) - 作成日時: 2026年02月04日 09:59:19(UTC) - マージ日時: 2026年02月17日 17:41:24(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 ARM64向けに`Vector` API用の`InstructionSet`定義の基盤コードを追加しました。これにより、`Vector`を対象アーキテクチャに応じてAdvSimd/SVEに適切にリダイレクトするための抽象化レイヤーが実装されます。 @@ -680,7 +680,7 @@ ARM64向けに`Vector` API用の`InstructionSet`定義の基盤コードを - 作成者: [@teo-tsirpanis](https://github.com/teo-tsirpanis) - 作成日時: 2026年02月03日 00:08:50(UTC) - マージ日時: 2026年02月17日 21:29:43(UTC) -- ラベル: area-System.Reflection.Emit community-contribution +- ラベル: area-System.Reflection.Emit community-contribution #### 概要 `PersistedAssemblyBuilder`におけるカスタム修飾子(custom modifiers)のエンコーディングのバグを修正しました。`SignatureHelper`の実装を簡潔化し、Mono環境での修飾子エンコーディング処理を改善しています。Issue #123857に対応し、テストケースを追加してローカルで検証済みです。 @@ -707,7 +707,7 @@ ARM64向けに`Vector` API用の`InstructionSet`定義の基盤コードを - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年02月02日 19:27:44(UTC) - マージ日時: 2026年02月17日 20:04:47(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 レガシーランナーの廃止に伴い、`issues.targets`ファイルと関連する除外リスト管理インフラストラクチャを削除するPRです。空になった`issues.targets`とそれをサポートするテスト除外機能(`TestExclusion.cs`、APKパッチング機能など)が完全に削除されました。これにより、テスト実行パイプラインの複雑さが低減され、メンテナンス負荷が軽減されます。 @@ -737,7 +737,7 @@ ARM64向けに`Vector` API用の`InstructionSet`定義の基盤コードを - 作成者: [@ylpoonlg](https://github.com/ylpoonlg) - 作成日時: 2026年02月02日 15:44:49(UTC) - マージ日時: 2026年02月17日 17:55:57(UTC) -- ラベル: area-System.Runtime.Intrinsics community-contribution +- ラベル: area-System.Runtime.Intrinsics community-contribution #### 概要 ARM64プロセッサのSVE2(Scalable Vector Extension 2)命令セットに非時間的スキャッタストア(non-temporal scatter stores)機能を実装しました。これにより、メモリへのベクトルデータ書き込み時にキャッシュを迂回する最適化が可能になります。 @@ -764,7 +764,7 @@ ARM64プロセッサのSVE2(Scalable Vector Extension 2)命令セットに - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月27日 23:32:43(UTC) - マージ日時: 2026年02月17日 22:47:54(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 Android上のNativeAOT環境で`RandomNumberGenerator.GetBytes()`を呼び出すとSIGSEGVクラッシュが発生する問題を修正しました。原因はJNI環境(`gJvm`)が初期化されていなかったこと。`JNI_OnLoad`を弱シンボルで実装することで、静的リンク時も自動初期化が可能になります。 @@ -796,7 +796,7 @@ dotnet/runtime#123355 - [android][NativeAOT] SIGSEGV in RandomNumberGenerator.Ge - 作成者: [@ylpoonlg](https://github.com/ylpoonlg) - 作成日時: 2025年12月08日 11:16:21(UTC) - マージ日時: 2026年02月17日 17:49:50(UTC) -- ラベル: area-System.Runtime.Intrinsics community-contribution +- ラベル: area-System.Runtime.Intrinsics community-contribution #### 概要 ARM64 SVE2のADD SATURATE命令のパブリックAPI設計を改善するPRです。従来の`AddSaturateWithSignedAddend`/`AddSaturateWithUnsignedAddend`の2つの分割されたメソッドを、単一の`Sve2.AddSaturate`メソッドに統合しました。JIT側でオペランドの符号付き/符号なし型に基づいて、実際の命令(SQADD/UQADD vs USQADD/SUQADD)を自動選択するSpecialImportフラグを使用しています。 diff --git a/archives/2026/02/18.md b/archives/2026/02/18.md index 5711a90..26daa30 100644 --- a/archives/2026/02/18.md +++ b/archives/2026/02/18.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#124573 Add SHA-384 and SHA-512 hash algorithms to metadata spec](#124573) 2. [#124543 Fix comment in eng/Versions.props](#124543) 3. [#124542 Revert "Re-enable SslStreamTlsResumeTests.ClientDisableTlsResume_Succeeds"](#124542) @@ -27,7 +27,7 @@ - 作成者: [@tmat](https://github.com/tmat) - 作成日時: 2026年02月18日 22:49:39(UTC) - マージ日時: 2026年02月18日 23:06:27(UTC) -- ラベル: area-Meta +- ラベル: area-Meta #### 概要 Portable PDB メタデータ仕様にSHA-384およびSHA-512ハッシュアルゴリズムのサポートを追加しました。Portable PDBは.NETアプリケーションのデバッグ情報保存に使用され、Document テーブル内でハッシュアルゴリズムを用いてソースファイルの検証を行います。 @@ -50,7 +50,7 @@ Portable PDB メタデータ仕様にSHA-384およびSHA-512ハッシュアル - 作成者: [@akoeplinger](https://github.com/akoeplinger) - 作成日時: 2026年02月18日 09:21:34(UTC) - マージ日時: 2026年02月18日 09:39:16(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 `eng/Versions.props`内の古くなったコメントを更新するためのマイナー修正です。最近の.NET 11 SDKバージョンバンプ中に廃止されたコメントをバージョンに依存しない汎用的な説明に変更し、将来のメンテナンス負荷を軽減します。 @@ -74,7 +74,7 @@ Portable PDB メタデータ仕様にSHA-384およびSHA-512ハッシュアル - 作成者: [@rzikm](https://github.com/rzikm) - 作成日時: 2026年02月18日 09:17:58(UTC) - マージ日時: 2026年02月18日 12:01:15(UTC) -- ラベル: area-System.Net.Security +- ラベル: area-System.Net.Security #### 概要 TLS再開機能に関するテスト `ClientDisableTlsResume_Succeeds` を再度無効化するリバートです。Windows 2022 と Windows Nano プラットフォームでテスト失敗が発生しているため、`[ActiveIssue]` 属性を追加して Windows での実行をスキップします。 @@ -98,7 +98,7 @@ TLS再開機能に関するテスト `ClientDisableTlsResume_Succeeds` を再度 - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年02月18日 08:07:11(UTC) - マージ日時: 2026年02月18日 11:26:21(UTC) -- ラベル: area-Codegen-Interpreter-mono +- ラベル: area-Codegen-Interpreter-mono #### 概要 Mono インタプリタで `System.Threading.Volatile.ReadBarrier()` と `System.Threading.Volatile.WriteBarrier()` の intrinsic サポートを追加したバグ修正です。従来はこれらのメソッドが intrinsic スタブとしてインタプリタで実行されると、再帰的に自身を呼び出してスタックオーバーフローを引き起こしていました。本修正により、既存のメモリバリア opcode を emitすることで問題を解決します。 @@ -130,7 +130,7 @@ Volatile.ReadBarrier(); // メモリバリア opcode として実行 - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年02月18日 03:49:39(UTC) - マージ日時: 2026年02月18日 11:20:04(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT環境でランタイム非同期処理を有効にした場合の不要な非同期サンク生成を回避する最適化です。IL scannerは直接呼び出しされるTask戻り値メソッドに対して非同期バリアント サンクの生成をスキップし、JIT オーバーヘッドを削減します。 @@ -170,7 +170,7 @@ if (IsCallEffectivelyDirect(method)) - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年02月17日 09:59:46(UTC) - マージ日時: 2026年02月18日 17:50:20(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイラが`AsyncSuspend`イントリンシックを使用するメソッド(例:`AsyncHelpers.Await`)をインライン化しないようにする変更です。最近のインライン化改善により、これらのメソッドがインライン候補になってしまいましたが、インライン化するとAsyncメカニズムが破壊されるため、早期に除外する必要があります。 @@ -192,7 +192,7 @@ JITコンパイラが`AsyncSuspend`イントリンシックを使用するメソ - 作成者: [@FixBo](https://github.com/FixBo) - 作成日時: 2026年02月17日 09:41:33(UTC) - マージ日時: 2026年02月18日 17:24:44(UTC) -- ラベル: area-VM-coreclr community-contribution +- ラベル: area-VM-coreclr community-contribution #### 概要 単一ファイル展開(Single File Deployment)時のProfile Optimization機能において、ファイルパスがnullになることですべてのモジュールがスキップされていた問題を修正しました。この修正により、単一ファイル形式で配布されたアプリケーションでもプロファイル最適化の恩恵を受けられるようになります。 @@ -214,7 +214,7 @@ JITコンパイラが`AsyncSuspend`イントリンシックを使用するメソ - 作成者: [@FixBo](https://github.com/FixBo) - 作成日時: 2026年02月17日 04:43:35(UTC) - マージ日時: 2026年02月18日 17:26:26(UTC) -- ラベル: area-VM-coreclr community-contribution +- ラベル: area-VM-coreclr community-contribution #### 概要 Optimization Profileの読み込み処理でバグを修正しました。`fread`関数の戻り値を正しく処理していなかった問題を解決しています。`fread`は読み込んだ**バイト数**ではなく**要素数**を返すため、その解釈を修正しています。 @@ -238,7 +238,7 @@ Optimization Profileの読み込み処理でバグを修正しました。`fread - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月16日 22:43:40(UTC) - マージ日時: 2026年02月18日 18:40:41(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 `SafeEvpPKeyHandle.DuplicateHandle()`のスレッド安全性問題を修正しました。複数スレッドが同時に`DuplicateHandle()`を呼び出している間に別スレッドが`Dispose()`を実行すると、ハンドルフィールドがゼロにされ、結果として無効な値を持つ未解放のハンドルが返される競合状態が発生していました。 @@ -286,7 +286,7 @@ finally - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年02月16日 21:11:00(UTC) - マージ日時: 2026年02月18日 00:43:07(UTC) -- ラベル: area-Infrastructure-coreclr community-contribution +- ラベル: area-Infrastructure-coreclr community-contribution #### 概要 CMakeビルドスクリプトで複数のコマンドをquote処理することで、パスやプロパティに含まれるスペースを適切に処理できるようにしました。これにより、ファイルパスにスペースを含む環境でのビルド失敗を防止します。 @@ -312,7 +312,7 @@ CMakeビルドスクリプトで複数のコマンドをquote処理すること - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年02月16日 16:32:38(UTC) - マージ日時: 2026年02月18日 16:20:06(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT コンパイラの `TreeLifeUpdater` で `LCL_ADDR`(ローカル変数のアドレス)ノードの生存期間追跡を改善しました。これまで `GTF_VAR_DEATH` フラグが `LCL_ADDR` ノードで処理されていなかったため、非同期変換時にこれらの変数が不必要に生きているものと判定されていました。この修正により、より正確な変数生存期間分析が可能になります。 @@ -336,7 +336,7 @@ JIT コンパイラの `TreeLifeUpdater` で `LCL_ADDR`(ローカル変数の - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年02月16日 09:29:07(UTC) - マージ日時: 2026年02月18日 01:13:16(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/hotreload-utilsリポジトリからの依存関係を更新するMaestroによる自動更新PRです。Microsoft.DotNet.HotReload.Utils.Generator.BuildToolを8.0.0-alpha.0.26076.2から8.0.0-alpha.0.26116.3にアップデートしています。 @@ -360,7 +360,7 @@ dotnet/hotreload-utilsリポジトリからの依存関係を更新するMaestro - 作成者: [@leculver](https://github.com/leculver) - 作成日時: 2026年02月16日 01:42:06(UTC) - マージ日時: 2026年02月18日 02:07:36(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 Linux上の診断ツール(clrmd、sos、dotnet-dump analyze)におけるクラッシュを修正するため、`request.cpp`にnullチェック処理を追加しました。DAC(Data Access Component)への呼び出しでnull値が渡された場合、SIGSEGVで強制終了するのではなく適切に処理するようになります。 @@ -385,7 +385,7 @@ https://github.com/dotnet/diagnostics/issues/5632 - 作成者: [@bartonjs](https://github.com/bartonjs) - 作成日時: 2026年02月14日 00:04:15(UTC) - マージ日時: 2026年02月18日 19:18:00(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 `CoseMessage.DecodeSign1`と`CoseMessage.DecodeMultiSign`メソッドで、内部検証時に`ArgumentException`が漏洩していた問題を修正。ドキュメントに定義された「デコード失敗時は`CryptographicException`を投げる」という契約を守るようにしました。また、クリティカルヘッダ検証で不定長CBORアレイのサポートも追加されています。 @@ -410,7 +410,7 @@ https://github.com/dotnet/diagnostics/issues/5632 - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年02月12日 15:32:42(UTC) - マージ日時: 2026年02月18日 17:47:30(UTC) -- ラベル: arch-wasm area-System.Net.Sockets os-browser +- ラベル: arch-wasm area-System.Net.Sockets os-browser #### 概要 ブラウザプラットフォーム向けに`System.Net.Sockets`の機能をサポート対象外化するPRです。ブラウザ環境ではソケット機能が利用できないため、すべてのメンバーで`PlatformNotSupportedException`をスロー するよう実装しています。また、`SocketAddressPal.Browser.cs`を新規追加し、Windows実装に類似した浅い実装を提供しています。 @@ -451,7 +451,7 @@ catch (PlatformNotSupportedException) - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月11日 13:33:48(UTC) - マージ日時: 2026年02月18日 10:23:57(UTC) -- ラベル: area-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 `ProcessStartOptions` クラスを新たに追加し、プロセス起動時の実行ファイルパス解決をプラットフォーム対応で明示的に行えるようにしました。Windows では `.exe` 拡張子の自動追加、System32 ディレクトリの検索、PATH 環境変数の参照を実装し、Unix では PATH のみを検索します。遅延初期化されたコレクション(Arguments、Environment、InheritedHandles)を提供し、`ProcessStartInfo` より安全で制御性の高い代替手段となります。 @@ -506,7 +506,7 @@ catch (PlatformNotSupportedException) - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年02月10日 14:31:19(UTC) - マージ日時: 2026年02月18日 18:36:50(UTC) -- ラベル: Servicing-approved area-System.Numerics +- ラベル: Servicing-approved area-System.Numerics #### 概要 Vector2/Vector3の`EqualsAny`メソッドが非決定的な結果を返す問題を修正しました。新しく公開されたAPIで、加速化された比較操作時に無効な要素が誤って含まれる可能性がありました。既存の一元化されたヘルパーメソッドを使用するよう修正し、一貫性のある処理を実現しました。 @@ -545,7 +545,7 @@ public bool EqualsAny(Vector2 other) => EqualsAnyHelper(this, other); - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月09日 22:10:47(UTC) - マージ日時: 2026年02月18日 00:32:17(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 このPRはNativeAOTの依存性分析フレームワークを簡素化するもので、`INodeWithSize`インターフェース廃止し、`IMAGE_REL_SYMBOL_SIZE`リロケーションによるモジュールセクションサイズ報告に統一します。同時に`ModuleInfoRow` ABI構造を`{ SectionId, Length, Start }`に再構成し、ランタイムがLengthフィールドを直接参照できるようにしました。 @@ -588,7 +588,7 @@ public bool EqualsAny(Vector2 other) => EqualsAnyHelper(this, other); - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年02月09日 05:03:47(UTC) - マージ日時: 2026年02月18日 11:03:05(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/xharness の依存ライブラリを更新するプル リクエストです。Microsoft.DotNet.XHarness.CLI、Microsoft.DotNet.XHarness.TestRunners.Common、Microsoft.DotNet.XHarness.TestRunners.Xunit が 11.0.0-prerelease.26064.3 から 11.0.0-prerelease.26114.1 にアップデートされます。これは Maestro による自動依存更新です。 @@ -613,7 +613,7 @@ dotnet/xharness の依存ライブラリを更新するプル リクエストで - 作成者: [@bartonjs](https://github.com/bartonjs) - 作成日時: 2026年02月07日 00:58:35(UTC) - マージ日時: 2026年02月18日 23:02:14(UTC) -- ラベル: area-System.IO.Hashing +- ラベル: area-System.IO.Hashing #### 概要 CRC-32とCRC-64の汎用パラメータ化実装が追加されました。既存の最適化済み実装(`Crc32`、`Crc64`)とCRC-32/C(x86/ARM intrinsics対応)はそのまま利用し、その他のパラメータセットはバイト単位のテーブルルックアップで実装されています。汎用ベクトル化は今後の改善予定とされています。 @@ -654,7 +654,7 @@ var hash = crc.GetCurrentHashAsUInt32(); - 作成者: [@mdh1418](https://github.com/mdh1418) - 作成日時: 2026年01月30日 23:27:17(UTC) - マージ日時: 2026年02月18日 16:58:30(UTC) -- ラベル: area-VM-coreclr os-android +- ラベル: area-VM-coreclr os-android #### 概要 Android CoreCLR でネイティブクラッシュ時にマネージドコールスタックをログに出力する機能を追加しました。Android では CreateDump が利用できないため、クラッシュレポートとしてマネージドフレームを含むスタックトレースを ADB ログに記録します。これにより、ダンプなしでもクラッシュの原因究明が容易になります。 @@ -698,7 +698,7 @@ Android CoreCLR でネイティブクラッシュ時にマネージドコール - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2025年12月10日 18:00:39(UTC) - マージ日時: 2026年02月18日 13:14:20(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/arcadeリポジトリからの依存関係更新です。Arcade SDKおよび関連するビルドタスク・ツールを8.0.0-beta.25562.3から8.0.0-beta.25611.2へ更新しました。この更新には、ビルド、パッケージング、テスト、コード分析、APIドキュメント生成など、.NETランタイムのビルドプロセス全体に関わる17個のNuGetパッケージが含まれます。 diff --git a/archives/2026/02/19.md b/archives/2026/02/19.md index 19bed96..1cb4d2c 100644 --- a/archives/2026/02/19.md +++ b/archives/2026/02/19.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#124619 Skip unloadable-type tests under ReadyToRun; update ActiveIssue to #124031](#124619) 2. [#124617 Fix nondeterministic test failure for X509CertificateLoader](#124617) 3. [#124591 \[HTTP\] Re-enable Http3 nginx interop test](#124591) @@ -31,7 +31,7 @@ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月19日 20:15:34(UTC) - マージ日時: 2026年02月19日 23:54:15(UTC) -- ラベル: area-TypeSystem-coreclr +- ラベル: area-TypeSystem-coreclr #### 概要 ReadyToRun(R2R)コンパイル下でのテスト失敗を修正するPRです。R2Rプリコンパイル済みネイティブコードがメソッドテーブルやfixupを通じてcollectible AssemblyLoadContextから読み込まれた型への強い参照を作成し、テストの10回のGC反復内でALCがGC回収できず、型アンロード関連テストが失敗していました。2つのテストに`[ActiveIssue]`属性を追加/更新して、R2R実行時に一貫してスキップするようにします。 @@ -60,7 +60,7 @@ R2Rコンパイルの特性としてメモリ参照の強度が異なるため - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2026年02月19日 19:49:27(UTC) - マージ日時: 2026年02月19日 23:03:25(UTC) -- ラベル: area-System.Security test-bug +- ラベル: area-System.Security test-bug #### 概要 OpenSSLの仕様を正しく反映するように、X509CertificateLoaderのテストを修正しました。OpenSSLは証明書の後ろの有効なASN.1データを許可するため、プロセスIDをトレーリングデータとして使用したテストが非決定的に失敗していた問題を解決します。特定のPID値(例:32816 = 0x30 0x80 0x00 0x00)が有効なASN.1 BER SEQUENCEに見えるため、テストが例外を期待していても解析が成功してしまうケースが発生していました。 @@ -84,7 +84,7 @@ OpenSSLの仕様を正しく反映するように、X509CertificateLoaderのテ - 作成者: [@ManickaP](https://github.com/ManickaP) - 作成日時: 2026年02月19日 13:14:47(UTC) - マージ日時: 2026年02月19日 16:18:15(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 HTTP/3 nginx相互運用性テストを再有効化するPRです。`quic.nginx.org`のテストURIは以前TLS alert 112エラーにより無効化されていましたが、外部サーバーの問題が解決されたため再度有効化します。`InteropUrisWithContent()`メソッド内のテストURIを復元します。 @@ -106,7 +106,7 @@ HTTP/3 nginx相互運用性テストを再有効化するPRです。`quic.nginx. - 作成者: [@noahfalk](https://github.com/noahfalk) - 作成日時: 2026年02月19日 00:24:48(UTC) - マージ日時: 2026年02月19日 23:49:08(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 CoreCLR デバッガーの `ICorDebugEnum::Clone` 実装における `CordbEnumerator` のメモリリークを修正しました。クローンされた列挙子が内部の `m_items` 配列を解放せず、プロセスのクリーンアップ時に `IsNeutered()` アサーション失敗を引き起こしていた問題を解決します。クローンされた列挙子をプロセスの continue neuter リストに追加することで、適切なクリーンアップを保証します。 @@ -132,7 +132,7 @@ CoreCLR デバッガーの `ICorDebugEnum::Clone` 実装における `CordbEnume - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年02月18日 23:12:22(UTC) - マージ日時: 2026年02月19日 18:44:21(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 dotnet/runtimeのパフォーマンスベンチマーク用Copilot Skillの設定を改善したPRです。Copilotが生成するコマンドを簡潔化し、PR内での使用に最適化しました。主な変更は、不要なコードブロックラッピングの防止、-commitモードの削除、OSX ARM64ターゲットの推奨です。 @@ -162,7 +162,7 @@ dotnet/runtimeのパフォーマンスベンチマーク用Copilot Skillの設 - 作成者: [@SingleAccretion](https://github.com/SingleAccretion) - 作成日時: 2026年02月18日 20:48:19(UTC) - マージ日時: 2026年02月19日 22:30:23(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 RyuJIT コンパイラの呼び出し(call)ノードから `gtCallCookie` オペランドを削除するリファクタリングです。このオペランドはインポーター(IL解析)からモルフ(中間表現最適化)フェーズへの単純なデータ伝達にのみ使用されていたため、IR(中間表現)として保持する必要がなくなり、直接的なパラメータ渡しに変更することで、コンパイラのコード複雑性を低減しています。 @@ -189,7 +189,7 @@ RyuJIT コンパイラの呼び出し(call)ノードから `gtCallCookie` - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月18日 20:09:30(UTC) - マージ日時: 2026年02月19日 15:40:39(UTC) -- ラベル: area-CodeGen-coreclr reduce-unsafe +- ラベル: area-CodeGen-coreclr reduce-unsafe #### 概要 インデックス-from-end パターン(`arr[^4]`、`arr[^3]`など)でJITが生成する冗長な境界チェックを排除するための最適化です。`arr[^4]`の境界チェックで配列長が4以上と判定された場合、後続の`arr[^3]`、`arr[^2]`、`arr[^1]`の境界チェックは数学的に冗長であり、これらを削除します。 @@ -225,7 +225,7 @@ public int DecodeRemaining(ReadOnlySpan source) - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年02月18日 18:11:14(UTC) - マージ日時: 2026年02月19日 10:40:46(UTC) -- ラベル: area-Infrastructure-coreclr community-contribution +- ラベル: area-Infrastructure-coreclr community-contribution #### 概要 `build.sh -ninja false` で ninja ビルドシステムの無効化がMSBuild経由では反映されない問題を修正しました。また、dotnet パスにスペースが含まれる場合の CMake パース問題も同時に修正されています。この変更により、ネイティブビルドシステムの生成時に `-ninja false` フラグが正しく保持されます。 @@ -251,7 +251,7 @@ public int DecodeRemaining(ReadOnlySpan source) - 作成者: [@gbalykov](https://github.com/gbalykov) - 作成日時: 2026年02月18日 13:58:43(UTC) - マージ日時: 2026年02月19日 05:51:13(UTC) -- ラベル: area-VM-coreclr community-contribution +- ラベル: area-VM-coreclr community-contribution #### 概要 `EncApproxFieldDescIterator::FixUpEncFields` メソッド呼び出しで、`TRUE` のハードコーディングを正しいイテレータオブジェクトに置き換える修正です。PR #85269 で見落とされていた問題を修正するもので、これまで偶然に動作していたコードを適切に修正しています。 @@ -278,7 +278,7 @@ public int DecodeRemaining(ReadOnlySpan source) - 作成者: [@Tomius](https://github.com/Tomius) - 作成日時: 2026年02月18日 08:24:13(UTC) - マージ日時: 2026年02月19日 03:05:20(UTC) -- ラベル: area-System.Buffers community-contribution +- ラベル: area-System.Buffers community-contribution #### 概要 Base64Url.DecodeFromChars において、非ASCII文字入力時にアウト・オブ・バウンド読み取りバグが発生していました。非ASCII文字(値 > 2048)がデコードマップ(256要素配列)へのインデックスとして直接使用されることで AccessViolationException が発生していた問題を修正します。 @@ -308,7 +308,7 @@ Base64Url.DecodeFromChars において、非ASCII文字入力時にアウト・ - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年02月18日 08:20:48(UTC) - マージ日時: 2026年02月19日 04:37:15(UTC) -- ラベル: area-GC-coreclr +- ラベル: area-GC-coreclr #### 概要 GetTotalAllocatedBytesテストに`ActiveIssue`属性を追加し、outerloopテストの実行から除外します。このテストは頻繁にOut-Of-Memory(OOM)エラーが発生するため、除外することでouterloopテストスイート全体の安定性を向上させます。 @@ -342,7 +342,7 @@ public void GetTotalAllocatedBytes_Test() - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月18日 03:05:21(UTC) - マージ日時: 2026年02月19日 15:40:52(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 `RangeOps::Multiply`がdependent bounds(依存バウンド)を持つ範囲で`keUnknown`を返していた問題を修正しました。これにより、ループの帰納変数に対する範囲伝播が可能になり、ARM64のCSieveBenchmarkで約12%のパフォーマンス低下が改善されます。 @@ -377,7 +377,7 @@ for (int k = i + i; k <= Size; k += i) - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年02月16日 21:41:44(UTC) - マージ日時: 2026年02月19日 15:32:12(UTC) -- ラベル: arch-wasm area-Host os-browser +- ラベル: arch-wasm area-Host os-browser #### 概要 WebAssemblyにおけるネイティブスタックトレースのシンボル解析機能を実装しました。`EnableDiagnostics`と`WasmEmitSymbolMap`が有効な場合、`wasm-function[1018]`形式のWebAssemblyスタックトレースを実際のシンボル名(例:`PROCAbort`、`TerminateProcess`)に自動変換し、デバッグの可読性を大幅に向上させます。また、終了コード伝播、シャットダウン処理、例外ロギングの改善も含まれています。 @@ -410,7 +410,7 @@ WebAssemblyにおけるネイティブスタックトレースのシンボル解 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月16日 14:39:55(UTC) - マージ日時: 2026年02月19日 17:21:36(UTC) -- ラベル: area-System.Net.Http os-browser +- ラベル: area-System.Net.Http os-browser #### 概要 HTTP/1 trailer headers はブラウザプラットフォームではサポートされていない永続的な制限であることを反映するため、テスト属性を `ActiveIssue` から `SkipOnPlatform` に変更しました。これにより、追跡対象のバグではなくプラットフォーム制限として正しく分類されます。 @@ -436,7 +436,7 @@ HTTP/1 trailer headers はブラウザプラットフォームではサポート - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年02月13日 14:04:08(UTC) - マージ日時: 2026年02月19日 18:04:30(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 ARM64アーキテクチャにおける読み取り専用(RO)データセクションへの相対リロケーション処理を修正しました。ARM64では複数のROデータブロック(コード末尾のブロックと非同期関数用の別個ブロック)が存在するため、リロケーション処理を拡張して後者のブロックを正しく認識するようにしました。 @@ -463,7 +463,7 @@ ARM64アーキテクチャにおける読み取り専用(RO)データセクシ - 作成者: [@davidnguyen-tech](https://github.com/davidnguyen-tech) - 作成日時: 2026年02月11日 12:27:43(UTC) - マージ日時: 2026年02月19日 13:19:09(UTC) -- ラベル: documentation os-ios needs-area-label +- ラベル: documentation os-ios needs-area-label #### 概要 iOS の HelloiOS サンプル において、`RunAOTCompilation` プロパティが Mono ランタイム専用の設定であることを明確にするため、条件付きで設定するように修正しました。従来は `UseMonoRuntime=false`(CoreCLR使用)時に `RunAOTCompilation=true` を指定すると、Mono の AOT 関連ターゲットを経由して ILStrip がエラーになる問題がありました。 @@ -490,7 +490,7 @@ PR #124230 にて `RunAOTCompilation=false` フラグが誤って削除された - 作成者: [@davidnguyen-tech](https://github.com/davidnguyen-tech) - 作成日時: 2026年02月10日 13:26:53(UTC) - マージ日時: 2026年02月19日 13:00:23(UTC) -- ラベル: area-Infrastructure-coreclr os-maccatalyst +- ラベル: area-Infrastructure-coreclr os-maccatalyst #### 概要 Xcode 26.2でのmacCatalyst ネイティブビルド失敗を修正するPRです。`eng/native/build-commons.sh`から`CMAKE_OSX_DEPLOYMENT_TARGET`を削除し、clangの厳密なバージョン検証エラー(`invalid version number in '-mmacosx-version-min=17.0'`)を解決します。macCatalystのバージョン番号(17.0)がmacOSのバージョン番号として誤釈釈されていた問題を修正し、実際のCatalystターゲット指定は`configurecompiler.cmake`の`-target arm64-apple-ios17.0-macabi`トリプルで別途適用されます。 @@ -514,7 +514,7 @@ Xcode 26.2でのmacCatalyst ネイティブビルド失敗を修正するPRで - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年02月09日 18:32:29(UTC) - マージ日時: 2026年02月19日 16:00:27(UTC) -- ラベル: Servicing-approved area-GC-coreclr +- ラベル: Servicing-approved area-GC-coreclr #### 概要 .NET 10でGCデッドロックを引き起こしていたPR #112403と#124194をリバートします。顧客がアップグレード後にGCデッドロックを報告し、プライベートビルドでこのPRが原因であることが確認されました。リバート後、デッドロックは解消されました。 @@ -541,7 +541,7 @@ Xcode 26.2でのmacCatalyst ネイティブビルド失敗を修正するPRで - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月04日 09:34:11(UTC) - マージ日時: 2026年02月19日 14:00:51(UTC) -- ラベル: area-System.Formats.Tar +- ラベル: area-System.Formats.Tar #### 概要 System.Formats.Tar APIのテストカバレッジを拡充するPRです。3つの主要なテストを追加しています: @@ -580,7 +580,7 @@ System.Formats.Tar APIのテストカバレッジを拡充するPRです。3つ - 作成者: [@barosiak](https://github.com/barosiak) - 作成日時: 2026年01月29日 01:36:12(UTC) - マージ日時: 2026年02月19日 01:52:22(UTC) -- ラベル: enhancement area-Diagnostics-coreclr +- ラベル: enhancement area-Diagnostics-coreclr #### 概要 Hot-Reloadを完全に無効化するための設定スイッチを追加しました。メタデータアップデーター機能を条件付きで無効にする新しい構成オプションを実装しています。これにより、アプリケーション側でホットリロード機能を完全に無効化することが可能になります。 @@ -612,7 +612,7 @@ Issue #78540を修正 - 作成者: [@ArcadeMode](https://github.com/ArcadeMode) - 作成日時: 2026年01月26日 21:37:21(UTC) - マージ日時: 2026年02月19日 18:46:14(UTC) -- ラベル: arch-wasm area-System.Runtime.InteropServices.JavaScript community-contribution os-browser +- ラベル: arch-wasm area-System.Runtime.InteropServices.JavaScript community-contribution os-browser #### 概要 WebAssembly(WASM)のJavaScript相互運用性を強化するため、`float[]`、`Span`、`ArraySegment`のマーシャリングサポートを追加しました。CoreCLRおよびMonoランタイムで機能し、インポート/エクスポートテストで動作を実証しています。 @@ -655,7 +655,7 @@ public static void ProcessFloatSpan(Span data) { } - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年01月20日 12:56:15(UTC) - マージ日時: 2026年02月19日 22:06:00(UTC) -- ラベル: arch-wasm area-Infrastructure-coreclr os-browser +- ラベル: arch-wasm area-Infrastructure-coreclr os-browser #### 概要 WebAssembly上のCoreClrランタイムテストをCI上で実行可能にするパッチです。Node.jsをテスト実行ホストとして使用し、デスクトップ環境に近いテスト実行フローを実現しています。CI パイプラインにbrowser_wasmビルド・テストジョブが追加され、WASM ランタイムの固有の問題に対応するためのテスト調整が含まれています。 @@ -683,7 +683,7 @@ WebAssembly上のCoreClrランタイムテストをCI上で実行可能にする - 作成者: [@laveeshb](https://github.com/laveeshb) - 作成日時: 2026年01月11日 18:09:04(UTC) - マージ日時: 2026年02月19日 10:43:20(UTC) -- ラベル: area-System.Net community-contribution +- ラベル: area-System.Net community-contribution #### 概要 RFC 6761に準拠した特殊用途ドメイン名のDNS解決処理を実装しました。`invalid`や`*.invalid`ドメインは即座に`HostNotFound`を返し、`*.localhost`サブドメインはOSリゾルバーを試行した後、失敗時は`localhost`へフォールバックしてループバックアドレスを返すようになります。 @@ -729,7 +729,7 @@ Fixes #118569 - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年01月09日 18:33:59(UTC) - マージ日時: 2026年02月19日 18:17:57(UTC) -- ラベル: Servicing-approved area-System.Security +- ラベル: Servicing-approved area-System.Security #### 概要 EC-DSA / EC-DH の PEM キー読み込みに関するリグレッション修正です。`X509Certificate2.CreateFromPem`を使用して EC-DSA キーを Windows でインポートする際にエラーが発生していた問題を解決しました。修正内容は、証明書のキー使用法だけでなく、キー自体の属性(PKCS#8 キー負荷属性)も検査するようになったことです。 @@ -757,7 +757,7 @@ EC-DSA / EC-DH の PEM キー読み込みに関するリグレッション修正 - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2025年09月25日 20:00:32(UTC) - マージ日時: 2026年02月19日 07:05:52(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 ComWrappersに関連する3つの新しいcDAC(Common Data Access Component)APIを追加します: - `GetComWrappersCCWData`: CCW(COM Callable Wrapper)データの取得 @@ -791,7 +791,7 @@ ComWrappersに関連する3つの新しいcDAC(Common Data Access Component) - 作成者: [@bartonjs](https://github.com/bartonjs) - 作成日時: 2025年07月03日 01:45:20(UTC) - マージ日時: 2026年02月19日 00:20:35(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 Linux上でAES Key Wrap with Padding機能をOpenSSLネイティブ実装に移行するPRです。OpenSSL 1.0.1以降で利用可能な`EVP_aes_###_wrap_pad`をRequired importとして扱い、プラットフォーム別の実装を分離しました。Androidは独立したコピーを保持しています。 diff --git a/archives/2026/02/20.md b/archives/2026/02/20.md index 6d025ab..49441ad 100644 --- a/archives/2026/02/20.md +++ b/archives/2026/02/20.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#124657 \[cDAC\] UEWatsonBucketTrackerBuckets is not available on non-windows platforms](#124657) 2. [#124653 renames to IsMultithreadingSupported](#124653) 3. [#124627 Remove unused PInvokeTransitionFrame_MAX_SIZE and PInvokeTransitionFrame_SaveRegs_count macros](#124627) @@ -22,7 +22,7 @@ - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年02月20日 16:23:06(UTC) - マージ日時: 2026年02月20日 20:25:44(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC フレームワークでのプラットフォーム互換性の問題を修正しました。`UEWatsonBucketTrackerBuckets` データディスクリプタは Windows プラットフォームのみで利用可能であるため、非 Windows プラットフォームでスレッドデータを読み込む際のクラッシュを防止します。 @@ -48,7 +48,7 @@ cDAC フレームワークでのプラットフォーム互換性の問題を修 - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年02月20日 16:00:32(UTC) - マージ日時: 2026年02月20日 21:29:34(UTC) -- ラベル: area-System.Threading +- ラベル: area-System.Threading #### 概要 このPRは、後続のAPI変更(#124603)に向けた準備作業として、内部およびテスト関連のプロパティ/メソッドの大規模な名前変更を実施しています。「Threading」を「Multithreading」に、「SingleThreaded」を「MultithreadingSupported」に変更し、論理を反転させています。 @@ -85,7 +85,7 @@ Thread.ThrowIfMultithreadingIsNotSupported(); - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月20日 04:28:31(UTC) - マージ日時: 2026年02月20日 07:01:18(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT ランタイムのバインダーヘッダ (`rhbinder.h`) から未使用のマクロを削除するクリーンアップです。`PInvokeTransitionFrame_MAX_SIZE` マクロとそれに依存する `PInvokeTransitionFrame_SaveRegs_count` マクロ(AMD64/x86/ARM用の条件付き定義)がリポジトリ内で参照されていないため、12行のデッドコードを削除します。 @@ -111,7 +111,7 @@ NativeAOT ランタイムのバインダーヘッダ (`rhbinder.h`) から未使 - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年02月19日 21:02:07(UTC) - マージ日時: 2026年02月20日 10:27:15(UTC) -- ラベル: area-ReadyToRun-coreclr +- ラベル: area-ReadyToRun-coreclr #### 概要 ReadyToRun (R2R) コンパイルで `--verbose` オプション使用時の進捗ログ機能に存在した不具合を修正しました。`ProgressReporter` のインクリメント計算によって、処理対象が小さい場合にゼロ除算クラッシュが発生したり、100%を超える進捗率が出力される問題を解決しています。 @@ -136,7 +136,7 @@ ReadyToRun (R2R) コンパイルで `--verbose` オプション使用時の進 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月19日 19:40:36(UTC) - マージ日時: 2026年02月20日 20:18:57(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 `Microsoft.OneCollect.RecordTrace` パッケージを `0.1.33304` にアップデートし、perfmaps のない .NET プロセスを検出できるようになったため、NativeAOT での UserEvents トレーシングテストを再有効化します。これにより、#123697 のチェックリストが完了します。 @@ -160,7 +160,7 @@ NativeAOT UserEvents テストは依然として flakiness の問題があるた - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年02月19日 17:17:34(UTC) - マージ日時: 2026年02月20日 13:42:34(UTC) -- ラベル: arch-wasm area-Host os-browser +- ラベル: arch-wasm area-Host os-browser #### 概要 ブラウザホスト用のローダー JavaScript/TypeScript コードを `src/native/libs/Common/JavaScript` 配下に統合し、複数のランタイムフレーバー(CoreCLR、Mono など)での再利用を可能にする準備を実施。MSBuild → CMake → Rollup パイプラインに `RuntimeFlavor` 情報を伝播させ、フレーバー別のバンドル処理に対応。 @@ -202,7 +202,7 @@ NativeAOT UserEvents テストは依然として flakiness の問題があるた - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年02月19日 16:39:56(UTC) - マージ日時: 2026年02月20日 21:25:07(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT回帰テストの登録モデルの変更に伴い、テストファイルをプロジェクトファイル(csproj)に明示的に登録する必要が生じました。グローブパターンでの自動包含ではなく、明示的な登録が必要な新しいモデルに対応しています。 @@ -224,7 +224,7 @@ JIT回帰テストの登録モデルの変更に伴い、テストファイル - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年02月19日 14:47:42(UTC) - マージ日時: 2026年02月20日 04:29:28(UTC) -- ラベル: area-ILTools-coreclr community-contribution +- ラベル: area-ILTools-coreclr community-contribution #### 概要 AOT(Ahead-of-Time)コンパイルされたマネージド ilasm ツールの公開と Core_Root への統合を行う変更です。ilasm.csproj の設定を更新し、ビルド時に AOT 版の ilasm が生成・配置されるようにしました。ラウンドトリップテストでの使用は今後の予定とのことです。 @@ -257,7 +257,7 @@ AOT(Ahead-of-Time)コンパイルされたマネージド ilasm ツールの - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月19日 00:59:10(UTC) - マージ日時: 2026年02月20日 22:36:07(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 `GenerateMarkerFiles`タスクが`ExpectedExitCode.txt`マーカーを出力していなかった問題を修正します。マージされたテストまたはスタンドアロンテストペイロードで、期待される終了コードが確実に含まれるようになります。既存のマーカーパイプラインに3行のエントリを追加するシンプルな修正です。 @@ -283,7 +283,7 @@ PR説明に記載なし - 作成者: [@AaronRobinsonMSFT](https://github.com/AaronRobinsonMSFT) - 作成日時: 2026年02月19日 00:23:47(UTC) - マージ日時: 2026年02月20日 18:34:22(UTC) -- ラベル: area-Interop-coreclr +- ラベル: area-Interop-coreclr #### 概要 P/Invoke IL スタブ生成時に複数スレッドが競合して重複した IL スタブを独立生成する問題を修正しました。`ILStubCache` の参照を再度有効化し、同一ターゲットメソッドに対して複数スレッドが異なる `PCODE` 値を生成する競合状態を防止します。 @@ -311,7 +311,7 @@ PR #117901 で `IsSharedStubScenario` が forward P/Invoke に対して `false` - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年02月18日 13:05:18(UTC) - マージ日時: 2026年02月20日 06:58:48(UTC) -- ラベル: area-ReadyToRun-coreclr +- ラベル: area-ReadyToRun-coreclr #### 概要 iOS環境でのパフォーマンス問題を修正するPRです。`AggressiveOptimization`属性を持つメソッドは、JIT(実行時コンパイル)が利用可能なプラットフォームではR2R(ReadyToRun)コンパイルをスキップして、実行時にJITでより最適化されたコードを生成させるべきです。しかしiOSではJITが無効化されているため、スキップすることで解釈実行となり、むしろパフォーマンスが悪化していました。本PRでは、JITが利用可能なプラットフォームでのみスキップするよう条件を修正します。 @@ -340,7 +340,7 @@ iOS環境でのパフォーマンス問題を修正するPRです。`AggressiveO - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月16日 21:18:41(UTC) - マージ日時: 2026年02月20日 04:00:01(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 `FromBase64Transform.TransformFinalBlock`が空の入力(`inputCount == 0`)で呼ばれた場合、内部バッファ状態をリセットせず、`_inputIndex`に古いデータが残る問題を修正。部分ブロック処理時は正しくリセットされていたが、空入力時の早期リターンではリセット処理が欠けていたため、後続の変換操作が失敗する原因となっていました。 @@ -379,7 +379,7 @@ transform.TransformFinalBlock(completeBlock, 0, completeBlock.Length); - 作成者: [@AaronRobinsonMSFT](https://github.com/AaronRobinsonMSFT) - 作成日時: 2026年02月12日 00:56:45(UTC) - マージ日時: 2026年02月20日 18:20:37(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 このPRは、CoreCLRランタイムのHashMapにEpoch-Based Reclamation (EBR)メカニズムを導入します。EBRにより、GC一時停止やCOOP遷移を不要とした低オーバーヘッドの安全な遅延削除が可能になり、非同期シナリオでのパフォーマンスと安全性が向上します。 @@ -418,7 +418,7 @@ transform.TransformFinalBlock(completeBlock, 0, completeBlock.Length); - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月29日 22:59:01(UTC) - マージ日時: 2026年02月20日 19:52:36(UTC) -- ラベル: area-System.Runtime.InteropServices +- ラベル: area-System.Runtime.InteropServices #### 概要 このPRは、.NETのLibraryImportGenerator(P/Invoke相互運用性用のソースジェネレータ)における診断生成の責務を分離しています。従来は`LibraryImportGenerator`が診断を直接発行していましたが、新たに`LibraryImportDiagnosticsAnalyzer`を作成し、診断報告を専用アナライザーに移譲することで、Rosynチームの推奨に従った設計改善を実現しています。これにより診断のみをテストする場合の実行速度向上と、コード生成とは独立した診断検証が可能になります。 @@ -460,7 +460,7 @@ transform.TransformFinalBlock(completeBlock, 0, completeBlock.Length); - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年01月09日 13:54:47(UTC) - マージ日時: 2026年02月20日 13:59:32(UTC) -- ラベル: os-ios area-CodeGen-Interpreter-coreclr +- ラベル: os-ios area-CodeGen-Interpreter-coreclr #### 概要 Apple モバイルプラットフォーム(iOS、iPadOS、macOS Catalyst)での .NET ランタイムおよびライブラリテストの完全実行を有効化します。193個のライブラリプロジェクトと74個のランタイムテストプロジェクトを対象に、テストスイートを拡充しました。互換性の問題がある34個の個別テストと22個のライブラリテストプロジェクトは一時的に無効化され、追跡用 Issue #124344 で管理されます。 @@ -490,7 +490,7 @@ Apple モバイルプラットフォーム(iOS、iPadOS、macOS Catalyst)で - 作成者: [@elinor-fung](https://github.com/elinor-fung) - 作成日時: 2025年08月26日 18:28:03(UTC) - マージ日時: 2026年02月20日 19:08:40(UTC) -- ラベル: test-enhancement area-Host +- ラベル: test-enhancement area-Host #### 概要 .NET Runtimeのホストがサービス可能なアセット(serviceable assets)を正しく解決するかを検証するテストを追加しました。このテストは、.deps.jsonの相対ローカルパス機能の実装時に、サービス可能なアセットの動作を検証することで、将来の変更による回帰を防ぎます。 @@ -519,7 +519,7 @@ Apple モバイルプラットフォーム(iOS、iPadOS、macOS Catalyst)で - 作成者: [@sbomer](https://github.com/sbomer) - 作成日時: 2025年01月16日 23:20:09(UTC) - マージ日時: 2026年02月20日 22:09:47(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT公開ビルドパイプラインの実行順序を修正し、ILC(IL Compiler)を`ComputeResolvedFilesToPublishList`の後に実行するように変更しました。これにより、Issue #108909と#118298で報告されたビルド時のファイル処理に関する問題が解決されます。`CopyNativeBinary`ロジックも削除され、ビルドプロセスが簡素化されました。 diff --git a/archives/2026/02/21.md b/archives/2026/02/21.md index fd92075..801e9e4 100644 --- a/archives/2026/02/21.md +++ b/archives/2026/02/21.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#124681 Clarify wording for suppressing CI failure modes](#124681) 2. [#124675 Remove unused `src/native/managed/cdacreader` directory](#124675) 3. [#124673 \[Wasm RyuJit\] fix issue in RewriteLocalStackStore](#124673) @@ -11,7 +11,7 @@ - 作成者: [@danmoseley](https://github.com/danmoseley) - 作成日時: 2026年02月20日 23:30:17(UTC) - マージ日時: 2026年02月21日 00:55:32(UTC) -- ラベル: area-Meta +- ラベル: area-Meta #### 概要 CI ワークフロードキュメンテーション内で、CI 失敗モードの抑制に関する提案の表現を明確化しました。失敗分析ドキュメントの 4 行を更新し、より正確な表現に改善しています。 @@ -32,7 +32,7 @@ CI ワークフロードキュメンテーション内で、CI 失敗モード - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月20日 20:49:31(UTC) - マージ日時: 2026年02月21日 00:23:31(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 `src/native/managed/cdacreader` ディレクトリは未使用で空の成果物であったため削除されました。このディレクトリは親ディレクトリのビルドターゲットに転送するだけの `Directory.Build.targets` ファイルのみを含んでおり、実際のプロジェクト、ソースコード、ビルドスクリプトからの参照はありませんでした。 @@ -55,7 +55,7 @@ CI ワークフロードキュメンテーション内で、CI 失敗モード - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年02月20日 20:19:41(UTC) - マージ日時: 2026年02月21日 15:23:37(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 WebAssembly向けのRyuJit JITコンパイラにおいて、ローカルスタックストア操作の再書き込み処理でtype bashing前に元の型情報をキャプチャするように修正しました。これにより、型情報の損失によって引き起こされていた問題を解決します。 @@ -80,7 +80,7 @@ WebAssembly向けのRyuJit JITコンパイラにおいて、ローカルスタ - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年02月18日 23:20:06(UTC) - マージ日時: 2026年02月21日 15:26:50(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly (Wasm) RyuJit のコードジェネレータに数学関連の組み込み関数(intrinsics)のサポートを追加しました。これらの intrinsics は WebAssembly ネイティブ操作に直接マップされます。 @@ -105,7 +105,7 @@ Wasm の直接操作にマップされることで、数学関数の呼び出し - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年02月18日 03:30:09(UTC) - マージ日時: 2026年02月21日 02:04:37(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly向けRyuJITコンパイラの複数のバグ修正を含むPRです。crossgen実行時に発見された問題に対応し、null checks、overflow checks、スタック順序、戻り値型の分類などを修正しています。主な変更はcodegenwasm.cpp、regallocwasm.cpp、lowerwasm.cppに集中しており、WebAssembly JIT生成コードの正確性を向上させています。 @@ -133,7 +133,7 @@ WebAssembly向けRyuJITコンパイラの複数のバグ修正を含むPRです - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年02月17日 14:31:53(UTC) - マージ日時: 2026年02月21日 14:00:00(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT コンパイラにデフォルト値解析機能を追加し、async ホイスティング時に初期化されていないローカル変数を continuation にコピーすることを回避します。これにより、async/await を含むメソッドで生成されるマシンコードサイズを削減し、パフォーマンスを向上させます。 diff --git a/archives/2026/02/22.md b/archives/2026/02/22.md index 4dbe680..49f994f 100644 --- a/archives/2026/02/22.md +++ b/archives/2026/02/22.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#124710 \[RyuJit/WASM\] Rewrite SP references into PHYSREGs](#124710) 2. [#124683 Add `CORINFO_RUNTIME_LOOKUP::helperEntryPoint`](#124683) 3. [#124679 \[Wasm RyuJit\] fix some issues with calls](#124679) @@ -10,7 +10,7 @@ - 作成者: [@SingleAccretion](https://github.com/SingleAccretion) - 作成日時: 2026年02月21日 20:01:06(UTC) - マージ日時: 2026年02月22日 21:59:13(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr community-contribution +- ラベル: arch-wasm area-CodeGen-coreclr community-contribution #### 概要 WASM向けJITコンパイラでスタックポインタ(SP)の参照をPHYSREG参照に書き直すことで、レジスタアロケーション(RA)の処理を簡素化する改善です。SPローカル変数をニュートラル化し、すべての明示的参照をPHYSREGノードに変換することで、SPの管理をローカル変数からコードジェン時の既知の場所に移譲しています。 @@ -36,7 +36,7 @@ WASM向けJITコンパイラでスタックポインタ(SP)の参照をPHYSREG - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年02月21日 00:30:15(UTC) - マージ日時: 2026年02月22日 13:03:07(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 `CORINFO_RUNTIME_LOOKUP`構造体に`helperEntryPoint`フィールドを追加し、R2R(Ready2Run)とNAOT(NativeAOT)において`READYTORUN_GENERIC_HANDLE`ヘルパーのエントリポイント取得時の往復通信を排除しました。これにより、ランタイムへのコールバックを削除し、エントリポイント情報を直接構造体で表現することで効率化しています。 @@ -62,7 +62,7 @@ WASM向けJITコンパイラでスタックポインタ(SP)の参照をPHYSREG - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年02月20日 21:42:12(UTC) - マージ日時: 2026年02月22日 19:01:25(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 WebAssembly RyuJIT コンパイラの関数呼び出し処理の2つの問題を修正します。マネージド呼び出し規約を持つ呼び出しに対して、期待されたシグネチャに一致させるため、最後の引数として偽のPEポインタを渡すようにしました。また、メインメソッドまたはfuncletの最後の命令がリターンしない呼び出しである場合、`unreachable`の後に`end`命令が確実に発行されるようにしました。 @@ -85,7 +85,7 @@ WebAssembly RyuJIT コンパイラの関数呼び出し処理の2つの問題を - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年02月20日 09:35:20(UTC) - マージ日時: 2026年02月22日 19:07:17(UTC) -- ラベル: arch-wasm area-Infrastructure-coreclr +- ラベル: arch-wasm area-Infrastructure-coreclr #### 概要 WASM/CoreCLR `corerun` ホストのメモリ上限を2GBから4GBに拡大し、大規模配列割り当てをテストするJITリグレッションテストを再度有効化します。これにより、WebAssembly環境でのメモリ制約によるテスト失敗を解決します。 @@ -107,7 +107,7 @@ PR #123377 のフォローアップ(当該の変更が前回無効化されて - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月20日 03:41:04(UTC) - マージ日時: 2026年02月22日 18:18:51(UTC) -- ラベル: area-System.Reflection.Emit +- ラベル: area-System.Reflection.Emit #### 概要 `PersistedAssemblyBuilder` のテストカバレッジをレビューフィードバックに基づいて整理しました。アセンブリ識別情報の検証、Save/GenerateMetadata ライフサイクルの相互作用、クロスアセンブリのジェネリック参照、カスタム属性エッジケースに焦点を絞ったテストに統合。`AssemblyNameInfo` ベースの同一性検証で簡潔化し、重複するヘルパーロジックを既存の共有ヘルパーに統合しました。 diff --git a/archives/2026/02/23.md b/archives/2026/02/23.md index bd99ec7..4901113 100644 --- a/archives/2026/02/23.md +++ b/archives/2026/02/23.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#124762 Don't build managed ilasm in the VMR yet](#124762) 2. [#124759 JIT: minor cleanups in RBO](#124759) 3. [#124758 \[browser\]\[CoreCLR\] Loading Webcil - JS part](#124758) @@ -25,7 +25,7 @@ - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年02月23日 19:41:50(UTC) - マージ日時: 2026年02月23日 23:44:21(UTC) -- ラベル: area-ILTools-coreclr +- ラベル: area-ILTools-coreclr #### 概要 VMR(Vertical Monolithic Repository)での管理対象のilasm(IL Assembler)ビルドを一時的に無効化するための変更です。source-build対応の完了を待つため、および現在出荷されていないため、ビルドプロセスから除外しています。 @@ -55,7 +55,7 @@ VMR(Vertical Monolithic Repository)での管理対象のilasm(IL Assembler - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年02月23日 17:41:42(UTC) - マージ日時: 2026年02月23日 21:35:49(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT コンパイラの Redundant Branch Optimization (RBO) フェーズにおける軽微なコード品質改善が行われました。コメントの誤字修正、ドキュメント更新、ブール式の簡略化、重複するビジターコードの統合が含まれています。機能的な変更はありません。 @@ -83,7 +83,7 @@ JIT コンパイラの Redundant Branch Optimization (RBO) フェーズにおけ - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年02月23日 16:36:39(UTC) - マージ日時: 2026年02月23日 21:55:36(UTC) -- ラベル: arch-wasm area-Host os-browser +- ラベル: arch-wasm area-Host os-browser #### 概要 ブラウザ/WASM環境でWebcil 1.0フォーマットのアセンブリをロードするためのJavaScript実装を追加します。`.wasm`ラッパーモジュールをインスタンス化し、Webcilペイロードを抽出して16バイト境界にアラインされたメモリに登録します。これにより、CoreCLRはブラウザ上でWebcilフォーマットのアセンブリを直接読み込めるようになります。 @@ -122,7 +122,7 @@ const module = await instantiateWebcilModule(wasmPath); - 作成者: [@rzikm](https://github.com/rzikm) - 作成日時: 2026年02月23日 12:25:24(UTC) - マージ日時: 2026年02月23日 15:24:34(UTC) -- ラベル: area-System.Net +- ラベル: area-System.Net #### 概要 Android プラットフォーム上で localhost サブドメイン解決テスト 2 件が一貫して失敗するため、`[ActiveIssue]` 属性を使用して Android でのテスト実行を無効化します。RFC 6761 の localhost サブドメイン処理実装により、`AddressFamily.InterNetwork` や `AddressFamily.InterNetworkV6` を指定して `"test.localhost"` を解決する際、Android の `getaddrinfo()` が特定のアドレスファミリーでは `EAI_NONAME` エラーを返すことが原因です。 @@ -148,7 +148,7 @@ Android プラットフォーム上で localhost サブドメイン解決テス - 作成者: [@rzikm](https://github.com/rzikm) - 作成日時: 2026年02月23日 09:11:09(UTC) - マージ日時: 2026年02月23日 17:27:49(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 QUIC/HTTP3相互運用性テストにおいて、外部サーバ `quic.nginx.org` が Helix CI 環境から到達不可能になったため、テスト対象から完全に削除する変更です。2月21日以降、このサーバへの接続がタイムアウト(10秒)し、当該テスト `Public_Interop_ExactVersion_BufferContent_Success` で100%の失敗率(26失敗、0成功)が継続していました。 @@ -174,7 +174,7 @@ QUIC/HTTP3相互運用性テストにおいて、外部サーバ `quic.nginx.org - 作成者: [@prozolic](https://github.com/prozolic) - 作成日時: 2026年02月23日 02:22:30(UTC) - マージ日時: 2026年02月23日 04:43:08(UTC) -- ラベル: area-System.Collections community-contribution +- ラベル: area-System.Collections community-contribution #### 概要 `System.Collections.Frozen`の`Constants.IsKnownComparable()`メソッド内で重複していた`typeof(T) == typeof(decimal)`チェックを削除しました。メソッドの機能は変わらず、冗長なロジックを排除したコード品質向上のための変更です。 @@ -197,7 +197,7 @@ QUIC/HTTP3相互運用性テストにおいて、外部サーバ `quic.nginx.org - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年02月23日 00:06:30(UTC) - マージ日時: 2026年02月23日 17:51:00(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 このPRはCopilot AIスキル「jit-regression-test」の説明文を改善するドキュメント更新です。構造化された記述、明示的なストップシグナル、および統合されたヒントを追加することで、スキルの適切な起動と誤用防止を実現します。評価結果では、Claude Haikuのストップシグナル準拠が2/5から5/5に向上しました。 @@ -237,7 +237,7 @@ QUIC/HTTP3相互運用性テストにおいて、外部サーバ `quic.nginx.org - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年02月21日 21:09:02(UTC) - マージ日時: 2026年02月23日 11:13:42(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 このPRはJITコンパイラのAssertion Propagation(AP)最適化を強化し、より多くのアサーションを生成可能にします。共変配列ストア後の範囲チェック削除、ゼロ除算チェックの最適化、到達不可能なコード削除など、複数の最適化シナリオに対応し、生成コードサイズを大幅に削減しています。 @@ -274,7 +274,7 @@ QUIC/HTTP3相互運用性テストにおいて、外部サーバ `quic.nginx.org - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月21日 16:50:37(UTC) - マージ日時: 2026年02月23日 14:01:52(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 BBJ_RETURN ブロック内の境界チェック(range check)をクローニング対象として許可し、連続した配列/スパンアクセスの冗長な境界チェックを削除する最適化を実装しました。戻り値の式内の複数アクセスで、最後のインデックスのチェックのみが必要になります。 @@ -309,7 +309,7 @@ static int ArrayAccess(int[] abcd) - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月20日 15:55:43(UTC) - マージ日時: 2026年02月23日 09:38:17(UTC) -- ラベル: area-System.Net +- ラベル: area-System.Net #### 概要 `Uri.GetHashCode()`と`Equals()`のハッシュ/等価性契約違反を修正しました。UNC派生のファイルURI(`IsUncOrDosPath=true`)と明示的な`file:///` URI(`IsUncOrDosPath=false`)が等値として比較される場合でも、異なるハッシュコードが生成されていた問題に対応しています。 @@ -346,7 +346,7 @@ Console.WriteLine(uri2.GetHashCode()); // 異なるハッシュ(修正前) - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年02月20日 14:36:25(UTC) - マージ日時: 2026年02月23日 15:24:06(UTC) -- ラベル: arch-wasm area-Infrastructure-coreclr os-browser +- ラベル: arch-wasm area-Infrastructure-coreclr os-browser #### 概要 ブラウザベースのテスト環境でV8およびFirefoxに対するスモークテストをサポートするために、JavaScriptランタイムローダーにシェルバージョンチェック機能を追加しました。主にTypeScriptコードでのポーランド修正とローダーロジックの強化が行われています。 @@ -379,7 +379,7 @@ Console.WriteLine(uri2.GetHashCode()); // 異なるハッシュ(修正前) - 作成者: [@yykkibbb](https://github.com/yykkibbb) - 作成日時: 2026年02月20日 13:59:56(UTC) - マージ日時: 2026年02月23日 12:14:01(UTC) -- ラベル: area-System.Net.Http community-contribution +- ラベル: area-System.Net.Http community-contribution #### 概要 HTTP/2接続のセットアップ中にサーバーが切断された際、`ObjectDisposedException`ではなく実際の原因例外(`_abortException`)を伝播させるように改善しました。これにより、ネットワーク障害やサーバー側の問題など、実際の失敗理由がより適切に報告されるようになります。 @@ -409,7 +409,7 @@ throw new HttpRequestException("...", _abortException ?? e); - 作成者: [@ShreyaLaxminarayan](https://github.com/ShreyaLaxminarayan) - 作成日時: 2026年02月19日 14:34:55(UTC) - マージ日時: 2026年02月23日 14:33:24(UTC) -- ラベル: area-System.Net.Security community-contribution +- ラベル: area-System.Net.Security community-contribution #### 概要 ManagedNtlmの複数のエンディアネスバグを修正し、ビッグエンディアンアーキテクチャ上での不正な動作を解決するプルリクエストです。既存のNtlmテストケースで検証済みです。 @@ -434,7 +434,7 @@ ManagedNtlmの複数のエンディアネスバグを修正し、ビッグエン - 作成者: [@ManickaP](https://github.com/ManickaP) - 作成日時: 2026年02月19日 14:34:34(UTC) - マージ日時: 2026年02月23日 10:17:44(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 HTTP/2キャンセレーション処理の改善に伴い、`PostAsync_Cancel_CancellationTokenPassedToContent`テストの無効化属性を削除するPRです。本テストは2021年1月に60秒タイムアウトの間欠的な失敗のため無効化されていましたが、HTTP/2実装の大幅な改書とキャンセレーション処理の改善により、根本的な競合状態は解決されたと考えられます。ローカルで20回の反復実行で問題なく動作することを確認済みです。 @@ -461,7 +461,7 @@ HTTP/2キャンセレーション処理の改善に伴い、`PostAsync_Cancel_Ca - 作成者: [@ManickaP](https://github.com/ManickaP) - 作成日時: 2026年02月19日 14:22:21(UTC) - マージ日時: 2026年02月23日 15:48:47(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 `.NET runtime`の HTTP クライアント テスト `GetAsync_UnicodeHostName_SuccessStatusCodeInResponse` が削除されました。このテストは2019年に外部の韓国語ウェブサイト(스타벅스코리아.com)の到達不可により無効化されていましたが、最終的にテスト対象が不安定であるため削除されることになりました。 @@ -483,7 +483,7 @@ HTTP/2キャンセレーション処理の改善に伴い、`PostAsync_Cancel_Ca - 作成者: [@ManickaP](https://github.com/ManickaP) - 作成日時: 2026年02月19日 13:53:25(UTC) - マージ日時: 2026年02月23日 10:08:40(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 HTTP/2コネクションプール完全書き直し以降に発生していた`AuthProxy__ValidCreds_ProxySendsRequestToServer`テストの無効化を解除しました。このテストは2018年10月から`Http2Connection.InvalidateHttp2Connection`のアサーション失敗とコネクションリセットエラーにより無効化されていましたが、HTTP/2実装の刷新により問題が解決されたため復活させます。ローカルで20回の反復テストを実施して安定性を確認済みです。 @@ -508,7 +508,7 @@ HTTP/2コネクションプール完全書き直し以降に発生していた`A - 作成者: [@ManickaP](https://github.com/ManickaP) - 作成日時: 2026年02月19日 13:41:45(UTC) - マージ日時: 2026年02月23日 14:48:11(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 HTTP クライアントの応答本体受信中のキャンセルテストを再有効化します。このテストは以前、CI 環境での遅延によるタイミング断言の失敗で無効化されていましたが、`ValidateClientCancellationAsync` でタイムアウト閾値が 30 秒から 60 秒に引き上げられたため、再有効化が可能になりました。 @@ -532,7 +532,7 @@ HTTP クライアントの応答本体受信中のキャンセルテストを再 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月19日 13:18:21(UTC) - マージ日時: 2026年02月23日 09:38:38(UTC) -- ラベル: documentation area-Extensions-DependencyInjection +- ラベル: documentation area-Extensions-DependencyInjection #### 概要 Dependency Injection Abstractionsライブラリの`AddSingleton`/`AddScoped`/`AddTransient`および`TryAdd*`メソッドに対し、複数登録時のセマンティクスと`Add*`と`TryAdd*`のオーバーロード間の関連性を説明するドキュメント(``と``タグ)を追加しました。各呼び出しで無条件に登録が追加され、`GetService`は最後に登録されたインスタンスを返し、`GetServices`はすべての登録を取得することを明確に記載しています。 @@ -557,7 +557,7 @@ dotnet/runtime#108024 — DI メソッドのドキュメントが例外情報と - 作成者: [@kg](https://github.com/kg) - 作成日時: 2026年01月28日 23:35:40(UTC) - マージ日時: 2026年02月23日 18:10:27(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly (Wasm) RyuJIT コンパイラに対して、ブロック単位のメモリ操作(メモリ初期化とコピー)を最適化するための機能を追加しました。構造体のゼロ初期化やコピー操作を、ネイティブな `memory.fill` および `memory.copy` Wasm命令に対応させることで、より効率的なコード生成を実現します。 @@ -596,7 +596,7 @@ unsafe void copyStruct(S *a, S *b) { - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年01月28日 19:24:11(UTC) - マージ日時: 2026年02月23日 22:39:21(UTC) -- ラベル: area-Diagnostics-coreclr runtime-async +- ラベル: area-Diagnostics-coreclr runtime-async #### 概要 このPRはruntime-asyncの非同期タスク追跡機能を強化し、Visual Studioなどのデバッガーによる検査を容易にします。主な追加機能は:1) Continuationのタイムスタンプ追跡(await チェーン内の論理的タスクの開始時刻と実行時間を可視化)、2) TPLイベントの発行(タスクステータス変更の通知と実行スレッド情報の提供)です。 diff --git a/archives/2026/02/24.md b/archives/2026/02/24.md index 35dc9cc..fdeac72 100644 --- a/archives/2026/02/24.md +++ b/archives/2026/02/24.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#124793 Update API review meeting frequency to once a week](#124793) 2. [#124776 Add OpenBSD target](#124776) 3. [#124775 Set __NumProc on OpenBSD](#124775) @@ -30,7 +30,7 @@ - 作成者: [@svick](https://github.com/svick) - 作成日時: 2026年02月24日 14:28:03(UTC) - マージ日時: 2026年02月24日 15:27:13(UTC) -- ラベル: area-Meta +- ラベル: area-Meta #### 概要 API レビュー会議の開催スケジュールに関するドキュメント更新です。2025年5月以降、木曜日のレビュー会議が実施されていないため、ドキュメントを修正し、会議は週1回(火曜日のみ)に変更されました。 @@ -51,7 +51,7 @@ API レビュー会議の開催スケジュールに関するドキュメント - 作成者: [@sethjackson](https://github.com/sethjackson) - 作成日時: 2026年02月24日 01:06:44(UTC) - マージ日時: 2026年02月24日 16:09:13(UTC) -- ラベル: area-Infrastructure community-contribution +- ラベル: area-Infrastructure community-contribution #### 概要 OpenBSDターゲットのサポートを.NETランタイムに追加するための初期変更です。現在のところビルドはまだ完全には成功していませんが、CoreCLRがOpenBSDで動作するようになることを目指しています。 @@ -75,7 +75,7 @@ OpenBSDターゲットのサポートを.NETランタイムに追加するため - 作成者: [@sethjackson](https://github.com/sethjackson) - 作成日時: 2026年02月24日 00:56:25(UTC) - マージ日時: 2026年02月24日 16:07:05(UTC) -- ラベル: area-Infrastructure-coreclr community-contribution +- ラベル: area-Infrastructure-coreclr community-contribution #### 概要 OpenBSD プラットフォーム上で `__NumProc` 環境変数を設定するようにビルドスクリプトを修正しました。これにより、OpenBSD でのネイティブコンパイル時にプロセッサ数の検出が正しく機能するようになります。 @@ -97,7 +97,7 @@ OpenBSD プラットフォーム上で `__NumProc` 環境変数を設定する - 作成者: [@sethjackson](https://github.com/sethjackson) - 作成日時: 2026年02月24日 00:51:35(UTC) - マージ日時: 2026年02月24日 18:24:42(UTC) -- ラベル: area-Infrastructure-coreclr community-contribution +- ラベル: area-Infrastructure-coreclr community-contribution #### 概要 OpenBSD プラットフォームで `mscordac`(Microsoft Common Language Runtime Debugging Access Component)のビルドを可能にする変更です。CMakeLists.txt の設定を調整して、OpenBSD での条件付きビルドに対応しました。 @@ -121,7 +121,7 @@ OpenBSD プラットフォームで `mscordac`(Microsoft Common Language Runti - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年02月24日 00:38:33(UTC) - マージ日時: 2026年02月24日 16:19:42(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT outerloop テストの回帰を修正します。#111514 での変更により `System.Diagnostics.Process` テストの `LongPath` ヘルパーアセンブリの処理が破損していました。`LongPath` プロジェクト参照を `ReferenceOutputAssembly=false` に設定し、参照ではなくコンテンツとして扱うことで、テスト出力ディレクトリへの適切なコピーを復旧しています。 @@ -146,7 +146,7 @@ https://github.com/dotnet/sdk/issues/30718(ReadyToRun処理のSDK既知の問 - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年02月24日 00:20:11(UTC) - マージ日時: 2026年02月24日 03:19:00(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 このPRは、cDAC RuntimeTypeSystemコントラクトにおけるMethodDescのサイズ計算方式を変更しています。従来はランタイムの`s_ClassificationSizeTable`グローバルテーブルを参照していましたが、ヒープダンプには存在しないため、データディスクリプタから直接サイズを計算するように改修されました。これにより、ヒープダンプシナリオでのデバッグ分析が可能になります。 @@ -184,7 +184,7 @@ https://github.com/dotnet/sdk/issues/30718(ReadyToRun処理のSDK既知の問 - 作成者: [@jtschuster](https://github.com/jtschuster) - 作成日時: 2026年02月23日 20:58:06(UTC) - マージ日時: 2026年02月24日 19:34:46(UTC) -- ラベル: area-Infrastructure-coreclr +- ラベル: area-Infrastructure-coreclr #### 概要 CoreCLR テスト実行時にテストがクラッシュしても MSBuild ビルドが成功してしまい、run.py が前回実行の古い testRun.xml ファイルを読み込んでしまう問題を修正しました。MSBuild の Exec タスクの属性を `IgnoreExitCode="true"` から `ContinueOnError="ErrorAndContinue"` に変更することで、すべてのテスト実行を継続させつつビルドは失敗するようにしました。 @@ -208,7 +208,7 @@ CoreCLR テスト実行時にテストがクラッシュしても MSBuild ビル - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年02月23日 19:58:37(UTC) - マージ日時: 2026年02月24日 02:55:49(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 WebAssembly RyuJIT のクロスジェン処理における複数のバグ修正です。ローカル変数の格納時のレイアウト取得の改善、BBJ_COND フロー制御の処理、P/Invoke プロローグの最適化、値番号付けのアサーション修正など、System.Private.Corelib のクロスジェン時に発見された問題を解決しています。 @@ -234,7 +234,7 @@ WebAssembly RyuJIT のクロスジェン処理における複数のバグ修正 - 作成者: [@steveisok](https://github.com/steveisok) - 作成日時: 2026年02月21日 19:49:07(UTC) - マージ日時: 2026年02月24日 11:56:18(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 Android の scudo ヒープアロケータが ARM64 Top-Byte Ignore (TBI) を使用してヒープポインタにタグを付与する際、`/proc//mem` での `pread` 呼び出しが失敗する問題を修正します。TBI タグ付きアドレスは CPU では無視されますが、カーネルのファイルオフセット処理では適用されないため、`pread` 実行前にトップバイトをストリップします。 @@ -262,7 +262,7 @@ pread(fd, buffer, size, addressWithoutTbi); - 作成者: [@barosiak](https://github.com/barosiak) - 作成日時: 2026年02月21日 00:19:53(UTC) - マージ日時: 2026年02月24日 20:40:59(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC (Common Data Access Contract) API に `GetStackLimits` メソッドを追加しました。このAPIは、スレッドのスタック上限と下限を取得するための新しいコントラクトです。診断ツールがスレッドのスタック情報にアクセスする際に使用されます。 @@ -292,7 +292,7 @@ cDAC (Common Data Access Contract) API に `GetStackLimits` メソッドを追 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月20日 17:06:06(UTC) - マージ日時: 2026年02月24日 14:11:17(UTC) -- ラベル: area-System.Net +- ラベル: area-System.Net #### 概要 `Uri(Uri, Uri)` コンストラクタで UNC ファイル URI ベースと `"file:"` 相対 URI を組み合わせるとデバッグアサーション失敗が発生していました。根本原因は `CreateThisFromUri` が `Debug_LeftConstructor` フラグを含むすべてのフラグをコピーしていたことです。修正として、フラグコピー時に `Debug_LeftConstructor` フラグを除外します。 @@ -323,7 +323,7 @@ dotnet/runtime#124659 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月20日 16:17:58(UTC) - マージ日時: 2026年02月24日 20:00:38(UTC) -- ラベル: area-System.Net +- ラベル: area-System.Net #### 概要 `Uri.TryUnescapeDataString`メソッドが、デスティネーションSpanが入力内の最初の`%`のインデックスより小さい場合に、`ArgumentOutOfRangeException`をスロー していた問題を修正しました。修正により、小さいバッファに対して適切に`false`を返すようになります。 @@ -353,7 +353,7 @@ Uri.TryUnescapeDataString("aa%", [], out _); // false - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年02月20日 14:45:33(UTC) - マージ日時: 2026年02月24日 19:33:56(UTC) -- ラベル: area-ReadyToRun-coreclr +- ラベル: area-ReadyToRun-coreclr #### 概要 R2R(Ready-to-Run)コンパイル時にクラス初期化チェックをスキップしていた問題を修正するもの。iOS環境では、チェックをスキップされたメソッド全体がインタプリタ実行され、パフォーマンスが大幅に低下していました。本修正により、R2Rヘルパーを通じてクラス初期化チェック(`InitClass`/`InitInstantiatedClass`)を呼び出すようになり、インタプリタ実行回避が可能になります。 @@ -398,7 +398,7 @@ public class G - 作成者: [@rzikm](https://github.com/rzikm) - 作成日時: 2026年02月20日 10:42:55(UTC) - マージ日時: 2026年02月24日 13:52:18(UTC) -- ラベル: area-System.IO.Compression +- ラベル: area-System.IO.Compression #### 概要 Zstandard圧縮API(`ZstandardStream`、`ZstandardEncoder`、`ZstandardDecoder`など)を独立したアセンブリ `System.IO.Compression.Zstandard` から `System.IO.Compression` に統合する変更です。マネージコードサイズが小さく、`System.IO.Compression.Native` への P/Invoke依存が共通のため、分離メリットがなく、将来の循環依存問題を防ぐためです。 @@ -425,7 +425,7 @@ Zstandard圧縮API(`ZstandardStream`、`ZstandardEncoder`、`ZstandardDecoder` - 作成者: [@a74nh](https://github.com/a74nh) - 作成日時: 2026年02月19日 14:42:02(UTC) - マージ日時: 2026年02月24日 12:58:15(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 このPRは、const vector パターンチェック時の最適化ロジックを修正しています。TBase サイズの要素をチェック時に、最初のビット以外のビットが設定されていないことを確実にするための変更です。Issue #124511の修正に対応しています。 @@ -449,7 +449,7 @@ JIT コンパイラの SIMD 最適化パスにおける重要な修正です。 - 作成者: [@JulieLeeMSFT](https://github.com/JulieLeeMSFT) - 作成日時: 2026年02月18日 19:25:47(UTC) - マージ日時: 2026年02月24日 17:48:08(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 このPRはJITコンパイラの最適化で、複数のターゲットを持つswitch文を分岐のない比較チェックに変換します。C#のパターンマッチング(`x is A or B or C`)の意図に合わせた最適なコード生成を実現します。例えば、Unicode カテゴリの判定で、複数の条件判定をブランチレス命令(`setbe`)に変換することで、より効率的なアセンブリコードを生成します。 @@ -494,7 +494,7 @@ ret - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年02月18日 18:36:24(UTC) - マージ日時: 2026年02月24日 00:13:30(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(契約ベースのデータアクセスコンポーネント)の統合テスト基盤を追加しました。DebugeeアプリがFailFastでクラッシュし、生成されたダンプをClrMDで読み込むことで、cDACが実際のランタイムデータ構造を正しく読み取れることを検証します。Thread、RuntimeInfo、GCHeap、StackWalk、RuntimeTypeSystem、Loader、EcmaMetadataなど複数のcDACコントラクトをテストします。 @@ -536,7 +536,7 @@ cDAC(契約ベースのデータアクセスコンポーネント)の統合 - 作成者: [@prozolic](https://github.com/prozolic) - 作成日時: 2026年02月18日 16:40:12(UTC) - マージ日時: 2026年02月24日 06:27:09(UTC) -- ラベル: area-System.Collections community-contribution +- ラベル: area-System.Collections community-contribution #### 概要 `ImmutableList.Node.LastIndexOf`メソッドのパラメータ検証を`Requires.Argument`から`Requires.Range`に変更し、`ImmutableArray.LastIndexOf`と同じ検証方式に統一するPRです。また、テストケースを追加してパラメータ名の検証を含めるようにしました。 @@ -559,7 +559,7 @@ cDAC(契約ベースのデータアクセスコンポーネント)の統合 - 作成者: [@jkotas](https://github.com/jkotas) - 作成日時: 2026年02月18日 07:11:37(UTC) - マージ日時: 2026年02月24日 23:11:38(UTC) -- ラベル: Servicing-approved area-System.Reflection.Emit +- ラベル: Servicing-approved area-System.Reflection.Emit #### 概要 `PersistedAssemblyBuilder`でカスタム修飾子(modopt/modreq)のエンコーディングに関するバグを修正しました。C#の`readonly ref`や`in`キーワードを含むメソッド/フィールドシグネチャの参照を出力する際に失敗していた問題を解決します。.NET 9で導入されたバグで、回避策がない採用ブロッカーです。 @@ -589,7 +589,7 @@ cDAC(契約ベースのデータアクセスコンポーネント)の統合 - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年02月18日 02:04:05(UTC) - マージ日時: 2026年02月24日 00:00:58(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 このPull Requestは、dotnet/dotnetリポジトリからのコードフロー更新です。Microsoft.CodeAnalysis、Microsoft.DotNet.Arcade.Sdk、NuGet関連パッケージなど、複数のビルドおよび開発ツールの依存関係を更新しています。更新範囲は2026年2月17日時点のVMRコミット(6699c73)に同期されています。 @@ -618,7 +618,7 @@ cDAC(契約ベースのデータアクセスコンポーネント)の統合 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月16日 22:49:11(UTC) - マージ日時: 2026年02月24日 14:10:03(UTC) -- ラベル: area-System.Net +- ラベル: area-System.Net #### 概要 32ビットプラットフォームでのOutOfMemoryException対策として、`Iri_UnicodePlane3_13`テストをリファクタリング。Unicode平面3~13(0x30000-0xDFFFF、約720K文字)をメモリ効率的に処理するため、0x10000文字(65Kチャンク)ずつ11回に分割して実行。テストカバレッジは変わらず、メモリ使用量を大幅に削減。 @@ -648,7 +648,7 @@ cDAC(契約ベースのデータアクセスコンポーネント)の統合 - 作成者: [@leculver](https://github.com/leculver) - 作成日時: 2026年02月13日 20:37:55(UTC) - マージ日時: 2026年02月24日 00:14:40(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 デバッガがコールスタックのルートをウォークする際にクラッシュする回帰を修正するプルリクエストです。前回のchangeset(#1fa1745)で導入されたスタックウォーキング処理の問題を、コンテキストをローカルコピーに指すように修正することで解決します。複数のアーキテクチャ(AMD64、ARM、ARM64、i386、LoongArch64、RISC-V64)で統一的に対応しています。 @@ -676,7 +676,7 @@ cDAC(契約ベースのデータアクセスコンポーネント)の統合 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月11日 22:46:16(UTC) - マージ日時: 2026年02月24日 21:23:11(UTC) -- ラベル: area-AssemblyLoader-coreclr +- ラベル: area-AssemblyLoader-coreclr #### 概要 空のアセンブリ(0バイト配列またはストリーム)の読み込み時の例外メッセージを改善しました。従来の汎用メッセージ「Bad IL format.」から、より診断的で実用的なメッセージに変更されます。 @@ -712,7 +712,7 @@ dotnet/runtime#36814(および Roslyn#39470 で報告された関連シナリ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月11日 21:39:28(UTC) - マージ日時: 2026年02月24日 23:35:19(UTC) -- ラベル: area-System.Numerics.Tensors +- ラベル: area-System.Numerics.Tensors #### 概要 `NRange.GetOffsetAndLength`メソッドの範囲検証バグを修正しました。64ビットプラットフォームで`nint`パラメータを`uint`にキャストすると、`uint.MaxValue`を超える値が切り詰められ、無効な範囲が検証をすり抜けていました。`nuint`キャストに変更することで、すべての`nint`値に対して正しく比較されるようになります。 @@ -746,7 +746,7 @@ if ((nuint)end > (nuint)length || (nuint)start > (nuint)end) - 作成者: [@MihaZupan](https://github.com/MihaZupan) - 作成日時: 2026年02月11日 14:12:40(UTC) - マージ日時: 2026年02月24日 17:20:21(UTC) -- ラベル: area-System.Net +- ラベル: area-System.Net #### 概要 dotnet/runtimeの`System.Uri`と`System.UriBuilder`クラスに対する脅威モデル(Threat Model)とセキュリティ設計ドキュメントを新規追加するPull Requestです。セキュリティレビューと実装設計に関する包括的なドキュメント化で、開発者がURI処理時の潜在的なセキュリティリスクを理解できるようになります。 diff --git a/archives/2026/02/25.md b/archives/2026/02/25.md index 7f23ec1..c457050 100644 --- a/archives/2026/02/25.md +++ b/archives/2026/02/25.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#124862 Fix inverted IsNull check in RangeSectionMap::EnumMemoryRangeSectionMapLevel](#124862) 2. [#124855 Add SSH and Copilot CLI features to devcontainer](#124855) 3. [#124848 Fix three cDAC managed AMD64/X86 unwinder bugs found by native audit](#124848) @@ -36,7 +36,7 @@ - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年02月25日 16:18:09(UTC) - マージ日時: 2026年02月25日 22:00:00(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 `RangeSectionMap::EnumMemoryRangeSectionMapLevel`のテンプレートオーバーロードに存在する論理バグを修正するワンラインの変更です。IsNull()の条件が反転していたため、64ビット環境でレベルL2~L5のメモリ列挙時にNULLエントリを再帰処理し、有効なエントリをスキップしていました。この修正により、DAC(Debug Assist Component)によるメモリダンプ生成時に、正しくすべてのメモリ領域が列挙されるようになります。 @@ -62,7 +62,7 @@ - 作成者: [@maraf](https://github.com/maraf) - 作成日時: 2026年02月25日 13:11:51(UTC) - マージ日時: 2026年02月25日 17:05:01(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 このPRは、dotnet/runtimeのdev containerの設定にSSH(sshd)とGitHub Copilot CLIの機能を追加しています。開発環境でSSHアクセスおよびCopilot CLIの利用が可能になります。 @@ -87,7 +87,7 @@ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月25日 06:01:23(UTC) - マージ日時: 2026年02月25日 17:31:39(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Compact Diagnostics Access Control)マネージドスタックアンワインダーの3つの正確性バグを修正します。AMD64アンワインダーでは、`UWOP_PUSH_MACHFRAME`が誤ってマシンフレームフラグを`false`に設定してRIP/RSPを二重読込みする問題、`UWOP_SAVE_NONVOL_FAR`オペコードの未実装により非volatile レジスタ復元が失敗する問題を修正。X86アンワインダーではデバッグ用の`Console.WriteLine`を削除します。 @@ -129,7 +129,7 @@ case UnwindCode.OpCodes.UWOP_SAVE_NONVOL_FAR: - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月25日 05:13:01(UTC) - マージ日時: 2026年02月25日 17:31:09(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 AMD64 cDAC アンウインダーの epilogue emulation において、単一バイト `pop r64` 命令(レジスタ 0–7)のレジスタ番号を誤ったバイトオフセットから読み込んでいたバグを修正しました。`pop r64` は単一バイトのオプコード(`0x58 + r`)であり、レジスタは opcode バイト自体の下位 3 ビットにエンコードされているため、`nextByte + 2` から読むと任意の命令列のバイトを読み込み、unwound レジスタコンテキストが破損していました。 @@ -165,7 +165,7 @@ byte registerNumber = (byte)(ReadByteAt(nextByte) & 0x7); - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年02月25日 01:02:21(UTC) - マージ日時: 2026年02月25日 03:36:49(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 WASM RyuJitコンパイラがSystem.Private.CoreLibのcrossgen2処理中に検出された複数の問題を修正するPRです。構造体の処理、値番号付け、制御フロー、スイッチ最適化に関する5つの主要な修正が含まれています。 @@ -199,7 +199,7 @@ WASM RyuJitコンパイラがSystem.Private.CoreLibのcrossgen2処理中に検 - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年02月24日 22:57:50(UTC) - マージ日時: 2026年02月25日 04:51:18(UTC) -- ラベル: area-NativeAOT-coreclr runtime-async +- ラベル: area-NativeAOT-coreclr runtime-async #### 概要 ARM32 のNativeAOT GC hijack パスにおいて、非同期継続を保持する`r2`レジスタが上書きされるバグを修正しました。`RhpWaitForGc`を通じて`Thread*`を`r3`で保持することで、`r2`の値が保護される前に破壊されるのを防ぎます。 @@ -230,7 +230,7 @@ ARM32 のNativeAOT GC hijack パスにおいて、非同期継続を保持する - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年02月24日 20:45:55(UTC) - マージ日時: 2026年02月25日 16:52:28(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 Azure Pipelines の runtime-diagnostics ジョブで、テスト失敗時に自動的にクラッシュダンプとテストログをパイプラインアーティファクトとして公開するように更新しました。これにより、cDAC/DAC実行時の失敗調査が改善されます。 @@ -255,7 +255,7 @@ Azure Pipelines の runtime-diagnostics ジョブで、テスト失敗時に自 - 作成者: [@jkotas](https://github.com/jkotas) - 作成日時: 2026年02月24日 20:33:54(UTC) - マージ日時: 2026年02月25日 02:59:54(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 x86時代の例外処理(EH)レガシー機能である`CORINFO_HELP_ENDCATCH` JITヘルパーを削除するクリーンアップPRです。JIT/EEインターフェース、ReadyToRunヘルパーマッピング、およびNativeAOT反射マップから該当機能を完全に削除し、JIT/EEインターフェースバージョンGUIDを更新します。 @@ -282,7 +282,7 @@ x86時代の例外処理(EH)レガシー機能である`CORINFO_HELP_ENDCATC - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月24日 20:18:11(UTC) - マージ日時: 2026年02月25日 03:51:27(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 SOSDacImpl.csの約30個のメソッドで、引数・ポインタ検証チェックをtryブロック前から内部に移動し、早期リターンを例外スローに変更。これにより、catch ブロックのHResult変換と#if DEBUGブロックが確実に実行されるように修正。 @@ -327,7 +327,7 @@ catch (Exception ex) { hr = ex.HResult; } - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月24日 19:39:48(UTC) - マージ日時: 2026年02月25日 16:31:39(UTC) -- ラベル: area-System.IO.Compression +- ラベル: area-System.IO.Compression #### 概要 `SubReadStream`(ZIP非圧縮エントリで使用)では、`Seek(offset, SeekOrigin.End)`または`Position = value > Length`でストリーム終端を超えてシークが可能でしたが、`Read`メソッドの3つのオーバーロードすべてが`_positionInSuperStream <= _endInSuperStream`を前提としており、負の値を計算して`Debug.Assert(count >= 0)`に到達していました。本修正では、終端を超える位置での読み取り時に0バイトを返すよう改善しています。 @@ -364,7 +364,7 @@ dotnet/runtime#124811 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月24日 17:35:57(UTC) - マージ日時: 2026年02月25日 14:47:18(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 このPRは、cDAC(Compact Diagnostics And Contracts)の`SOSDacImpl`に`ISOSDacInterface12::GetGlobalAllocationContext`を実装し、グローバルな割り当てコンテキストへのアクセスを提供します。ネイティブの`ClrDataAccess::GetGlobalAllocationContext`をミラーリングし、GCコントラクト層を通じて`g_global_alloc_context`を公開します。 @@ -411,7 +411,7 @@ https://github.com/dotnet/runtime/issues/124824 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月24日 17:15:40(UTC) - マージ日時: 2026年02月25日 14:46:13(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Compact Data Access Contract)の`SOSDacImpl`クラスに`GetRegisterName`メソッドを実装しました。レガシーDAC委譲から`RuntimeInfo`コントラクトベースの実装に移行し、実行時に`GetTargetArchitecture()`でターゲットアーキテクチャを動的に判定します。X64、X86、ARM、ARM64、LoongArch64、RiscV64の6つのアーキテクチャに対応し、コンパイル時の`#ifdef`ガードが不要になります。 @@ -438,7 +438,7 @@ Issue #124823: GetRegisterName実装の要件 - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年02月24日 14:53:53(UTC) - マージ日時: 2026年02月25日 13:27:39(UTC) -- ラベル: area-System.Management +- ラベル: area-System.Management #### 概要 System.Management WMIインターオップレイヤーにおけるGCセーフティの問題を修正するPRです。ネイティブコールバックに渡される`IntPtr`フィールドを含むオブジェクトが、ガベージコレクションされる可能性があったため、`GC.KeepAlive`呼び出しを追加してオブジェクトをルート化しました。 @@ -472,7 +472,7 @@ GC.KeepAlive(pOutSignature); - 作成者: [@cincuranet](https://github.com/cincuranet) - 作成日時: 2026年02月24日 13:42:15(UTC) - マージ日時: 2026年02月25日 08:17:43(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 `string.Join()`メソッドが`ReadOnlySpan`型のオーバーロードに対応していることを活用し、不要な`.ToArray()`呼び出しを削除してメモリアロケーションを削減する最適化です。Http2Connectionのロギングコード内の2箇所で改善されています。 @@ -503,7 +503,7 @@ string.Join(", ", headers.Select(h => h.Key)) - 作成者: [@akoeplinger](https://github.com/akoeplinger) - 作成日時: 2026年02月24日 12:42:09(UTC) - マージ日時: 2026年02月25日 13:52:06(UTC) -- ラベル: area-Meta +- ラベル: area-Meta #### 概要 xUnit v3への対応に向けて、`ConditionalFact`および`ConditionalTheory`属性の使用を、型パラメータを受け取るコンストラクタへ移行するテストコード全体の大規模アップデートです。旧コンストラクタが非推奨化されたため、309ファイルにわたって統一的に変更されています。 @@ -532,7 +532,7 @@ xUnit v3への対応に向けて、`ConditionalFact`および`ConditionalTheory` - 作成者: [@ilonatommy](https://github.com/ilonatommy) - 作成日時: 2026年02月24日 08:40:52(UTC) - マージ日時: 2026年02月25日 12:38:14(UTC) -- ラベル: area-VM-coreclr perf-pipeline +- ラベル: area-VM-coreclr perf-pipeline #### 概要 このPRは、browser-wasmのパフォーマンスベンチマークパイプラインにおいて、既存のMono実装に加えてCoresCLRランタイムのビルドとテストサポートを追加するものです。新しいビルドジョブを追加し、パラメータ化することでCoresCLRとMono両方のランタイムでwasmベンチマークを実行できるようになります。 @@ -560,7 +560,7 @@ CoresCLRアーティファクトはMonoと比較して小さいサイズ(ラ - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年02月24日 03:44:34(UTC) - マージ日時: 2026年02月25日 17:58:07(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Compact Data Access Component)の `GetILAddressMap` と `GetILOffsetsByAddress` メソッドが、デバッグメタデータを持たないメソッド(ILStubs など)に対して正しくないエラーコード(`0x80131c49`)を返していた問題を修正しました。レガシーDAC と同じ `E_FAIL` (0x80004005) を返すようにします。また、P/Invoke シナリオ向けの包括的なダンプベースの統合テストとOS対応テストスキップ機能を追加します。 @@ -612,7 +612,7 @@ var offsetMappings = debugInfo.GetMethodNativeMap(pCode); // 非null返却 - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年02月24日 02:08:24(UTC) - マージ日時: 2026年02月25日 23:23:14(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 VMR(Virtual Monorepo)から dotnet/runtime へのコードフロー更新です。2026年2月24日時点で、Roslyn、NuGet、System.Text.Json、ASP.NET Core など複数の主要コンポーネントの依存関係が一括更新されています。ソースコードの変更は限定的で、主にバージョン管理ファイルと JIT リグレッション テストの追加です。 @@ -645,7 +645,7 @@ VMR(Virtual Monorepo)から dotnet/runtime へのコードフロー更新で - 作成者: [@dhartglassMSFT](https://github.com/dhartglassMSFT) - 作成日時: 2026年02月23日 20:46:31(UTC) - マージ日時: 2026年02月25日 10:07:55(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 ARM64 JIT レジスタストレス時に、VectorTableLookup (TBL) 命令で4つの連続レジスタ割り当てに失敗する問題を修正しました。LSRA(Linear Scan Register Allocator)が `d31→d0` のラップアラウンド時に、レジスタ使用状況マスク(`consecutiveRegsInUseThisLocation`)を誤った計算で扱っていたことが原因です。 @@ -673,7 +673,7 @@ ARM64 JIT レジスタストレス時に、VectorTableLookup (TBL) 命令で4つ - 作成者: [@danmoseley](https://github.com/danmoseley) - 作成日時: 2026年02月23日 02:08:39(UTC) - マージ日時: 2026年02月25日 02:29:02(UTC) -- ラベル: area-System.Text.RegularExpressions +- ラベル: area-System.Text.RegularExpressions #### 概要 正規表現エンジンで複数の選択肢プレフィックス(`a|b|c|...`)を持つパターンに対し、文字頻度ベースのヒューリスティックを導入。高頻度の開始文字には`SearchValues`(Teddy/Aho-Corasick)を使用し、低頻度の文字には既存の`FixedDistanceSets`(`IndexOfAny`)にフォールバック。regex-reduxで**1.81倍高速化**、Leipzigテストで**3.28倍高速化**を実現。ASCII以外のパターンはヒューリスティックを無視し、既存動作を保持。 @@ -708,7 +708,7 @@ ARM64 JIT レジスタストレス時に、VectorTableLookup (TBL) 命令で4つ - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年02月22日 21:42:51(UTC) - マージ日時: 2026年02月25日 05:47:37(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 WebAssembly RyuJit コンパイラに内部レジスタサポートを追加し、ADD/SUB/MUL操作のオーバーフロー検査を実装します。結果が複数回使用される場合に内部レジスタを活用し、long型のMUL操作についてはランタイムヘルパーに委譲します。 @@ -736,7 +736,7 @@ WebAssembly RyuJit コンパイラに内部レジスタサポートを追加し - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年02月21日 01:00:29(UTC) - マージ日時: 2026年02月25日 00:44:14(UTC) -- ラベル: area-TypeSystem-coreclr +- ラベル: area-TypeSystem-coreclr #### 概要 特殊なマーカー型(special marker type)を親に持つサブインターフェースで、複雑な型引数(例:`IList`)を含む正確なインスタンス化がある場合、`LoadExactInterfaceMap`が誤った処理を行っていた問題を修正しました。`pNewIntfMT`に対する適格性チェックを正しく実行するようにロジックを分割し、特殊マーカー型の最適化を正確に適用できるようにしました。 @@ -763,7 +763,7 @@ WebAssembly RyuJit コンパイラに内部レジスタサポートを追加し - 作成者: [@rzikm](https://github.com/rzikm) - 作成日時: 2026年02月19日 12:28:42(UTC) - マージ日時: 2026年02月25日 12:39:09(UTC) -- ラベル: area-System.Net.Security +- ラベル: area-System.Net.Security #### 概要 ALPN(Application-Layer Protocol Negotiation)プロトコルリストのサイズフィールド型を `short` から `ushort` に修正し、Windows ネイティブ API および RFC 7301 に準拠させました。最大サイズを 32,767 バイトから 65,535 バイトに拡大し、境界値テストを追加して検証ロジックを強化しています。 @@ -795,7 +795,7 @@ private ushort ProtocolListSize; // 最大65,535バイト - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月19日 11:49:33(UTC) - マージ日時: 2026年02月25日 09:41:53(UTC) -- ラベル: area-Extensions-Logging +- ラベル: area-Extensions-Logging #### 概要 `LoggerMessage` ソースジェネレータの修正により、`ref readonly` パラメータ修飾子が生成されたメソッド実装で保持されるようになりました。同時に、`params`、`scoped`、およびref struct パラメータについてコンパイル時エラー(SYSLIB1028、SYSLIB1029)を発行し、署名の不一致を防止します。 @@ -840,7 +840,7 @@ static partial void Log(ILogger l, params object?[] args); // ✗ SYSLIB1028 - 作成者: [@tmds](https://github.com/tmds) - 作成日時: 2026年02月19日 11:38:33(UTC) - マージ日時: 2026年02月25日 15:03:13(UTC) -- ラベル: area-VM-meta-mono community-contribution +- ラベル: area-VM-meta-mono community-contribution #### 概要 Mono ランタイムの s390x および ppc64le アーキテクチャにおいて、デフォルトスタックサイズを 8MB に増加させました。また、`DOTNET_Thread_DefaultStackSize` 環境変数を新たにサポートし、ユーザーがスタックサイズを動的に制御できるようにしました。これにより、テールコール最適化の未実装による fsharp リポジトリのビルド失敗を解決します。 @@ -866,7 +866,7 @@ Mono ランタイムの s390x および ppc64le アーキテクチャにおい - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年02月18日 12:48:48(UTC) - マージ日時: 2026年02月25日 19:23:54(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 このPull RequestはVMR(Virtual Monorepo)からの自動コードフロー更新です。.NET 10.0.1xxブランチの最新ビルド(20260217.15)に対応する依存関係とバージョン情報の更新が含まれています。Microsoft.CodeAnalysis、NuGetツール、ビルドタスクなど主要なNuGetパッケージが複数更新されています。 @@ -896,7 +896,7 @@ Mono ランタイムの s390x および ppc64le アーキテクチャにおい - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年02月17日 16:23:55(UTC) - マージ日時: 2026年02月25日 06:49:34(UTC) -- ラベル: area-ReadyToRun-coreclr +- ラベル: area-ReadyToRun-coreclr #### 概要 Composite ReadyToRun (R2R) コンパイルで `box_this` パターンの最適化を有効にする変更です。値型のメソッドが `ref` パラメータで渡される場合、制約付き呼び出しが行われます。従来のR2Rではこのパターンはスキップされていましたが、値型とメソッドが同じバージョンバブル内にある場合、安全に最適化できるようになりました。 @@ -932,7 +932,7 @@ Console.WriteLine(CallToString(ref s)); - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月12日 23:38:12(UTC) - マージ日時: 2026年02月25日 21:57:57(UTC) -- ラベル: area-System.Reflection +- ラベル: area-System.Reflection #### 概要 `System.Reflection.DispatchProxy`のXML ドキュメントコメントをdotnet-api-docsから逆移植し、ドキュメント精度を向上。例外条件の検証ロジックを正確に反映し、パラメータなしコンストラクタに関する文法誤りも修正。コンパイラ生成のXMLドキュメントファイル出力を有効化。 @@ -964,7 +964,7 @@ dotnet/dotnet-api-docs #12316 - 作成者: [@Neo-vortex](https://github.com/Neo-vortex) - 作成日時: 2025年11月23日 18:07:53(UTC) - マージ日時: 2026年02月25日 02:18:52(UTC) -- ラベル: area-System.IO community-contribution +- ラベル: area-System.IO community-contribution #### 概要 `DirectoryInfo.CreateSubdirectory(path)` がルートディレクトリ(例:`C:\`)に対して呼び出された際に `ArgumentException` をスローする問題を修正しました。`Path.TrimEndingDirectorySeparator` がルートパスの末尾セパレーターを保持することが原因で、バウンダリ検証ロジックが誤ったインデックスを参照していました。修正後は、トリム後のパスが依然としてセパレーターで終わる場合(ルートディレクトリケース)に、検証前に明示的にセパレーターを除去するようになります。 @@ -995,7 +995,7 @@ dotnet/dotnet-api-docs #12316 - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2025年09月30日 21:05:25(UTC) - マージ日時: 2026年02月25日 14:38:39(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 このPRは、cDAC(Common Data Architecture)の診断機能を拡張し、`GetCodeHeaderData` APIを追加する変更です。GCInfo(ガベージコレクション情報)デコーダーを実装し、x64、ARM64、ARMプラットフォーム上でコードヘッダーデータを取得できるようになります。ランタイム診断とプロファイリングの機能向上が主な目的です。 @@ -1023,7 +1023,7 @@ dotnet/dotnet-api-docs #12316 - 作成者: [@BrennanConroy](https://github.com/BrennanConroy) - 作成日時: 2025年07月22日 23:53:18(UTC) - マージ日時: 2026年02月25日 22:19:02(UTC) -- ラベル: area-System.Text.Json +- ラベル: area-System.Text.Json #### 概要 JSON逆シリアル化の堅牢性を検証するための新しいファザー `Utf8JsonReaderFuzzer` を追加しました。このファザーはSpanベースとSequenceベースの `Utf8JsonReader` インスタンスの動作を比較することで、様々なデータ型とシナリオにおけるJSON読み込み機能を包括的にテストします。OneFuzzインフラストラクチャへのデプロイ設定も含まれています。 diff --git a/archives/2026/02/26.md b/archives/2026/02/26.md index 543e5d9..f2244f3 100644 --- a/archives/2026/02/26.md +++ b/archives/2026/02/26.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#124894 \[release/11.0-preview2\] Revert forwarding activation signal](#124894) 2. [#124884 Delete unnecessary test](#124884) 3. [#124881 Handle single-node branches in ExtractCommonPrefixNode](#124881) @@ -29,7 +29,7 @@ - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年02月26日 13:01:25(UTC) - マージ日時: 2026年02月26日 18:38:02(UTC) -- ラベル: Servicing-approved area-PAL-coreclr +- ラベル: Servicing-approved area-PAL-coreclr #### 概要 .NET 11.0-preview2へのバックポート。非同期シグナルハンドラ(アクティベーションシグナルハンドラ)内でのスレッドローカルストレージ(TLS)アクセスに起因するクラッシュを修正します。最新のglibc版でこの問題が顕在化し、Ubuntu 25.04などで報告されています。CheckActivationSafePoint関数がシグナルハンドラから呼び出される際、TLSアクセスはメモリ割り当てをトリガーする可能性があり、割り当てコード内での割り込み時にクラッシュするリスクがあります。 @@ -53,7 +53,7 @@ - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年02月26日 03:54:26(UTC) - マージ日時: 2026年02月26日 06:22:16(UTC) -- ラベル: area-TypeSystem-coreclr +- ラベル: area-TypeSystem-coreclr #### 概要 重複するTypeDefを持つモジュール読み込みをテストするために設計されたテストケース(test5.il/test5.ilproj)を削除するPRです。このテストは、PEファイルの二進後処理(`.cpt`ファイルを使用した修正)を必要としていますが、そのセットアップがリポジトリに含まれていないため、実際にはテストシナリオが機能していませんでした。削除対象のテストは本質的に不完全で、その目的を達成していません。 @@ -78,7 +78,7 @@ - 作成者: [@danmoseley](https://github.com/danmoseley) - 作成日時: 2026年02月26日 02:16:21(UTC) - マージ日時: 2026年02月26日 20:35:59(UTC) -- ラベル: area-System.Text.RegularExpressions +- ラベル: area-System.Text.RegularExpressions #### 概要 正規表現の最適化において、先行する大文字小文字を区別しないプリフィックス抽出後に分岐が単一ノードに縮小される場合、`ExtractCommonPrefixNode`が処理を停止していた問題を修正しました。例えば`(http|https)`というパターンで`http`ではなく`htt`のみが抽出されていた不具合を解決しています。修正により、Concatenationと単一ノード両方の分岐を適切に処理し、共通プリフィックスを完全に抽出できるようになりました。 @@ -110,7 +110,7 @@ - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年02月26日 00:41:51(UTC) - マージ日時: 2026年02月26日 03:23:14(UTC) -- ラベル: Servicing-approved area-PAL-coreclr +- ラベル: Servicing-approved area-PAL-coreclr #### 概要 .NET 10.0.4 にバックポートされた変更(#124308)が vsdbg に問題を引き起こしたため、その変更の一部(アクティベーション信号をコアクラーより前に登録されたハンドラーに転送する機能)のみをリバートします。本質的な修正は維持しながら、問題を引き起こしていた追加実装を削除することで回帰を解決します。 @@ -137,7 +137,7 @@ - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年02月25日 23:11:44(UTC) - マージ日時: 2026年02月26日 13:50:05(UTC) -- ラベル: area-GC-coreclr +- ラベル: area-GC-coreclr #### 概要 複数のヒープが存在する場合のGCハンドル列挙の完全性を確保するバグ修正です。DAC(Debugging Access Component)がマルチヒープ環境でGCハンドルを正しく列挙できていなかった問題を解決します。これにより、デバッガやダンプ解析ツールが複数ヒープを持つシステムで正確なGCハンドル情報を取得できるようになります。 @@ -164,7 +164,7 @@ - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年02月25日 19:11:42(UTC) - マージ日時: 2026年02月26日 20:12:19(UTC) -- ラベル: Servicing-approved area-System.IO +- ラベル: Servicing-approved area-System.IO #### 概要 Windows OS アップデートにより localhost サポートが削除されたことで発生した回帰問題に対応したパッチです。`ResolveLinkTarget(returnFinalTarget: true)` メソッドが `ERROR_NETNAME_DELETED` エラーを適切に処理できておらず、フォールバック処理が実行されず `IOException` が発生していました。この PR では `ERROR_NETNAME_DELETED` を `IsPathUnreachableError` に追加することで、正しくエラーハンドリングを行うようにしています。 @@ -191,7 +191,7 @@ Windows OS アップデートにより localhost サポートが削除された - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月25日 17:52:40(UTC) - マージ日時: 2026年02月26日 16:56:50(UTC) -- ラベル: Servicing-approved area-System.IO +- ラベル: Servicing-approved area-System.IO #### 概要 Windows で UNC アクセスが無効化されている環境で `ResolveLinkTarget_Succeeds` テストが失敗する問題を修正します。`returnFinalTarget=true` の場合に UNC パスの実際の解決を試みることが原因で、テストが `IOException: The specified network name is no longer available` で失敗していました。本変更はテストデータ生成ロジックを修正し、UNC パスに対しては `returnFinalTarget=false` のみを適用することで問題を回避します。 @@ -215,7 +215,7 @@ Windows で UNC アクセスが無効化されている環境で `ResolveLinkTar - 作成者: [@a74nh](https://github.com/a74nh) - 作成日時: 2026年02月25日 17:45:52(UTC) - マージ日時: 2026年02月26日 15:58:08(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 SVE2のscatter命令(非時間順序版)において、インデックスベースの形式でシフト済みオフセット値を保持するための一時レジスタが不足していた問題を修正しました。SVE1では3つのscatter形式(アドレスベクトル、単一アドレス+インデックスベクトル、単一アドレス+バイトオフセットベクトル)がサポートされていますが、SVE2のインデックス版はオフセットをシフトしてから命令を呼び出す必要があるため、このシフト値を保持する一時レジスタを確保するようにしました。 @@ -237,7 +237,7 @@ SVE2のscatter命令(非時間順序版)において、インデックスベ - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年02月25日 12:04:11(UTC) - マージ日時: 2026年02月26日 07:23:53(UTC) -- ラベル: arch-wasm area-Host os-browser +- ラベル: arch-wasm area-Host os-browser #### 概要 WebAssembly(WASM)ブラウザ環境におけるアセンブリのレイジーロード機能とサテライトアセンブリ対応を追加するPull Requestです。アセンブリの遅延読み込みにより、初期ロード時間の短縮とメモリ使用量の最適化を実現します。Issue #120226に関連した実装で、TypeScript/JavaScriptの相互運用層を中心に変更されています。 @@ -271,7 +271,7 @@ WebAssembly(WASM)ブラウザ環境におけるアセンブリのレイジーロ - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年02月25日 11:45:55(UTC) - マージ日時: 2026年02月26日 14:50:12(UTC) -- ラベル: arch-wasm area-Infrastructure +- ラベル: arch-wasm area-Infrastructure #### 概要 このPull Requestは、macOS上でWASMブラウザテストを実行するため、Chrome ブラウザとChromeDriverのプロビジョニング機能を追加します。Linux/Windows向けの既存プロビジョニング設定と同様の構成をmacOSに実装し、Chrome 143.0.7499.40、V8 14.3.127などのバージョン情報を含みます。 @@ -294,7 +294,7 @@ WebAssembly(WASM)ブラウザ環境におけるアセンブリのレイジーロ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月25日 06:01:46(UTC) - マージ日時: 2026年02月26日 06:55:26(UTC) -- ラベル: area-System.IO +- ラベル: area-System.IO #### 概要 macOS環境でReadyToRun(crossgen2)コンパイル時に継続的に失敗していた`FileSystemWatcher_SymbolicLink_TargetsDirectory_Create_IncludeSubdirectories`テストを無効化しました。このテストはシンボリックリンク経由のディレクトリ監視でファイルシステム変更イベントの監視に関するもので、ReadyToRunコンパイル時にのみ問題が発生するため、該当条件下でのみスキップするように修正されています。 @@ -318,7 +318,7 @@ macOS環境でReadyToRun(crossgen2)コンパイル時に継続的に失敗 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月24日 20:23:27(UTC) - マージ日時: 2026年02月26日 16:53:31(UTC) -- ラベル: area-System.Threading +- ラベル: area-System.Threading #### 概要 cDAC(Compact Data Access Components)ベースの `SOSDacImpl` に `ISOSDacInterface::GetThreadAllocData` を実装しました。スレッド単位の GC アロケーションバイト数カウンター(`AllocBytes` と `AllocBytesLoh`)を `gc_alloc_context` から公開し、診断ツールがメモリ割り当て情報を取得できるようにします。 @@ -366,7 +366,7 @@ Issue 番号の記載がありません。 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月24日 20:22:49(UTC) - マージ日時: 2026年02月26日 23:21:46(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 このPRはcDAC (Compact DAC)で`ISOSDacInterface::GetObjectClassName`の実装を追加し、レガシーのスタブを置き換えるものです。オブジェクトのMethodTableから型名を取得する機能をcDAC側で実装し、アンロード済みモジュールへの対応や複数のテストケースを含めています。 @@ -406,7 +406,7 @@ var typeName = TypeNameBuilder.AppendType(typeHandle, FormatNamespace | FormatFu - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年02月24日 18:44:07(UTC) - マージ日時: 2026年02月26日 23:53:23(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT のオブジェクト割り当て最適化コード (`objectalloc.cpp`) における複数のバグ修正とリファクタリング。エスケープ分析の誤りを修正し、AnalyzePseudoForCloning メソッドを新規抽出。これにより、不正なエスケープ判定やDUMP出力の不整合を解決。 @@ -441,7 +441,7 @@ JIT のオブジェクト割り当て最適化コード (`objectalloc.cpp`) に - 作成者: [@rzikm](https://github.com/rzikm) - 作成日時: 2026年02月23日 12:57:58(UTC) - マージ日時: 2026年02月26日 17:44:29(UTC) -- ラベル: area-System.Formats.Tar +- ラベル: area-System.Formats.Tar #### 概要 Windows上でTar作成時に、シンボリックリンク/ジャンクション以外の再解析ポイント(reparse point)を処理する際の動作を改善。従来は暗号的なエラーメッセージ(`LinkTarget`がnullのため`LinkName`が空文字列エラー)が発生していましたが、本変更により以下の動作に統一: - シンボリックリンク/ジャンクション:従来通りtar内で再解析ポイントとして処理 @@ -470,7 +470,7 @@ https://github.com/dotnet/runtime/issues/82949(Windows上の再解析ポイン - 作成者: [@gwr](https://github.com/gwr) - 作成日時: 2026年02月22日 01:12:18(UTC) - マージ日時: 2026年02月26日 12:41:39(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 JITの独立ビルドにおいて、throwing版の`operator new`/`delete`は上書きされていますが、nothrow版は上書きされていないため、libstdc++のnothrow実装が内部的にthrowing版を呼び出す際、標準ライブラリではなくJITのアサート付きオーバーライド版を呼び出してしまう問題を修正しました。`src/coreclr/jit/alloc.cpp`にnothrow版の`operator new`/`delete`オーバーライドを追加することで、libstdc++がアサート付きの関数を呼び出さないようにしました。 @@ -493,7 +493,7 @@ JITの独立ビルドにおいて、throwing版の`operator new`/`delete`は上 - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年02月20日 18:44:14(UTC) - マージ日時: 2026年02月26日 21:37:56(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 versioningされた仮想/インターフェースメソッドのコール計数インフラストラクチャから専用のフォワーダースタブを廃止し、メソッド自体の一時エントリポイント(precode)を再利用することで、メモリオーバーヘッドと複雑性を削減しました。vtableスロットはprecodeをリセットして指し、precodeターゲットは呼び出し計数スタブにリダイレクトされます。これにより、vtableスロットが削除可能な呼び出し計数スタブを直接指すことがなくなりながら、フォワーダースタブの割り当てが完全に排除されます。 @@ -526,7 +526,7 @@ versioningされた仮想/インターフェースメソッドのコール計数 - 作成者: [@tpa95](https://github.com/tpa95) - 作成日時: 2026年02月19日 10:22:27(UTC) - マージ日時: 2026年02月26日 15:05:48(UTC) -- ラベル: area-ILTools-coreclr community-contribution +- ラベル: area-ILTools-coreclr community-contribution #### 概要 `Assembler::EmitGenericParamConstraints`メソッドにおいて、ジェネリック型パラメータの制約情報を格納するバッファ(`pConstraintsArr`と`pGPConstraintsArr`)のメモリリークを修正しました。外側の配列ポインタのみが削除され、各型パラメータごとの内側のメモリ割り当てがリークしていた問題を解決します。SVACE静的解析ツールにより発見されました。 @@ -551,7 +551,7 @@ versioningされた仮想/インターフェースメソッドのコール計数 - 作成者: [@a74nh](https://github.com/a74nh) - 作成日時: 2026年02月17日 10:08:51(UTC) - マージ日時: 2026年02月26日 00:36:40(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 ARM64アーキテクチャのJITコンパイラにSM4(暗号化)とSHA3(ハッシュ)命令セットを追加し、既存の暗号関連命令の実装を修正するPRです。umull/smull、stlurb、ldapur、smaddl などの命令グループの定義を修正し、テストケースを追加・更新しています。 @@ -584,7 +584,7 @@ SM4およびSHA3暗号化命令がネイティブコードジェネレーショ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月17日 01:59:44(UTC) - マージ日時: 2026年02月26日 23:31:45(UTC) -- ラベル: area-Extensions-DependencyInjection +- ラベル: area-Extensions-DependencyInjection #### 概要 `ServiceDescriptor.IsKeyedService`プロパティに`[MemberNotNullWhen]`属性を追加し、静的null可能性分析の精度を向上させました。これにより、`IsKeyedService`が`true`の場合に`ServiceKey`が非nullであることをコンパイラが認識でき、null許容演算子(`!`)の使用を不要にします。 @@ -618,7 +618,7 @@ dotnet/runtime#124465 - 作成者: [@noahfalk](https://github.com/noahfalk) - 作成日時: 2026年02月15日 08:35:54(UTC) - マージ日時: 2026年02月26日 23:38:32(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 このPRは、DAC/cDAC環境下でのReJIT有効性検出の問題を修正します。`ProfAPI_RejitOnAttach`設定をターゲットランタイムにキャッシュし、cDACがデバッガプロセスの環境変数を誤って使用する代わりに、このキャッシュ値を読み込むようにしました。これにより、ReJITManager::IsReJITEnabled()がDAC環境で正確に動作するようになります。 @@ -648,7 +648,7 @@ dotnet/runtime#124465 - 作成者: [@janvorli](https://github.com/janvorli) - 作成日時: 2026年02月11日 20:50:52(UTC) - マージ日時: 2026年02月26日 19:47:57(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 インタープリター フレーム(InterpreterFrame)から管理コード/ネイティブコードへの遷移処理を、スタックフレームイテレータ内に完全に隠蔽し、例外処理(EH)コードの特殊ハンドリングを削除するリファクタリング。また、インタープリター起動時の遷移フレームを常に使用し、callee saved floating point レジスタを拡張することで、libunwindの使用を削減し、デバッガのシングルステップ実装を簡素化しています。 @@ -681,7 +681,7 @@ dotnet/runtime#124465 - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年02月11日 00:12:11(UTC) - マージ日時: 2026年02月26日 17:28:21(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly RyuJIT コンパイラに `localloc` 命令のサポートを実装しました。スタック上に動的サイズのメモリを確保する機能を追加し、フレームポインタの管理、スタックアライメント(16バイト)、オーバーフロー検出対応を含みます。 @@ -708,7 +708,7 @@ PR #124250(参照タイトルから) - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月30日 19:34:29(UTC) - マージ日時: 2026年02月26日 23:31:16(UTC) -- ラベル: area-System.IO.Pipelines +- ラベル: area-System.IO.Pipelines #### 概要 `StreamPipeReader.AdvanceTo()` メソッドで、異なる `PipeReader` の `SequencePosition` を渡した場合に到達可能な `Debug.Assert` を修正しました。Debug AssertをValidation例外に置き換え、無効な `consumedBytes` 値をチェックして `InvalidOperationException` をスローするようにしました。これにより、デバッグビルドでのアサート失敗だけでなく、リリースビルドでの状態破損も防止されます。 diff --git a/archives/2026/02/27.md b/archives/2026/02/27.md index 3eba806..760ec68 100644 --- a/archives/2026/02/27.md +++ b/archives/2026/02/27.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#124962 Fix type formatting in logging source generator test](#124962) 2. [#124960 Enclose keywords in quotes in logging generator messages, to improve translation quality](#124960) 3. [#124957 Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 2914130](#124957) @@ -35,7 +35,7 @@ - 作成者: [@svick](https://github.com/svick) - 作成日時: 2026年02月27日 12:03:59(UTC) - マージ日時: 2026年02月27日 14:41:38(UTC) -- ラベル: area-Extensions-Logging +- ラベル: area-Extensions-Logging #### 概要 ロギングソースジェネレータのテスト基準値を更新するテスト修正です。先行するPR(#124638と#124589)の関連する変更がテスト実行時に相互に影響を与えたため、生成されたコードの型表示フォーマットを修正し、生成されたシグネチャで`global::System.Int32`の代わりに`int` C#キーワードを使用するように統一しました。これによりCI失敗を解決しています。 @@ -61,7 +61,7 @@ - 作成者: [@svick](https://github.com/svick) - 作成日時: 2026年02月27日 11:53:13(UTC) - マージ日時: 2026年02月27日 20:21:41(UTC) -- ラベル: area-Extensions-Logging +- ラベル: area-Extensions-Logging #### 概要 ロギングジェネレータの診断メッセージにおいて、C#キーワード('out'、'partial'、'void'、'static'、'params'、'scoped'、'ref struct'など)をシングルクォートで囲むことで、翻訳品質の向上を目指すPRです。PR #124957のチェコ語翻訳の品質が低かったため、キーワードを明示的にマークすることで機械翻訳エンジンが翻訳対象外として認識しやすくなります。 @@ -83,7 +83,7 @@ - 作成者: [@dotnet-bot](https://github.com/dotnet-bot) - 作成日時: 2026年02月27日 10:41:12(UTC) - マージ日時: 2026年02月27日 14:32:05(UTC) -- ラベル: area-Extensions-Logging +- ラベル: area-Extensions-Logging #### 概要 OneLocBuildタスクによる自動チェックイン。Microsoft.Extensions.Logging.Abstractionsライブラリの翻訳ファイル(.xlf形式)を複数言語にわたって更新。翻訳パイプラインから生成されたローカライズされたリソースファイルの同期処理です。 @@ -122,7 +122,7 @@ OneLocBuildタスクによる自動チェックイン。Microsoft.Extensions.Log - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年02月27日 10:35:59(UTC) - マージ日時: 2026年02月27日 14:54:45(UTC) -- ラベル: Servicing-approved area-CodeGen-coreclr +- ラベル: Servicing-approved area-CodeGen-coreclr #### 概要 JITコンパイル中の過度なメモリ割り当てを引き起こしていた以前の変更(アサーション数の増加とVNキャッシュ関連)をリバートするパッチです。このリバートにより、メモリ使用量の削減が期待できます。 @@ -149,7 +149,7 @@ JITコンパイル中の過度なメモリ割り当てを引き起こしてい - 作成者: [@BrennanConroy](https://github.com/BrennanConroy) - 作成日時: 2026年02月27日 01:48:41(UTC) - マージ日時: 2026年02月27日 21:11:14(UTC) -- ラベル: area-System.Buffers +- ラベル: area-System.Buffers #### 概要 `DecodeWithWhiteSpaceBlockwise` メソッド内の型チェック(`is`演算子)にコピーペーストエラーがありました。UTF-16文字(`ushort`)のBase64デコーディングパスで、`Base64DecoderByte`のチェックが残されていたため、常に偽となり、不要な追加処理が発生していました。`Base64DecoderChar`への修正により、デコーダが正しく識別され、効率的な処理パスが使用されるようになります。 @@ -174,7 +174,7 @@ JITコンパイル中の過度なメモリ割り当てを引き起こしてい - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年02月26日 23:05:50(UTC) - マージ日時: 2026年02月27日 15:09:54(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Compiled Data Access Component)の `RangeSectionFragment.Next` ポインタから collectible タグビット(ビット0)を取得する修正です。ネイティブランタイムはこのビットをフラグとして使用していますが、cDAC が未処理のポインタを読み込んでいたため、スタックウォーク中に misaligned メモリアクセスが発生し、`VirtualReadException` が起こっていました。修正は単純で、ポインタ読み込み時にビット0をマスクするだけです: @@ -205,7 +205,7 @@ Next = target.ReadPointer(address + (ulong)type.Fields[nameof(Next)].Offset) & ~ - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年02月26日 22:43:32(UTC) - マージ日時: 2026年02月27日 02:04:30(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイル中の過度なメモリ割り当ての問題を解決するため、Value Number (VN) キャッシング機構とグローバルアサーション伝播の最適化を含む前のコミットを元に戻すリバート変更です。IL サイズベースのシンプルなアサーション数ヒューリスティックに復元され、VN キャッシュの複雑な機構が削除されます。 @@ -228,7 +228,7 @@ dotnet/dotnet #4933 (JIT コンパイル中のメモリ割り当て問題) - 作成者: [@dependabot[bot]](https://github.com/apps/dependabot) - 作成日時: 2026年02月26日 21:24:16(UTC) - マージ日時: 2026年02月27日 09:12:33(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 dotnet/runtimeリポジトリで使用しているGitHub Actions の `actions/upload-artifact` を v6 から v7 にアップデートする依存関係更新です。v7ではファイルの直接アップロード(非圧縮)とESM形式への対応が追加されています。 @@ -255,7 +255,7 @@ dotnet/runtimeリポジトリで使用しているGitHub Actions の `actions/up - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年02月26日 21:05:41(UTC) - マージ日時: 2026年02月27日 17:48:59(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 このPRは、`xclrdata.idl`と`clrdata.idl`で定義されているIXCLRData*およびICLRData* COM インターフェースの、マネージド`[GeneratedComInterface]`定義を追加します。デバッガやDiagnosticツール向けのCOM相互運用性を強化し、ネイティブCOMインターフェースへのマネージドアクセスを実現します。 @@ -293,7 +293,7 @@ internal partial interface IXCLRDataAppDomain : IUnknown - 作成者: [@dependabot[bot]](https://github.com/apps/dependabot) - 作成日時: 2026年02月26日 17:46:23(UTC) - マージ日時: 2026年02月27日 14:55:33(UTC) -- ラベル: area-Infrastructure javascript dependencies +- ラベル: area-Infrastructure javascript dependencies #### 概要 Mono/WebAssembly ブラウザランタイムの開発依存関係である rollup をバージョン 4.52.2 から 4.59.0 に更新するDependabotによる自動PR。主な改善は、バンドル出力時にディレクトリを超えるパスの検証強化、`__NO_SIDE_EFFECTS__` アノテーション機能の拡張、および複数のバグ修正を含みます。 @@ -326,7 +326,7 @@ Mono/WebAssembly ブラウザランタイムの開発依存関係である rollu - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年02月26日 17:42:00(UTC) - マージ日時: 2026年02月27日 11:55:41(UTC) -- ラベル: arch-wasm area-Host os-browser +- ラベル: arch-wasm area-Host os-browser #### 概要 このPull Requestは、非同期`Main()`メソッドの処理に関する一時的なコードを削除し、新しいAPIを採用するリファクタリングです。coreCLRのエントリーポイント処理を簡潔にし、`System.Runtime.CompilerServices.AsyncHelpers`を活用した新しい実装パターンへ移行します。Issue #121064の修正に対応しています。 @@ -356,7 +356,7 @@ Mono/WebAssembly ブラウザランタイムの開発依存関係である rollu - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年02月26日 15:38:29(UTC) - マージ日時: 2026年02月27日 09:00:48(UTC) -- ラベル: arch-wasm area-Host os-browser +- ラベル: arch-wasm area-Host os-browser #### 概要 Webcilfォーマットの標準化と堅牢性向上を目指すPRです。セクション配置の16バイト境界アライメント、デバッグディレクトリ修正ロジックの改善、ビッグエンディアン環境でのヘッダーパース버그修正、およびAPI命名規約を`WebCil*`から`Webcil*`に統一しています。 @@ -395,7 +395,7 @@ Copilotレビューで指摘された3点の潜在的な問題: - 作成者: [@eiriktsarpalis](https://github.com/eiriktsarpalis) - 作成日時: 2026年02月26日 12:10:10(UTC) - マージ日時: 2026年02月27日 10:46:52(UTC) -- ラベル: area-System.Text.Json +- ラベル: area-System.Text.Json #### 概要 System.Text.Json テストスイート全体で、`@"` 型の冗長な文字列リテラルを C# 12 の raw string literals (`"""`) に変換しました。**121個のテストファイル中、2,050個の変換**を実施。テストコードのみの変更で、JSON等のテストデータの可読性が大幅に向上します。すべての 58,449 テストが合格済み。 @@ -444,7 +444,7 @@ string json = """{"Name": "Angela", "Manager": { "$ref": "1" }}"""; - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年02月26日 07:24:47(UTC) - マージ日時: 2026年02月27日 14:29:17(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/dotnetのVMR(Virtual Monolithic Repository)からの定期的なコードフロー更新PR。このPRは2026年2月26日時点のソースコード変更と依存関係の更新を含んでいます。主にRoslyn、NuGet、System.Text.Jsonなどの主要ライブラリの依存関係が複数の関連リポジトリ(Arcade、ASP.NET Core、EFCore、SDK等)から更新されています。 @@ -476,7 +476,7 @@ dotnet/dotnetのVMR(Virtual Monolithic Repository)からの定期的なコ - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年02月26日 02:25:10(UTC) - マージ日時: 2026年02月27日 22:08:44(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 dotnet/runtimeのJIT(Just-In-Time)コンパイラのフローグラフ関連ファイルに対するコード品質改善PRです。コメントのタイポ修正、型付けミスの修正、到達不可能なコードの削除、変数シャドーイングの解決など、複数の技術的負債を解消しています。機能的な変更ではなく、コード保守性の向上が主目的です。 @@ -507,7 +507,7 @@ dotnet/runtimeのJIT(Just-In-Time)コンパイラのフローグラフ関連 - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年02月25日 21:44:03(UTC) - マージ日時: 2026年02月27日 11:30:13(UTC) -- ラベル: arch-wasm area-VM-coreclr +- ラベル: arch-wasm area-VM-coreclr #### 概要 WebAssembly(WASM)環境においてILヘルパースタブを持つメソッドのプレスタブ処理を修正しました。Issue #121955で報告された問題に対応するもので、CoreCLRのプレスタブ実装とインタープリタコンパイラの処理の整合性を改善しています。 @@ -531,7 +531,7 @@ WebAssembly(WASM)環境においてILヘルパースタブを持つメソッ - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年02月25日 16:11:36(UTC) - マージ日時: 2026年02月27日 08:49:49(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 CoreCLRの interpreter において `AsyncHelpers.TailAwait` intrinsic を実装し、instantiating と unboxing stubs で使用するようにしました。これにより不要な continuation の生成が削減され、NativeAOT と同様の最適化が CoreCLR にも適用されます。 @@ -562,7 +562,7 @@ CoreCLRの interpreter において `AsyncHelpers.TailAwait` intrinsic を実装 - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年02月25日 16:05:48(UTC) - マージ日時: 2026年02月27日 15:43:52(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 Azure Pipelines のテスト結果公開における回帰問題を回避するため、`runtime-diagnostics.yml` に対応策を追加しました。テスト結果の公開処理に関連する設定が変更され、パイプラインの動作が改善されています。 @@ -587,7 +587,7 @@ Azure Pipelines のテスト結果公開における回帰問題を回避する - 作成者: [@gwr](https://github.com/gwr) - 作成日時: 2026年02月25日 13:21:41(UTC) - マージ日時: 2026年02月27日 00:40:31(UTC) -- ラベル: area-System.Security community-contribution +- ラベル: area-System.Security community-contribution #### 概要 illumos プラットフォームにおいて、X.509 証明書ストアのディレクトリ読み込みでファイル名が 1 文字のみ読み込まれる問題を修正しました。`sizeof(d->d_name)` の使用を削除し、`NAME_MAX` または `MAXNAMLEN` を使用することで、完全なファイル名の読み込みを実現しています。 @@ -618,7 +618,7 @@ illumos プラットフォームにおいて、X.509 証明書ストアのディ - 作成者: [@AaronRobinsonMSFT](https://github.com/AaronRobinsonMSFT) - 作成日時: 2026年02月24日 21:03:49(UTC) - マージ日時: 2026年02月27日 01:48:43(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 EEHashTableのバケット配列解放時にGCX_COOP(協調的GCモード遷移)をEpoch-Based Reclamation(EBR)に置き換え。これにより、GC関連のロック競合を減らし、より安全で効率的なメモリ回収メカニズムを実装します。HashMap同様のパターンに統一しました。 @@ -648,7 +648,7 @@ EEHashTableのバケット配列解放時にGCX_COOP(協調的GCモード遷 - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年02月24日 02:18:39(UTC) - マージ日時: 2026年02月27日 15:05:39(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Compact Diagnostics and Analysis Code)におけるEEClass検証の不具合を修正したPull Requestです。SOSデバッガが無効なメモリアドレスをGetMethodTableDataに渡す際、そのアドレスが偶然MethodTableへのポインタを持つため初期検証をパスしてしまう問題を解決しました。修正後は、EEClass全体が読み取り可能で有効であることを確認してから処理を進めるようになります。 @@ -675,7 +675,7 @@ cDAC(Compact Diagnostics and Analysis Code)におけるEEClass検証の不 - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年02月23日 18:56:39(UTC) - マージ日時: 2026年02月27日 02:43:57(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 このPRは、cDAC(Common Data Access Component)APIに`GetHandleEnum`と`GetHandleEnumForTypes`という2つの新しいAPIを追加するものです。これらのAPIは、.NETランタイムのハンドルテーブルを列挙するための機能を提供し、診断ツールがGCハンドルやCOMラッパーオブジェクトの情報にアクセスできるようになります。 @@ -702,7 +702,7 @@ Issue #124689(このPRで修正) - 作成者: [@adamperlin](https://github.com/adamperlin) - 作成日時: 2026年02月21日 01:49:47(UTC) - マージ日時: 2026年02月27日 01:05:07(UTC) -- ラベル: arch-wasm area-crossgen2-coreclr +- ラベル: arch-wasm area-crossgen2-coreclr #### 概要 WebAssemblyのRyuJIT対応において、型インデックスのリロケーション機構を実装しました。`WasmTypeNode`シンボルが型情報を管理し、オブジェクトライタがシグネチャに対してモジュール内でのインデックスを割り当て、`WASM_TYPE_INDEX_LEB`リロケーションを解決します。現在はテスト用に`void(int, int)`シグネチャ(マネージド静的メソッドの低レベル表現)がハードコードされています。 @@ -731,7 +731,7 @@ WebAssemblyのRyuJIT対応において、型インデックスのリロケーシ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月20日 13:01:59(UTC) - マージ日時: 2026年02月27日 10:15:02(UTC) -- ラベル: area-Extensions-Logging +- ラベル: area-Extensions-Logging #### 概要 `LoggerMessage` ソースジェネレータが汎用ログメソッドをサポートするようになりました。従来は `SYSLIB1011` エラーで拒否されていた汎用メソッドが生成可能に。`allows ref struct` 制約(C# 13)を持つメソッドのみ `SYSLIB1011` が発生します。ボックス化を避けた高性能なログ出力が実現可能です。 @@ -781,7 +781,7 @@ public static partial void PacketReceived(ILogger logger, TCode code, int - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年02月19日 16:30:03(UTC) - マージ日時: 2026年02月27日 08:43:00(UTC) -- ラベル: arch-wasm area-System.Threading os-browser +- ラベル: arch-wasm area-System.Threading os-browser #### 概要 新しいパブリックAPI `RuntimeFeature.IsMultithreadingSupported` を追加し、ランタイムがマルチスレッド機能をサポートしているかを実行時に判定できるようにしました。これにより、シングルスレッド環境(WebAssemblyなど)での条件分岐が容易になります。 @@ -819,7 +819,7 @@ else - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年02月13日 23:30:18(UTC) - マージ日時: 2026年02月27日 00:17:51(UTC) -- ラベル: area-System.IO.Hashing +- ラベル: area-System.IO.Hashing #### 概要 Adler32ハッシュアルゴリズムの実装をSIMD命令を使用してベクトル化し、パフォーマンスを大幅に向上させました。大量のデータに対するハッシュ計算が高速化されます。 @@ -850,7 +850,7 @@ Adler32ハッシュアルゴリズムの実装をSIMD命令を使用してベク - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月13日 18:18:00(UTC) - マージ日時: 2026年02月27日 00:00:11(UTC) -- ラベル: area-System.Net +- ラベル: area-System.Net #### 概要 System.Net.WebProxyとIWebProxyScriptに対する包括的なXML documentation(IntelliSense対応のドキュメント)をbackportしました。dotnet-api-docsから移植され、11個のコンストラクタ、6つのプロパティ、3つのメソッドをカバーしています。.NET Framework固有の内容や実装詳細を除外した実用的なドキュメント整備です。 @@ -881,7 +881,7 @@ System.Net.WebProxyとIWebProxyScriptに対する包括的なXML documentation(I - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月03日 18:26:22(UTC) - マージ日時: 2026年02月27日 08:04:38(UTC) -- ラベル: area-NativeAOT-coreclr runtime-async +- ラベル: area-NativeAOT-coreclr runtime-async #### 概要 NativeAOT対応のSystem.Private.CoreLibで`runtime-async`コンパイラ機能を有効化しました。この機能により、async メソッドがコンパイラ生成のステートマシンではなくランタイムのネイティブ非同期サポートを使用するよう変換され、パフォーマンスが向上します。Preview機能の使用警告(CA2252)はプロジェクトレベルで抑制しています。 @@ -917,7 +917,7 @@ public async Task MyAsyncMethod() - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年01月31日 01:41:03(UTC) - マージ日時: 2026年02月27日 00:41:03(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 InterpreterがJITと共有コードを使用するため、JITの`CompAllocator`を採用しました。これにより、メモリ割り当てを効率的に管理し、割り当てコストをカテゴリ化・計測できるようになります。新しい`jitshared`ディレクトリを作成し、InterpreterとJIT間のコード重複を削減します。環境変数`DOTNET_JitMemStats=1`で統計情報サマリーを、`=2`でメソッド別データを取得できます。 @@ -977,7 +977,7 @@ InterpreterがJITと共有コードを使用するため、JITの`CompAllocator` - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月09日 05:34:01(UTC) - マージ日時: 2026年02月27日 03:07:36(UTC) -- ラベル: area-System.Reflection +- ラベル: area-System.Reflection #### 概要 System.Reflection.Context.Tests のコードカバレッジを約35%から87%に大幅に向上させるPRです。新たに21個のテストファイルを追加し、649個のテストすべてが合格しています。テスト内容は、カスタムタイプ、メソッド、コンストラクタ、イベント、プロパティ、フィールド、パラメータ、モジュール、アセンブリなど、反射コンテキスト機能の各要素を網羅的にテストしています。 diff --git a/archives/2026/02/28.md b/archives/2026/02/28.md index 9c0abef..af04484 100644 --- a/archives/2026/02/28.md +++ b/archives/2026/02/28.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#125011 Link pthread on OpenBSD](#125011) 2. [#125006 MachObjectWriter: Fix calculation of segment file offset and size](#125006) 3. [#124999 Fix src/minipal/thread.h on OpenBSD](#124999) @@ -22,7 +22,7 @@ - 作成者: [@sethjackson](https://github.com/sethjackson) - 作成日時: 2026年02月28日 15:30:57(UTC) - マージ日時: 2026年02月28日 20:10:21(UTC) -- ラベル: area-System.Threading community-contribution os-openbsd +- ラベル: area-System.Threading community-contribution os-openbsd #### 概要 OpenBSD環境でpthreadライブラリをリンクするための変更です。System.Nativeネイティブライブラリのビルド設定を修正し、OpenBSD上でpthread機能を正常に利用できるようにしています。 @@ -44,7 +44,7 @@ OpenBSD環境でpthreadライブラリをリンクするための変更です。 - 作成者: [@filipnavara](https://github.com/filipnavara) - 作成日時: 2026年02月28日 08:39:08(UTC) - マージ日時: 2026年02月28日 16:22:09(UTC) -- ラベル: area-crossgen2-coreclr community-contribution +- ラベル: area-crossgen2-coreclr community-contribution #### 概要 Mach-O形式のセグメントヘッダー計算に関するバグを修正しました。セグメントのファイルオフセットが最初のセクションの**アラインされたオフセット**に設定されておらず、ファイルサイズがローダーコマンドを誤って含めていたため、`filesize > vmsize`という不正な状態が発生していました。この修正により、`llvm-objdump`や`llvm-readobj`などのツールでの検証エラーが解消されます。 @@ -68,7 +68,7 @@ Mach-O形式のセグメントヘッダー計算に関するバグを修正し - 作成者: [@sethjackson](https://github.com/sethjackson) - 作成日時: 2026年02月28日 02:04:06(UTC) - マージ日時: 2026年02月28日 20:31:42(UTC) -- ラベル: area-System.Threading community-contribution os-openbsd +- ラベル: area-System.Threading community-contribution os-openbsd #### 概要 OpenBSD上での`pthread_set_name_np`関数の使用方法に対応するため、`src/minipal/thread.h`を修正しました。OpenBSDでは同関数が戻り値を返さないという仕様の違いを考慮した条件分岐を追加しています。 @@ -89,7 +89,7 @@ OpenBSD上での`pthread_set_name_np`関数の使用方法に対応するため - 作成者: [@danmoseley](https://github.com/danmoseley) - 作成日時: 2026年02月28日 00:32:57(UTC) - マージ日時: 2026年02月28日 06:57:09(UTC) -- ラベル: area-System.Text.RegularExpressions +- ラベル: area-System.Text.RegularExpressions #### 概要 深くネストされた正規表現の文字クラス減算(`[a-[b-[c-[...]]]]`)により、パーサーと`RegexCharClass`メソッドが再帰呼び出しされることで、キャッチ不可能な`StackOverflowException`が発生し、プロセスが終了する問題を修正しました。再帰処理を反復処理に変換することで、すべての正規表現モード(`None`、`Compiled`、`NonBacktracking`)に対応しています。 @@ -132,7 +132,7 @@ Issue #124995 - 作成者: [@sethjackson](https://github.com/sethjackson) - 作成日時: 2026年02月27日 22:39:07(UTC) - マージ日時: 2026年02月28日 04:12:48(UTC) -- ラベル: area-PAL-coreclr community-contribution os-openbsd +- ラベル: area-PAL-coreclr community-contribution os-openbsd #### 概要 OpenBSD環境で`EMULTIHOP`と`ENOLINK`エラー定数が存在しないため、これらの定数をプラットフォーム固有で定義する修正です。`pal_error_common.h`にOpenBSD向けの条件付きコンパイルディレクティブを追加し、該当する環境でのビルドエラーを解決します。 @@ -154,7 +154,7 @@ OpenBSD環境で`EMULTIHOP`と`ENOLINK`エラー定数が存在しないため - 作成者: [@dotnet-bot](https://github.com/dotnet-bot) - 作成日時: 2026年02月27日 20:48:56(UTC) - マージ日時: 2026年02月28日 09:09:22(UTC) -- ラベル: area-Extensions-Logging +- ラベル: area-Extensions-Logging #### 概要 OneLocBuild の自動化プロセスによる多言語リソースファイルの定期チェックイン。`Microsoft.Extensions.Logging.Abstractions` ライブラリの XLF(XLIFF)形式の翻訳ファイルが更新されています。13言語のローカライズ済みリソースファイルが同期されました。 @@ -192,7 +192,7 @@ OneLocBuild の自動化プロセスによる多言語リソースファイル - 作成者: [@dependabot[bot]](https://github.com/apps/dependabot) - 作成日時: 2026年02月27日 20:20:09(UTC) - マージ日時: 2026年02月28日 09:06:54(UTC) -- ラベル: area-Infrastructure javascript dependencies +- ラベル: area-Infrastructure javascript dependencies #### 概要 dotnet/runtimeの`/src/native`ディレクトリにおいて、JavaScriptモジュールバンドラーのrollupを4.52.2から4.59.0にバージョンアップしたマイナーバージョン更新です。セキュリティ脆弱性の修正(Windows上のヒープ破損問題など)と機能改善が含まれています。 @@ -218,7 +218,7 @@ dotnet/runtimeの`/src/native`ディレクトリにおいて、JavaScriptモジ - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年02月27日 19:03:07(UTC) - マージ日時: 2026年02月28日 02:21:32(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Common DAC)の `GetHandleEnum` および `GetHandleEnumForTypes` メソッドにおけるCOM参照カウント(refcount)の不一致を修正しました。レガシーDAC実装と同様に、QueryInterface経由で列挙子を返す際に参照カウントをインクリメントするよう改善されています。 @@ -241,7 +241,7 @@ cDAC(Common DAC)の `GetHandleEnum` および `GetHandleEnumForTypes` メソ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月27日 14:53:35(UTC) - マージ日時: 2026年02月28日 03:14:25(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT メトリクス報告機能を制御する新しい環境変数 `DOTNET_JitReportMetrics` を導入しました。従来は DEBUG ビルド時に無条件でメトリクスを報告していましたが、この変更により必要に応じてのみ報告するようになり、不要な JIT-EE 呼び出しのオーバーヘッドを削減できます。SuperPMI は特別扱いで常に報告機能を有効化します。 @@ -287,7 +287,7 @@ if (JitConfig.JitReportMetrics()) - 作成者: [@akoeplinger](https://github.com/akoeplinger) - 作成日時: 2026年02月27日 09:41:31(UTC) - マージ日時: 2026年02月28日 07:01:16(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT回帰テスト(vsw/373472)から誤って再追加された`ActiveIssueAttribute`を削除するPull Requestです。WASM プラットフォーム向けのテスト無効化を解除し、Apple モバイルプラットフォーム向けの既存の除外設定は維持されます。 @@ -312,7 +312,7 @@ PR #124778で誤って再追加されたことが原因 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月27日 05:49:08(UTC) - マージ日時: 2026年02月28日 16:13:23(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 `ArrayEEClass` (メタデータクラス) を削除し、多次元配列のランク情報を `MethodTable::BaseSize` から計算するように変更しました。`ArrayClass` は単にランクのみを保持していたため、既に `BaseSize` に エンコードされている情報は冗長でした。この変更により、CoreCLR が NativeAOT と同じアプローチに統一されます。 @@ -352,7 +352,7 @@ DWORD rank = boundsSize / (sizeof(DWORD) * 2); - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年02月27日 01:14:04(UTC) - マージ日時: 2026年02月28日 07:37:32(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Common Data Access Contract)に `GetSyncBlockData` API を追加し、SyncBlock情報の診断アクセスを可能にするPull Requestです。SyncBlockはオブジェクトの同期情報を管理する重要なランタイム構造体であり、このAPIを通じてデバッガやプロファイラが同期状態やロック情報を読み取れるようになります。 @@ -395,7 +395,7 @@ Copilotレビューで以下の軽微な改善提案あり(未実装の可能 - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年02月26日 00:39:49(UTC) - マージ日時: 2026年02月28日 16:44:49(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 Thin Lock実装におけるスレッドID取得の最適化。従来のプリコンパイルされたスレッドID(`DWORD tid`)ではなく、`Thread*`ポインタを渡し、スレッドIDが必要なコードパスでのみ`GetThreadId()`を呼び出すように変更。これによりCPUのパイプライン性能向上を目指し、.NET 11の生成アセンブリを.NET 10に近づけることで性能回復を実現。 @@ -430,7 +430,7 @@ AcquireHeaderThinLock(GetThread()); - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月24日 22:02:40(UTC) - マージ日時: 2026年02月28日 07:41:43(UTC) -- ラベル: area-ExceptionHandling-coreclr +- ラベル: area-ExceptionHandling-coreclr #### 概要 Windows上で`Directory.Delete(path, recursive: true)`を実行する際、NTFSジャンクション(ディレクトリジャンクション)を含むディレクトリ削除が失敗する問題を修正しました。ジャンクションとボリュームマウントポイントが同じリパースタグ(`IO_REPARSE_TAG_MOUNT_POINT`)を共有していることが原因で、`DeleteVolumeMountPoint`の失敗がジャンクション削除時も発生していました。エラーハンドリングを改善し、`RemoveDirectory`が成功する場合はエラーを無視するようにしました。 @@ -470,7 +470,7 @@ if (!Interop.Kernel32.RemoveDirectory(dirPath) && exception == null) - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年02月24日 16:19:08(UTC) - マージ日時: 2026年02月28日 06:58:00(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT コンパイラの非同期呼び出し最適化をリファクタリングしました。新しい `getAsyncOtherVariant` JIT-EE API を導入して、async/task-returning メソッドの別の非同期バリアントを返せるようにしました。従来の `AwaitVirtual` トークンを削除し、JIT 側で直接呼び出しの場合に最適化を実装することで、VM とのインターフェースを簡潔化しています。 @@ -498,7 +498,7 @@ VM と JIT の間での最適化制御ロジックを JIT 側に移行するこ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月22日 12:53:45(UTC) - マージ日時: 2026年02月28日 20:29:31(UTC) -- ラベル: area-System.IO +- ラベル: area-System.IO #### 概要 macOSの`SystemNative_FSync`関数に存在するC演算子優先度バグを修正しました。バグにより`fcntl(fd, F_FULLFSYNC)`のエラーが暗黙に無視され、SMBネットワーク共有上でファイルが破損・切り詰められる問題を解決します。`FileStream.Flush(flushToDisk: true)`を使用するデータベースやトランザクションログなどに影響します。 @@ -537,7 +537,7 @@ macOSの`SystemNative_FSync`関数に存在するC演算子優先度バグを修 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月20日 19:56:15(UTC) - マージ日時: 2026年02月28日 04:02:36(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 このPRは、`DownlevelLibraryImportGenerator`から診断ロジックを専用アナライザー`DownlevelLibraryImportDiagnosticsAnalyzer`へ分離する設計変更です。これはPR #123780で`LibraryImportGenerator`に対して実施された変更を同じパターンで適用するもので、Roslynの推奨事項に従い、ジェネレータは**コード生成に集中**し、**診断はアナライザが責務**を持つアーキテクチャへの移行です。 diff --git a/archives/2026/03/01.md b/archives/2026/03/01.md index ff300ed..aaf69f2 100644 --- a/archives/2026/03/01.md +++ b/archives/2026/03/01.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#125021 Skip NonBacktracking deep nesting test on single-threaded WASM](#125021) 2. [#125014 Fix browser-targeting builds: move `declare global` from public-api.ts to export-api.ts](#125014) 3. [#125001 Update EncodingTable to use ConcurrentDictionary for performance](#125001) @@ -11,7 +11,7 @@ - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年03月01日 02:36:41(UTC) - マージ日時: 2026年03月01日 22:32:42(UTC) -- ラベル: area-System.Text.RegularExpressions +- ラベル: area-System.Text.RegularExpressions #### 概要 WASM等のマルチスレッド非対応プラットフォームで、NonBacktracking正規表現エンジンの深いネスト構造テストが失敗する問題を修正しています。テストを`[ConditionalTheory]`に変更し、マルチスレッド非対応環境ではNonBacktrackingエンジンのみをスキップするガード処理を追加することで、他のエンジン(Interpreter、Compiled)は引き続き全プラットフォームで実行されます。 @@ -41,7 +41,7 @@ WASM等のマルチスレッド非対応プラットフォームで、NonBacktra - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月28日 20:01:45(UTC) - マージ日時: 2026年03月01日 00:34:12(UTC) -- ラベル: arch-wasm area-System.Runtime.InteropServices.JavaScript +- ラベル: arch-wasm area-System.Runtime.InteropServices.JavaScript #### 概要 Browser/WASM向けのビルドが`rollup-plugin-dts` v6.2.3とrollup 4.59.0の組み合わせで失敗する問題を修正しました。`public-api.ts`内の`declare global {}`ブロックがrollupによって誤ってエクスポート対象として扱われ、`"global"`が実在しない変数として検出されるのが原因です。修正により`declare global {}`をrollupのエントリーポイントである`export-api.ts`に移動することで、エクスポート検証に引っかからないようにしました。 @@ -66,7 +66,7 @@ Browser/WASM向けのビルドが`rollup-plugin-dts` v6.2.3とrollup 4.59.0の - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月28日 03:45:02(UTC) - マージ日時: 2026年03月01日 00:47:47(UTC) -- ラベル: area-System.Globalization +- ラベル: area-System.Globalization #### 概要 `System.Text.Encoding.CodePages`の`EncodingTable.cs`で、`Dictionary` + `ReaderWriterLockSlim`による複雑なロック機構を`ConcurrentDictionary`に置き換えました。読み取り時の高速パスでロック取得が不要になり、パフォーマンスが向上します。既に`System.Private.CoreLib`で使用されているパターンに統一しました。 @@ -98,7 +98,7 @@ Browser/WASM向けのビルドが`rollup-plugin-dts` v6.2.3とrollup 4.59.0の - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月28日 01:09:54(UTC) - マージ日時: 2026年03月01日 17:02:15(UTC) -- ラベル: area-System.Net.Sockets +- ラベル: area-System.Net.Sockets #### 概要 Windows上のソケット非同期操作において、`DynamicWinsockMethods.GetMethods()`が全呼び出しで同じグローバルロックを獲得していたロック競合を削減。`List` + `lock(s_methodTable)`をvolatile配列を使用したロックフリーな読み取りパスに置き換え、テーブルが完全に満たされた後の不要なシリアライズを除去。 @@ -137,7 +137,7 @@ return GetMethodsSlow(...); // キャッシュ - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年02月25日 09:27:37(UTC) - マージ日時: 2026年03月01日 12:31:51(UTC) -- ラベル: arch-wasm area-Infrastructure-coreclr os-browser +- ラベル: arch-wasm area-Infrastructure-coreclr os-browser #### 概要 このPRはWebAssembly(WASM)ブラウザテストスイートにおいてcoreCLRサポートを有効化するための変更です。主な内容は、`WasmBrowserRunMainOnly`の削除、ネイティブテストカテゴリの追加、CoreCLR実行時の`dotnet.diagnostics.js`の常時期待、ネイティブトレイトの無効化、およびAOTテストの分離です。 @@ -176,7 +176,7 @@ return GetMethodsSlow(...); // キャッシュ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月13日 23:22:11(UTC) - マージ日時: 2026年03月01日 04:55:23(UTC) -- ラベル: area-Interop-coreclr +- ラベル: area-Interop-coreclr #### 概要 `MetadataImport.GetMarshalAs`で、SafeArrayに長さ0のユーザー定義型名がある場合にメモリ範囲外のデータを読み込んで`TypeLoadException`が発生する回帰バグを修正します。tlibimpが生成するCOM相互運用アセンブリで発生していました。修正は、ネイティブ側でバイト長を提供してマネージド側で正確に読み込むように改善し、FCCallをQCallに変更して安全性を向上させています。 diff --git a/archives/2026/03/02.md b/archives/2026/03/02.md index 445f0ba..78eb661 100644 --- a/archives/2026/03/02.md +++ b/archives/2026/03/02.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#125048 Disable stackoverflowtester on unix-x64](#125048) 2. [#125044 JIT: Fix reordering of inlinee return expression with async save/restore](#125044) 3. [#125043 \[wasm\]\[coreclr\] Re-enable runtime tests](#125043) @@ -40,7 +40,7 @@ - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年03月02日 13:10:46(UTC) - マージ日時: 2026年03月02日 16:12:07(UTC) -- ラベル: area-ExceptionHandling-coreclr +- ラベル: area-ExceptionHandling-coreclr #### 概要 Unix x64環境での`stackoverflowtester`テストの無効化を復元するPRです。PR #123248で失われた除外設定を、`[ActiveIssue]`属性を使用して再度有効にします。これにより、Windows以外のx64プラットフォームでのスタックオーバーフローテストの実行を防ぎます。 @@ -69,7 +69,7 @@ Unix x64環境での`stackoverflowtester`テストの無効化を復元するPR - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年03月02日 12:33:43(UTC) - マージ日時: 2026年03月02日 19:20:31(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT インライニング時に非同期コンテキストの保存/復元が必要な場合、インリー関数の戻り値式の評価順序が誤ってコンテキスト復元後に移動され、`AsyncLocal` のセマンティクスが変更される回帰バグを修正しました。戻り値式がコンテキスト復元前に評価されるよう、インリー関数の戻り値をスピルする一時変数の生成ロジックを拡張しています。 @@ -93,7 +93,7 @@ JIT インライニング時に非同期コンテキストの保存/復元が必 - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年03月02日 11:54:42(UTC) - マージ日時: 2026年03月02日 14:35:53(UTC) -- ラベル: arch-wasm area-ExceptionHandling-coreclr +- ラベル: arch-wasm area-ExceptionHandling-coreclr #### 概要 WASM/CoreCLR上で無効化されていたランタイム/JITテストを再度有効化するPRです。issue #123793に関連する基盤の問題がPR #124296で修正されたため、複数のテストから`ActiveIssue`スキップアノテーションを削除し、WASM環境でのテスト実行を復活させています。 @@ -119,7 +119,7 @@ WASM/CoreCLR上で無効化されていたランタイム/JITテストを再度 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月02日 06:34:03(UTC) - マージ日時: 2026年03月02日 07:16:16(UTC) -- ラベル: area-Host +- ラベル: area-Host #### 概要 CoreCLR テストプロジェクトで `true` を設定する必要がある場合のガイドラインドキュメントを追加しました。プロジェクトファイルのトリガー(環境変数、ランタイムホスト設定、トリミング、ネイティブ依存関係)とソースコードのトリガー(`Environment.Exit`、プロセス全体のGC操作、collectible ALC、カスタム `Main` など)をカバーする28個のルールで構成されています。 @@ -169,7 +169,7 @@ CoreCLR テストプロジェクトで `truearea-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 CoreCLR テストプロジェクトにおいて `RequiresProcessIsolation` 属性をいつ設定するかについてのガイドラインドキュメントを追加しました。プロジェクトプロパティとソースコードパターンに基づいた具体的なルールと設定トリガーを文書化しており、テスト開発者が適切にプロセス分離要件を判断できるようになります。 @@ -198,7 +198,7 @@ CoreCLR テストプロジェクトにおいて `RequiresProcessIsolation` 属 - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年03月01日 19:53:38(UTC) - マージ日時: 2026年03月02日 20:06:48(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイラの`ArrayStack`コンテナにrange-based iteratorサポートを追加する変更です。`BottomUpOrder()`と`TopDownOrder()`というイテラブルビューを導入し、複数の最適化フェーズでインデックスベースのループをrange-forループに置き換え、コード可読性を向上させ、繰り返しのインデックスアクセス処理を削減します。 @@ -240,7 +240,7 @@ for (auto item : stack.BottomUpOrder()) - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月28日 09:33:21(UTC) - マージ日時: 2026年03月02日 17:38:54(UTC) -- ラベル: os-linux area-Infrastructure-mono +- ラベル: os-linux area-Infrastructure-mono #### 概要 Mono AOT ビルドで SuperPMI テストのサブスクリプトに対して「No merged runner found」エラーが発生する問題を修正しています。SuperPMI は CoreCLR 専用のツールであり Mono プラットフォームでは不要なため、`superpmicollect.csproj` に `MonoAotIncompatible` マーカーを追加し、Mono LLVM AOT パイプラインから SuperPMI テストツリーを除外しました。 @@ -268,7 +268,7 @@ Mono AOT ビルドで SuperPMI テストのサブスクリプトに対して「N - 作成者: [@sethjackson](https://github.com/sethjackson) - 作成日時: 2026年02月27日 22:50:23(UTC) - マージ日時: 2026年03月02日 15:50:11(UTC) -- ラベル: area-System.IO.Compression community-contribution os-openbsd +- ラベル: area-System.IO.Compression community-contribution os-openbsd #### 概要 OpenBSD プラットフォーム対応の改善です。`TARGET_OPENBSD` マクロの定義、OpenBSD固有のディレクトリエントリフラグ `DT_WHT` のスキップ、ピアプロセスID取得時の `getpeereid` 使用、ファイルシステム情報取得時の必要なヘッダー追加などを実装しています。 @@ -294,7 +294,7 @@ OpenBSD では標準的なBSD APIと異なる挙動があるため、プラッ - 作成者: [@BrennanConroy](https://github.com/BrennanConroy) - 作成日時: 2026年02月27日 22:07:58(UTC) - マージ日時: 2026年03月02日 19:30:44(UTC) -- ラベル: bug area-System.IO.Pipelines +- ラベル: bug area-System.IO.Pipelines #### 概要 StreamPipeReader.CopyToAsync メソッドにおいて、バッファリングされたデータを正常に処理した後、読み取り位置を適切に進めない不具合を修正しました。ドレイン成功時にセグメントループが終了してsegmentがnullになるため、finally ブロックで AdvanceTo が呼ばれず、バッファリングデータが _readHead/_readIndex に残存して、後続の読み取りで重複返却される問題を解決します。 @@ -316,7 +316,7 @@ StreamPipeReader.CopyToAsync メソッドにおいて、バッファリングさ - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年02月27日 19:55:37(UTC) - マージ日時: 2026年03月02日 21:17:24(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Contract-based DAC)の`NonVirtualEntry2MethodDesc`メソッドが、precodeのメモリ範囲内にあるが無効なアドレスに対して`InvalidOperationException`をスローしていた問題を修正しました。ネイティブDAC実装と同じ動作(`NULL`を返す)に統一することで、`!clru` コマンドがIL stubで正常に動作するようになります。 @@ -344,7 +344,7 @@ cDAC(Contract-based DAC)の`NonVirtualEntry2MethodDesc`メソッドが、pre - 作成者: [@mrvoorhe](https://github.com/mrvoorhe) - 作成日時: 2026年02月27日 14:45:00(UTC) - マージ日時: 2026年03月02日 01:47:09(UTC) -- ラベル: linkable-framework community-contribution area-Tools-ILLink +- ラベル: linkable-framework community-contribution area-Tools-ILLink #### 概要 .NET 8からの変更で失われていた `CustomizeTrimming` メソッドの `virtual` 修飾子を復元するPRです。Unity's test frameworkが trimming customization hookをオーバーライドできるようにするための変更です。 @@ -371,7 +371,7 @@ cDAC(Contract-based DAC)の`NonVirtualEntry2MethodDesc`メソッドが、pre - 作成者: [@mrvoorhe](https://github.com/mrvoorhe) - 作成日時: 2026年02月27日 14:43:10(UTC) - マージ日時: 2026年03月02日 01:48:02(UTC) -- ラベル: linkable-framework community-contribution area-Tools-ILLink +- ラベル: linkable-framework community-contribution area-Tools-ILLink #### 概要 ILLinkテストフレームワークの`SkipUnresolved`設定を整理する変更です。テストフレームワークのデフォルト値がILLink本体と一致していなかったため、デフォルト値を`false`から`true`に修正し、`AddSkipUnresolved`メソッドが常に明示的な値をlinker引数に出力するようにしました。これにより、`SkipUnresolved=false`を明示的に指定したテストが確実にその値で実行されるようになります。 @@ -401,7 +401,7 @@ ILLinkテストフレームワークの`SkipUnresolved`設定を整理する変 - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年02月27日 14:24:38(UTC) - マージ日時: 2026年03月02日 20:27:15(UTC) -- ラベル: arch-wasm area-Host os-browser +- ラベル: arch-wasm area-Host os-browser #### 概要 WebAssembly(WASM)ブラウザ環境でのアセット読み込みにスロットリング機能を実装し、全ファイルタイプに対して有効化しました。アセット優先度の管理機能を追加し、`onDownloadedAsset()`がエラー時にもカウントされるよう修正しています。また、WebCIL名の修正も含まれています。 @@ -430,7 +430,7 @@ Fixes #124900 - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年02月26日 18:26:15(UTC) - マージ日時: 2026年03月02日 20:06:30(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 BasicBlockクラスの公開フィールドをカプセル化し、関連するクリーンアップを実施。JITコンパイラのコア部分における設計改善で、27個のファイルにわたって直接フィールドアクセスをプロパティやメソッド経由に変更。 @@ -455,7 +455,7 @@ BasicBlockクラスの公開フィールドをカプセル化し、関連する - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年02月26日 03:12:04(UTC) - マージ日時: 2026年03月02日 05:58:36(UTC) -- ラベル: area-TypeSystem-coreclr +- ラベル: area-TypeSystem-coreclr #### 概要 Loader テストスイートから不要な `RequiresProcessIsolation` 属性を削除するプルリクエストです。AI(Opus 4.6)により `RequiresProcessIsolation` が必要なケースの判定ルールを確立し、それに基づいてLoader ツリーの不要な属性を削除。その後、ビルドとテスト実行結果により削除の妥当性を検証しています。 @@ -483,7 +483,7 @@ Loader テストスイートから不要な `RequiresProcessIsolation` 属性を - 作成者: [@kg](https://github.com/kg) - 作成日時: 2026年02月25日 05:52:42(UTC) - マージ日時: 2026年03月02日 20:33:24(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly RyuJIT コンパイラの Block Stores(ブロック転送命令)機能を実装するパート2。`genCodeForCpObj` の実装、stackifier の NIY シナリオ修正、メモリ操作の最適化により、参照を含む構造体のコピーコンパイルが可能に。ただしライトバリア呼び出し時にクラッシュする既知の問題あり。 @@ -522,7 +522,7 @@ static unsafe void loadStructWithRefs(ref S2 src) { - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年02月25日 02:02:30(UTC) - マージ日時: 2026年03月02日 22:04:50(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/arcadeの依存関係を更新するPull Request。Microsoft.DotNet.Arcade.Sdkを含む複数のビルドツールおよびテストユーティリティを、バージョン9.0.0-beta.26070.1から9.0.0-beta.26123.3へアップグレードしています。ビルドシステム全体の依存パッケージの一括更新です。 @@ -552,7 +552,7 @@ dotnet/arcadeの依存関係を更新するPull Request。Microsoft.DotNet.Arcad - 作成者: [@steveisok](https://github.com/steveisok) - 作成日時: 2026年02月25日 00:52:54(UTC) - マージ日時: 2026年03月02日 11:59:26(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 モバイルプラットフォームでのクロスDSO例外処理の問題を修正するため、IDacDbiInterfaceの119個の非HRESULTメソッドをすべてHRESULT返却方式に変換しました。DAC側で例外をキャッチしてHRESULTに変換することで、C++例外がDAC→DBI境界を越えることを完全に排除します。 @@ -587,7 +587,7 @@ HRESULT IDacDbiInterface::GetThreadContext(CORDB_ADDRESS address, void* context) - 作成者: [@AaronRobinsonMSFT](https://github.com/AaronRobinsonMSFT) - 作成日時: 2026年02月24日 23:49:47(UTC) - マージ日時: 2026年03月02日 16:30:21(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 例外処理コードパスにおいて、非効率な`MethodDescCallSite`/`CallDescrWorker`呼び出しをより効率的な`UnmanagedCallersOnly`逆P/Invoke呼び出しに置き換えるPRです。`excep.cpp`内の6つの呼び出しサイト(`GetExceptionMessage`、`ExceptionPreserveStackTrace`、`WrapNonCompliantException`等)が`UnmanagedCallersOnlyCaller`パターンに変換され、マネージコード側に`[UnmanagedCallersOnly]`属性付きの静的ラッパーメソッドが追加されます。 @@ -633,7 +633,7 @@ HRESULT IDacDbiInterface::GetThreadContext(CORDB_ADDRESS address, void* context) - 作成者: [@eiriktsarpalis](https://github.com/eiriktsarpalis) - 作成日時: 2026年02月24日 18:32:23(UTC) - マージ日時: 2026年03月02日 15:56:24(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 dotnet/runtime リポジトリにおいて、API提案のプロトタイピングと草案作成を自動化する `api-proposal` Copilot スキルを追加しました。このスキルは、Framework Design Guidelines の確認、プロトタイプ実装、テスト、リファレンスアセンブリ生成、提案ドキュメント作成といった7段階のパイプラインを自動化し、API提案の手探り的な実験作業を削減します。 @@ -660,7 +660,7 @@ dotnet/runtime リポジトリにおいて、API提案のプロトタイピン - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年02月24日 14:36:00(UTC) - マージ日時: 2026年03月02日 11:16:06(UTC) -- ラベル: arch-wasm area-Infrastructure-coreclr +- ラベル: arch-wasm area-Infrastructure-coreclr #### 概要 WebAssembly (WASM) アーキテクチャでのテスト実行環境を整備するPRです。`run.cmd`スクリプトがWASMアーキテクチャに対応し、テストビルドシステムの設定ファイルが更新されています。Windows環境でWASMターゲットのテスト実行が可能になりました。 @@ -685,7 +685,7 @@ WebAssembly (WASM) アーキテクチャでのテスト実行環境を整備す - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年02月23日 20:08:51(UTC) - マージ日時: 2026年03月02日 22:32:55(UTC) -- ラベル: area-ILTools-coreclr community-contribution +- ラベル: area-ILTools-coreclr community-contribution #### 概要 ilasmツール(IL Assembler)のパーサー生成方式をAntlr4BuildTasksに切り替えました。従来の手動メンテナンスされていたパーサー実装から、Antlr4による自動生成ベースの実装へ移行することで、保守性向上とCIL文法の一元管理が実現されます。 @@ -718,7 +718,7 @@ ilasmツール(IL Assembler)のパーサー生成方式をAntlr4BuildTasks - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年02月23日 05:03:19(UTC) - マージ日時: 2026年03月02日 12:51:16(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/xharnessの依存パッケージを更新するPull Requestです。Microsoft.DotNet.XHarness関連の3つのパッケージを11.0.0-prerelease.26114.1から11.0.0-prerelease.26117.1にバージョンアップしています。これはMaestroの自動依存更新メカニズムによるルーチン更新です。 @@ -752,7 +752,7 @@ dotnet/xharnessの依存パッケージを更新するPull Requestです。Micro - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年02月22日 00:09:39(UTC) - マージ日時: 2026年03月02日 08:03:37(UTC) -- ラベル: arch-wasm area-Infrastructure-mono +- ラベル: arch-wasm area-Infrastructure-mono #### 概要 WebAssembly テスト環境で使用する Chrome for Testing のバージョンを更新しました。Linux 環境を 145.0.7632.109 に、Windows 環境を 145.0.7632.77 にそれぞれアップグレードしています。 @@ -777,7 +777,7 @@ WebAssembly テスト環境で使用する Chrome for Testing のバージョン - 作成者: [@ViveliDuCh](https://github.com/ViveliDuCh) - 作成日時: 2026年02月20日 18:42:33(UTC) - マージ日時: 2026年03月02日 07:59:26(UTC) -- ラベル: area-System.Numerics +- ラベル: area-System.Numerics #### 概要 `System.Numerics.Vectors`に新しいblittable色型`Argb`と`Rgba`を追加します。これらのジェネリック構造体は、色データをメモリ効率的に表現し、`System.Drawing.Primitives`との統合をサポートします。実装は`System.Private.CoreLib`に配置され、`System.Numerics.Vectors`がファサード層として機能する設計になっています。 @@ -817,7 +817,7 @@ var rgba = new Rgba(128, 64, 32, 255); // RGBA値 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月18日 18:50:10(UTC) - マージ日時: 2026年03月02日 16:47:54(UTC) -- ラベル: area-Meta +- ラベル: area-Meta #### 概要 このPRは、`string.Compare(...) == 0` パターンを `Equals`、`StartsWith`、`EndsWith`、`AsSpan().Equals()` などのより慣用的で読みやすいメソッドに置き換えています。約34ファイルにわたり、冗長な比較パターンを簡潔化し、コード品質を向上させます。 @@ -866,7 +866,7 @@ if (header.StartsWith("Basic ", StringComparison.Ordinal)) { } - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年02月16日 09:35:28(UTC) - マージ日時: 2026年03月02日 21:57:08(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/hotreload-utils リポジトリからの依存関係を更新するPull Requestです。Microsoft.DotNet.HotReload.Utils.Generator.BuildTool が v9.0.0-alpha.0.25625.4 から v9.0.0-alpha.0.26152.4 にアップデートされました。このアップデートは release/9.0-staging ブランチに対する自動依存更新(Maestro経由)です。 @@ -891,7 +891,7 @@ dotnet/hotreload-utils リポジトリからの依存関係を更新するPull R - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年02月16日 05:03:54(UTC) - マージ日時: 2026年03月02日 12:50:22(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet-optimization リポジトリからの依存関係を更新するPull Requestです。MIBC(Migratory Intermediate Branch Cache)Runtime最適化とPGO(Profile Guided Optimization)CoreCLRに関するバージョンが `1.0.0-prerelease.26080.1` から `1.0.0-prerelease.26126.1` に更新されています。このアップデートにより、複数のプラットフォーム向け(Linux ARM64/x64、Windows NT ARM64/x64/x86)の最適化アーティファクトが最新化されます。 @@ -920,7 +920,7 @@ MIBC(Multi-tier Intermediate Branch Cache)とPGO(Profile Guided Optimizati - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年02月10日 22:13:48(UTC) - マージ日時: 2026年03月02日 21:54:08(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 release/9.0 ブランチから release/9.0-staging ブランチへの自動マージPRです。wfurt、vseanreesermsft、bartonjs による3件のコミットを含みます。主な変更は COSE(CBOR Object Signing and Encryption)暗号化機能の拡張と、シンボリックリンク関連のテスト改善です。 @@ -947,7 +947,7 @@ release/9.0 ブランチから release/9.0-staging ブランチへの自動マ - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年02月10日 02:03:26(UTC) - マージ日時: 2026年03月02日 21:58:36(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/cecil ライブラリの依存関係を更新するPull Requestです。Microsoft.SourceBuild.Intermediate.cecil と Microsoft.DotNet.Cecil が バージョン 0.11.5-alpha.25628.2 から 0.11.5-alpha.26122.3 へ更新されています。これは release/9.0-staging ブランチ向けの自動依存関係更新です。 @@ -976,7 +976,7 @@ dotnet/cecil ライブラリの依存関係を更新するPull Requestです。M - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年02月09日 05:03:13(UTC) - マージ日時: 2026年03月02日 22:03:08(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/xharnessライブラリの依存関係を更新するPull Requestです。Microsoft.DotNet.XHarness.CLI、Microsoft.DotNet.XHarness.TestRunners.Common、Microsoft.DotNet.XHarness.TestRunners.Xunitを9.0.0-prerelease.25615.2から11.0.0-prerelease.26117.1にアップデートしています。これは自動化されたdotnet-maestroによる定期的な依存関係更新です。 @@ -999,7 +999,7 @@ dotnet/xharnessライブラリの依存関係を更新するPull Requestです - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年02月07日 03:23:05(UTC) - マージ日時: 2026年03月02日 23:41:00(UTC) -- ラベル: arch-wasm area-Meta os-browser +- ラベル: arch-wasm area-Meta os-browser #### 概要 .NET 11のリグレッションを修正し、Blazor WASM増分ビルド時のSRI整合性検証失敗を解決するPRです。Boot configのContentRootを`$(OutDir)wwwroot`から`$(IntermediateOutputPath)`に変更し、WebCilアセットの各項目に対して`ContentRoot="%(RootDir)%(Directory)"`を設定することで、ビルド時と発行時のアセットIdentityが実際のファイルパスを正確に指すようにします。 @@ -1045,7 +1045,7 @@ dotnet/xharnessライブラリの依存関係を更新するPull Requestです - 作成者: [@matouskozak](https://github.com/matouskozak) - 作成日時: 2026年01月16日 08:39:04(UTC) - マージ日時: 2026年03月02日 13:29:49(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 CoreCLR インタープリターにデバッガサポートを追加するPRです。IDEのブレークポイント設定とシングルステップ(ステップイン/オーバー/アウト)機能をインタープリター実行環境で実装しました。新しい `INTOP_BREAKPOINT` と `INTOP_DEBUG_SEQ_POINT` オペコードを導入し、インタープリター用の実行制御ロジックを拡張しています。 @@ -1078,7 +1078,7 @@ CoreCLR インタープリターにデバッガサポートを追加するPRで - 作成者: [@SkyShield](https://github.com/SkyShield) - 作成日時: 2025年12月12日 09:15:26(UTC) - マージ日時: 2026年03月02日 21:06:20(UTC) -- ラベル: area-CodeGen-coreclr community-contribution arch-riscv +- ラベル: area-CodeGen-coreclr community-contribution arch-riscv #### 概要 RISC-V JIT コンパイラの`PHASE Generate code`フェーズで命令印字機能を有効化しました。`JitDump`設定時に、生成されるRISC-V命令が JIT ダンプ出力に表示されるようになり、デバッグの利便性が向上します。例えば`fneg.d fa0, fs6`や`jalr ra, ??(ra)`といった命令が出力されます。 diff --git a/archives/2026/03/03.md b/archives/2026/03/03.md index 44c98d5..662bc3b 100644 --- a/archives/2026/03/03.md +++ b/archives/2026/03/03.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#125133 \[release/8.0\] Update branding to 8.0.26](#125133) 2. [#125131 \[release/9.0\] Update branding to 9.0.15](#125131) 3. [#125130 Code review skill: support verifying approved APIs when new APIs are added.](#125130) @@ -43,7 +43,7 @@ - 作成者: [@vseanreesermsft](https://github.com/vseanreesermsft) - 作成日時: 2026年03月03日 17:24:13(UTC) - マージ日時: 2026年03月03日 22:33:50(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 .NET Runtime 8.0の patch版をバージョン8.0.25から8.0.26にアップデートするブランディング変更です。`eng/Versions.props`ファイルで`ProductVersion`と`PatchVersion`を更新し、release/8.0ブランチの公式バージョン情報を反映させます。 @@ -67,7 +67,7 @@ - 作成者: [@vseanreesermsft](https://github.com/vseanreesermsft) - 作成日時: 2026年03月03日 17:18:47(UTC) - マージ日時: 2026年03月03日 22:34:36(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 .NET Runtime 9.0系のパッチバージョンを9.0.14から9.0.15に更新するブランディング変更です。`release/9.0`ブランチのバージョン管理ファイルが更新され、次回のサービスリリースに向けた準備が行われています。 @@ -96,7 +96,7 @@ - 作成者: [@eiriktsarpalis](https://github.com/eiriktsarpalis) - 作成日時: 2026年03月03日 17:16:15(UTC) - マージ日時: 2026年03月03日 17:45:05(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 Code Reviewスキルを更新し、公開APIを追加するPRが`api-approved`Issueに記載されたAPIと相互参照されるようになりました。これにより、新規公開APIの追加時に承認済みAPIリストとの整合性が自動的に検証されます。 @@ -120,7 +120,7 @@ Code Reviewスキルを更新し、公開APIを追加するPRが`api-approved`Is - 作成者: [@ManickaP](https://github.com/ManickaP) - 作成日時: 2026年03月03日 14:31:29(UTC) - マージ日時: 2026年03月03日 17:13:46(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 PR #125106で追加されたHTTP関連のコメント変更をRevertするPRです。`HttpMessageInvoker`クラスの`_handler`フィールド上の内部コメント(2行)を削除し、ファイルを以前の状態に戻します。ドキュメンテーションのみの変更の取り消しです。 @@ -143,7 +143,7 @@ PR #125106で追加されたHTTP関連のコメント変更をRevertするPRで - 作成者: [@martincostello](https://github.com/martincostello) - 作成日時: 2026年03月03日 12:01:47(UTC) - マージ日時: 2026年03月03日 12:15:37(UTC) -- ラベル: area-Infrastructure community-contribution +- ラベル: area-Infrastructure community-contribution #### 概要 Copilotのセットアップワークフローがリポジトリフォークで動作しない問題を修正しています。プライベートランナーラベル `8-core-ubuntu-latest` は dotnet 組織内でのみ利用可能なため、フォークではこれを使用できません。フォークに対しては公開ランナー `ubuntu-latest` にフォールバックする条件付きランナー選択を実装することで対応します。 @@ -173,7 +173,7 @@ runs-on: ${{ github.repository_owner == 'dotnet' && '8-core-ubuntu-latest' || 'u - 作成者: [@lolleko](https://github.com/lolleko) - 作成日時: 2026年03月03日 11:43:45(UTC) - マージ日時: 2026年03月03日 17:59:55(UTC) -- ラベル: area-System.Buffers community-contribution +- ラベル: area-System.Buffers community-contribution #### 概要 `ArrayPool.Shared`のXML ドキュメントコメントから、古い情報を削除しました。かつて`byte[]`と`char[]`に対して特別なプーリング処理が実装されていたという記述が残っていましたが、現在の実装には存在しないため、ドキュメントと実装を一致させています。 @@ -199,7 +199,7 @@ runs-on: ${{ github.repository_owner == 'dotnet' && '8-core-ubuntu-latest' || 'u - 作成者: [@ManickaP](https://github.com/ManickaP) - 作成日時: 2026年03月03日 09:07:01(UTC) - マージ日時: 2026年03月03日 12:09:57(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 `HttpMessageInvoker.cs`の`_handler`フィールドに説明用のコメントを追加しました。プライベートフィールドとして保持する理由を文書化するための小規模な変更です。 @@ -222,7 +222,7 @@ runs-on: ${{ github.repository_owner == 'dotnet' && '8-core-ubuntu-latest' || 'u - 作成者: [@eiriktsarpalis](https://github.com/eiriktsarpalis) - 作成日時: 2026年03月03日 08:42:28(UTC) - マージ日時: 2026年03月03日 17:44:20(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 API提案プロセスのドキュメント更新PR。API提案時にクラスの追加メンバーを示す場合、`diff`ブロックではなく`partial`クラス宣言で既存メンバーをコメント化する方式に変更。これにより承認記録の作成時に既存API情報の削除が容易になります。 @@ -244,7 +244,7 @@ API提案プロセスのドキュメント更新PR。API提案時にクラスの - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年03月03日 04:39:06(UTC) - マージ日時: 2026年03月03日 20:34:09(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 WebAssembly向けのJITコンパイラにおいて、Loop-Aware RPO(Reverse Post-Order)がループ本体を連続した状態で保持する特性を活用し、ループの終了位置計算をO(n)からO(1)に最適化しました。ループ区間の終端位置を`headerIndex + NumLoopBlocks()`で直接計算することで、スキャン処理を排除しています。 @@ -271,7 +271,7 @@ Loop-Aware RPOの設計上の性質(ループブロックの連続性)を活 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月02日 23:14:48(UTC) - マージ日時: 2026年03月03日 10:17:35(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 `.github/copilot-instructions.md`のfrontmatterにある`excludeAgent`識別子を修正するPull Requestです。誤った`code-review-agent`を正しい`code-review`に変更することで、Copilot code-reviewスキルに対する指示の除外が正しく機能するようになります。 @@ -303,7 +303,7 @@ Loop-Aware RPOの設計上の性質(ループブロックの連続性)を活 - 作成者: [@dotnet-bot](https://github.com/dotnet-bot) - 作成日時: 2026年03月02日 23:01:58(UTC) - マージ日時: 2026年03月03日 10:06:28(UTC) -- ラベル: area-Extensions-Logging +- ラベル: area-Extensions-Logging #### 概要 OneLocBuild自動化タスクによるローカライズファイルの定期チェックイン。`Microsoft.Extensions.Logging.Abstractions`ライブラリのリソース文字列(.xlf形式)を複数言語(独仏西伊日韓ポーランド語など)で更新。翻訳パイプラインから生成されたファイルの自動マージです。 @@ -329,7 +329,7 @@ OneLocBuild自動化タスクによるローカライズファイルの定期チ - 作成者: [@kg](https://github.com/kg) - 作成日時: 2026年03月02日 21:00:32(UTC) - マージ日時: 2026年03月03日 15:34:44(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 このPRは、先行するPR #124846(Wasm RyuJIT Block Stores機能)に対するフォローアップであり、未解決のコメント対応を行っています。主にJIT コンパイラのコード生成ロジック、レジスタアロケーション、および型定義の調整が含まれており、WebAssembly プラットフォーム向けの最適化を継続して改善しています。 @@ -357,7 +357,7 @@ OneLocBuild自動化タスクによるローカライズファイルの定期チ - 作成者: [@SingleAccretion](https://github.com/SingleAccretion) - 作成日時: 2026年03月02日 20:27:41(UTC) - マージ日時: 2026年03月03日 22:41:58(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 RyuJit コンパイラにおいて、オペランドの使用を適切な順序で列挙するための新しい機能 `VisitOperandUses` を追加しました。このメソッドにより、オペランドの使用順序を正確に把握でき、今後のWASM stackifier の変更に必要な基盤を提供します。 @@ -382,7 +382,7 @@ RyuJit コンパイラにおいて、オペランドの使用を適切な順序 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月02日 18:52:50(UTC) - マージ日時: 2026年03月03日 15:19:23(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 `DacFreeRegionEnumerator::AddServerRegions`で発生していた変数シャドウイングバグを修正しました。内側のループで外側のヒープインデックス変数`i`が再利用されており、その後の`AddSegmentList`呼び出しで誤ったパラメータが渡されていました。内側のループ変数を`kind`に変更することで、すべての`AddSegmentList`呼び出しが正しいヒープインデックスを参照するようになります。 @@ -411,7 +411,7 @@ RyuJit コンパイラにおいて、オペランドの使用を適切な順序 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月02日 18:47:48(UTC) - マージ日時: 2026年03月03日 15:12:54(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 PR #124875で`DacHandleWalker::WalkHandles()`に適用された修正が、`DacHandleTableMemoryEnumerator::Init()`に漏れていたため、本PRで同一の修正を適用。CPU数 ≠ ヒープ数の環境(DATAS)でハンドルテーブルメモリ列挙が不完全になる問題を解決します。GC DACマイナーバージョン8以上では`g_totalCpuCount`を、それ以下では`GCHeapCount()`をフォールバックとして使用。 @@ -436,7 +436,7 @@ PR #124875(同一パターンの修正の先行PR) - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年03月02日 17:18:34(UTC) - マージ日時: 2026年03月03日 08:24:47(UTC) -- ラベル: arch-wasm area-Infrastructure-coreclr +- ラベル: arch-wasm area-Infrastructure-coreclr #### 概要 WASM ターゲット上で native relinking が必要な Priority-1 JIT HFA(Homogeneous Float Aggregate)テストを無効化するもの。40個のテスト `.csproj` ファイルに `CLRTestTargetUnsupported` 条件を追加し、WASM ビルドでのテスト実行をスキップする。これにより、relinking 処理の遅延を回避し、テスト実行時間を短縮する。 @@ -465,7 +465,7 @@ Issue #123946(native relinking が必要な WASM テストの問題) - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年03月02日 14:20:36(UTC) - マージ日時: 2026年03月03日 15:04:12(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイラの定数折り畳み処理におけるバグを修正しました。符号拡張された定数(例:`-0xFFFFFFFF80000000`)を否定する際に不正な定数が生成される問題を、`SetIconValue`を`SetValueTruncating`に変更することで解決しています。また、MinOptsモード時の最適化実行を制限しています。 @@ -504,7 +504,7 @@ JITコンパイラの定数折り畳み処理におけるバグを修正しま - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年03月02日 13:03:59(UTC) - マージ日時: 2026年03月03日 00:29:40(UTC) -- ラベル: arch-wasm os-browser area-CodeGen-Interpreter-coreclr +- ラベル: arch-wasm os-browser area-CodeGen-Interpreter-coreclr #### 概要 WebAssembly (WASM) ビルドにおいて、Mono ランタイムフレーバーのみが WASM 固有の組み込み関数(intrinsics)を有効にするように、ビルド時の機能検出を修正しました。非 Mono の WASM ビルドでは不要な intrinsics 実装がインクルードされなくなります。 @@ -530,7 +530,7 @@ Issue #125046 - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年03月02日 12:45:47(UTC) - マージ日時: 2026年03月03日 00:26:05(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイラのレイト デバーチャライゼーション処理において、インライン化時のデバッグ情報が正しく伝播されていない問題を修正しました。`LateDevirtualizationInfo`に`ILLocation`フィールドを追加し、`impCurStmtDI`から設定することで、レイト デバーチャライゼーション中に生成される新しいステートメントが適切なデバッグ情報を保持するようになります。 @@ -560,7 +560,7 @@ JITコンパイラのレイト デバーチャライゼーション処理にお - 作成者: [@sbomer](https://github.com/sbomer) - 作成日時: 2026年03月02日 05:10:58(UTC) - マージ日時: 2026年03月03日 07:20:17(UTC) -- ラベル: linkable-framework area-Tools-ILLink +- ラベル: linkable-framework area-Tools-ILLink #### 概要 IL リンカー(illink)の Debug.Assert エラーを修正するPRです。同じアセンブリが異なるパスで複数回指定された場合(例:`test.exe` と `../input/test.exe`)のアサーション失敗を解決し、同時に異なる複数のアセンブリが `entrypoint` ルートモードで指定された場合に新しい診断エラー IL1048 を発行するようにしました。 @@ -595,7 +595,7 @@ Copilot レビューで指摘されている通り、新しい診断コード IL - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月28日 14:55:25(UTC) - マージ日時: 2026年03月03日 18:32:53(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 このPRは、cDAC(Contracts Data for Diagnostics)における`GetSyncBlockCleanupData`と`GetSyncBlockData`APIの実装を行います。クリーンアップリスト上のオブジェクトは有効な管理オブジェクトではない可能性があるため、COMデータはオブジェクトヘッダーを経由せず、同期ブロックポインタから直接読み込まれます。また、従来のC++実装における`addr=0`時の仕様違反も修正されています。 @@ -623,7 +623,7 @@ Copilot レビューで指摘されている通り、新しい診断コード IL - 作成者: [@mrvoorhe](https://github.com/mrvoorhe) - 作成日時: 2026年02月27日 14:41:31(UTC) - マージ日時: 2026年03月03日 19:19:39(UTC) -- ラベル: linkable-framework community-contribution area-Tools-ILLink +- ラベル: linkable-framework community-contribution area-Tools-ILLink #### 概要 ILLink の `MarkStep` クラスで、`DoAdditional*Processing` メソッドに `MessageOrigin` パラメータを追加するための変更です。これにより、サブクラスが追加マーク処理を実行する際に、診断情報の出所(origin)を追跡できるようになり、より詳細なエラー報告が可能になります。 @@ -655,7 +655,7 @@ protected virtual void DoAdditionalProcessing(MessageOrigin origin) { } - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年02月27日 05:34:51(UTC) - マージ日時: 2026年03月03日 22:26:17(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 SPMI(SuperPMI)レポートにメトリック使用量の差分表示機能を追加しました。コンパイラのメトリクス出力を拡張し、ビルド前後の差分をレポートに統合することで、JITコンパイラの最適化による影響をより詳細に追跡できるようになります。 @@ -683,7 +683,7 @@ SPMI(SuperPMI)レポートにメトリック使用量の差分表示機能 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月27日 02:47:41(UTC) - マージ日時: 2026年03月03日 02:45:42(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 このPRは、debuggerが契約ベースのDAC(Data Access Component)パスを通じてRCW(Runtime Callable Wrapper)クリーンアップリストエントリを列挙できるようにする`TraverseRCWCleanupList` cDAC APIを実装しています。C++側でデータディスクリプタを公開し、C#側で`BuiltInCOM`契約レイヤーを追加して、RCWのマーシャリング型デコーディングと同期ビットのマスキングを実現しています。 @@ -718,7 +718,7 @@ SPMI(SuperPMI)レポートにメトリック使用量の差分表示機能 - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年02月26日 22:30:34(UTC) - マージ日時: 2026年03月03日 09:06:40(UTC) -- ラベル: os-ios area-CodeGen-Interpreter-coreclr +- ラベル: os-ios area-CodeGen-Interpreter-coreclr #### 概要 CoreCLR インタープリタに arm64 Apple プラットフォーム向けの Swift 呼び出し規約の逆 P/Invoke サポートを追加します。SwiftSelf、SwiftError、SwiftIndirectResult などの特殊レジスタ処理、引数の書き換え、戻り値処理に対応し、Swift マネージドコールバックをインタープリタ下で正しく動作させます。 @@ -756,7 +756,7 @@ CoreCLR インタープリタに arm64 Apple プラットフォーム向けの S - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年02月26日 19:37:25(UTC) - マージ日時: 2026年03月03日 04:46:23(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 このPRは、仮想呼び出しサイト準備マクロ `PREPARE_SIMPLE_VIRTUAL_CALLSITE` の使用法を UCO(Unmanaged Code Object)パターンに統一するリファクタリングです。マクロ自体は使用されなくなったため削除されています。これは .NET ランタイムの内部実装をより一貫性のある設計パターンへ移行させるための変更です。 @@ -783,7 +783,7 @@ CoreCLR インタープリタに arm64 Apple プラットフォーム向けの S - 作成者: [@mdh1418](https://github.com/mdh1418) - 作成日時: 2026年02月26日 18:53:37(UTC) - マージ日時: 2026年03月03日 01:56:01(UTC) -- ラベル: area-Tracing-coreclr +- ラベル: area-Tracing-coreclr #### 概要 ユーザーイベントトレーシングテストの不安定性を修正し、テストを再有効化するPRです。3つの独立した根本原因を特定し解決しています:(1) イベント生成とトレース設定の競合状態を回避するため、遅延を200msから700msに増加、(2) クロスプロセスのイベント混在を防ぐためProcessIDフィルタリングを追加、(3) 診断ポート削除時の権限エラーをハンドルするよう例外処理を追加。2コアシステムで500回連続実行テストで100%成功率を達成しました。 @@ -823,7 +823,7 @@ CoreCLR インタープリタに arm64 Apple プラットフォーム向けの S - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年02月26日 16:59:18(UTC) - マージ日時: 2026年03月03日 17:40:25(UTC) -- ラベル: Servicing-approved area-System.IO +- ラベル: Servicing-approved area-System.IO #### 概要 UNC パス(`\\LOCALHOST\share\path` など)に対して `returnFinalTarget=true` を指定した場合、Windows の UNC アクセス制限が有効な環境で `ResolveLinkTarget_Succeeds` テストが `IOException` で失敗する問題を修正しています。シンボリックリンク解決時に Windows が実際に UNC パスへのアクセスを試みることが原因です。.NET 8.0 はテストのみの修正で対応しています。 @@ -856,7 +856,7 @@ UNC パス(`\\LOCALHOST\share\path` など)に対して `returnFinalTarget=t - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年02月26日 01:59:25(UTC) - マージ日時: 2026年03月03日 04:41:32(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly RyuJit コンパイラでローカル変数へのアクセスに変数番号(var nums)のアノテーションを追加する変更です。シャドウスタックにスピルされたローカル変数に対して、ネイティブダンプで見られるような追加のアノテーション情報を付与し、デバッグ情報の充実を図ります。 @@ -881,7 +881,7 @@ WebAssembly RyuJit コンパイラでローカル変数へのアクセスに変 - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年02月25日 19:05:39(UTC) - マージ日時: 2026年03月03日 10:52:27(UTC) -- ラベル: arch-wasm area-VM-coreclr +- ラベル: arch-wasm area-VM-coreclr #### 概要 WebAssembly(WASM)環境で動的メソッドがファイナライズされ再利用される際に、ポータブルエントリポイント(Portable Entrypoint)に古いインタプリタコードへのダングリングポインタが残される問題を修正します。インタプリタコードポインタをクリアする箇所でポータブルエントリポイントもリセットし、メモリ安全性を確保します。 @@ -907,7 +907,7 @@ WebAssembly(WASM)環境で動的メソッドがファイナライズされ再利 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月24日 20:22:07(UTC) - マージ日時: 2026年03月03日 15:25:43(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 このPRは、cDAC SOSDacImpl に `ISOSDacInterface::GetJitManagerList` インターフェースの実装を追加するものです。JIT マネージャーの一覧取得機能をデータコントラクトアーキテクチャ(cDAC)経由で診断ツールが利用できるようになります。ExecutionManager契約に新しいメソッドを追加し、16個の新規ユニットテストを含めて173個の ExecutionManager テストが合格しています。 @@ -938,7 +938,7 @@ WebAssembly(WASM)環境で動的メソッドがファイナライズされ再利 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月20日 19:56:31(UTC) - マージ日時: 2026年03月03日 01:08:36(UTC) -- ラベル: area-System.Runtime.InteropServices.JavaScript +- ラベル: area-System.Runtime.InteropServices.JavaScript #### 概要 JSImportGeneratorとJSExportGeneratorから診断ロジックを独立した`DiagnosticAnalyzer`クラスに抽出し、ソースコード生成パスを実行しなくてもIDEで診断結果が表示されるようにしました。PR #123780のLibraryImportGeneratorと同じパターンに従っています。 @@ -970,7 +970,7 @@ JSImportGeneratorとJSExportGeneratorから診断ロジックを独立した`Dia - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月20日 19:56:04(UTC) - マージ日時: 2026年03月03日 01:25:11(UTC) -- ラベル: area-System.Runtime.InteropServices +- ラベル: area-System.Runtime.InteropServices #### 概要 このPRは、`ComInterfaceGenerator`と`VtableIndexStubGenerator`の診断ロジックを専用の`DiagnosticAnalyzer`クラスに分離しています。これにより、IDEが診断の表示タイミングと方法をより細かく制御できるようになり、#123780で確立されたパターンに従っています。 @@ -1001,7 +1001,7 @@ JSImportGeneratorとJSExportGeneratorから診断ロジックを独立した`Dia - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月20日 08:42:08(UTC) - マージ日時: 2026年03月03日 13:55:53(UTC) -- ラベル: area-System.Net.Security +- ラベル: area-System.Net.Security #### 概要 `AuthenticateAsServerAsync`と`Dispose()`の競合状態中に、証明書/キーの`SafeHandle`が無効化される前に`SetSslCertificate`に到達する場合がある問題を修正します。`Debug.Assert`がプロセスをSIGABRTで強制終了させるのではなく、p/invokeマーシャラーが`ObjectDisposedException`を投げることを意図しています。 @@ -1029,7 +1029,7 @@ p/invokeマーシャラーが既に閉じられた`SafeHandle`をネイティブ - 作成者: [@jonathandavies-arm](https://github.com/jonathandavies-arm) - 作成日時: 2026年02月19日 15:46:09(UTC) - マージ日時: 2026年03月03日 15:19:38(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 ARM64アーキテクチャにおいて、静的な符号なし定数0との比較時に`ands`/`bics`命令を使用する最適化を修正しました。この修正により、符号なし定数0との比較が正確に処理され、JITコンパイラによる命令結合の最適化が適切に機能するようになります。 @@ -1055,7 +1055,7 @@ ARM64アーキテクチャにおいて、静的な符号なし定数0との比 - 作成者: [@saucecontrol](https://github.com/saucecontrol) - 作成日時: 2026年02月07日 00:18:40(UTC) - マージ日時: 2026年03月03日 22:27:18(UTC) -- ラベル: area-CodeGen-coreclr community-contribution avx512 +- ラベル: area-CodeGen-coreclr community-contribution avx512 #### 概要 uint から浮動小数点への型変換(uint→float/double)をx86プラットフォーム上でヘルパー関数呼び出しなしで高速化するPull Requestです。AVX-512以前のx86では、32ビット変換用のネイティブ命令がないため、SSE命令を組み合わせた変換シーケンスを使用して、ヘルパー呼び出しのオーバーヘッドを排除します。典型的には、関数呼び出しの代わりにSSE命令(`vcvtsi2sd`、`vaddsd`、`vcvtpd2ps`など)で処理し、コード生成の簡潔化と若干の性能改善を実現します。 @@ -1083,7 +1083,7 @@ uint から浮動小数点への型変換(uint→float/double)をx86プラ - 作成者: [@tpa95](https://github.com/tpa95) - 作成日時: 2026年02月03日 13:31:43(UTC) - マージ日時: 2026年03月03日 10:06:55(UTC) -- ラベル: area-PAL-coreclr community-contribution +- ラベル: area-PAL-coreclr community-contribution #### 概要 CoreCLRの`inspect.cpp`と`virtual.cpp`で、静的解析ツール(SVACE)により検出された潜在的なnullポインタ逆参照の問題を修正しました。実環境では未観測ですが、予防的な修正となります。 @@ -1110,7 +1110,7 @@ nullポインタ参照の事前チェックにより、ランタイムクラッ - 作成者: [@saucecontrol](https://github.com/saucecontrol) - 作成日時: 2026年01月13日 18:51:58(UTC) - マージ日時: 2026年03月03日 00:41:49(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 JIT コンパイラの x86/x64 アーキテクチャにおいて、`ConditionalSelect` と `BlendVariable` SIMD 操作の最適化を統一化しました。定数マスク時のフォーディング、ベクトル定数をマスク定数に変換する最適化、EVEX 組み込みゼロの活用、およびゼロとのブレンドを AND/ANDN 命令に最適化することで、生成コードサイズと実行効率が向上します。 diff --git a/archives/2026/03/04.md b/archives/2026/03/04.md index 210f092..5ef8404 100644 --- a/archives/2026/03/04.md +++ b/archives/2026/03/04.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#125171 Disable System.Net.Http.Functional.Tests on Android CoreCLR](#125171) 2. [#125170 Disable ProxySetViaEnvironmentVariable_DefaultProxyCredentialsUsed on macOS](#125170) 3. [#125165 Use a platform-neutral name for `Microsoft.DiaSymReader.Native`](#125165) @@ -27,7 +27,7 @@ - 作成者: [@matouskozak](https://github.com/matouskozak) - 作成日時: 2026年03月04日 09:17:43(UTC) - マージ日時: 2026年03月04日 13:58:04(UTC) -- ラベル: area-System.Net.Http os-android +- ラベル: area-System.Net.Http os-android #### 概要 Android環境でのCoreClr実行時に`System.Net.Http.Functional.Tests`テストスイートを無効化するPull Requestです。dotnet/runtime#124526の完全な調査が完了するまでの暫定的な対応として、アセンブリレベルの`ActiveIssue`属性を追加してテストをスキップします。 @@ -50,7 +50,7 @@ dotnet/runtime#124526(調査中の既知の問題) - 作成者: [@rzikm](https://github.com/rzikm) - 作成日時: 2026年03月04日 09:13:19(UTC) - マージ日時: 2026年03月04日 14:42:03(UTC) -- ラベル: Servicing-approved area-System.Net.Http +- ラベル: Servicing-approved area-System.Net.Http #### 概要 macOS 14 でテスト `ProxySetViaEnvironmentVariable_DefaultProxyCredentialsUsed` がクラッシュ(SIGABRT、終了コード 134)する問題に対応。Apple の GSS フレームワーク内の二重解放バグにより、SPNEGO/Negotiate 認証コンテキストのクリーンアップ時にクラッシュするため、macOS でこのテストをスキップするよう修正。 @@ -86,7 +86,7 @@ public void ProxySetViaEnvironmentVariable_DefaultProxyCredentialsUsed() - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年03月04日 02:49:06(UTC) - マージ日時: 2026年03月04日 10:36:59(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 `Microsoft.DiaSymReader.Native` DLLの命名方式をプラットフォーム非依存の名前に変更するPRです。従来の `Microsoft.DiaSymReader.Native.(x86|x64|arm64).dll` という形式から、プラットフォーム別のサフィックスを削除することで、dotnet/dotnetのリブートストラッピングビルド時にランタイムパック内の同名DLLとの衝突問題を解決します。 @@ -110,7 +110,7 @@ https://github.com/dotnet/dotnet/pull/5155#issuecomment-3989895314 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月03日 18:12:07(UTC) - マージ日時: 2026年03月04日 14:55:33(UTC) -- ラベル: area-System.Security test-enhancement +- ラベル: area-System.Security test-enhancement #### 概要 `PfxFormatTests.cs`内の到達不可能なWindows 7向け条件分岐を削除するコード整理です。`OperatingSystem.IsWindows() && !PlatformDetection.IsWindows`という常に偽となる条件ガードを廃止し、中間変数`followup`を排除して`CheckKeyConsistency`を直接`ReadMultiPfx`に渡すようにしました。 @@ -136,7 +136,7 @@ https://github.com/dotnet/dotnet/pull/5155#issuecomment-3989895314 - 作成者: [@mrvoorhe](https://github.com/mrvoorhe) - 作成日時: 2026年03月03日 14:50:57(UTC) - マージ日時: 2026年03月04日 23:24:00(UTC) -- ラベル: linkable-framework community-contribution area-Tools-ILLink +- ラベル: linkable-framework community-contribution area-Tools-ILLink #### 概要 ILLink テストフレームワークの `GetCommonSourceFiles` メソッドが、設定可能な `_testCase.RootCasesDirectory` に依存していた問題を修正しました。Unity など外部プロジェクトが異なるテストケースディレクトリを使用する場合に、ファイル解決に失敗する問題を解決しています。修正により、既知のテストフレームワークディレクトリから相対パスを計算するようになり、`GetCommonSourceFiles` をメソッドにしました。 @@ -161,7 +161,7 @@ ILLink テストフレームワークの `GetCommonSourceFiles` メソッドが - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年03月03日 02:29:27(UTC) - マージ日時: 2026年03月04日 22:21:17(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 このPull Requestは、.NET RuntimeのJIT(Just-In-Time)コンパイラのフローグラフ関連コード(`fg*.cpp`ファイル群)をクリーンアップするものです。主な変更は、すべてのメソッドにヘッダーコメントを追加し、式のコンテキスト以外の`/* */`形式のコメントを削除して、コードの可読性と保守性を向上させることを目的としています。 @@ -189,7 +189,7 @@ ILLink テストフレームワークの `GetCommonSourceFiles` メソッドが - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年03月03日 01:41:09(UTC) - マージ日時: 2026年03月04日 19:18:58(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイラのアサーション伝播処理で、実際のプレデセッサが存在しないPhiArguments(Phi関数の引数)を無視するように修正しました。これにより、制御フローグラフの不整合によるコンパイルエラーを解決します。 @@ -213,7 +213,7 @@ Issue #124507(dotnet/runtime) - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年03月03日 00:07:47(UTC) - マージ日時: 2026年03月04日 16:21:59(UTC) -- ラベル: area-Infrastructure os-openbsd +- ラベル: area-Infrastructure os-openbsd #### 概要 OpenBSD への初期クロスビルド対応を追加するPRです。ビルドシステムの構成ファイルと CMake ツールチェーンを更新し、OpenBSD を新しいターゲットプラットフォームとして認識・サポートするための基盤を整備しました。ランタイム識別子(RID)の定義、rootfs ビルドスクリプト、プラットフォーム固有の構成が追加されています。 @@ -239,7 +239,7 @@ OpenBSD への初期クロスビルド対応を追加するPRです。ビルド - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月02日 22:17:19(UTC) - マージ日時: 2026年03月04日 22:10:10(UTC) -- ラベル: area-System.Reflection +- ラベル: area-System.Reflection #### 概要 PR #123026で追加された`System.Reflection.Context`テストの native AOT 互換性を修正しました。Native AOT 環境で非対応のリフレクション API を呼び出すテストに対して、`[ConditionalFact]`属性と`PlatformDetection`述語を使用して条件付きスキップを適用しています。メソッドボディ、メタデータトークン、native AOT非対応 API などのカテゴリごとに適切なガードを適用しました。 @@ -285,7 +285,7 @@ PR #123026で追加された`System.Reflection.Context`テストの native AOT - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年03月02日 14:28:02(UTC) - マージ日時: 2026年03月04日 13:51:34(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITのグローバル解析(GlobalAP)における範囲解析を改善するPull Requestです。チェック付きの境界条件に対して、より精密な範囲情報を推論できるようにしました。例えば、`if ((uint)i < span.Length)` のブロック内では、`i` の有効範囲が `[0..int.MaxValue-1]` であることを正確に認識できるようになります。 @@ -312,7 +312,7 @@ JITのグローバル解析(GlobalAP)における範囲解析を改善する - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月01日 20:23:02(UTC) - マージ日時: 2026年03月04日 13:51:21(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT コンパイラの CSE (Common Subexpression Elimination) プロモーション戦略において、`aggressiveRefCnt` の最小値の閾値を `BB_UNITY_WEIGHT * 2` (200) から `BB_UNITY_WEIGHT / 2` (50) に引き下げました。これにより、レジスタ圧力が低いメソッド(追跡対象の整数ローカル変数が少ないメソッド)でも、より積極的な CSE の最適化が適用され、有益な共通部分式除去が促進されます。 @@ -344,7 +344,7 @@ JIT コンパイラの CSE (Common Subexpression Elimination) プロモーショ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月27日 15:55:42(UTC) - マージ日時: 2026年03月04日 10:33:14(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 PR #123830で導入された`jitshared/`ディレクトリの後、JITおよびインタープリタコード内の`assert`マクロが意図せずC言語ランタイムの`assert`に解決され、カスタムハンドラの`assertAbort`の代わりにダイアログポップアップを表示していた問題を修正します。新しい共有ヘッダ`jitassert.h`を導入し、JITとインタープリタ間で統一された`assert`定義を提供します。 @@ -373,7 +373,7 @@ PR #123830で導入された`jitshared/`ディレクトリの後、JITおよび - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月27日 13:49:03(UTC) - マージ日時: 2026年03月04日 12:58:20(UTC) -- ラベル: area-Extensions-DependencyInjection +- ラベル: area-Extensions-DependencyInjection #### 概要 `ServiceProvider.Dispose()` が async-only disposables(`IAsyncDisposable` のみを実装するサービス)を含む場合に `InvalidOperationException` をスローすることをドキュメント化しました。従来は `/// ` で曖昧だったため、開発者が予期しない例外に遭遇するリスクがありました。本変更により、同期破棄時の制限を明示し、`DisposeAsync()` の使用を推奨するようになります。 @@ -416,7 +416,7 @@ finally - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年02月25日 00:47:57(UTC) - マージ日時: 2026年03月04日 01:05:23(UTC) -- ラベル: Servicing-approved area-TypeSystem-coreclr +- ラベル: Servicing-approved area-TypeSystem-coreclr #### 概要 サブインターフェース複雑な型引数を持つ場合の `LoadExactInterfaceMap` の読み込み問題を修正しました。PR #123254 の修正では対応しきれなかったケースをカバーする特殊ケース処理を追加しており、ジェネリック型定義の完全読み込みおよび部分読み込みインターフェースマップの比較が重要です。 @@ -450,7 +450,7 @@ finally - 作成者: [@alexcovington](https://github.com/alexcovington) - 作成日時: 2026年02月24日 17:27:23(UTC) - マージ日時: 2026年03月04日 00:51:46(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 AVX512 BMM(Bit Matrix Multiply)APIを.NETランタイムに新規実装します。`Avx512Bmm`クラスを`System.Runtime.Intrinsics.X86`に追加し、ビット反転(`ReverseBits`)と16×16ビット行列乗算(`BitMultiplyMatrix16x16WithOrReduction`/`WithXorReduction`)の操作をVector128/256/512サイズで提供します。これらはAVX512 BMM命令セットをサポートするプロセッサで高速に実行されます。 @@ -490,7 +490,7 @@ Vector512 result = Avx512Bmm.BitMultiplyMatrix16x16WithOrReduction(adden - 作成者: [@noahfalk](https://github.com/noahfalk) - 作成日時: 2026年02月20日 20:43:22(UTC) - マージ日時: 2026年03月04日 13:27:17(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 ISOSDacInterface8の4つのメソッド(GetGenerationTable、GetGenerationTableSvr、GetFinalizationFillPointers、GetFinalizationFillPointersSvr)をcDAC SOSDacImplに実装しました。テストインフラとして、TestPlaceholderTarget.Builderという流暢なビルダーパターンを導入し、GCHeapBuilder経由でGCモックデータを設定できるようにしました。同時に、Unix環境でのライブラリロード、HRESULT変数シャドーイング、Release/Debugビルドでのスタックウォーク不具合など、複数の既存の問題を修正しました。 @@ -524,7 +524,7 @@ ISOSDacInterface8の4つのメソッド(GetGenerationTable、GetGenerationTabl - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月18日 14:58:49(UTC) - マージ日時: 2026年03月04日 22:09:48(UTC) -- ラベル: area-System.Threading +- ラベル: area-System.Threading #### 概要 .NET 10で導入された`Volatile.ReadBarrier()`と`Volatile.WriteBarrier()`メソッドにテストカバレッジを追加するPRです。これらのメソッドはWebAssemblyで実装されておらず、スタックオーバーフロー例外を引き起こしていました(PR #124538で修正済み)。本PRでは、これらのメソッドが正常に動作することを確保するための包括的なテストを追加します。 @@ -551,7 +551,7 @@ ISOSDacInterface8の4つのメソッド(GetGenerationTable、GetGenerationTabl - 作成者: [@noahfalk](https://github.com/noahfalk) - 作成日時: 2026年02月14日 14:18:37(UTC) - マージ日時: 2026年03月04日 14:16:27(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 このPRは、.NET runtimeのCopilot AI アシスタントを使用したテスト作成時のガイダンスを改善するものです。リグレッションテスト作成中にエージェント(Copilot)が遭遇した問題を解決するため、Copilot向けの指示を更新し、EventPipeトレーシング関連のテストドキュメントを充実させています。 @@ -579,7 +579,7 @@ ISOSDacInterface8の4つのメソッド(GetGenerationTable、GetGenerationTabl - 作成者: [@noahfalk](https://github.com/noahfalk) - 作成日時: 2026年02月13日 23:32:26(UTC) - マージ日時: 2026年03月04日 02:57:57(UTC) -- ラベル: area-Tracing-coreclr +- ラベル: area-Tracing-coreclr #### 概要 .NET 9で発生したSampleProfilerのリグレッションに対する検証テストを追加するPRです。ThreadSampleイベントがマネージドコード実行中に正しく`SampleType="Managed"`(値2)を報告することを確認するテストです。以前は誤って"External"(値1)が報告されていました。 @@ -604,7 +604,7 @@ https://github.com/dotnet/runtime/pull/124019 の後続対応 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月12日 09:53:46(UTC) - マージ日時: 2026年03月04日 23:34:05(UTC) -- ラベル: area-Extensions-DependencyInjection +- ラベル: area-Extensions-DependencyInjection #### 概要 ファクトリ関数を使用したサービス登録時の循環依存関係によるデッドロック(issue #88390)を修正するPull Requestです。`CallSiteRuntimeResolver`に再入検出機構を実装し、同じロックの再帰的な獲得を防ぐため、循環依存を検出時に例外をスローするようにしました。 @@ -644,7 +644,7 @@ services.AddApplicationInsightsTelemetry(); - 作成者: [@jgh07](https://github.com/jgh07) - 作成日時: 2026年01月30日 22:34:50(UTC) - マージ日時: 2026年03月04日 01:18:43(UTC) -- ラベル: area-System.Reflection community-contribution +- ラベル: area-System.Reflection community-contribution #### 概要 `MakeFunctionPointerType` という新しい関数ポインタAPI が CoreCLR に実装されました。これにより、リフレクションと動的IL生成を通じて関数ポインタ型をプログラムで生成および操作できるようになります。この機能実装は Issue #75348 に対応するものです。 @@ -686,7 +686,7 @@ Issue #75348(本PRが実装対応) - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月19日 19:12:10(UTC) - マージ日時: 2026年03月04日 13:10:02(UTC) -- ラベル: area-System.Net +- ラベル: area-System.Net #### 概要 `HttpListener.GetContext()`を`Stop()`、`Abort()`、`Close()`後に呼び出した際、Windowsでは`HttpListenerException`(`ErrorCode = 995: SocketError.OperationAborted`)が発生していましたが、Linuxでは`ErrorCode = 500: HttpStatusCode.InternalServerError`が発生していました。このPRはLinuxの動作をWindowsに統一し、クロスプラットフォーム対応コードの一貫性を確保します。 diff --git a/archives/2026/03/05.md b/archives/2026/03/05.md index 9c450b7..b1cc090 100644 --- a/archives/2026/03/05.md +++ b/archives/2026/03/05.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#125223 Remove mcs stuff from linker test framework.](#125223) 2. [#125218 Mark SampleProfilerSampleType.TestEntryPoint with \[ActiveIssue\] for Native AOT](#125218) 3. [#125215 Revert "Revert 'Increase number of assertions \(GlobalAP\) + VN cache \(#124132\)'"](#125215) @@ -24,7 +24,7 @@ - 作成者: [@mrvoorhe](https://github.com/mrvoorhe) - 作成日時: 2026年03月05日 15:05:56(UTC) - マージ日時: 2026年03月05日 22:00:15(UTC) -- ラベル: linkable-framework community-contribution area-Tools-ILLink +- ラベル: linkable-framework community-contribution area-Tools-ILLink #### 概要 ILLink linkerのテストフレームワークからmcs(Monoコンパイラ)関連のコードを削除するPRです。Unityが唯一のmcs使用理由でしたが、メソッドボディ変更テストのためのカバレッジ維持コストが利益を上回ったため、mcs関連のテストインフラを全削除します。 @@ -56,7 +56,7 @@ ILLink linkerのテストフレームワークからmcs(Monoコンパイラ) - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月05日 12:32:52(UTC) - マージ日時: 2026年03月05日 22:04:41(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 Native AOT環境で失敗する`SampleProfilerSampleType.TestEntryPoint`テストに対して、`[ActiveIssue]`属性を追加してスキップするようマークしました。これにより、追跡中の issue #125217 が解決されるまで、Native AOT 実行時のテスト失敗を抑制します。 @@ -89,7 +89,7 @@ public static int TestEntryPoint() - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月05日 11:33:10(UTC) - マージ日時: 2026年03月05日 17:28:30(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 JIT コンパイラのアサーション伝播を最適化するPRです。Value Number (VN) 存在キャッシュを追加して、アサーション検索の計算量を O(n) から O(1) に削減しました。また、グローバルアサーション テーブルサイズの計算を経験的に検証された公式に変更し、メモリ効率を改善しました。 @@ -122,7 +122,7 @@ JIT コンパイラのアサーション伝播を最適化するPRです。Value - 作成者: [@agocke](https://github.com/agocke) - 作成日時: 2026年03月04日 21:54:03(UTC) - マージ日時: 2026年03月05日 22:46:26(UTC) -- ラベル: area-System.Threading +- ラベル: area-System.Threading #### 概要 PR #123921で統一されたスレッドプール セマフォの実装をリバートします。NuGetリストア パフォーマンスで10-15%の大幅な低下が確認されたため、元のプラットフォーム固有の実装(Windows: IO Completion Ports、Unix: WaitSubsystem)に戻します。futexベースのスレッド ブロッキング インフラストラクチャ全体が削除されます。 @@ -155,7 +155,7 @@ PR #123921で統一されたスレッドプール セマフォの実装をリバ - 作成者: [@mrvoorhe](https://github.com/mrvoorhe) - 作成日時: 2026年03月04日 21:26:00(UTC) - マージ日時: 2026年03月05日 22:41:55(UTC) -- ラベル: linkable-framework community-contribution area-Tools-ILLink +- ラベル: linkable-framework community-contribution area-Tools-ILLink #### 概要 PR #120477で誤って削除されたMarkAssemblyメソッドの`virtual`修飾子を復元する変更です。Unityのリンカーカスタマイズがこのメソッドをオーバーライドする必要があるため、仮想メソッドとして再度有効化しています。 @@ -185,7 +185,7 @@ virtual void MarkAssembly(AssemblyDefinition assembly, DependencyInfo dependency - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年03月04日 20:50:00(UTC) - マージ日時: 2026年03月05日 00:36:27(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイラにおいて、ループヘッダーがtry-entryでもある場合の分割処理で、元のブロックが不要に`BBF_DONT_REMOVE`フラグでマークされたままになる問題を修正しました。このフラグが残存するとWasm CodeGenの到達不可能ブロッククリーンアップが妨げられます。修正により、try-beginブロックが更新された後、元のループヘッダーから`BBF_DONT_REMOVE`フラグを明示的にクリアします。 @@ -212,7 +212,7 @@ JITコンパイラにおいて、ループヘッダーがtry-entryでもある - 作成者: [@SingleAccretion](https://github.com/SingleAccretion) - 作成日時: 2026年03月04日 20:31:39(UTC) - マージ日時: 2026年03月05日 10:26:30(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 RyuJIT/WebAssembly (WASM) コンパイラにおいて、引数のソート機能を無効化する変更です。この変更により、コード品質(Code Quality)への影響に関する注記が Issue #121865 に追加されました。 @@ -235,7 +235,7 @@ RyuJIT/WebAssembly (WASM) コンパイラにおいて、引数のソート機能 - 作成者: [@mrvoorhe](https://github.com/mrvoorhe) - 作成日時: 2026年03月04日 18:00:13(UTC) - マージ日時: 2026年03月05日 22:32:21(UTC) -- ラベル: linkable-framework community-contribution area-Tools-ILLink +- ラベル: linkable-framework community-contribution area-Tools-ILLink #### 概要 ILLink テストにおいて、コンパイラが生成したポリフィル型(`NullableAttribute` など)がテスト検証を妨害する問題に対応しました。新しい `PrepareToVerifyAssembly` メソッドを公開し、検証前に不要な型を無視できるようにしました。これにより Unity の古いバージョンの UnityLinker でのテスト実行やルート型テストがより正確に機能するようになります。 @@ -259,7 +259,7 @@ ILLink テストにおいて、コンパイラが生成したポリフィル型 - 作成者: [@a74nh](https://github.com/a74nh) - 作成日時: 2026年03月04日 13:01:16(UTC) - マージ日時: 2026年03月05日 10:29:46(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 ARM64 SVE スカラー抽出命令(`clasta`/`clastb` および `lasta`/`lastb`)が、byte/sbyte/short/ushort などの小さな整数型の戻り値に対して、32ビット/64ビット値を返していた問題を修正します。C# APIの期待値に合わせ、結果を適切に符号拡張/ゼロ拡張するようにコード生成を調整しています。 @@ -294,7 +294,7 @@ Copilotレビューより、コメント内の説明が `byte/short` のみに - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月03日 23:59:24(UTC) - マージ日時: 2026年03月05日 11:30:18(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT コンパイラの範囲チェック最適化(RangeCheck)において、`IsMonotonicallyIncreasing` と `ComputeDoesOverflow` の 2 つの関数にビジット予算チェック(`m_nVisitBudget`ガード)を追加しました。これにより、病的なケースでの無限再帰を防止し、JIT コンパイル時間の爆発を回避します。既に `ComputeRange` に存在していたパターンと統一されました。 @@ -335,7 +335,7 @@ m_nVisitBudget--; - 作成者: [@DrewScoggins](https://github.com/DrewScoggins) - 作成日時: 2026年03月03日 23:44:51(UTC) - マージ日時: 2026年03月05日 19:07:46(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 GapFiller ツールによるパフォーマンスデータのバックフィルに対応するための新しい Azure Pipelines 定義を追加しました。プログラム的に呼び出され、特定のコミットに対するパフォーマンステストを実行し、キャッシュされたビルドの再利用をサポートします。 @@ -363,7 +363,7 @@ GapFiller ツールによるパフォーマンスデータのバックフィル - 作成者: [@SingleAccretion](https://github.com/SingleAccretion) - 作成日時: 2026年03月03日 19:23:34(UTC) - マージ日時: 2026年03月05日 18:59:52(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr community-contribution +- ラベル: arch-wasm area-CodeGen-coreclr community-contribution #### 概要 このPRは、WebAssembly(WASM)ターゲット向けのJIT stackifierを改善し、必要に応じて一時変数を挿入できるようにしたものです。stackifierを単一ブロックウォークから完全なブロック走査に変更することで、より詳細な状態管理を実現し、スタック値のより正確な処理が可能になります。 @@ -389,7 +389,7 @@ PR#125073に依存しています。 - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年03月03日 14:22:49(UTC) - マージ日時: 2026年03月05日 09:19:21(UTC) -- ラベル: arch-wasm area-Infrastructure-coreclr +- ラベル: arch-wasm area-Infrastructure-coreclr #### 概要 このPRは、WASM単一スレッド環境を含むマルチスレッドをサポートしないプラットフォームで実行されるべきではないテストを条件付きでスキップするように、CoreCLRブラウザ/スレッドテストを更新しています。`PlatformDetection.IsMultithreadingSupported`を使用してテストをゲート化し、必要に応じて`TestLibrary`を組み込んでいます。 @@ -434,7 +434,7 @@ public void TestMethod() { } - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年03月03日 13:43:09(UTC) - マージ日時: 2026年03月05日 11:20:05(UTC) -- ラベル: area-GC-mono +- ラベル: area-GC-mono #### 概要 SGen(Mono のガベージコレクタ)のカードテーブルスキャン処理における重大なバグを修正しました。オブジェクト開始アドレスがカード境界にアライン されていない場合に、複数カードにまたがるLOS(Large Object Space)の非配列オブジェクトをスキャンするときに、後続のカードがスキップされていた問題を解決します。 @@ -462,7 +462,7 @@ SGen(Mono のガベージコレクタ)のカードテーブルスキャン - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月02日 02:03:03(UTC) - マージ日時: 2026年03月05日 02:40:37(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 dotnet/dotnetのVMR(Virtual Monolithic Repository)から定期的に同期された自動更新PRです。Roslyn、NuGet、System.Text.Jsonなど複数の主要コンポーネントの依存関係を2026年3月2日のビルドに更新します。このコードフロー更新により、コンパイラツールチェーンとビルドインフラが最新の状態に保たれます。 @@ -496,7 +496,7 @@ dotnet/dotnetのVMR(Virtual Monolithic Repository)から定期的に同期 - 作成者: [@noahfalk](https://github.com/noahfalk) - 作成日時: 2026年03月02日 00:06:31(UTC) - マージ日時: 2026年03月05日 09:35:42(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC RuntimeInfo契約に新しい推奨読者バージョンアドバイザリーメカニズムが追加されました。ランタイムがダイアグnosticsツール更新の推奨が必要な変更を行う際、`CDAC_RECOMMENDED_READER_VERSION`定数をインクリメントすることで、ツール開発者が更新の必要性を判断できるようになります。 @@ -536,7 +536,7 @@ if (runtimeInfo.RecommendedReaderVersion > tool.CurrentReaderVersion) - 作成者: [@GrabYourPitchforks](https://github.com/GrabYourPitchforks) - 作成日時: 2026年02月28日 21:01:09(UTC) - マージ日時: 2026年03月05日 00:46:31(UTC) -- ラベル: area-Meta +- ラベル: area-Meta #### 概要 dotnet/runtimeリポジトリにおいて、CodeQL解析ツールの危険な逆シリアライズルール関連のアラートを除外する設定を追加しました。この変更により、内部作業項目データベースで約470件のアラートが静かになります。 @@ -563,7 +563,7 @@ dotnet/runtimeリポジトリにおいて、CodeQL解析ツールの危険な逆 - 作成者: [@barosiak](https://github.com/barosiak) - 作成日時: 2026年02月28日 01:04:23(UTC) - マージ日時: 2026年03月05日 20:15:12(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Compact Data Access Contract)において、`IXCLRDataTask`インターフェースに`GetCurrentAppDomain`メソッドを実装しました。このメソッドにより、タスク(スレッド)の現在のAppDomainを取得できるようになります。デバッグおよび診断ツールがランタイム情報にアクセスする際に必要な機能です。 @@ -590,7 +590,7 @@ cDAC(Compact Data Access Contract)において、`IXCLRDataTask`インター - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年02月10日 21:47:59(UTC) - マージ日時: 2026年03月05日 17:55:17(UTC) -- ラベル: area-PAL-coreclr +- ラベル: area-PAL-coreclr #### 概要 `Volatile` 構造体の不要なカスタムオペレーター実装を削除し、スレッド安全性が必要な箇所で interlocked 操作を導入するリファクタリングです。主な変更は `Module::SetDebuggerInfoBits` と `Module::EnableEditAndContinue` でのレースコンディション対策、および critical section で保護されているフィールドの volatile 修飾子削除です。 diff --git a/archives/2026/03/06.md b/archives/2026/03/06.md index a20183c..955e117 100644 --- a/archives/2026/03/06.md +++ b/archives/2026/03/06.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#125258 Remove some unnecessary EventSource suppressions](#125258) 2. [#125242 Remove obsolete ILLink dependency analyzer project and references](#125242) 3. [#125239 \[RyuJit\] Remove dead code from `genCallInstruction`](#125239) @@ -27,7 +27,7 @@ - 作成者: [@agocke](https://github.com/agocke) - 作成日時: 2026年03月06日 07:29:56(UTC) - マージ日時: 2026年03月06日 18:48:31(UTC) -- ラベル: area-System.Diagnostics.Tracing +- ラベル: area-System.Diagnostics.Tracing #### 概要 `EventSource`型に付与された`DynamicallyAccessedMembersAttribute`による不要なトリム解析抑制を削除するため、マニフェスト生成や属性リフレクションのヘルパーメソッドをネストされたプライベート型`EventSourceHelpers`に移動しました。これにより、NativeAOTでの保持されるメタデータ量を削減し、抑制アノテーションの必要性を排除します。 @@ -62,7 +62,7 @@ private static class EventSourceHelpers - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月05日 22:02:52(UTC) - マージ日時: 2026年03月06日 17:17:26(UTC) -- ラベル: linkable-framework area-Tools-ILLink +- ラベル: linkable-framework area-Tools-ILLink #### 概要 このPRは、dotnet/runtimeリポジトリから未使用のILLink dependency analyzerプロジェクトを削除し、それに関連するすべてのビルド設定、ソリューション定義、ドキュメント参照をクリーンアップします。ILLinkツールセットを実装メンテナンス対象コンポーネントのみに整理するための整理PRです。 @@ -88,7 +88,7 @@ private static class EventSourceHelpers - 作成者: [@SingleAccretion](https://github.com/SingleAccretion) - 作成日時: 2026年03月05日 21:40:30(UTC) - マージ日時: 2026年03月06日 16:18:53(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 RyuJit コードジェネレータの `genCallInstruction` メソッドから不要なデッドコードを削除するリファクタリング。`gtDirectCallAddress` は lowering フェーズで既にすべての呼び出し種別に対して設定されているため、code generation フェーズで冗長なチェックと初期化コードが削除された。 @@ -117,7 +117,7 @@ RyuJit コードジェネレータの `genCallInstruction` メソッドから不 - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年03月05日 20:53:22(UTC) - マージ日時: 2026年03月06日 14:17:05(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Compact Data Access Component)のDEBUGバリデーションにおいて、cDACとレガシーDAC間のHRESULT比較を緩和します。従来は完全一致を要求していましたが、今後は両者が異なるエラーコード(負の値)を返す場合でも許容し、デバッガプロセスのクラッシュを回避します。成功コード(`S_OK`、`S_FALSE`)は引き続き完全一致を要求します。 @@ -150,7 +150,7 @@ Debug.ValidateHResult(hr, hrLocal); - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年03月05日 19:50:06(UTC) - マージ日時: 2026年03月06日 13:06:05(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイラの範囲チェック最適化における境界チェックのバグを修正しました。`(X + negativeConst) u< Y`形式の符号なし比較式で、負の定数を含む場合の推論ロジックを改善し、`X >= -negativeConst`という制約を正しく推導できるようになりました。 @@ -174,7 +174,7 @@ JITコンパイラの範囲チェック最適化における境界チェック - 作成者: [@mdh1418](https://github.com/mdh1418) - 作成日時: 2026年03月05日 18:35:56(UTC) - マージ日時: 2026年03月06日 16:05:29(UTC) -- ラベル: area-Tracing-coreclr +- ラベル: area-Tracing-coreclr #### 概要 ユーザーイベントトレーシングテストのタイムアウト値を5秒から10秒に延長し、デバッグログを追加するテスト修正です。JITストレステストレーンで実行中にタイムアウトが発生していた問題に対応しています。record-traceがどのプロセスの.NETイベントを有効化したか、またTraceeプロセスがEventSourceで待機・受信したかをログに記録することで、テスト失敗時のデバッグを改善しています。 @@ -200,7 +200,7 @@ JITコンパイラの範囲チェック最適化における境界チェック - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年03月05日 15:41:16(UTC) - マージ日時: 2026年03月06日 00:13:11(UTC) -- ラベル: area-CodeGen-coreclr runtime-async +- ラベル: area-CodeGen-coreclr runtime-async #### 概要 このPRは、`getAsyncOtherVariant` JIT-EE実装において、ペアになった非同期バリアントが存在しないメソッド(`AsyncHelpers.Await`など)に対して無効な呼び出しが発生する問題を修正します。`EnableExtraSuperPmiQueries`モードで両方のバリアントをプロアクティブにクエリする際に問題が発生していました。また、SuperPMI実装の記録処理も簡素化されています。 @@ -236,7 +236,7 @@ if (pMethodDesc->HasAsyncOtherVariant()) - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年03月05日 14:00:21(UTC) - マージ日時: 2026年03月06日 11:34:54(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイラの条件分岐フォールディング処理において、`BBJ_COND`がフォールドされた場合の`bbAssertionOut`の更新ロジックを改善しました。アサーション伝播の正確性を向上させる修正です。 @@ -259,7 +259,7 @@ JITコンパイラの条件分岐フォールディング処理において、`B - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年03月05日 11:47:52(UTC) - マージ日時: 2026年03月06日 12:48:11(UTC) -- ラベル: arch-wasm area-Infrastructure-coreclr +- ラベル: arch-wasm area-Infrastructure-coreclr #### 概要 WASM環境で`System.BadImageFormatException`により скipped されていた静的仮想メソッド(Static Virtual Methods)の3つのランタイムテストを再度有効化します。基盤となる問題(issue #124259、#124260)が修正されたため、テストが正常に動作するようになったことに伴う変更です。 @@ -285,7 +285,7 @@ WASM環境で`System.BadImageFormatException`により скipped されていた - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年03月05日 11:24:22(UTC) - マージ日時: 2026年03月06日 20:19:50(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 LSRA (Linear Scan Register Allocator) における def-use conflict の解決ロジックを改善しました。特に case 1 と case 2 の条件判定が過度に保守的だったため、`defRegConflict` と `useRegConflict` 変数の意味を正確に復元し、より効率的なレジスタ割り当てが可能になります。これにより、不要なスピリングやコピーが減少し、生成されるコードの品質が向上します。 @@ -313,7 +313,7 @@ LSRA (Linear Scan Register Allocator) における def-use conflict の解決ロ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月05日 02:50:18(UTC) - マージ日時: 2026年03月06日 11:11:29(UTC) -- ラベル: area-System.Net.Security +- ラベル: area-System.Net.Security #### 概要 管理型NTLM認証の`ProcessTargetInfo`メソッドにおいて、サーバーチャレンジに`TargetName`または`ChannelBindings` AV pairが含まれる場合、バッファスライスのオフセット指定が誤りで未使用部分(ゼロ詰め)を返していた。単一文字の修正で、正しい書き込み済み部分を返すよう改正。 @@ -351,7 +351,7 @@ return targetInfoBuffer.AsSpan(0, targetInfoOffset).ToArray(); - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年03月03日 17:21:43(UTC) - マージ日時: 2026年03月06日 17:52:46(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 COM相互運用性のためのカスタムマーシャラーをcDAC(Common Data Access Component)に追加しています。特に`DacComNullableByRef`という新しいマーシャラーを実装し、COM インターフェース パラメータの正確なマーシャリングを改善しました。複数のISOSDacInterfaceおよびIXCLRDataインターフェース実装において、パラメータ方向と型情報の定義を更新しています。 @@ -381,7 +381,7 @@ COM相互運用性のためのカスタムマーシャラーをcDAC(Common Dat - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年03月03日 04:40:05(UTC) - マージ日時: 2026年03月06日 15:34:03(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly RyuJit JITコンパイラでのアサーション失敗を修正するPRです。オーバーフロー検査、nullチェック、putargスタック処理に関する複数の問題を対処し、コンパイラの安定性向上を目指しています。 @@ -408,7 +408,7 @@ WebAssembly RyuJit JITコンパイラでのアサーション失敗を修正す - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月03日 01:31:58(UTC) - マージ日時: 2026年03月06日 17:50:45(UTC) -- ラベル: area-System.IO +- ラベル: area-System.IO #### 概要 Issue #14378が解決されたにもかかわらず、System.IO.FileSystemテストで6つのテストメソッドが`[ActiveIssue]`属性で永遠にスキップされていました。このPRでは、これらのスキップ属性を削除し、テストを再度有効化します。マウントボリュームテストはNTFSドライブでのみ実行され、not-readyドライブテストはプラットフォーム固有の条件付きスキップに変更されています。 @@ -434,7 +434,7 @@ Issue #14378(解決済み) - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年03月03日 01:08:30(UTC) - マージ日時: 2026年03月06日 03:17:01(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 インタプリタの長期保持メモリをJIT インターフェース allocation API経由で一括割り当てするように変更。collectible assemblyからのメモリリーク問題の解決を目的としています。 @@ -461,7 +461,7 @@ Issue #14378(解決済み) - 作成者: [@sethjackson](https://github.com/sethjackson) - 作成日時: 2026年03月03日 00:14:28(UTC) - マージ日時: 2026年03月06日 12:03:47(UTC) -- ラベル: area-System.Threading community-contribution os-openbsd +- ラベル: area-System.Threading community-contribution os-openbsd #### 概要 OpenBSDではクロスプロセスミューテックスに必要なPOSIX関数(`pthread_mutexattr_setrobust`、`pthread_mutexattr_setpshared`、`pthread_mutex_consistent`)がサポートされていないため、OpenBSD環境ではクロスプロセスミューテックス機能をスキップする対応を実施しました。これにより、OpenBsdでの`PlatformNotSupportedException`を適切に処理するようにしています。 @@ -485,7 +485,7 @@ OpenBSDではクロスプロセスミューテックス機能が利用できな - 作成者: [@rzikm](https://github.com/rzikm) - 作成日時: 2026年03月02日 17:50:18(UTC) - マージ日時: 2026年03月06日 07:46:10(UTC) -- ラベル: area-Infrastructure-coreclr +- ラベル: area-Infrastructure-coreclr #### 概要 クリーンビルドで`clr.runtime`をビルド時にCMakeインストール失敗する問題を修正しました。`FetchContent`を`EXCLUDE_FROM_ALL`付きの`add_subdirectory()`に置き換え、zstdのインストールルールがコンポーネントインストールに含まれるのを防ぎます。 @@ -508,7 +508,7 @@ OpenBSDではクロスプロセスミューテックス機能が利用できな - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年02月26日 18:45:57(UTC) - マージ日時: 2026年03月06日 18:13:40(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 このPRはcDAC (Common Data Access Component) の RuntimeTypeSystem コントラクトに continuation サポートを追加します。非同期 continuation 機能で動的に作成される MethodTable を識別・検証できるようになります。continuation は配列やジェネリック型と同様に特殊な MethodTable であり、基本 `Continuation` クラスを親として持つため、既存の MT→EEClass→MT 検証ラウンドトリップでは拒否されていました。 @@ -545,7 +545,7 @@ https://github.com/dotnet/runtime/pull/124780#discussion_r2860213806 - 作成者: [@steveisok](https://github.com/steveisok) - 作成日時: 2026年02月25日 12:48:35(UTC) - マージ日時: 2026年03月06日 17:25:07(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 MethodDescCallSiteを使用したネイティブからマネージド呼び出しを、UnmanagedCallersOnly属性を使用したリバースP/Invoke呼び出しに変換する優先度3の第1次変更セットです。AppDomain.RaiseExitProcessEvent、AppDomain.OnUnhandledException、RunManagedStartup、ReflectionTypeLoadException/TargetInvocationExceptionコンストラクタなど6つの呼び出しサイトが対象です。 @@ -578,7 +578,7 @@ MethodDescCallSiteを使用したネイティブからマネージド呼び出 - 作成者: [@karimsalem1](https://github.com/karimsalem1) - 作成日時: 2026年02月22日 07:50:19(UTC) - マージ日時: 2026年03月06日 08:16:11(UTC) -- ラベル: area-System.Net.Http new-api-needs-documentation community-contribution +- ラベル: area-System.Net.Http new-api-needs-documentation community-contribution #### 概要 HttpListener(Windows実装)でHTTP.sys カーネルレスポンスバッファリングを制御するopt-in `AppContext` スイッチを追加しました。有効化すると、`HttpSendHttpResponse` と `HttpSendResponseEntityBody` の呼び出しに `HTTP_SEND_RESPONSE_FLAG_BUFFER_DATA` フラグが設定されます。小バッファサイズでの応答送信時のレイテンシを最大30倍削減します。 @@ -622,7 +622,7 @@ listener.Start(); - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月18日 14:21:51(UTC) - マージ日時: 2026年03月06日 07:46:26(UTC) -- ラベル: area-System.Net +- ラベル: area-System.Net #### 概要 Windows 7のサポート終了に伴い、System.Net.Securityから Win7固有のコード経路とバージョン判定ロジックを削除するメンテナンスPRです。`IsWindowsVersionAtLeast(6, 2)`ガード、Win7関連のコメント、デッドコードを削除し、プロダクトコードとテストコード両方をクリーンアップします。 @@ -651,7 +651,7 @@ Windows 7のサポート終了に伴い、System.Net.Securityから Win7固有 - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2026年02月17日 19:00:49(UTC) - マージ日時: 2026年03月06日 19:05:37(UTC) -- ラベル: area-System.Security breaking-change +- ラベル: area-System.Security breaking-change #### 概要 RSA暗号化の`Encrypt`および`Decrypt`メソッドで`fOAEP`パラメータの使用を非推奨化するPRです。これらのメソッドは`RSACryptoServiceProvider`クラスに属し、より安全な暗号化スキームの使用を推奨するための廃止予告です。診断コード`SYSLIB0096`が追加されました。 diff --git a/archives/2026/03/07.md b/archives/2026/03/07.md index eb21de9..a78be16 100644 --- a/archives/2026/03/07.md +++ b/archives/2026/03/07.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#125286 Fix GetModule_ReturnsModule test failure on browser-wasm](#125286) 2. [#125285 Revert "Eliminate forwarder stubs by reusing method precodes for call counting indirection"](#125285) 3. [#125282 Fix interpreter async suspend DiagnosticIP calculation](#125282) @@ -13,7 +13,7 @@ - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年03月07日 00:05:26(UTC) - マージ日時: 2026年03月07日 21:12:20(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 browser-wasm環境でのテスト失敗を修正するPRです。PR #125080で追加された`else`分岐が`!HasAssemblyFiles`をNativeAOTのみの条件と想定していましたが、browser-wasmも`Assembly.Location`が空のため同じ条件を満たすことが原因でした。NativeAOTとwasm環境を別々に処理するよう条件分岐を分割し、各環境の異なる`Module.Name`の挙動に対応させています。 @@ -41,7 +41,7 @@ browser-wasm環境でのテスト失敗を修正するPRです。PR #125080で - 作成者: [@agocke](https://github.com/agocke) - 作成日時: 2026年03月07日 00:00:57(UTC) - マージ日時: 2026年03月07日 04:46:53(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 PR #124664で導入された最適化がNuGetリストア性能で12-13%の回帰を引き起こしたため、この変更を元に戻すリバートです。問題は`ThePreStub`内の`RtlEnterCriticalSection`で過度な時間が消費されていたことが原因です。この変更により、仮エントリーポイントの再利用からコール計数用の専用フォワーダースタブへ戻すことで、パフォーマンスを回復させます。 @@ -67,7 +67,7 @@ PR #124664で導入された最適化がNuGetリストア性能で12-13%の回 - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年03月06日 21:54:50(UTC) - マージ日時: 2026年03月07日 01:21:04(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 インタープリタの非同期サスペンド処理において、`DiagnosticIP`が絶対アドレスとして保存されていた問題を修正しました。`DiagnosticIP`はオフセット値として保存し、`FinalizeMethodData`時に最終的なバイトコードベースアドレスを加算することで、他のフィールド(`methodStartIP`など)と同じ方式に統一しました。これにより、Apple mobileでのAsync例外処理テストにおけるクラッシュが解決されます。 @@ -89,7 +89,7 @@ PR #124664で導入された最適化がNuGetリストア性能で12-13%の回 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月06日 21:41:37(UTC) - マージ日時: 2026年03月07日 01:24:57(UTC) -- ラベル: area-System.Text.RegularExpressions +- ラベル: area-System.Text.RegularExpressions #### 概要 正規表現の行頭アンカー(`^` with Multiline)処理で、ベクトル化された`IndexOf('\n')`により計算された位置がバッファに書き戻されていない不具合を修正しました。修正により、マルチラインパターンでのパフォーマンスが最大595倍向上しています。 @@ -122,7 +122,7 @@ PR #124664で導入された最適化がNuGetリストア性能で12-13%の回 - 作成者: [@AaronRobinsonMSFT](https://github.com/AaronRobinsonMSFT) - 作成日時: 2026年03月06日 07:52:03(UTC) - マージ日時: 2026年03月07日 05:41:53(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 `dotnet/runtime`の`HashMap`実装(`hash.cpp`)において、フルメモリバリア(`MemoryBarrier()`)を、より効率的なボラタイル操作(`VolatileLoad`/`VolatileStore`)に置き換えました。フルフェンス(ARM64の`dmb ish`、x86の`mfence`)は単方向の順序付けが必要な場合に過度にコストがかかるため、release/acquireセマンティクスを使い分けることで、キャッシュコヒーレンシを損なわずにパフォーマンスを改善します。 @@ -163,7 +163,7 @@ x86/x64では`VolatileLoad`/`VolatileStore`がコンパイラフェンスのみ - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2026年03月06日 03:20:42(UTC) - マージ日時: 2026年03月07日 02:10:33(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 `ValueAsnReader`という新しい公開API を`System.Formats.Asn1`パッケージに実装し、既存の内部用`AsnValueReader`を段階的に置き換えています。このPRは2つのコミットで構成されており、新しいAPIの実装・テストと、既存のASN関連の自動生成ファイルの更新を行っています。完全な置き換えは今後のフォローアップPRで実施予定です。 @@ -197,7 +197,7 @@ ValueAsnReader reader = new ValueAsnReader(data, AsnEncodingRules.DER); - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月27日 03:23:21(UTC) - マージ日時: 2026年03月07日 05:03:18(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Common Data Access API)の`GetCCWInterfaces` API を実装し、COM Callable Wrapper(CCW)が公開するCOMインターフェースの検査を可能にしました。レガシーDAC実装に依存せず、ランタイムデータディスクリプタから直接CCWチェーン内のインターフェースを列挙できるようになります。 @@ -235,7 +235,7 @@ public IEnumerable GetCCWInterfaces(TargetPointer ccw); - 作成者: [@bartonjs](https://github.com/bartonjs) - 作成日時: 2026年02月24日 23:08:25(UTC) - マージ日時: 2026年03月07日 00:37:54(UTC) -- ラベル: area-System.IO.Hashing +- ラベル: area-System.IO.Hashing #### 概要 System.IO.Hashing内のCRC-32およびCRC-64の計算処理をベクトル化することで、パフォーマンスを向上させました。UpdateVectorizedで128ビット単位のデータを処理し、残りをUpdateScalarで処理する2段階アプローチを採用。カスタムポリノミアル対応のテストケースも追加されています。 diff --git a/archives/2026/03/08.md b/archives/2026/03/08.md index 8545164..bd63ec7 100644 --- a/archives/2026/03/08.md +++ b/archives/2026/03/08.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#125271 Issue 125270](#125271) 2. [#124429 Add missing Invalidate\(\) calls to FileInfo state-changing methods](#124429) 3. [#123348 Fix interpreting baud rate bitmask as decimal value](#123348) @@ -9,7 +9,7 @@ - 作成者: [@rogerbriggen](https://github.com/rogerbriggen) - 作成日時: 2026年03月06日 14:27:56(UTC) - マージ日時: 2026年03月08日 15:16:31(UTC) -- ラベル: area-Meta community-contribution +- ラベル: area-Meta community-contribution #### 概要 ASP.NET ライセンス情報の更新。THIRD-PARTY-NOTICES.TXT ファイルにおいて、ASP.NET に関連するライセンス表記を修正しました。 @@ -34,7 +34,7 @@ Issue #125270 - 作成者: [@lufen](https://github.com/lufen) - 作成日時: 2026年02月14日 20:22:19(UTC) - マージ日時: 2026年03月08日 21:36:23(UTC) -- ラベル: area-System.IO community-contribution +- ラベル: area-System.IO community-contribution #### 概要 FileInfo のファイルシステム状態を変更するメソッド(Open、Replace、Encrypt、Decrypt、CreateAsHardLink など)に対して、キャッシュされたプロパティ(Exists、Length、タイムスタンプ)を無効化する `Invalidate()` 呼び出しを追加しました。これにより、ファイルシステムの変更後にこれらのプロパティが次のアクセス時に正しく更新されるようになります。既に正しく動作している Create()、Delete()、MoveTo() と同じパターンに統一します。 @@ -64,7 +64,7 @@ FileInfo のファイルシステム状態を変更するメソッド(Open、R - 作成者: [@mrek-msft](https://github.com/mrek-msft) - 作成日時: 2026年01月19日 13:20:52(UTC) - マージ日時: 2026年03月08日 21:11:59(UTC) -- ラベル: community-contribution area-System.IO.Ports +- ラベル: community-contribution area-System.IO.Ports #### 概要 Windows シリアルポートドライバから取得するボーレート最大値(dwMaxBaud)が、ビットマスク形式ではなく10進数値で返されるケースに対応しました。Silicon Labs USB to UART コンバータなどのドライバが10進数を返す場合、従来は検証エラーが発生していました。新しいヘルパーメソッド `ConvertMaxBaudBitMaskToBaudRate` を追加し、ビットマスクと10進数の両形式に対応するようになりました。 @@ -89,7 +89,7 @@ Windows シリアルポートドライバから取得するボーレート最大 - 作成者: [@koszeggy](https://github.com/koszeggy) - 作成日時: 2024年09月04日 19:12:41(UTC) - マージ日時: 2026年03月08日 21:38:17(UTC) -- ラベル: area-System.IO community-contribution +- ラベル: area-System.IO community-contribution #### 概要 .NET 6.0で導入された`BinaryWriter.Write(string)`の最適化により、派生クラスの仮想メソッド呼び出しがバイパスされる問題を修正しています。短いUTF-8文字列の最適化時に`GetType() == typeof(BinaryWriter)`チェックを追加し、派生クラスでのメソッドディスパッチを確保します。 diff --git a/archives/2026/03/09.md b/archives/2026/03/09.md index e4358bb..7c717c5 100644 --- a/archives/2026/03/09.md +++ b/archives/2026/03/09.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#125340 Revert "Bump serialize-javascript and @rollup/plugin-terser in /src/native"](#125340) 2. [#125320 Stop ilasm from printing warnings when -ERR option is specified](#125320) 3. [#125310 Ensure DAC volatile globals included in mini dump](#125310) @@ -28,7 +28,7 @@ - 作成者: [@akoeplinger](https://github.com/akoeplinger) - 作成日時: 2026年03月09日 17:15:53(UTC) - マージ日時: 2026年03月09日 17:17:19(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 PR #125230で行われた`serialize-javascript`と`@rollup/plugin-terser`の依存関係バージョンアップをリバートするPRです。新しいバージョンではNode.jsの`crypto`グローバルオブジェクトが必須となり、CI環境でのビルド失敗(`ReferenceError: crypto is not defined`)が発生していました。このリバートにより、以前の安定したバージョンに戻して問題を解決します。 @@ -51,7 +51,7 @@ PR #125230で行われた`serialize-javascript`と`@rollup/plugin-terser`の依 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月09日 06:24:04(UTC) - マージ日時: 2026年03月09日 17:45:39(UTC) -- ラベル: area-ILTools-coreclr +- ラベル: area-ILTools-coreclr #### 概要 ilasm(IL Assembler)の `-ERR` オプション(エラー許容モード)で、不要な警告出力を抑制する変更。このモードは意図的に無効なILを生成するテスト時に使用されますが、警告が出力されてビルドスクリプトのパイプラインを汚染する問題を解決します。 @@ -75,7 +75,7 @@ ilasm(IL Assembler)の `-ERR` オプション(エラー許容モード) - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年03月08日 16:57:27(UTC) - マージ日時: 2026年03月09日 02:43:26(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 DAC(Debug Access Component)のボラタイル グローバル変数(`DEFINE_DACVAR_VOLATILE`で宣言)がミニダンプに確実に含まれるよう修正しました。非ボラタイル グローバルDACVAR と同じく `EnumMemCLRStatic` 経由で包含されるようになり、`g_pContinuationClassIfSubTypeCreated` などcDAC向けの重要なグローバル変数がダンプに含まれるようになります。 @@ -100,7 +100,7 @@ DAC(Debug Access Component)のボラタイル グローバル変数(`DEFIN - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月08日 15:12:35(UTC) - マージ日時: 2026年03月09日 17:24:50(UTC) -- ラベル: area-Meta +- ラベル: area-Meta #### 概要 .NETランタイム全体で散在する「遅延初期化キャッシュbool」パターンを統合し、共有の`NullableBool : sbyte`列挙型を導入するリファクタリングです。複数ライブラリの`volatile int`/`volatile sbyte`を使った非標準の三値状態パターンと`TextInfo`の私有`Tristate`列挙型を置き換え、コード一貫性を向上させます。 @@ -146,7 +146,7 @@ internal enum NullableBool : sbyte - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年03月07日 16:41:25(UTC) - マージ日時: 2026年03月09日 14:41:20(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイラのflowgraph.cppファイルを対象とした、コメント整備とコード冗長性の削除作業です。複数の関数のヘッダーコメントを統一フォーマットで追加・更新し、タイポ修正とコード品質の向上を実施しています。パフォーマンスに直結する変更はありませんが、保守性の向上を目指しています。 @@ -173,7 +173,7 @@ JITコンパイラのflowgraph.cppファイルを対象とした、コメント - 作成者: [@kg](https://github.com/kg) - 作成日時: 2026年03月06日 21:39:25(UTC) - マージ日時: 2026年03月09日 21:06:50(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly RyuJIT コンパイラで、TYP_STRUCT 戻り値の型情報が消去されたケースに対応する修正。構造体型の戻り値がローカル変数に書き込まれる際の型情報管理の問題を解決します。 @@ -201,7 +201,7 @@ WebAssembly RyuJIT コンパイラで、TYP_STRUCT 戻り値の型情報が消 - 作成者: [@kg](https://github.com/kg) - 作成日時: 2026年03月06日 20:30:44(UTC) - マージ日時: 2026年03月09日 16:38:23(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly (Wasm) RyuJIT コンパイラにおいて、小さな構造体(struct)がWasm プリミティブとして渡される際に、不正にサイズが拡大される問題を修正しました。この修正により、構造体の分類(classifier)ロジックが正確に動作し、パラメータ渡しの最適化が改善されます。 @@ -228,7 +228,7 @@ WebAssembly (Wasm) RyuJIT コンパイラにおいて、小さな構造体(str - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年03月06日 12:46:05(UTC) - マージ日時: 2026年03月09日 11:27:42(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 ランタイム非同期関数におけるTier0 Partial Compilation(部分コンパイル)を禁止する変更です。部分コンパイルがIR(中間表現)を削除することで、ランタイム非同期関数の生存期間分析(liveness analysis)が不正確になり、OSR(On-Stack Replacement)遷移後に必要な変数をキャプチャできなくなる問題を修正します。 @@ -255,7 +255,7 @@ WebAssembly (Wasm) RyuJIT コンパイラにおいて、小さな構造体(str - 作成者: [@ManickaP](https://github.com/ManickaP) - 作成日時: 2026年03月06日 09:05:07(UTC) - マージ日時: 2026年03月09日 15:23:14(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 WinHttpHandler の `Manual_CertificateOnlySentWhenValid_Success` テストを再度有効化するPRです。以前は issue #69238 で報告されたクライアント証明書送信時の断続的な失敗(WINHTTP_CALLBACK_STATUS_REQUEST_ERROR)を回避するため、スキップされていました。作成者が 20 回連続実行で 0 失敗を確認したため、skip ガードを削除してテストを復活させます。 @@ -285,7 +285,7 @@ WinHttpHandler の `Manual_CertificateOnlySentWhenValid_Success` テストを再 - 作成者: [@ManickaP](https://github.com/ManickaP) - 作成日時: 2026年03月06日 09:04:57(UTC) - マージ日時: 2026年03月09日 14:32:07(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 WinHttpHandler の HTTP/2 クッキー機能テスト (`PlatformHandlerTest_Cookies_Http2`) を再度有効化するPRです。以前は `#if !WINHTTPHANDLER_TEST` プリプロセッサガードで無効化されていましたが、このガードを削除して全プラットフォームハンドラーに統一したテストカバレッジを実現します。20回の連続実行で全テストが成功し、フレーキネス(不安定性)は観測されていません。 @@ -313,7 +313,7 @@ dotnet/runtime#33930 - 作成者: [@dependabot[bot]](https://github.com/apps/dependabot) - 作成日時: 2026年03月05日 17:50:59(UTC) - マージ日時: 2026年03月09日 15:47:38(UTC) -- ラベル: area-codeflow javascript dependencies +- ラベル: area-codeflow javascript dependencies #### 概要 dotnet/runtimeの`/src/native`ディレクトリに含まれるNode.jsの依存関係を更新するPRです。`serialize-javascript`を6.0.2から7.0.4に、`@rollup/plugin-terser`を0.4.4から1.0.0にアップグレードします。これらの依存関係は相互に関連しているため、一緒に更新する必要があります。 @@ -345,7 +345,7 @@ dotnet/runtimeの`/src/native`ディレクトリに含まれるNode.jsの依存 - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年03月05日 04:20:58(UTC) - マージ日時: 2026年03月09日 00:28:40(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 このPRはNativeAOTの型システムにおけるDefault Interface Method (DIM)解決とstatic virtual メソッドディスパッチをC++ランタイム実装に合わせるリファクタリングです。static virtualメソッドのリファレンス型での処理バグを修正し、ILC Scannerのクラッシュを解決します。 @@ -392,7 +392,7 @@ class Impl : IStatic - 作成者: [@dhartglassMSFT](https://github.com/dhartglassMSFT) - 作成日時: 2026年03月04日 02:14:15(UTC) - マージ日時: 2026年03月09日 20:21:22(UTC) -- ラベル: area-System.Runtime.Intrinsics +- ラベル: area-System.Runtime.Intrinsics #### 概要 ARM64 SVE2アーキテクチャ向けの`Match`および`NoMatch`イントリンシクを追加しました。これらは3つのベクトルパラメータ(マスク、左、右)を受け取り、条件付きで値を選択する操作です。対応型はsbyte、short、byte、ushortです。 @@ -423,7 +423,7 @@ public static unsafe Vector NoMatch(Vector mask, Vector left, Vector - 作成者: [@kg](https://github.com/kg) - 作成日時: 2026年03月03日 23:12:32(UTC) - マージ日時: 2026年03月09日 20:38:59(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly (Wasm) RyuJIT コンパイラで正しいコール署名を生成することにより、有効なモジュール生成をサポートします。これにより、GC Write Barrier ヘルパーなどの関数呼び出しに対して、正確な型情報を含む `call_indirect` 命令が生成されるようになります。 @@ -451,7 +451,7 @@ WebAssembly (Wasm) RyuJIT コンパイラで正しいコール署名を生成す - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年03月03日 18:05:07(UTC) - マージ日時: 2026年03月09日 22:25:29(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイラの`stfld`(構造体フィールドストア)命令処理において、評価順序のバグを修正するPRです。従来は`obj -> nullcheck(obj) -> data -> store`の順序で評価されていましたが、正しくは`obj -> data -> nullcheck(obj) -> store`である必要があります。本修正では、(1)単純なフィールドアドレスの早期展開と、(2)必要に応じてデータノードのスピル処理を導入することで、評価順序を正しく保証します。 @@ -486,7 +486,7 @@ obj -> data -> nullcheck(obj) -> store - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年03月03日 17:58:12(UTC) - マージ日時: 2026年03月09日 07:51:58(UTC) -- ラベル: arch-wasm area-CodeGen-Interpreter-coreclr +- ラベル: arch-wasm area-CodeGen-Interpreter-coreclr #### 概要 WebAssembly環境でのインタープリタにおいて、オープン仮想デリゲートをインターフェースメソッド経由で呼び出す際のクラッシュを修正しました。インタープリタコードが未コンパイルの場合、fallback pathが不正なエントリーポイントをNonVirtualEntry2MethodDescに渡していたため、IsValid()アサーションで失敗していました。修正により、解決されたメソッドをDoPrestubで事前コンパイルしてからインタープリタコード確認を行うようにしました。 @@ -512,7 +512,7 @@ WebAssembly環境でのインタープリタにおいて、オープン仮想デ - 作成者: [@rzikm](https://github.com/rzikm) - 作成日時: 2026年03月02日 13:32:08(UTC) - マージ日時: 2026年03月09日 09:12:43(UTC) -- ラベル: area-System.Net.Security breaking-change needs-breaking-change-doc-created +- ラベル: area-System.Net.Security breaking-change needs-breaking-change-doc-created #### 概要 TLS ハンドシェイク時にサーバー側の SslStream インスタンスで Authority Information Access (AIA) 拡張を使用した中間証明書の自動ダウンロードをデフォルトで無効化する変更です。これにより、パフォーマンス低下と、クライアント指定エンドポイントへのアウトバウンド HTTP GET リクエストによるセキュリティリスクを軽減します。ユーザーが `X509ChainPolicy` を明示的に指定している場合は影響を受けません。 @@ -559,7 +559,7 @@ var chainPolicy = new X509ChainPolicy - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年03月01日 00:11:13(UTC) - マージ日時: 2026年03月09日 18:53:15(UTC) -- ラベル: arch-wasm area-Infrastructure-mono +- ラベル: arch-wasm area-Infrastructure-mono #### 概要 Chrome for Testingのバージョンをアップデートしました。Linuxを145.0.7632.116に、Windowsを146.0.7680.31にバンプしています。また、Wasmテンプレートテストのベースクラスにテスト用コードが追加されました。 @@ -585,7 +585,7 @@ Chrome for Testingのバージョンをアップデートしました。Linuxを - 作成者: [@cincuranet](https://github.com/cincuranet) - 作成日時: 2026年02月27日 12:26:01(UTC) - マージ日時: 2026年03月09日 10:10:14(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 `MultipartContent`クラスのコンストラクタで境界デリミタ文字列(`_startBoundary`と`_endBoundary`)をプリコンピュートしてキャッシュすることで、`SerializeToStream`、`SerializeToStreamAsync`、`CreateContentReadStream`の呼び出し時における繰り返しの文字列連結を回避します。また、`SerializeHeadersToStream`での書き込み呼び出しを3回から2回に削減します。 @@ -616,7 +616,7 @@ Chrome for Testingのバージョンをアップデートしました。Linuxを - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月24日 20:24:35(UTC) - マージ日時: 2026年03月09日 20:03:04(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 このPRは、マネージドcDACで`ISOSDacInterface13.GetLoaderAllocatorHeapNames`と`ISOSDacInterface13.GetLoaderAllocatorHeaps`を実装し、レガシーDAC委譲スタブを置き換えます。LoaderAllocatorとVirtualCallStubManagerのヒープ情報をネイティブデータディスクリプタから取得し、ディクショナリ形式で提供する機能です。診断ツールがランタイムのメモリ管理情報にアクセスするための重要な実装となります。 @@ -656,7 +656,7 @@ Chrome for Testingのバージョンをアップデートしました。Linuxを - 作成者: [@Ruihan-Yin](https://github.com/Ruihan-Yin) - 作成日時: 2026年02月19日 23:21:28(UTC) - マージ日時: 2026年03月09日 20:34:21(UTC) -- ラベル: area-Infrastructure community-contribution +- ラベル: area-Infrastructure community-contribution #### 概要 Intel APX(Advanced Performance Extensions)命令セットの新しいCPUID判定ロジックを更新するPRです。Intel仕様書に記載された新たなAPX関連のCPUID ビット(`APX_NDD_NCI_NF`)を追加しています。ただし、このPRはCPUID ビットの導入のみで、JITの最適化動作に変更はなく、既存の`APX_F`ビットが設定されていれば全機能が利用可能です。 @@ -682,7 +682,7 @@ Intel APX(Advanced Performance Extensions)命令セットの新しいCPUID - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月18日 17:06:22(UTC) - マージ日時: 2026年03月09日 14:00:07(UTC) -- ラベル: area-System.IO +- ラベル: area-System.IO #### 概要 `System.IO.FileHandleType` 列挙型と `SafeFileHandle.Type` プロパティを追加し、ファイルハンドルの種別(通常ファイル、パイプ、ソケット、キャラクターデバイス、ディレクトリ、シンボリックリンク、ブロックデバイス)を効率的に実行時に検出できるようにします。ハンドルの生存期間中に1回の syscall でキャッシュされるため、繰り返しのネイティブクエリが不要になります。 @@ -726,7 +726,7 @@ Issue #122806(API提案前の実現可能性検証) - 作成者: [@ylpoonlg](https://github.com/ylpoonlg) - 作成日時: 2025年12月17日 10:37:22(UTC) - マージ日時: 2026年03月09日 14:44:58(UTC) -- ラベル: area-System.Runtime.Intrinsics community-contribution +- ラベル: area-System.Runtime.Intrinsics community-contribution #### 概要 Arm64 SVE2アーキテクチャ向けの新しいカウント系インストリクション「`CountMatchingElements`」と「`CountMatchingElementsIn128BitSegments`」を実装しました。これらのAPI(HISTCNT/HISTSEG命令に対応)により、ベクトル要素の条件マッチングとカウント処理が効率化されます。また、マスク付きターナリオペレーションテストテンプレートを改善し、異なる型サイズの演算をサポートするよう修正しました。 diff --git a/archives/2026/03/10.md b/archives/2026/03/10.md index 1c68d33..cf79c94 100644 --- a/archives/2026/03/10.md +++ b/archives/2026/03/10.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#125398 \[Wasm RyuJIT\] Move genHomeRegisterParams' output out of the prolog](#125398) 2. [#125390 \[main\] Update dependencies from dotnet/icu, dotnet/runtime-assets](#125390) 3. [#125380 Run CI for all copilot/*.* PRs](#125380) @@ -28,7 +28,7 @@ - 作成者: [@kg](https://github.com/kg) - 作成日時: 2026年03月10日 19:02:28(UTC) - マージ日時: 2026年03月10日 23:54:23(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly RyuJIT でのレジスタパラメータの初期化コード生成をプロローグから最初の基本ブロックに移行する変更です。プロローグは単一の命令グループに制限されているため、WebAssembly では大量のコードが必要になる場合があり、その対応として Swift 構造体と同様の処理方式に変更しました。同時に未初期化の insGroup メンバーのバグも修正しています。 @@ -54,7 +54,7 @@ WebAssembly RyuJIT でのレジスタパラメータの初期化コード生成 - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月10日 15:56:43(UTC) - マージ日時: 2026年03月10日 20:00:37(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 このPRは、dotnet/runtime-assetsとdotnet/icuリポジトリからの依存関係を自動更新します。runtime-assetsは16個のテストデータおよびランタイムデータパッケージを11.0.0-beta.26071.1から11.0.0-beta.26159.1へ、ICUランタイムは11.0.0-alpha.1.26063.1から11.0.0-alpha.1.26128.1へ更新します。これらは主にテストデータやICU言語処理ライブラリの定期的な依存関係更新です。 @@ -86,7 +86,7 @@ WebAssembly RyuJIT でのレジスタパラメータの初期化コード生成 - 作成者: [@adamsitnik](https://github.com/adamsitnik) - 作成日時: 2026年03月10日 12:36:32(UTC) - マージ日時: 2026年03月10日 16:32:06(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 CI/CD パイプラインの設定を変更し、`copilot/*.*` ブランチをターゲットとするPull Requestに対してもCI実行を有効化します。これにより、GitHub Copilotを使用した分割作業における依存PRでも、マージ前にコンパイルと動作確認のフィードバックが得られるようになります。 @@ -107,7 +107,7 @@ CI/CD パイプラインの設定を変更し、`copilot/*.*` ブランチをタ - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年03月10日 12:14:03(UTC) - マージ日時: 2026年03月10日 16:49:29(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 OSR(On-Stack Replacement)JITコンパイル中に、`MonitorAcquired`やasync contextなどの特殊なOSRローカル変数がenregistered(レジスタに割り当て)された場合、tier0スタックオフセットの計算時にpatchpointのオフセットテーブルを不正にアクセスしていた。新たに`Compiler::lvaOSRLocalTier0FrameOffset`ヘルパーメソッドを導入して、特殊なOSRローカル変数を含めたtier0フレームオフセットの検索を一元化し、out-of-bounds読み取りを防止している。 @@ -131,7 +131,7 @@ Fix #125255(regression from #121672) - 作成者: [@cincuranet](https://github.com/cincuranet) - 作成日時: 2026年03月10日 09:40:11(UTC) - マージ日時: 2026年03月10日 13:24:27(UTC) -- ラベル: area-Extensions-DependencyInjection +- ラベル: area-Extensions-DependencyInjection #### 概要 `ServiceProvider.DisposeAsync` メソッドのドキュメンテーション(XML コメント)を改善する変更です。Issue #124419 に対応した documentation のみの更新となります。 @@ -155,7 +155,7 @@ Fix #125255(regression from #121672) - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月10日 04:01:58(UTC) - マージ日時: 2026年03月10日 23:58:39(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 このPRは、JIT コンパイラの `GT_LCLHEAP`(localloc命令)ノードの例外処理を簡素化するものです。従来は例外フラグ `GTF_EXCEPT` により自動的に例外を発生させる可能性があるものとして扱われていましたが、この変更により例外フラグの特別扱いを廃止し、明示的な例外処理のみに統一しました。また、使用されなくなった `StackOverflowException` フラグを削除しています。 @@ -190,7 +190,7 @@ Fix #125255(regression from #121672) - 作成者: [@Pietrodjaowjao](https://github.com/Pietrodjaowjao) - 作成日時: 2026年03月10日 03:28:47(UTC) - マージ日時: 2026年03月10日 16:00:15(UTC) -- ラベル: area-PAL-coreclr community-contribution +- ラベル: area-PAL-coreclr community-contribution #### 概要 Android 13とカスタマイズされたカーネル5.10を搭載するデバイスで、PALスレッド初期化時の`sched_setaffinity`呼び出しが`EPERM`エラーで失敗し、`coreclr_initialize`が`0x8007054F`エラーを返して初期化に失敗する問題を修正しました。`EPERM`と`EACCES`エラーを非致命的なものとして扱い、警告をログして処理を続行するようにしました。 @@ -221,7 +221,7 @@ Android 13とカスタマイズされたカーネル5.10を搭載するデバイ - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2026年03月09日 20:23:40(UTC) - マージ日時: 2026年03月10日 02:07:05(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 ASN.1パース処理でヒープ割り当てを削減するため、複数の箇所で`AsnReader`を`ValueAsnReader`(スタックのみ)に置き換えました。X.509証明書、PKCS、ECC/RSA鍵形式パースなど、暗号スタック全体で7つのファイルを更新し、スパン型APIの活用によりメモリ効率を改善しています。 @@ -255,7 +255,7 @@ ASN.1パース処理でヒープ割り当てを削減するため、複数の箇 - 作成者: [@mdh1418](https://github.com/mdh1418) - 作成日時: 2026年03月09日 20:19:20(UTC) - マージ日時: 2026年03月10日 15:01:46(UTC) -- ラベル: area-Tracing-coreclr +- ラベル: area-Tracing-coreclr #### 概要 ユーザーイベント追跡テストの競合状態を修正し、診断機能を強化しました。ARM64 CI環境で record-trace のスタートアップに1845msかかる問題に対応し、固定の300ms遅延を「Recording started」メッセージの監視に置き換えました。 @@ -286,7 +286,7 @@ https://github.com/dotnet/runtime/issues/123442 - 作成者: [@rzikm](https://github.com/rzikm) - 作成日時: 2026年03月09日 18:20:53(UTC) - マージ日時: 2026年03月10日 12:08:29(UTC) -- ラベル: area-System.Formats.Tar +- ラベル: area-System.Formats.Tar #### 概要 TarReaderでPAX形式のtarballを読み込む際、USTAR prefix fieldが正しく読み込まれていないバグを修正しました。macOS bsdtarが生成する長いシンボリックリンク対象を含むtarballで、ディレクトリプレフィックスが削除されていた問題を解決します。PAX形式はUSTARを拡張しており、同じヘッダレイアウト(prefixフィールド含む)を使用するため、PAX拡張属性ヘッダの後続エントリもReadUstarAttributesを呼び出す必要がありました。 @@ -331,7 +331,7 @@ PAX拡張属性エントリが先行する場合、形式がPAXに強制され - 作成者: [@kg](https://github.com/kg) - 作成日時: 2026年03月09日 17:45:24(UTC) - マージ日時: 2026年03月10日 20:39:34(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly (WASM) ターゲットにおいて、マルチレジスタ構造体戻り値に対するJITコンパイラのアサーション検証をスキップする修正です。WASMはABI上マルチレジスタ戻り値をサポートしていないため、ターゲット固有の処理分岐を追加しました。 @@ -355,7 +355,7 @@ WebAssembly (WASM) ターゲットにおいて、マルチレジスタ構造体 - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年03月09日 13:39:29(UTC) - マージ日時: 2026年03月10日 11:13:54(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 `mulx` (AVX2 `MultiplyNoFlags`) 命令の LSRA レジスタ割り当て処理を修正しました。`mulx` は第1オペランドが `edx` に固定されていますが、codegen での移動命令の挿入を考慮して、第2オペランドが `edx` に割り当てられないよう制約を追加しました。これにより LSRA の理想化されたロケーションモデルと実際の codegen の動作を同期させます。 @@ -385,7 +385,7 @@ WebAssembly (WASM) ターゲットにおいて、マルチレジスタ構造体 - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年03月09日 09:02:24(UTC) - マージ日時: 2026年03月10日 13:26:03(UTC) -- ラベル: arch-wasm area-Infrastructure-coreclr +- ラベル: arch-wasm area-Infrastructure-coreclr #### 概要 WebAssembly上で動作するcorerunをブラウザ環境で再度実行できるようにするための修正です。ES6モジュール形式(`-sEXPORT_ES6=1 -sMODULARIZE=1`)でビルドされたcorerun.jsがブラウザで正常に動作するよう、HTMLローダー、モジュールスコープの変数シャドウイング、Emscriptenのモジュール依存関係管理を修正しました。 @@ -416,7 +416,7 @@ WebAssembly上で動作するcorerunをブラウザ環境で再度実行でき - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年03月09日 04:13:28(UTC) - マージ日時: 2026年03月10日 16:17:34(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 .NET ランタイムのデバッグ機能を強化するため、`_tls_index` グローバルポインタを DACVARS(Debug-Aware Compiler Variables)に追加するパッチです。これにより、ミニダンプおよびヒープダンプのシナリオで `_tls_index` が正しく取得されるようになります。 @@ -437,7 +437,7 @@ DACVARS は Debug-Aware Compiler Variables の略で、ダンパー(dumper) - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年03月09日 02:28:40(UTC) - マージ日時: 2026年03月10日 03:27:36(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 CoreCLRのAOT編集ツール(ilcとcrossgen2)のビルド構成を簡潔化し、条件付きのWindows-only NativeAOT公開パスを削除して、常にシングルファイルとして公開するように統一しました。これにより、`clr.tools`ビルド時の冗長なAOT編集を回避します。 @@ -466,7 +466,7 @@ CoreCLRのAOT編集ツール(ilcとcrossgen2)のビルド構成を簡潔化 - 作成者: [@DoctorKrolic](https://github.com/DoctorKrolic) - 作成日時: 2026年03月08日 15:31:27(UTC) - マージ日時: 2026年03月10日 21:18:07(UTC) -- ラベル: area-System.Runtime.InteropServices community-contribution +- ラベル: area-System.Runtime.InteropServices community-contribution #### 概要 このPRは、COM クラス生成時の診断報告責任を `ComClassGenerator` から専用の Roslyn アナライザー `ComClassGeneratorDiagnosticsAnalyzer` に分離するリファクタリングです。ジェネレータは純粋なコード生成に専念し、診断報告はアナライザーインフラストラクチャ経由で行われるようになりました。これにより関心の分離が改善され、ジェネレータの責務が単純化されます。 @@ -502,7 +502,7 @@ public static ComClassInfo? TryGetFrom(...) - 作成者: [@kg](https://github.com/kg) - 作成日時: 2026年03月06日 22:44:45(UTC) - マージ日時: 2026年03月10日 18:30:38(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 RyuJIT JITコンパイラに対して、Portable Entry Points(ポータブルエントリポイント)用の新しいJITフラグを追加し、Browser向けコンパイルではデフォルトで有効にする変更です。これにより、WebAssemblyなどのブラウザ環境でのコンパイル最適化が改善されます。 @@ -531,7 +531,7 @@ Browser環境(特にWebAssembly)でのコンパイル時にポータブル - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年03月05日 22:15:16(UTC) - マージ日時: 2026年03月10日 02:41:06(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 このPRは、.NET Runtimeの初期バージョニングおよびティアリングルールの仕組みを大幅に簡素化したものです。呼び出し数カウント機構の無効化ステージを廃止し、JIT時の動的ロジックからEEConfig同期時の静的決定へ最適化ティアの決定を移行させることで、コード複雑性を削減しながら同等の機能を実現しています。 @@ -565,7 +565,7 @@ TieredCompilation_DefaultTier = ComputeDefaultOptimizationTier(); - 作成者: [@ilonatommy](https://github.com/ilonatommy) - 作成日時: 2026年03月04日 13:46:50(UTC) - マージ日時: 2026年03月10日 16:33:21(UTC) -- ラベル: arch-wasm area-Infrastructure-coreclr os-browser +- ラベル: arch-wasm area-Infrastructure-coreclr os-browser #### 概要 CoreCLR WASM ローダーのライブラリ初期化機能に関する複数の問題を修正しました。ローダーが `onRuntimeConfigLoaded` と `onRuntimeReady` コールバックに適切な引数を渡せていなかったほか、エラーハンドリングの問題を解決しています。テストの有効化と CoreCLR 専用テストケースの追加も含まれます。 @@ -596,7 +596,7 @@ CoreCLR WASM ローダーのライブラリ初期化機能に関する複数の - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年02月22日 20:30:11(UTC) - マージ日時: 2026年03月10日 10:41:50(UTC) -- ラベル: arch-wasm area-VM-coreclr +- ラベル: arch-wasm area-VM-coreclr #### 概要 WebAssembly(wasm)環境におけるリバースサンク(JavaScript→マネージドコード呼び出し)のルックアップ機構を改善。トークンベースのプライマリキーを削除することで、cg2がヘルパー生成を引き継ぐ前のヘルパー更新の頻度を削減。衝突検出機構とログ機能を追加。 @@ -625,7 +625,7 @@ WebAssembly(wasm)環境におけるリバースサンク(JavaScript→マ - 作成者: [@lufen](https://github.com/lufen) - 作成日時: 2026年02月14日 18:26:12(UTC) - マージ日時: 2026年03月10日 22:05:50(UTC) -- ラベル: area-System.Net community-contribution +- ラベル: area-System.Net community-contribution #### 概要 Ping操作がTtlExpiredまたはTimeExceededで終了した場合、RoundtripTimeが正しく取得されていなかった問題を修正しました。これまでは非Success状態のすべてのケースでRoundtripTimeが0に硬化されていましたが、今回の修正により、中間ルーターからの有効なラウンドトリップタイムをICMP_ECHO_REPLY構造体から読み取るようになりました。これによりWindows上の動作がUnixのraw socketの実装と一致するようになります。 @@ -651,7 +651,7 @@ Windows環境でPingの応答がTtlExpiredまたはTimeExceededの場合、Round - 作成者: [@jtschuster](https://github.com/jtschuster) - 作成日時: 2026年02月09日 23:25:04(UTC) - マージ日時: 2026年03月10日 20:09:51(UTC) -- ラベル: area-crossgen2-coreclr runtime-async +- ラベル: area-crossgen2-coreclr runtime-async #### 概要 crossgen2でasync メソッドとその再開スタブ(resumption stub)をReadyToRun(R2R)イメージに直接エミットできるようにする機能追加です。async メソッドの署名に`ENCODE_METHOD_SIG_AsyncVariant (0x100)`フラグを追加し、再開スタブはprecode fixupとしてエンコードされます。await を含まないasync メソッドは再開スタブが不要なため、エミットされません。 @@ -687,7 +687,7 @@ crossgen2でasync メソッドとその再開スタブ(resumption stub)をRe - 作成者: [@ylpoonlg](https://github.com/ylpoonlg) - 作成日時: 2026年02月02日 15:42:15(UTC) - マージ日時: 2026年03月10日 21:56:09(UTC) -- ラベル: area-System.Runtime.Intrinsics community-contribution +- ラベル: area-System.Runtime.Intrinsics community-contribution #### 概要 ARM64アーキテクチャ向けのSVE2(Scalable Vector Extension 2)非時間的ギャザーロード命令を実装するPull Requestです。SVE2のスカラブルベクトル機能を活用して、メモリから非順序的にデータを読み込む高性能な命令セットをJITコンパイラとランタイムライブラリに統合しています。 diff --git a/archives/2026/03/11.md b/archives/2026/03/11.md index bac3da7..614ba68 100644 --- a/archives/2026/03/11.md +++ b/archives/2026/03/11.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#125462 \[release/9.0\] fix xharness ](#125462) 2. [#125443 Fix a regression to collection asserting in `AssemblyChecker`](#125443) 3. [#125442 Add html.escape to func_name in superpmi diffs report](#125442) @@ -39,7 +39,7 @@ - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年03月11日 22:26:35(UTC) - マージ日時: 2026年03月11日 23:00:52(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 CI パイプラインの xharness テストランナーで発生した問題を修正するテストのみの変更です。PR [#123122](https://github.com/dotnet/runtime/pull/123122) で導入された問題を解決するため、release/9.0 ブランチへ [#114746](https://github.com/dotnet/runtime/pull/114746) をバックポートしています。 @@ -64,7 +64,7 @@ CI パイプラインの xharness テストランナーで発生した問題を - 作成者: [@mrvoorhe](https://github.com/mrvoorhe) - 作成日時: 2026年03月11日 14:06:48(UTC) - マージ日時: 2026年03月11日 20:53:07(UTC) -- ラベル: linkable-framework community-contribution area-Tools-ILLink +- ラベル: linkable-framework community-contribution area-Tools-ILLink #### 概要 PR #97605で導入された`ToHashSet()`と`SetEquals()`の使用により、ILLinkテストフレームワークのテストカバレッジが低下していた問題を修正します。これらのメソッドはコレクションの重複排除と順序の無視により、命令列の並び替えやメソッド本体の変更を検出できなくなっていました。本PRでは順序を考慮した比較に戻し、さらに`KeptAttributeAttribute`を拡張してコンストラクタ引数マッチングに対応させ、属性の重複排除による問題を解決します。 @@ -91,7 +91,7 @@ PR #97605で導入された`ToHashSet()`と`SetEquals()`の使用により、ILL - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月11日 14:01:32(UTC) - マージ日時: 2026年03月11日 22:24:33(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 SuperPMI asm diffs マークダウンレポートにおいて、ジェネリック型パラメータなど `<`、`>`、`&` などの文字を含むメソッド名が HTML として誤解釈されるのを防ぐため、`func_name` を HTML エスケープする機能を追加しました。 @@ -112,7 +112,7 @@ SuperPMI asm diffs マークダウンレポートにおいて、ジェネリッ - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年03月11日 09:07:06(UTC) - マージ日時: 2026年03月11日 16:09:13(UTC) -- ラベル: arch-wasm area-Infrastructure-coreclr os-browser +- ラベル: arch-wasm area-Infrastructure-coreclr os-browser #### 概要 WASM/CoreCLR上のテスト実行でasync v2機能を有効にするため、テスト用MSBuildロジックを更新しました。ブラウザターゲットを除外する条件を削除し、WASMプラットフォームでも"runtime async"機能フラグが有効になるようにします。 @@ -133,7 +133,7 @@ WASM/CoreCLR上のテスト実行でasync v2機能を有効にするため、テ - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年03月11日 03:17:56(UTC) - マージ日時: 2026年03月11日 22:14:54(UTC) -- ラベル: Servicing-approved area-VM-coreclr +- ラベル: Servicing-approved area-VM-coreclr #### 概要 AppDomain::LoadAssemblyの高速パス(fast-path)におけるTOCTOU(Time-of-Check-Time-of-Use)レース条件を修正します。PR #120515で導入された回帰を解決するもので、ローカル変数のスコープをロック内により局所化することで競合状態を回避します。 @@ -157,7 +157,7 @@ AppDomain::LoadAssemblyの高速パス(fast-path)におけるTOCTOU(Time-o - 作成者: [@AaronRobinsonMSFT](https://github.com/AaronRobinsonMSFT) - 作成日時: 2026年03月10日 21:31:27(UTC) - マージ日時: 2026年03月11日 03:17:28(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 Copilot指示ファイルを更新し、2つの新しいルールを追加しました: @@ -181,7 +181,7 @@ Copilot指示ファイルを更新し、2つの新しいルールを追加しま - 作成者: [@AaronRobinsonMSFT](https://github.com/AaronRobinsonMSFT) - 作成日時: 2026年03月10日 21:04:26(UTC) - マージ日時: 2026年03月11日 19:13:58(UTC) -- ラベル: area-AssemblyLoader-coreclr +- ラベル: area-AssemblyLoader-coreclr #### 概要 PR #120515で`FileLoadLock::m_pAssembly`の遅延初期化が導入された際、`AppDomain::LoadAssembly`の高速パスが更新されず、TOCTOU(Time-of-Check to Time-of-Use)競合状態が発生していました。別スレッドが読み取り間にアセンブリをロードすると、キャッシュされた`nullptr`がのちに参照され、`0xC0000005`アクセスバイオレーションでクラッシュしていました。本修正は、ロードレベルチェック後にアセンブリポインタを読み取るよう順序を修正し、スレッド間での安全な読み取りを保証します。 @@ -206,7 +206,7 @@ PR #120515で`FileLoadLock::m_pAssembly`の遅延初期化が導入された際 - 作成者: [@vseanreesermsft](https://github.com/vseanreesermsft) - 作成日時: 2026年03月10日 20:18:20(UTC) - マージ日時: 2026年03月11日 18:25:42(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 release/9.0ブランチの内部コミットをマージするPull Requestです。Base64Url関連の機能に対する修正が含まれています。 @@ -228,7 +228,7 @@ release/9.0ブランチの内部コミットをマージするPull Requestです - 作成者: [@vseanreesermsft](https://github.com/vseanreesermsft) - 作成日時: 2026年03月10日 20:03:06(UTC) - マージ日時: 2026年03月11日 18:26:40(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 このPull Requestは、release/8.0ブランチ向けの内部コミットをマージするものです。詳細な変更内容については、提供されたファイル情報が不足しているため確認できません。 @@ -250,7 +250,7 @@ release/9.0ブランチの内部コミットをマージするPull Requestです - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年03月10日 14:18:23(UTC) - マージ日時: 2026年03月11日 04:19:03(UTC) -- ラベル: area-Setup community-contribution +- ラベル: area-Setup community-contribution #### 概要 ANTLR(Another Tool for Language Recognition)のライセンス情報をTHIRD-PARTY-NOTICES.TXTに追加するPull Requestです。dotnet/runtimeリポジトリで使用されているサードパーティライブラリのライセンス表記を更新しています。 @@ -271,7 +271,7 @@ ANTLR(Another Tool for Language Recognition)のライセンス情報をTHIRD - 作成者: [@LuckyXu-HF](https://github.com/LuckyXu-HF) - 作成日時: 2026年03月10日 12:55:37(UTC) - マージ日時: 2026年03月11日 09:35:33(UTC) -- ラベル: area-CodeGen-coreclr community-contribution arch-loongarch64 +- ラベル: area-CodeGen-coreclr community-contribution arch-loongarch64 #### 概要 LoongArch64のコード生成において、符号なし整数のGT_LE比較演算で境界値オーバーフローのリスクを修正しました。`SpanHelpers.ByteMemOps.cs:172`でのアサーション失敗を解決する変更です。 @@ -293,7 +293,7 @@ LoongArch64のコード生成において、符号なし整数のGT_LE比較演 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月10日 12:03:28(UTC) - マージ日時: 2026年03月11日 13:29:41(UTC) -- ラベル: area-System.IO +- ラベル: area-System.IO #### 概要 UnixプラットフォームでFileStreamが非ブロッキング(`O_NONBLOCK`)ハンドルをサポートするようになりました。ネイティブ層にポーリング機能を追加し、パイプやソケットなどの非同期ハンドルをFileStreamでラップできるようになります。これまではUnixで非ブロッキングハンドルを使用するとArgumentExceptionが発生していました。 @@ -330,7 +330,7 @@ UnixプラットフォームでFileStreamが非ブロッキング(`O_NONBLOCK` - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年03月10日 12:00:39(UTC) - マージ日時: 2026年03月11日 07:19:45(UTC) -- ラベル: arch-wasm area-VM-coreclr +- ラベル: arch-wasm area-VM-coreclr #### 概要 WASM環境で発生していた2つの問題を修正: 1. スタブベースメソッドのプリスタブ処理時にスタブのエントリポイントではなくメソッド自身のPortableEntryPointを使用し、MethodDesc-to-entrypointの1:1マッピングを保証 @@ -355,7 +355,7 @@ WASM環境で発生していた2つの問題を修正: - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年03月09日 23:44:31(UTC) - マージ日時: 2026年03月11日 21:16:32(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT テスト実行時にローカル環境で `*.testResults.xml` アーティファクトが生成されない問題を修正します。各テストプロジェクトを個別のマージドランナーとして扱う従来の方式から、単一の統合テストラッパープロジェクト(`nativeaot.csproj`)による統一的な管理に変更し、テスト結果の適切な生成を実現します。 @@ -382,7 +382,7 @@ NativeAOT テスト実行時にローカル環境で `*.testResults.xml` アー - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月09日 20:38:43(UTC) - マージ日時: 2026年03月11日 04:13:48(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 Windows NTFS ボリュームマウントポイント削除テストの間欠的な失敗を修正します。`Directory.Delete` がマウントポイントディレクトリを削除後、`finally` ブロック内の `MountHelper.Unmount()` 呼び出しが Win32 エラー 4390/3 をスローし、テスト失敗につながっていた問題を解決します。Scenarios 1, 2, 3.1, 3.2 の `finally` ブロックで、アンマウント前にディレクトリの存在確認を追加し、既に Scenarios 3.3–3.5 で使用されているパターンに統一します。 @@ -424,7 +424,7 @@ finally - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年03月08日 00:10:12(UTC) - マージ日時: 2026年03月11日 14:52:10(UTC) -- ラベル: arch-wasm area-Infrastructure-mono +- ラベル: arch-wasm area-Infrastructure-mono #### 概要 WebAssemblyテスト環境で使用するChromeバージョンをアップデートしました。Linux環境を145.0.7632.159に、Windows環境を146.0.7680.66に更新しています。 @@ -446,7 +446,7 @@ WebAssemblyテスト環境で使用するChromeバージョンをアップデー - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月07日 14:36:37(UTC) - マージ日時: 2026年03月11日 02:43:46(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 内部型 `AsnValueReader` の全使用箇所を、#125254で導入された公開型 `ValueAsnReader`(`System.Formats.Asn1`)に置き換え、内部型を削除するリファクタリング。ASN.1解析機能を内部実装から公開APIへ統合することで、コード重複を排除し、公開APIの活用を推進します。 @@ -474,7 +474,7 @@ WebAssemblyテスト環境で使用するChromeバージョンをアップデー - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月05日 23:01:49(UTC) - マージ日時: 2026年03月11日 20:49:52(UTC) -- ラベル: area-System.Runtime +- ラベル: area-System.Runtime #### 概要 macOS arm64上のGCストレステストでホストレベルのクラッシュ(SIGTRAP、終了コード133)が発生している`Runtime_76219`テストを、プロジェクトレベルで無効化します。GCストレス設定(`DOTNET_GCStress=0x3`など)がxUnitの`[ActiveIssue]`スキップ判定前に適用されるため、`true`を追加して、テストの構築・実行そのものを防ぎます。 @@ -496,7 +496,7 @@ macOS arm64上のGCストレステストでホストレベルのクラッシュ - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年03月05日 11:22:25(UTC) - マージ日時: 2026年03月11日 23:43:27(UTC) -- ラベル: Servicing-approved area-VM-meta-mono +- ラベル: Servicing-approved area-VM-meta-mono #### 概要 Mono/SGen ガベージコレクタにおいて、8KB以上のLOS(Large Object Space)非配列オブジェクトのカード走査時にアドレスアライメント処理が不足していた問題を修正します。この問題により、大きなオブジェクト内に格納されたオブジェクト参照がGCに検出されず、GCクラッシュまたは未定義動作を引き起こす可能性がありました。 @@ -521,7 +521,7 @@ Mono/SGen ガベージコレクタにおいて、8KB以上のLOS(Large Object - 作成者: [@LuckyXu-HF](https://github.com/LuckyXu-HF) - 作成日時: 2026年03月03日 13:13:00(UTC) - マージ日時: 2026年03月11日 09:13:43(UTC) -- ラベル: area-VM-coreclr community-contribution arch-loongarch64 runtime-async +- ラベル: area-VM-coreclr community-contribution arch-loongarch64 runtime-async #### 概要 LoongArch64アーキテクチャで非同期ランタイム機能を有効化するための実装です。ヒジャッキング処理で非同期継続レジスタを保持し、非同期再開時の情報をリードライトセクションに配置する変更が含まれます。`FEATURE_REMAP_FUNCTION`がLoongArch64で有効化されていないため、関連する前の変更(PR #121672)をリバートしています。 @@ -550,7 +550,7 @@ LoongArch64アーキテクチャで非同期ランタイム機能を有効化す - 作成者: [@adamperlin](https://github.com/adamperlin) - 作成日時: 2026年03月03日 00:36:26(UTC) - マージ日時: 2026年03月11日 16:47:20(UTC) -- ラベル: arch-wasm area-crossgen2-coreclr +- ラベル: arch-wasm area-crossgen2-coreclr #### 概要 WebAssembly (WASM) コンパイルにおけるシグネチャ生成ロジックのバグを修正。PR #124685で導入された`WasmTypeNode`を使用したシグネチャ記録ロジックに対応するため、`MethodWithGCInfo`の静的依存性として`WasmTypeNode`を追加し、コンパイルされたすべてのメソッドに対して確実にシグネチャノードが生成されるようにしました。 @@ -579,7 +579,7 @@ WebAssembly (WASM) コンパイルにおけるシグネチャ生成ロジック - 作成者: [@BoyBaykiller](https://github.com/BoyBaykiller) - 作成日時: 2026年03月02日 20:27:02(UTC) - マージ日時: 2026年03月11日 09:16:54(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 JIT if-conversion機能の無効なIR生成とブロック重みの計算を修正するパッチです。return文を含むif/else パターンにおいて、CFG(制御フロー グラフ)の正確性を改善し、変換後のIRが無効な状態(RETURNブロックが後続ブロックを持つ)にならないようにしました。これにより、if-conversion が認識できるケースが増え、不要なjmp命令が削除されるようになります。 @@ -617,7 +617,7 @@ static int InvalidIR(bool cond) - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年03月02日 18:00:49(UTC) - マージ日時: 2026年03月11日 17:24:50(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Contracts-based Debugging And Code Analysis)の`ClrDataFrame`に`GetContext`と`GetAppDomain`メソッドの実装を追加します。従来のネイティブ実装のみへの委譲から、マネージドのネイティブコントラクトベースの実装に移行し、ネイティブ`stack.cpp`の動作に統一します。新たに`IXCLRDataAppDomain`の実装`ClrDataAppDomain`をマネージドレイヤーに導入しています。 @@ -649,7 +649,7 @@ cDAC(Contracts-based Debugging And Code Analysis)の`ClrDataFrame`に`GetCon - 作成者: [@eiriktsarpalis](https://github.com/eiriktsarpalis) - 作成日時: 2026年02月27日 23:59:18(UTC) - マージ日時: 2026年03月11日 09:41:40(UTC) -- ラベル: area-System.Text.Json source-generator +- ラベル: area-System.Text.Json source-generator #### 概要 インクリメンタルソースジェネレータが発行する診断メッセージを `#pragma warning disable` で抑制できるようにします。従来、`ExternalFileLocation` を使用していたため Roslyn のプラグマ抑制チェックがスキップされていた問題を修正しました。 @@ -683,7 +683,7 @@ cDAC(Contracts-based Debugging And Code Analysis)の`ClrDataFrame`に`GetCon - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年02月27日 19:11:23(UTC) - マージ日時: 2026年03月11日 20:43:42(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 PE ファイルの最終的なディスク上のサイズ計算を修正するプルリクエストです。出力ファイルを仮想イメージサイズ(`SizeOfImage`)ではなく、ファイルアラインメント(`_peFileAlignment`)に合わせてパディングするよう変更しており、自己完結型アプリケーションのサイズ回帰に対応しています。 @@ -706,7 +706,7 @@ PE ファイルの最終的なディスク上のサイズ計算を修正する - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月27日 03:19:59(UTC) - マージ日時: 2026年03月11日 03:54:25(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Core Dump Access Component)で Runtime Callable Wrapper(RCW)のキャッシュされたCOMインターフェースおよびCOMコンテキストクッキーを列挙するサポートを追加し、レガシ`ISOSDacInterface.GetRCWInterfaces`実装に統合しました。BuiltInCOMコントラクトAPIを使用してRCWインターフェースエントリキャッシュを処理し、HRESULT動作を例外経由で保持しています。 @@ -735,7 +735,7 @@ cDAC(Core Dump Access Component)で Runtime Callable Wrapper(RCW)のキ - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年02月23日 15:23:17(UTC) - マージ日時: 2026年03月11日 16:27:00(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/emsdkリポジトリの依存関係を更新するPR。Emscripten WebAssembly ツールチェーン関連のNuGetパッケージを8.0.25/8.0.25-servicing.26102.2から8.0.26/8.0.26-servicing.26160.3にバージョンアップします。 @@ -761,7 +761,7 @@ dotnet/emsdkリポジトリの依存関係を更新するPR。Emscripten WebAsse - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年02月19日 08:22:19(UTC) - マージ日時: 2026年03月11日 20:46:03(UTC) -- ラベル: Servicing-approved area-System.Net.Security +- ラベル: Servicing-approved area-System.Net.Security #### 概要 RemoteCertificateValidationCallback内でX509Chain.ExtraStoreに追加された証明書が、SslStreamによって不正に破棄され、複数接続での再利用ができなくなる問題を修正します。この問題は.NET 10で導入されたリグレッションで、修正せずに放置するとアプリケーション/サーバーが新しいTLS接続を確立できなくなります。 @@ -785,7 +785,7 @@ RemoteCertificateValidationCallback内でX509Chain.ExtraStoreに追加された - 作成者: [@snickolls-arm](https://github.com/snickolls-arm) - 作成日時: 2026年02月17日 15:40:19(UTC) - マージ日時: 2026年03月11日 22:45:25(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 可変サイズのローカル変数(コンパイル時にサイズが不明なもの)に対応するため、morph/lclmorphにおける間接参照とアドレッシング処理を改善。特にTYP_SIMD/TYP_MASKなどの未知のサイズを持つローカル変数のアドレス取得やフィールドアクセス時の安全性を強化。 @@ -808,7 +808,7 @@ RemoteCertificateValidationCallback内でX509Chain.ExtraStoreに追加された - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年02月16日 12:16:09(UTC) - マージ日時: 2026年03月11日 16:30:22(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/emsdk リポジトリからの依存関係を更新するautomated dependency update PR。Emscripten Workloadマニフェストおよび関連するJIT Tools・LLVM Sdkの複数プラットフォーム向けパッケージを、9.0.14から9.0.16にアップグレード。 @@ -838,7 +838,7 @@ dotnet/emsdk リポジトリからの依存関係を更新するautomated depend - 作成者: [@shushanhf](https://github.com/shushanhf) - 作成日時: 2026年02月10日 11:24:45(UTC) - マージ日時: 2026年03月11日 09:10:18(UTC) -- ラベル: area-CodeGen-coreclr community-contribution arch-loongarch64 +- ラベル: area-CodeGen-coreclr community-contribution arch-loongarch64 #### 概要 LoongArch64アーキテクチャにおいて、非同期再開情報(async resumption info)を読み取り専用セクション(read-only section)から読み取り・書き込みセクション(read-write section)に移動する変更です。これにより、#123433および#124213で報告された問題に対応します。 @@ -863,7 +863,7 @@ LoongArch64アーキテクチャにおいて、非同期再開情報(async res - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年02月09日 05:01:20(UTC) - マージ日時: 2026年03月11日 00:07:39(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 dotnet/xharnessへの依存関係を更新するPull Requestです。Microsoft.DotNet.XHarness関連の3つのNuGetパッケージを11.0.0-prerelease.26064.3から11.0.0-prerelease.26160.2にアップデートしています。 @@ -891,7 +891,7 @@ dotnet/xharnessへの依存関係を更新するPull Requestです。Microsoft.D - 作成者: [@ylpoonlg](https://github.com/ylpoonlg) - 作成日時: 2026年02月05日 09:29:33(UTC) - マージ日時: 2026年03月11日 17:41:47(UTC) -- ラベル: area-System.Runtime.Intrinsics community-contribution +- ラベル: area-System.Runtime.Intrinsics community-contribution #### 概要 SVE(Scalable Vector Extension)の `GatherVector` APIから重複したメソッドを削除しています。32ビット値は32ビットへの拡張が不要なため、`UInt32` 拡張メソッドが通常の `GatherVector` メソッドと重複していました。#103370 で `Int32` 拡張を削除済みでしたが、`UInt32` 拡張が残っていたため、今回その削除を完了します。 @@ -916,7 +916,7 @@ SVE(Scalable Vector Extension)の `GatherVector` APIから重複したメソ - 作成者: [@jonathandavies-arm](https://github.com/jonathandavies-arm) - 作成日時: 2026年01月23日 13:46:57(UTC) - マージ日時: 2026年03月11日 19:34:32(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 ARM64アーキテクチャにおいて、不要なキャスト命令を削除する最適化を実装しました。拡大キャスト(widening cast)の後に縮小キャスト(truncating cast)が続く場合、中間の拡大キャスト命令を削除し、最終的な縮小キャスト命令のみを生成するようにしています。 diff --git a/archives/2026/03/12.md b/archives/2026/03/12.md index 6e4fd60..1e06436 100644 --- a/archives/2026/03/12.md +++ b/archives/2026/03/12.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#125474 Add tests for lazy quantifier inside optional group](#125474) 2. [#125465 \[release/10.0\] Avoid C4319 build warnings in libunwind](#125465) 3. [#125444 Fix crossgen2 crash on Apple mobile for InstantiatedType token resolution in async methods](#125444) @@ -26,7 +26,7 @@ - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年03月12日 02:53:14(UTC) - マージ日時: 2026年03月12日 23:09:36(UTC) -- ラベル: area-System.Text.RegularExpressions +- ラベル: area-System.Text.RegularExpressions #### 概要 正規表現パターン `a(b.*?c)?d` のテストケースを追加し、#124254での修正が#125321で報告されたリグレッション(オプショナルグループ内の遅延量指定子が正しくマッチしない問題)を解決したことを確認します。 @@ -52,7 +52,7 @@ - 作成者: [@steveisok](https://github.com/steveisok) - 作成日時: 2026年03月11日 23:11:55(UTC) - マージ日時: 2026年03月12日 13:06:57(UTC) -- ラベル: Servicing-approved area-Infrastructure +- ラベル: Servicing-approved area-Infrastructure #### 概要 MSVC 19.44.35221でのC4319警告(ゼロ拡張による型警告)をlibunwindで解決するバックポート。`UNW_ALIGN`マクロに`(size_t)`キャストを追加し、`/WX`(警告をエラーとして扱う)オプションでのコンパイルエラーを回避します。 @@ -77,7 +77,7 @@ MSVC 19.44.35221でのC4319警告(ゼロ拡張による型警告)をlibunwin - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年03月11日 14:15:27(UTC) - マージ日時: 2026年03月12日 09:38:20(UTC) -- ラベル: area-crossgen2-coreclr os-ios runtime-async +- ラベル: area-crossgen2-coreclr os-ios runtime-async #### 概要 crossgen2がApple mobileプラットフォーム上で非同期メソッド内のジェネリック型インスタンス化(例:`CallStruct1M0`)を参照する際に、`InstantiatedType`トークン解決が未対応で`NotImplementedException`をスローするリグレッションを修正します。#124203で導入された問題への対応です。 @@ -103,7 +103,7 @@ crossgen2がApple mobileプラットフォーム上で非同期メソッド内 - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年03月11日 09:04:24(UTC) - マージ日時: 2026年03月12日 12:23:24(UTC) -- ラベル: arch-wasm area-Host os-browser +- ラベル: arch-wasm area-Host os-browser #### 概要 WebAssembly/ブラウザでのランタイム起動フローをリファクタリングし、可読性を向上させるものです。リソース集合の反復処理を簡潔にするヘルパー関数(`forEachResource`/`normalizeCollection`)を導入し、ライブラリ初期化ロジック(`onRuntimeConfigLoaded`/`onRuntimeReady`)を`assets.ts`に集約しました。 @@ -125,7 +125,7 @@ WebAssembly/ブラウザでのランタイム起動フローをリファクタ - 作成者: [@jonathandavies-arm](https://github.com/jonathandavies-arm) - 作成日時: 2026年03月11日 07:51:21(UTC) - マージ日時: 2026年03月12日 05:03:12(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 ARM64アーキテクチャにおいて、and/bic命令の早期バイアウト時の問題を修正しています。JITコンパイラの下位レベル(lower)処理で、特定の条件下での命令生成ロジックが改善されました。 @@ -148,7 +148,7 @@ ARM64ランタイム専用の修正です。JITコンパイラの内部実装( - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年03月11日 04:06:40(UTC) - マージ日時: 2026年03月12日 01:32:00(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 Issue #125301のNOL(Normalize-On-Load)バグを修正します。小型ローカル変数(shortなど)がアドレスベースのアクセスで部分的に定義される場合、不正な上位ビット状態を防ぐため、該当ローカル変数をアドレス公開してnormalize-on-loadさせるようにしました。 @@ -174,7 +174,7 @@ Issue #125301のNOL(Normalize-On-Load)バグを修正します。小型ロ - 作成者: [@jtschuster](https://github.com/jtschuster) - 作成日時: 2026年03月10日 22:51:36(UTC) - マージ日時: 2026年03月12日 01:13:43(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 Crossgen2(ReadyToRun コンパイラ)での非同期仮想メソッドの非仮想化を有効にするPRです。従来の `MetadataVirtualMethodAlgorithm` では非同期メソッドの変種が考慮されていなかったため、R2R コンパイル時に非同期仮想メソッドの非仮想化ができませんでした。`AsyncAwareVirtualMethodResolutionAlgorithm` に切り替え、ILC の動作と統一します。 @@ -200,7 +200,7 @@ Crossgen2(ReadyToRun コンパイラ)での非同期仮想メソッドの非 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月10日 21:27:14(UTC) - マージ日時: 2026年03月12日 22:49:46(UTC) -- ラベル: area-Infrastructure linkable-framework +- ラベル: area-Infrastructure linkable-framework #### 概要 xUnit v3への将来的な移行に向けた前方互換性の改善です。`EqualException.ForMismatchedValues()`の呼び出しをすべてstring引数に統一し、xUnit v3では文字列引数のみをサポートする仕様に対応させました。また、xUnit v3固有の`xUnit1051`アナライザ警告を抑制する設定を追加しました。実際のパッケージ切り替えは行われていません。 @@ -223,7 +223,7 @@ xUnit v3への将来的な移行に向けた前方互換性の改善です。`Eq - 作成者: [@jtschuster](https://github.com/jtschuster) - 作成日時: 2026年03月10日 21:01:42(UTC) - マージ日時: 2026年03月12日 23:21:43(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 RegisterResumptionStub内のレース条件によるメモリリークを修正しました。複数スレッドが同時にMethodDescを割り当てた場合、敗者のスレッドが割り当てたメモリが解放されずにリークしていました。SuppressRelease()呼び出しを挿入成功後に移動し、条件付きにすることで、敗者のAllocMemTrackerが確実にメモリを回収できるようにしました。 @@ -245,7 +245,7 @@ RegisterResumptionStub内のレース条件によるメモリリークを修正 - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2026年03月10日 15:44:58(UTC) - マージ日時: 2026年03月12日 01:29:27(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 ASN.1デコーダの型生成システムを拡張し、`ref struct`ベースのスパン指向デコーダ(`Value*`型)を既存の`struct`デコーダと並行して生成できるようにしました。これにより、`PointerMemoryManager`の使用を廃止し、メモリ安全性を向上させます。XSLT生成ツールに`emitType`属性を追加し、`struct`/`ref struct`/両方の生成を制御できるようになりました。`PublicKey`と`CertificateRequest`の実装をこの新しい`Value*`デコーダに移行し、実装の有効性を実証しています。 @@ -277,7 +277,7 @@ ASN.1デコーダの型生成システムを拡張し、`ref struct`ベースの - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月10日 03:24:54(UTC) - マージ日時: 2026年03月12日 23:13:17(UTC) -- ラベル: area-PAL-coreclr +- ラベル: area-PAL-coreclr #### 概要 PALテストスイートのCloseHandleテストで、未使用で不正なサイズ割り当てをしていた`WriteBuffer`変数を削除しました。`WriteBuffer`は`LPDWORD`(4バイト)型でしたが、`malloc(sizeof(WORD))`で2バイトしか割り当てられておらず、実際には使用されていなかったため、新しいclangの`-Walloc-size`エラーチェックで検出されていました。 @@ -300,7 +300,7 @@ PALテストスイートのCloseHandleテストで、未使用で不正なサイ - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年03月09日 23:16:25(UTC) - マージ日時: 2026年03月12日 20:33:26(UTC) -- ラベル: area-Diagnostics-coreclr community-contribution arch-loongarch64 arch-riscv +- ラベル: area-Diagnostics-coreclr community-contribution arch-loongarch64 arch-riscv #### 概要 RV64(RISC-V 64)およびLA64(LoongArch 64)アーキテクチャのcDAC(Compact DAC)実装をARM64の実装と同期させ、GCInfo処理、スタックウォーク、アンワインド機能を拡張するPullRequestです。両アーキテクチャのデバッグ・診断機能を強化し、ARM64と同等のサポートレベルを提供します。 @@ -327,7 +327,7 @@ RV64(RISC-V 64)およびLA64(LoongArch 64)アーキテクチャのcDAC - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年03月09日 11:37:27(UTC) - マージ日時: 2026年03月12日 16:00:45(UTC) -- ラベル: area-VM-coreclr community-contribution +- ラベル: area-VM-coreclr community-contribution #### 概要 COM相互運用性の機能をUnmanaged Callable Object (UCO)に段階的に変換するプロジェクト([#123864](https://github.com/dotnet/runtime/issues/123864)のグループ5の一部)の実装。マネージドコードからアンマネージドコードへのCOM呼び出し処理をUCOベースのアプローチに移行し、既存のネイティブ実装との段階的な置き換えを行います。 @@ -360,7 +360,7 @@ COM相互運用性の機能をUnmanaged Callable Object (UCO)に段階的に変 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月05日 13:40:29(UTC) - マージ日時: 2026年03月12日 18:30:51(UTC) -- ラベル: area-System.IO breaking-change needs-breaking-change-doc-created +- ラベル: area-System.IO breaking-change needs-breaking-change-doc-created #### 概要 新しい公開API `SafeFileHandle.CreateAnonymousPipe(out readHandle, out writeHandle, asyncRead = false, asyncWrite = false)` を導入し、Windows/Unix両プラットフォームで真のエンド単位の非同期I/Oセマンティクスを実現します。Windows側は名前付きパイプトリックを採用し、Unix側は`O_NONBLOCK`フラグで非ブロッキング状態を検出します。`Process.Windows.cs`は新APIを採用し、標準ハンドルアクセスは`Console.OpenStandardInputHandle()`等に移行しました。 @@ -411,7 +411,7 @@ SafeFileHandle.CreateAnonymousPipe( - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年03月05日 00:42:07(UTC) - マージ日時: 2026年03月12日 14:10:07(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Debugger Cooperative Access Contracts)に `TraverseEHInfo` API を追加し、例外処理情報(EHInfo)の走査機能を実装しました。同時に、catch-all ハンドラーの型判定バグを修正しています。従来は `mdTypeRefNil` との比較で判定していましたが、実際の catch-all ハンドラーは `System.Object` 型であるため、キャッシュされた `System.Object` メソッドテーブルとの比較に変更されました。 @@ -438,7 +438,7 @@ cDAC(Debugger Cooperative Access Contracts)に `TraverseEHInfo` API を追 - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年03月04日 13:51:52(UTC) - マージ日時: 2026年03月12日 18:16:59(UTC) -- ラベル: os-ios area-CodeGen-Interpreter-coreclr +- ラベル: os-ios area-CodeGen-Interpreter-coreclr #### 概要 Swift P/Invokeがマーシャリングを必要とする場合(例:ref SwiftError)、インタープリタがILスタブ経由で呼び出すときのSwiftエラーハンドリングの問題を修正しました。従来は二重のネイティブ遷移が発生し、x21レジスタ(Swiftエラー用)の値が`ExecuteInterpretedMethod`による保存/復元で上書きされるバグがありました。修正により、マーシャリング後の`calli`でSwift呼び出し規約を正しく適用し、Swiftエラーレジスタを適切なネイティブ遷移時点でキャプチャするようにしました。 @@ -463,7 +463,7 @@ Copilotのコードレビューで、WASM実装の`GetCookieForCalliSig`にお - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月02日 08:37:36(UTC) - マージ日時: 2026年03月12日 21:56:54(UTC) -- ラベル: area-System.Net.Security +- ラベル: area-System.Net.Security #### 概要 PR #124598でNTLM big-endianサポート実装時に見落とされた複数の多バイトフィールドのエンディアン変換を追加します。NTLM wire protocolはリトルエンディアンであり、big-endianアーキテクチャ上で`MessageField.Length/MaximumLength`、`ChallengeMessage.Flags`、`AuthenticateMessage.Flags`、`NtChallengeResponse.Time`が正しくバイトスワップされていないため、wire formatが破損していました。 @@ -494,7 +494,7 @@ PR #124598でNTLM big-endianサポート実装時に見落とされた複数の - 作成者: [@gwr](https://github.com/gwr) - 作成日時: 2026年03月01日 03:03:19(UTC) - マージ日時: 2026年03月12日 21:27:55(UTC) -- ラベル: area-System.Net community-contribution +- ラベル: area-System.Net community-contribution #### 概要 `SystemNative_GetNetworkInterfaces`でのメモリ上書きバグを修正しています。`getifaddrs`がIPv4/IPv6エントリのみを返す場合(`count == ip4count + ip6count`)、割り当てたバッファが`NetworkInterfaceInfo`配列と`IpAddressInfo`配列の両方を収容しきれず、メモリ上書きが発生していた問題を解決しました。 @@ -518,7 +518,7 @@ Copilotの指摘として、メモリ割り当て失敗時に`getifaddrs()`の - 作成者: [@pentp](https://github.com/pentp) - 作成日時: 2026年02月28日 05:00:28(UTC) - マージ日時: 2026年03月12日 14:24:39(UTC) -- ラベル: area-System.Net community-contribution +- ラベル: area-System.Net community-contribution #### 概要 Windows上の`SystemIPGlobalProperties`のTCP/UDP列挙処理を最適化し、管理側のメモリ割り当てを削減します。`GetExtendedTcpTable`/`GetExtendedUdpTable`ネイティブAPIを使用してネイティブ層でのフィルタリングを活用し、バイトスライシング解析から型付きspan列挙へ移行することで、複数の割り当てレイヤーを削減します。 @@ -546,7 +546,7 @@ Windows上の`SystemIPGlobalProperties`のTCP/UDP列挙処理を最適化し、 - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年02月27日 11:40:55(UTC) - マージ日時: 2026年03月12日 20:47:37(UTC) -- ラベル: arch-wasm area-Infrastructure-libraries os-browser +- ラベル: arch-wasm area-Infrastructure-libraries os-browser #### 概要 このPRは、.NETランタイムのスレッド機能検出メカニズムをリファクタリングしています。複数のスレッド関連の機能フラグ(`FEATURE_WASM_MANAGED_THREADS`と`FEATURE_SINGLE_THREADED`)を、より一貫性のある単一のフラグ`FEATURE_IS_MULTITHREADING_SUPPORTED`に統一します。WebAssemblyターゲットを中心に、スレッド機能の有無を明確かつ統一的に表現する目的です。 @@ -576,7 +576,7 @@ Windows上の`SystemIPGlobalProperties`のTCP/UDP列挙処理を最適化し、 - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年02月16日 15:23:52(UTC) - マージ日時: 2026年03月12日 09:37:29(UTC) -- ラベル: Servicing-approved area-System.IO.Compression +- ラベル: Servicing-approved area-System.IO.Compression #### 概要 `ZipArchive`が4GB以上のファイルを既に4GB以上のサイズを持つアーカイブに書き込む際にZIP64ヘッダーを破損させていた問題を修正しました。この不具合により、7-Zipが`Extra_ERROR Zip64_ERROR`を表示し、.NETで生成されたファイルに対して`ZipFile.OpenRead`が`InvalidDataException`をスローしていました。 diff --git a/archives/2026/03/13.md b/archives/2026/03/13.md index 4e798cd..43c8cc5 100644 --- a/archives/2026/03/13.md +++ b/archives/2026/03/13.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#125515 JIT: Bump JIT-EE GUID after removal of hardware intrinsics](#125515) 2. [#125503 \[tvOS\] Skip symlink and named pipe tests that fail on iOS/tvOS](#125503) 3. [#125502 Remove redundant NULL check for pDir in ClrDataAccess::GetMetaDataFileInfoFromPEFile](#125502) @@ -24,7 +24,7 @@ - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年03月13日 08:42:44(UTC) - マージ日時: 2026年03月13日 13:12:14(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 PR #124033のハードウェアイントリンシック削除に伴うJIT-EE GUID(JIT/EE インターフェースバージョン)の更新です。JIT CI環境で、JITと前バージョンのBCL/SPMI collectionsとの互換性チェックが失敗していたため、`JITEEVersionIdentifier`を新しいGUID値にバンプすることで互換性検証をリセットし、JIT CIのブロッキングを解除します。 @@ -48,7 +48,7 @@ PR #124033のハードウェアイントリンシック削除に伴うJIT-EE GUI - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月12日 16:36:48(UTC) - マージ日時: 2026年03月13日 12:17:31(UTC) -- ラベル: area-System.IO +- ラベル: area-System.IO #### 概要 tvOSおよびiOSでシンボリックリンク作成と名前付きパイプ(`mkfifo`)がサポートされていないため、これらのテストを条件付きでスキップするように修正します。tvOS/arm64 CI環境での継続的なテスト失敗を解決します。 @@ -74,7 +74,7 @@ tvOSおよびiOSでシンボリックリンク作成と名前付きパイプ(`mk - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月12日 16:31:03(UTC) - マージ日時: 2026年03月13日 06:13:21(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 `ClrDataAccess::GetMetaDataFileInfoFromPEFile`のデッドコードを削除するPRです。`pDir`は`NULL`で初期化された直後に`if (pDir == NULL || pDir->Size == 0)`でチェックされており、常に真となるため、このチェック全体が不要でした。SVACE静的解析ツールで検出されました。 @@ -101,7 +101,7 @@ tvOSおよびiOSでシンボリックリンク作成と名前付きパイプ(`mk - 作成者: [@steveisok](https://github.com/steveisok) - 作成日時: 2026年03月12日 12:21:57(UTC) - マージ日時: 2026年03月13日 16:46:04(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 Linux/macOS環境におけるWASI SDK ダウンロードの信頼性向上を目的とした変更です。従来、Linux の `curl` コマンドには再試行ロジックがなく、一時的なGitHubダウンロード失敗(レート制限、ネットワーク問題、不完全な転送)により暗号的な `tar` エラーでビルドが失敗していました。Windows用の `download-wasi-sdk.ps1` と同様に、再試行機能を追加して堅牢性を高めます。 @@ -130,7 +130,7 @@ Windows用ダウンロードスクリプト(最大8回再試行)との挙動 - 作成者: [@bartonjs](https://github.com/bartonjs) - 作成日時: 2026年03月12日 01:27:38(UTC) - マージ日時: 2026年03月13日 22:36:15(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 OpenSSL 4.0-alpha1対応のため、ネイティブ暗号シムをビルド可能にする変更です。主な課題はASN1_STRING型の不透明化と、APIの戻り値に`const`ポインタが増えたこと。ASN1_STRINGフィールドへの直接アクセスをアクセッサAPI(`ASN1_STRING_length`、`ASN1_STRING_get0_data`)に置き換え、`const`戻り値に対応するため`OSSL4CONST`マクロを導入しています。 @@ -158,7 +158,7 @@ OpenSSL 4.0-alpha1対応のため、ネイティブ暗号シムをビルド可 - 作成者: [@jozkee](https://github.com/jozkee) - 作成日時: 2026年03月12日 00:00:25(UTC) - マージ日時: 2026年03月13日 16:12:05(UTC) -- ラベル: NO-SQUASH Servicing-approved linkable-framework area-codeflow +- ラベル: NO-SQUASH Servicing-approved linkable-framework area-codeflow #### 概要 `release/9.0-staging`ブランチから`release/9.0`ブランチへのマージPRです。ツールチェーン/依存関係のバージョン更新、COSE暗号化メッセージのデコーディング・署名機能の改善、ランタイムおよびテストの調整が含まれています。 @@ -197,7 +197,7 @@ Copilotコードレビューで低信頼度のコメント1件あり: `CoseMessa - 作成者: [@jozkee](https://github.com/jozkee) - 作成日時: 2026年03月11日 23:58:09(UTC) - マージ日時: 2026年03月13日 16:12:27(UTC) -- ラベル: NO-SQUASH Servicing-approved area-codeflow +- ラベル: NO-SQUASH Servicing-approved area-codeflow #### 概要 release/8.0-stagingからrelease/8.0への手動マージです。ビルドインフラストラクチャとツールセットの更新(Arcade、SDK pins、パイプラインプール/イメージ、内部フィード エンドポイント)、およびmacOSでのクラッシュに関するテスト隔離が含まれます。 @@ -222,7 +222,7 @@ release/8.0-stagingからrelease/8.0への手動マージです。ビルドイ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月10日 20:31:43(UTC) - マージ日時: 2026年03月13日 01:37:52(UTC) -- ラベル: area-System.Numerics.Tensors +- ラベル: area-System.Numerics.Tensors #### 概要 単一要素(length <= 1)のテンソルにおいてstrideの計算が誤っていた問題を修正。`TensorShape.Create`の2つのショートカットオーバーロードが、stride 0を使用すべき場合に hardcode された `strides: [1]` を使用していたため、単一要素テンソルの作成と操作が失敗していました。 @@ -254,7 +254,7 @@ src.CopyTo(dst); // 例外発生 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月10日 11:39:37(UTC) - マージ日時: 2026年03月13日 00:09:33(UTC) -- ラベル: area-Build-mono +- ラベル: area-Build-mono #### 概要 `WasmAppBuilder` タスク プロジェクトの `net472` マルチ ターゲットが PR #122007 で誤って削除されたことを復元し、CoreCLR PInvoke ジェネレータで .NET 7+ API の `Type.IsFunctionPointer` を直接使用することによるコンパイル エラーを修正します。Visual Studio などのフルフレームワーク MSBuild ホストでのビルドが必要です。 @@ -293,7 +293,7 @@ src.CopyTo(dst); // 例外発生 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月10日 05:26:50(UTC) - マージ日時: 2026年03月13日 16:41:15(UTC) -- ラベル: area-AssemblyLoader-coreclr linkable-framework +- ラベル: area-AssemblyLoader-coreclr linkable-framework #### 概要 ILLink/ILC のルートアセンブリ指定を**ファイルパスからアセンブリ名のみ**に統一し、インクリメンタルビルドのギャップを解消します。従来、`TrimmerRootAssembly` と illink の `-a` フラグはファイルパスを受け入れていたため、ビルド入力として宣言されていないファイルをリンカーが読み込む可能性がありました。本変更により、MSBuild ターゲットと ILLink/ILC の動作を一貫させ、アセンブリ名(拡張子なし)のみを使用するようにします。 @@ -331,7 +331,7 @@ ILLink/ILC のルートアセンブリ指定を**ファイルパスからアセ - 作成者: [@eduardo-vp](https://github.com/eduardo-vp) - 作成日時: 2026年03月06日 01:05:42(UTC) - マージ日時: 2026年03月13日 02:15:26(UTC) -- ラベル: area-System.Diagnostics +- ラベル: area-System.Diagnostics #### 概要 ARM32プラットフォームの`RhpThrowImpl`関数で、例外スロー処理の際に呼び出し元保存レジスタの保存が不完全だった問題を修正しました。`INLINE_GETTHREAD`呼び出し前にr0だけでなくr2(例外種別を格納)も保存する必要があります。併せてARM上のスタックトレーステスト(`ToString_Async`)の隔離を解除しました。 @@ -353,7 +353,7 @@ ARM32プラットフォームの`RhpThrowImpl`関数で、例外スロー処理 - 作成者: [@barosiak](https://github.com/barosiak) - 作成日時: 2026年03月04日 01:43:59(UTC) - マージ日時: 2026年03月13日 22:35:51(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Common Data Access Component)の`IXCLRDataTask`に`GetCurrentExceptionState`メソッドを実装し、`IXCLRDataExceptionState` COM クラスである`ClrDataExceptionState`を新規実装しました。Thread契約に`GetCurrentExceptionHandle`を追加して、アクティブな例外ハンドルを特定し、`GetFlags`、`GetPrevious`、`GetString`、`GetTask`、`Request`などのメソッドをネイティブ cDAC実装で提供します。レガシーDAC実装との互換性検証も含まれています。 @@ -386,7 +386,7 @@ cDAC(Common Data Access Component)の`IXCLRDataTask`に`GetCurrentExceptionS - 作成者: [@ManickaP](https://github.com/ManickaP) - 作成日時: 2026年03月03日 14:56:39(UTC) - マージ日時: 2026年03月13日 09:08:23(UTC) -- ラベル: area-Build-mono +- ラベル: area-Build-mono #### 概要 新しいWindows VM イメージの Docker コマンド仕様変更に対応するストレステスト修正。Dockerfile がビルドコンテキスト内に存在する必要があり、`docker compose` が `docker-compose` に変更されたことに対応しています。 @@ -413,7 +413,7 @@ cDAC(Common Data Access Component)の`IXCLRDataTask`に`GetCurrentExceptionS - 作成者: [@martincostello](https://github.com/martincostello) - 作成日時: 2026年03月03日 14:49:49(UTC) - マージ日時: 2026年03月13日 10:30:25(UTC) -- ラベル: area-Extensions-Configuration community-contribution +- ラベル: area-Extensions-Configuration community-contribution #### 概要 `ChainedConfigurationSource`でリロード機能のサポートを追加しました。複数の設定ソースを鎖状に組み合わせる場合、基盤となる設定ソースの変更を検出して自動的に設定を再読み込みできるようになります。 @@ -437,7 +437,7 @@ cDAC(Common Data Access Component)の`IXCLRDataTask`に`GetCurrentExceptionS - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年02月26日 14:56:26(UTC) - マージ日時: 2026年03月13日 15:40:22(UTC) -- ラベル: arch-wasm area-AssemblyLoader-coreclr os-browser +- ラベル: arch-wasm area-AssemblyLoader-coreclr os-browser #### 概要 CoreCLRランタイムがWebcilコンテナ形式をネイティブサポートするようになり、Browser/WASMビルドで`.wasm`形式のアセンブリを直接読み込めるようになりました。これまでMonoランタイムのみが対応していた機能で、CoreCLRでも同じレベルのサポートを実現します。 @@ -466,7 +466,7 @@ CoreCLRランタイムがWebcilコンテナ形式をネイティブサポート - 作成者: [@svick](https://github.com/svick) - 作成日時: 2026年02月25日 16:50:29(UTC) - マージ日時: 2026年03月13日 10:06:51(UTC) -- ラベル: breaking-change area-Extensions-Hosting +- ラベル: breaking-change area-Extensions-Hosting #### 概要 `BackgroundService`が例外で失敗し`BackgroundServiceExceptionBehavior.StopHost`(デフォルト)が設定されている場合、デフォルトホストの`IHost.RunAsync()`/`StopAsync()`から例外をスローするように変更しました。これにより、バックグラウンドサービスの失敗がホストレベルで適切に伝播され、終了コードに反映されるようになります。 @@ -490,7 +490,7 @@ CoreCLRランタイムがWebcilコンテナ形式をネイティブサポート - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月12日 09:00:51(UTC) - マージ日時: 2026年03月13日 11:31:57(UTC) -- ラベル: area-Extensions-DependencyInjection +- ラベル: area-Extensions-DependencyInjection #### 概要 Issue #57333で報告された、閉じたジェネリック登録(`IService -> Impl`)とオープンジェネリック登録(`IService<> -> GenericImpl<>`)を混合する際の`GetServices()`の不一致な解決を検証するテストを修正しました。テスト自体にセットアップの問題があったもので、DI実装のバグではありません。 @@ -515,7 +515,7 @@ Issue #57333で報告された、閉じたジェネリック登録(`IService - 作成者: [@liveans](https://github.com/liveans) - 作成日時: 2026年01月27日 10:30:19(UTC) - マージ日時: 2026年03月13日 01:43:35(UTC) -- ラベル: Servicing-approved area-System.Net +- ラベル: Servicing-approved area-System.Net #### 概要 RFC 6455準拠を強化するため、WebSocketサーバーがマスク処理されていないフレーム受信を拒否するようにしました。非準拠クライアントからのマスク処理されていないフレームのみが影響を受け、準拠クライアントへの動作変更はありません。 @@ -542,7 +542,7 @@ RFC 6455準拠を強化するため、WebSocketサーバーがマスク処理さ - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年01月27日 10:01:34(UTC) - マージ日時: 2026年03月13日 00:30:51(UTC) -- ラベル: Servicing-approved area-System.Net +- ラベル: Servicing-approved area-System.Net #### 概要 RFC 6455準拠性向上のため、WebSocketサーバーが非準拠クライアントから送信されるマスク済みでないフレーム(unmasked frames)の受信を拒否するようにしました。RFC 6455では、クライアント→サーバー通信のすべてのフレームにマスキングを要求しています。準拠したクライアントに対する動作変更はありません。 diff --git a/archives/2026/03/14.md b/archives/2026/03/14.md index 23d46c4..808fb05 100644 --- a/archives/2026/03/14.md +++ b/archives/2026/03/14.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#125548 Fix wasm Playwright TargetClosedException caused by wrong Helix queue](#125548) 2. [#125546 Fix gssapi headers on OpenBSD](#125546) 3. [#125426 cDAC: Implement ISOSDacInterface::GetRCWData](#125426) @@ -12,7 +12,7 @@ - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年03月14日 01:46:04(UTC) - マージ日時: 2026年03月14日 15:20:57(UTC) -- ラベル: area-Infrastructure-mono +- ラベル: area-Infrastructure-mono #### 概要 Wasm Playwright ブラウザテストの間欠的な `TargetClosedException` 失敗を修正します。内部ビルドではAndroidキューが誤ってすべてのプラットフォームに適用されていた(特に `browser_wasm`)ため、Chrome 共有ライブラリ依存関係がないベアメタルマシンでテストが実行されていました。また、メモリ不足によるChrome クラッシュに対する耐性も不足していました。 @@ -44,7 +44,7 @@ Wasm Playwright ブラウザテストの間欠的な `TargetClosedException` 失 - 作成者: [@sethjackson](https://github.com/sethjackson) - 作成日時: 2026年03月14日 01:28:27(UTC) - マージ日時: 2026年03月14日 09:05:16(UTC) -- ラベル: area-Infrastructure community-contribution os-openbsd +- ラベル: area-Infrastructure community-contribution os-openbsd #### 概要 OpenBSD環境でGSSAPI(Generic Security Service Application Program Interface)ヘッダーが見つからないコンパイルエラーを修正するものです。`configure.cmake`に`include_directories`を追加することで、`#include `がコンパイラに正しく解決されるようにします。 @@ -65,7 +65,7 @@ OpenBSD固有のビルド設定修正です。ネイティブライブラリの - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月11日 04:36:03(UTC) - マージ日時: 2026年03月14日 01:45:18(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 RCW(Runtime Callable Wrapper)データ取得機能を cDAC(Compact Diagnostic Access Component)の `ISOSDacInterface::GetRCWData` として実装します。RCW フラグのデコード機能と切断検出を含み、ダンプテストと単体テストを追加して RCW データおよびインターフェースキャッシュ動作を検証します。 @@ -95,7 +95,7 @@ RCW(Runtime Callable Wrapper)データ取得機能を cDAC(Compact Diagnos - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月10日 22:28:07(UTC) - マージ日時: 2026年03月14日 09:09:50(UTC) -- ラベル: linkable-framework area-codeflow +- ラベル: linkable-framework area-codeflow #### 概要 dotnet/dotnetからのコードフロー更新PR。VMR(Virtual Monolithic Repository)から複数のリポジトリのソースコード更新と依存関係の更新をまとめたものです。コンパイラ、ビルドツール、ランタイムコンポーネントなど幅広いNuGetパッケージが更新されています。 @@ -128,7 +128,7 @@ dotnet/dotnetからのコードフロー更新PR。VMR(Virtual Monolithic Repo - 作成者: [@GrabYourPitchforks](https://github.com/GrabYourPitchforks) - 作成日時: 2026年03月10日 05:10:21(UTC) - マージ日時: 2026年03月14日 00:22:23(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 CodeQLの暗号化関連ルールの実行範囲を調整し、暗号実装とinteropコード自体では無効化する一方、暗号消費者向けのアラートは維持するように設定を更新しました。暗号実装コードに対する不要なルール適用を排除し、ノイズを軽減します。 @@ -151,7 +151,7 @@ CodeQLの暗号化関連ルールの実行範囲を調整し、暗号実装とin - 作成者: [@sethjackson](https://github.com/sethjackson) - 作成日時: 2026年03月07日 20:04:45(UTC) - マージ日時: 2026年03月14日 22:52:21(UTC) -- ラベル: area-PAL-coreclr community-contribution os-openbsd +- ラベル: area-PAL-coreclr community-contribution os-openbsd #### 概要 OpenBSD上のCMakeビルド定義の修正。特定の機能検出マクロに必要なヘッダーファイルのインクルードを追加しています。`HAVE_STATFS_FSTYPENAME`、`HAVE_MNTINFO`、`HAVE_GETPEEREID`の定義時に、それぞれ`sys/types.h`と`sys/socket.h`(`HAVE_GETPEEREID`の場合)が必要です。 @@ -176,7 +176,7 @@ OpenBSD環境でのビルド失敗に対応する修正です。これは前回 - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年02月26日 19:20:34(UTC) - マージ日時: 2026年03月14日 04:01:15(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 ランタイム内のコンストラクタ呼び出しを`UnmanagedCallersOnly`パターンに移行するPRです。クラスコンストラクタ(.cctor)とデフォルトインスタンスコンストラクタの呼び出しを、VM-to-Managed逆P/Invokeパターンで実装し直します。これにより、`CATCH_HANDLER_FOUND_NOTIFICATION_CALLSITE`と`PREPARE_NONVIRTUAL_CALLSITE_USING_METHODDESC`の不要なインフラが削除されます。 diff --git a/archives/2026/03/15.md b/archives/2026/03/15.md index a72382a..212ba1b 100644 --- a/archives/2026/03/15.md +++ b/archives/2026/03/15.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#125568 \[release/9.0\] Disable Datagram_UDP_AccessDenied_Throws_DoesNotBind on all macOS/MacCatalyst](#125568) 2. [#125514 Replace fixed buffers with InlineArray](#125514) 3. [#125459 Cache debugger patches to speed up x64 stackwalk epilogue/prologue scanning](#125459) @@ -10,7 +10,7 @@ - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年03月15日 00:36:49(UTC) - マージ日時: 2026年03月15日 18:29:08(UTC) -- ラベル: Servicing-approved area-System.Net.Sockets +- ラベル: Servicing-approved area-System.Net.Sockets #### 概要 macOS 15+におけるAppleのLocal Network privacy機能に対応したテスト修正です。UDP broadcast送信時に`SO_BROADCAST`なしの場合、macOS 15+は`EACCES`ではなく`EHOSTUNREACH`を返すため、テストが失敗していました。既存の`ActiveIssue`属性をMacCatalyst x64のみから全macOS/MacCatalystプラットフォームに拡大し、テスト無効化の対象を統一します。 @@ -35,7 +35,7 @@ macOS 15+におけるAppleのLocal Network privacy機能に対応したテスト - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年03月13日 01:00:15(UTC) - マージ日時: 2026年03月15日 00:27:35(UTC) -- ラベル: area-System.Runtime.InteropServices reduce-unsafe +- ラベル: area-System.Runtime.InteropServices reduce-unsafe #### 概要 このPRは、Interop層および低レベルの構造体において、`unsafe fixed`バッファを`InlineArray`ベースのバッファに置き換え、`unsafe`キーワードの使用範囲を削減しています。互操作性レイアウトを保持しながら、より安全で保守性の高いコードへの現代化を実現しています。23ファイルにおいて、`fixed`バッファから`InlineArrayN`または`[InlineArray(...)]`属性付きバッファへの段階的な移行を行っています。 @@ -77,7 +77,7 @@ macOS 15+におけるAppleのLocal Network privacy機能に対応したテスト - 作成者: [@hoyosjs](https://github.com/hoyosjs) - 作成日時: 2026年03月11日 21:55:31(UTC) - マージ日時: 2026年03月15日 06:20:59(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 x64スタックウォーク中のデバッガブレークポイントパッチスキャンのパフォーマンスを最適化するため、DAC側にパッチキャッシュを導入しました。ミニダンプ収集時に毎フレームで実行されていたパッチハッシュテーブルの走査を削減することで、大幅な高速化を実現しています。 @@ -102,7 +102,7 @@ x64スタックウォーク中のデバッガブレークポイントパッチ - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月10日 21:34:33(UTC) - マージ日時: 2026年03月15日 22:44:27(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 VMR(Virtual Monorepo)の dotnet/dotnet リポジトリからのコードフロー更新PRです。このコミットは2026年3月11日時点での依存関係パッケージのバージョン更新を含んでおり、Roslyn、Runtime、SDK、ASP.NET Core、EF Core、Arcade、WPF など複数のコンポーネントにまたがる更新が反映されています。 @@ -135,7 +135,7 @@ VMR(Virtual Monorepo)の dotnet/dotnet リポジトリからのコードフ - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年03月06日 16:42:41(UTC) - マージ日時: 2026年03月15日 14:23:54(UTC) -- ラベル: area-Meta +- ラベル: area-Meta #### 概要 .NET メモリモデル(`docs/design/specs/Memory-model.md`)に基づき、187個のフィールドから不要な`volatile`修飾子を削除するメンテナンス変更です。参照型フィールド(159個)ではオブジェクトアサインメントがリリースセマンティクスを提供し、値型フィールド(28個)ではメモリモデルで読み込み導入が禁止されたため、`volatile`が不要になりました。破壊的変更ではなく、メモリ最適化による内部実装の改善です。 diff --git a/archives/2026/03/16.md b/archives/2026/03/16.md index 4da4d8b..5f9ee44 100644 --- a/archives/2026/03/16.md +++ b/archives/2026/03/16.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#125628 switch to AZL as build platform to avoid disk problems](#125628) 2. [#125622 Fix aspnetcore-sync.yml](#125622) 3. [#125620 Update create-pull-request action version](#125620) @@ -37,7 +37,7 @@ - 作成者: [@wfurt](https://github.com/wfurt) - 作成日時: 2026年03月16日 18:39:25(UTC) - マージ日時: 2026年03月16日 23:49:53(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 ビルドパイプラインで Docker イメージビルド時にディスク容量不足が発生する問題を解決するため、内部 Linux ジョブのビルドイメージを `1es-ubuntu-2204` から `build.azurelinux.3.amd64`(Azure Linux)に切り替えます。この問題は 1ES イメージ更新後に発生しました。 @@ -58,7 +58,7 @@ - 作成者: [@akoeplinger](https://github.com/akoeplinger) - 作成日時: 2026年03月16日 16:40:42(UTC) - マージ日時: 2026年03月16日 16:43:02(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 GitHub Actions ワークフロー `aspnetcore-sync.yml` を修正し、単一ジョブ内での複数リポジトリチェックアウト時に発生する `actions/checkout` の認証情報永続化の問題([actions/checkout#2299](https://github.com/actions/checkout/issues/2299))を解決します。 @@ -81,7 +81,7 @@ GitHub Actions ワークフロー `aspnetcore-sync.yml` を修正し、単一ジ - 作成者: [@akoeplinger](https://github.com/akoeplinger) - 作成日時: 2026年03月16日 16:17:05(UTC) - マージ日時: 2026年03月16日 16:24:54(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 aspnetcore→runtime同期ワークフローで使用されている`dotnet/actions-create-pull-request`アクションを、Aspireで使用されているバージョンに更新します。アクションで発生していた問題に対応するため、`v4`タグから特定のコミットSHAにピン留めされたバージョンに切り替えています。 @@ -102,7 +102,7 @@ aspnetcore→runtime同期ワークフローで使用されている`dotnet/acti - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年03月16日 14:01:28(UTC) - マージ日時: 2026年03月16日 16:08:27(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Compact DAC)開発用の公式ソリューションファイル `cdac.slnx` をチェックインして、開発者の環境構築を簡素化します。従来はREADMEの手動テンプレートを使用していましたが、5つのライブラリプロジェクトと2つのテストプロジェクト(ユニットテスト・ダンプテスト)をまとめた検証済みソリューションを提供することで、セットアップの手間を削減します。 @@ -126,7 +126,7 @@ cDAC(Compact DAC)開発用の公式ソリューションファイル `cdac.s - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年03月16日 05:49:27(UTC) - マージ日時: 2026年03月16日 21:09:09(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT環境において、`IDynamicInterfaceCastable`型のインターフェース型チェック結果が誤ってキャッシュされ、異なるインスタンス間で結果が誤った形で再利用される不具合を修正します。修正により、`IsInterfaceImplemented`メソッドの結果がインスタンスごとに正しく評価されるようになります。 @@ -148,7 +148,7 @@ CoreCLRからのロジックコピーに際して、NativeAOT環境での異な - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年03月15日 15:39:36(UTC) - マージ日時: 2026年03月16日 15:06:08(UTC) -- ラベル: area-VM-meta-mono +- ラベル: area-VM-meta-mono #### 概要 Mono JITランタイムにおけるdelegate trampolineの作成時のメモリマネージャー選択ミスマッチを修正します。動的メソッドの場合、`jit_mm_for_method`を一貫して使用し、hash table挿入をアトミックに行うことで、マルチスレッド環境での不整合状態を排除します。特にWASM with AOT + threads環境での予期しないアサーション失敗を解決します。 @@ -172,7 +172,7 @@ Mono JITランタイムにおけるdelegate trampolineの作成時のメモリ - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年03月15日 02:28:49(UTC) - マージ日時: 2026年03月16日 14:23:09(UTC) -- ラベル: area-VM-meta-mono +- ラベル: area-VM-meta-mono #### 概要 Mono AOT コンパイラが、参照型フィールド(string、class、array など)で `MONO_MARSHAL_CONV_NONE` に解決されるマーシャリング変換に遭遇した際に SIGABRT でクラッシュする問題を修正。例えば `[MarshalAs(UnmanagedType.CustomMarshaler)]` が指定された string フィールドを含む構造体がこれに該当します。修正により、AOT コンパイラはアサーションではなく `MarshalDirectiveException` を発行して正常に完了し、ランタイムが適切な例外をスロー可能になります。 @@ -195,7 +195,7 @@ Mono AOT コンパイラが、参照型フィールド(string、class、array - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年03月15日 02:22:14(UTC) - マージ日時: 2026年03月16日 23:08:25(UTC) -- ラベル: area-System.Net reduce-unsafe +- ラベル: area-System.Net reduce-unsafe #### 概要 固定サイズバッファ(`fixed`キーワード)をC# InlineArray(`InlineArray*`および`[InlineArray(N)]`)に置き換えることで、interop関連の低レベルコードにおけるunsafeな操作を削減するマイグレーションです。ネイティブレイアウトの互換性を維持しながら、Spanベースのアクセスパターンを採用しています。 @@ -225,7 +225,7 @@ Mono AOT コンパイラが、参照型フィールド(string、class、array - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年03月15日 02:17:44(UTC) - マージ日時: 2026年03月16日 02:13:47(UTC) -- ラベル: area-System.Resources +- ラベル: area-System.Resources #### 概要 `TestResourceManagerIsSafeForConcurrentAccessAndEnumeration`テストの不安定性を解決するPRです。このテストは複数スレッドでのリソース列挙時のスレッドセーフティを検証していますが、CI環境の負荷により30秒のタイムアウトで頻繁に失敗していました。`Task.WaitAll`の代わりに`Task.WhenAll`を使用し、タイムアウトを120秒に延長し、例外伝播を改善することで、フレークテストを解消しています。 @@ -253,7 +253,7 @@ Mono AOT コンパイラが、参照型フィールド(string、class、array - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年03月14日 17:56:00(UTC) - マージ日時: 2026年03月16日 20:10:57(UTC) -- ラベル: area-PAL-coreclr community-contribution os-openbsd +- ラベル: area-PAL-coreclr community-contribution os-openbsd #### 概要 OpenBSD上でネイティブライブラリのクロスコンパイルを成功させるための修正です。`build-native.sh`スクリプトでOpenBSD向けx64クロスコンパイル時の設定エラーを解決し、関連PR #125294と組み合わせることで完全なビルドが可能になります。 @@ -281,7 +281,7 @@ OpenBSD上でネイティブライブラリのクロスコンパイルを成功 - 作成者: [@barosiak](https://github.com/barosiak) - 作成日時: 2026年03月13日 23:13:54(UTC) - マージ日時: 2026年03月16日 18:19:35(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Compact Data Access Component)のマネージド実装において、`IXCLRDataTask.GetLastExceptionState`メソッドを実装しました。このメソッドは、スレッドの最後に発生した例外の状態を取得します。`ThreadData.LastThrownObjectHandle`から情報を読み込み、ネストされた例外チェーンなしの`ClrDataExceptionState`を構築し、既存の`GetCurrentExceptionState`と同じパターンに従っています。 @@ -306,7 +306,7 @@ cDAC(Compact Data Access Component)のマネージド実装において、`I - 作成者: [@jtschuster](https://github.com/jtschuster) - 作成日時: 2026年03月13日 22:05:03(UTC) - マージ日時: 2026年03月16日 17:49:11(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 crossgen2のコンポジットモード(`--large_version_bubble`)でのCI カバレッジを追加し、非同期メソッドのコンパイル処理を調整してトークン解析エラーを回避するもの。従来のクロスジェン2パイプラインでは、フレームワークライブラリを含むテストをコンポジットモードでビルドするテストがなかったため、コンポジットモード固有の問題が検出されていませんでした。 @@ -333,7 +333,7 @@ crossgen2のコンポジットモード(`--large_version_bubble`)でのCI - 作成者: [@mrvoorhe](https://github.com/mrvoorhe) - 作成日時: 2026年03月13日 20:55:24(UTC) - マージ日時: 2026年03月16日 17:36:34(UTC) -- ラベル: linkable-framework community-contribution area-Tools-ILLink +- ラベル: linkable-framework community-contribution area-Tools-ILLink #### 概要 IL Linkerのテスト実行時にMVID関連テスト(`DeterministicMvidWorks`、`NewMvidWorks`、`RetainMvid`)が同じサンドボックスロケーションで競合し、`UnauthorizedAccessException`が発生する問題を解決。3つのテストを`All.CommandLineTests`から除外し、`Individual`フォルダに移動して個別実行テストに統合。重複トリミング処理を削減。 @@ -360,7 +360,7 @@ IL Linkerのテスト実行時にMVID関連テスト(`DeterministicMvidWorks` - 作成者: [@DoctorKrolic](https://github.com/DoctorKrolic) - 作成日時: 2026年03月13日 16:56:08(UTC) - マージ日時: 2026年03月16日 19:56:35(UTC) -- ラベル: area-System.Runtime.InteropServices community-contribution +- ラベル: area-System.Runtime.InteropServices community-contribution #### 概要 COM相互運用ソースジェネレータの`ComClassGenerator`をシンタックスノード構築から文字列書き込みベースへ移植しました。これにより、コード生成の効率化とメモリ使用量の削減を実現します。関連Issue [#95882](https://github.com/dotnet/runtime/issues/95882) の一部です。 @@ -386,7 +386,7 @@ COM相互運用ソースジェネレータの`ComClassGenerator`をシンタッ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月13日 16:51:40(UTC) - マージ日時: 2026年03月16日 16:58:02(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 Huffman符号化された文字列がデコード時に著しく膨張する場合(例:10バイト→16バイト)に、デコード後のヘッダー長が設定された制限を超える可能性がある脆弱性を修正しました。`HPackDecoder`と`QPackDecoder`では、エンコード済み文字列長のみを事前チェックしていましたが、デコード後の長さをチェックしていませんでした。デコード後に長さチェックを追加し、制限を超える場合は例外をスローするよう改善しました。 @@ -410,7 +410,7 @@ Huffman符号化された文字列がデコード時に著しく膨張する場 - 作成者: [@maraf](https://github.com/maraf) - 作成日時: 2026年03月12日 21:06:10(UTC) - マージ日時: 2026年03月16日 16:30:31(UTC) -- ラベル: arch-wasm area-Build-mono os-browser +- ラベル: arch-wasm area-Build-mono os-browser #### 概要 `WasmEmitTypeScriptDefinitions` が有効な場合、ビルド時に `dotnet.d.ts` が `wwwroot/` にコピーされます。2回目以降のビルドでは、wwwroot の Content グロブがこのファイルを検出し、Static Web Assets マニフェストが再生成されることでビルドが非インクリメンタルになります。本修正は、`dotnet.d.ts` を評価時の Content から除外することで、SWA パイプラインがグロブを通じてファイルを検出しないようにし、マニフェストの安定性を保ちます。 @@ -432,7 +432,7 @@ Huffman符号化された文字列がデコード時に著しく膨張する場 - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年03月12日 14:37:31(UTC) - マージ日時: 2026年03月16日 15:12:53(UTC) -- ラベル: area-CodeGen-coreclr runtime-async +- ラベル: area-CodeGen-coreclr runtime-async #### 概要 JIT非同期変換をリファクタリングし、継続情報の収集とサスペンション/レジューム生成を分離しました。この変更により、複数のサスペンションポイント間で継続レイアウトを再利用できるようになり、将来的に単一の継続を割り当てて全ての後続サスペンションで再利用する戦略の実験が可能になります。ローカル変数の割り当て順序が異なる箇所では、スタックフレームエンコーディングに軽微な差異が発生する可能性があります。 @@ -458,7 +458,7 @@ JIT非同期変換をリファクタリングし、継続情報の収集とサ - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年03月12日 14:16:10(UTC) - マージ日時: 2026年03月16日 09:51:01(UTC) -- ラベル: arch-wasm area-Infrastructure-libraries os-browser +- ラベル: arch-wasm area-Infrastructure-libraries os-browser #### 概要 WebAssembly(wasm)環境でcoreclrのテストを実行可能にするための変更です。パイプライン設定とテストプロジェクト設定を追加しています。 @@ -480,7 +480,7 @@ WebAssembly(wasm)環境でcoreclrのテストを実行可能にするため - 作成者: [@janvorli](https://github.com/janvorli) - 作成日時: 2026年03月10日 22:27:02(UTC) - マージ日時: 2026年03月16日 13:23:19(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITが`ref struct`の静的フィールド初期化時に書き込みバリア(write barrier)の呼び出しを誤って省略していた問題を修正しました。GCヒープに存在する静的フィールドに対して`JIT_ByRefWriteBarrier`が呼び出されていなかったため、メモリ破損につながる可能性がありました。この問題は.NET 10のPR #111733で導入されました。 @@ -503,7 +503,7 @@ JITが`ref struct`の静的フィールド初期化時に書き込みバリア - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月10日 13:39:37(UTC) - マージ日時: 2026年03月16日 18:16:16(UTC) -- ラベル: area-System.Net +- ラベル: area-System.Net #### 概要 `WebProxy`がプロキシURI内に埋め込まれた認証情報(UserInfo)を無視していた問題を修正します。`socks5://username:password@host:port`のような形式でURI内に指定された認証情報を自動的に抽出し、`Credentials`プロパティに設定するようになります。これにより、SOCKS5認証が正常に機能するようになります。 @@ -544,7 +544,7 @@ handler.Proxy.Credentials = new NetworkCredential("other", "creds"); // こち - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年03月07日 18:39:59(UTC) - マージ日時: 2026年03月16日 23:14:03(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 `WinHttpRequestState`でのGCHandleのダブルフリー競合状態を修正しました。単なる`volatile bool`では、disposeチェックと設定が原子的ではないため、複数スレッドからの同時アクセス時にGCHandleが二重解放される可能性がありました。 @@ -565,7 +565,7 @@ handler.Proxy.Credentials = new NetworkCredential("other", "creds"); // こち - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年03月05日 12:49:15(UTC) - マージ日時: 2026年03月16日 12:19:20(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT の線形スキャンレジスタアロケーション (LSRA) において、単一定義・単一使用 (SDSU) の一時的なインターバルを、消費側ノードで殺されるレジスタから遠ざけるようにする優先度ロジックを復活させました。これにより #125214 の変更による回帰を解決し、レジスタスピルの削減とコード品質の向上を実現しています。 @@ -601,7 +601,7 @@ Copilot レビュアーからの指摘により、ケース #4 の固定レジ - 作成者: [@dhartglassMSFT](https://github.com/dhartglassMSFT) - 作成日時: 2026年03月03日 23:10:44(UTC) - マージ日時: 2026年03月16日 17:39:07(UTC) -- ラベル: area-ILTools-coreclr +- ラベル: area-ILTools-coreclr #### 概要 CoreCLR `ilasm` ツールにおけるCodeQL静的解析の警告を修正するPR。ループカウンター型の誤りと、UTF-16文字列の不正なアライメントアクセスの2つの問題を解決します。 @@ -626,7 +626,7 @@ CoreCLR `ilasm` ツールにおけるCodeQL静的解析の警告を修正するP - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月03日 02:02:36(UTC) - マージ日時: 2026年03月16日 23:10:51(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/runtime-assets リポジトリの依存関係を更新するPRです。release/8.0-staging ブランチにおいて、複数のテストデータとランタイム関連パッケージをバージョン 8.0.0-beta.25625.3 から 8.0.0-beta.26153.1 に更新しています。 @@ -666,7 +666,7 @@ dotnet/runtime-assets リポジトリの依存関係を更新するPRです。re - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月03日 02:02:33(UTC) - マージ日時: 2026年03月16日 23:17:46(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/icu リポジトリの依存関係を更新するPRです。Microsoft.NETCore.Runtime.ICU.Transport パッケージをバージョン 8.0.0-rtm.25625.2 から 8.0.0-rtm.26152.3 に更新しています。これは .NET 8.0 リリース ブランチ向けの自動依存関係更新です。 @@ -690,7 +690,7 @@ dotnet/icu リポジトリの依存関係を更新するPRです。Microsoft.NET - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月27日 12:39:21(UTC) - マージ日時: 2026年03月16日 11:17:59(UTC) -- ラベル: area-System.Text.Json +- ラベル: area-System.Text.Json #### 概要 `JsonElement.GetProperty` が `KeyNotFoundException` をスロー時に、プロパティ名を例外メッセージに含めるように改善しました。チェーンメソッド呼び出しで失敗時に、どのプロパティが原因かを特定できるようになります。 @@ -723,7 +723,7 @@ dotnet/icu リポジトリの依存関係を更新するPRです。Microsoft.NET - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月24日 16:58:36(UTC) - マージ日時: 2026年03月16日 18:12:50(UTC) -- ラベル: linkable-framework area-Tools-ILLink +- ラベル: linkable-framework area-Tools-ILLink #### 概要 NativeAOTのILLink準備処理(`_ComputeManagedAssemblyForILLink`)が`ComputeIlcCompileInputs`の副作用に依存していた結合関係を解除します。`@(ManagedBinary)`に依存するのではなく、`@(IntermediateAssembly)`を使用することで、ILLinkの準備フェーズが`ComputeIlcCompileInputs`の実行順序に依存しなくなり、インクリメンタルビルド時の問題を解決します。 @@ -747,7 +747,7 @@ NativeAOTのILLink準備処理(`_ComputeManagedAssemblyForILLink`)が`Comput - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年02月24日 02:01:58(UTC) - マージ日時: 2026年03月16日 23:22:54(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/cecilの依存パッケージを更新するPull Requestです。Microsoft.DotNet.Cecilをバージョン0.11.4-alpha.25614.2から0.11.4-alpha.26158.1に更新しています。 @@ -769,7 +769,7 @@ dotnet/cecilの依存パッケージを更新するPull Requestです。Microsof - 作成者: [@gwr](https://github.com/gwr) - 作成日時: 2026年02月22日 16:38:14(UTC) - マージ日時: 2026年03月16日 10:58:04(UTC) -- ラベル: area-System.Net.Sockets os-SunOS community-contribution +- ラベル: area-System.Net.Sockets os-SunOS community-contribution #### 概要 SunOS(Illumos)プラットフォームでのネットワーキング実装を改善するPR。SunOSは`AF_LINK`と`AF_PACKET`の両方を定義していますが、`AF_LINK`を優先することで、システムプライベートヘッダーへのアクセスが不要になります。これにより、クロスコンパイル時のヘッダーコピー処理が簡略化されます。 @@ -795,7 +795,7 @@ SunOS(Illumos)プラットフォームでのネットワーキング実装 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月19日 18:38:08(UTC) - マージ日時: 2026年03月16日 19:01:59(UTC) -- ラベル: breaking-change area-NativeAOT-coreclr +- ラベル: breaking-change area-NativeAOT-coreclr #### 概要 NativeAOT で Unix プラットフォーム上のネイティブライブラリ出力にデフォルトで `lib` プレフィックス(例:`libfoo.so`、`libfoo.dylib`、`libfoo.a`)を適用するようにしました。従来は内部プロパティ `_UseNativeLibPrefix` を明示的に設定する必要がありました。公開プロパティ `UseNativeLibPrefix` で無効化できます。 @@ -828,7 +828,7 @@ NativeAOT で Unix プラットフォーム上のネイティブライブラリ - 作成者: [@matantsach](https://github.com/matantsach) - 作成日時: 2026年02月16日 21:34:41(UTC) - マージ日時: 2026年03月16日 21:48:42(UTC) -- ラベル: area-System.Net.Sockets community-contribution +- ラベル: area-System.Net.Sockets community-contribution #### 概要 `UdpClient.CheckForBroadcast()`がユーザーの明示的な設定を無視して`EnableBroadcast = false`の場合でもブロードキャスト送信時に自動的にソケットオプションを有効化していた問題を修正します。修正後は、ユーザーが`EnableBroadcast`を明示的に設定した場合はその選択を尊重し、設定していない場合は従来通りの自動有効化動作を保つ後方互換的な実装です。 @@ -854,7 +854,7 @@ NativeAOT で Unix プラットフォーム上のネイティブライブラリ - 作成者: [@lufen](https://github.com/lufen) - 作成日時: 2026年02月14日 19:38:01(UTC) - マージ日時: 2026年03月16日 01:57:01(UTC) -- ラベル: area-System.Xml community-contribution +- ラベル: area-System.Xml community-contribution #### 概要 XmlReader で UTF-8 が不正な XML 宣言を処理する際の `ArgumentOutOfRangeException` を修正しました。SafeAsciiDecoder 使用時の UnDecodeChars() メソッドにおいて、非ASCII文字(例:バイト0xBFから生成されるU+00BF)が UTF-8 では2バイト以上になることを考慮せず、bytePos が bytesUsed を超過してしまう問題を解決しました。修正後は、SafeAsciiDecoder を検出して charPos を直接利用し、ターゲットエンコーディングのバイト数が一致することを検証。不一致の場合は `XmlException` を `Xml_InvalidCharInThisEncoding` で投げ、不正なバイトを ParsingState を破損させる前に検出します。 diff --git a/archives/2026/03/17.md b/archives/2026/03/17.md index fa61aa4..8b25e28 100644 --- a/archives/2026/03/17.md +++ b/archives/2026/03/17.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#125667 \[cDAC\] Use BinaryThenLinearSearch in GetExceptionClauses](#125667) 2. [#125649 \[main\] Source code updates from dotnet/dotnet](#125649) 3. [#125627 \[cDAC\]: Flush contract caches](#125627) @@ -28,7 +28,7 @@ - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年03月17日 17:53:24(UTC) - マージ日時: 2026年03月17日 19:57:29(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 `ReadyToRunJitManager`の`GetExceptionClauses`メソッドをリファクタリングし、インラインの二分探索+線形探索の実装を共有ヘルパー`BinaryThenLinearSearch`に置き換えました。動作は同一(閾値10、中点計算、分岐方向、最初のマッチセマンティクスは変わらない)で、コード重複を削減します。 @@ -49,7 +49,7 @@ - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月17日 13:39:47(UTC) - マージ日時: 2026年03月17日 18:22:17(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 dotnet/dotnetリポジトリからのコードフロー更新PRです。Maestroの自動化により、VMR(Virtual Mono Repository)からの依存関係の更新とビルド構成の統合を行っています。Microsoft.CodeAnalysis、NuGet、System.Text.Jsonなど複数の.NET関連パッケージが更新されるほか、SDL(Security Development Lifecycle)ツール関連のファイルが削除されています。 @@ -74,7 +74,7 @@ dotnet/dotnetリポジトリからのコードフロー更新PRです。Maestro - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年03月16日 18:16:13(UTC) - マージ日時: 2026年03月17日 02:21:30(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Compact Data Access Component)の contract キャッシュフラッシング機構を実装するPRです。デバッグ対象プロセスの状態変化(例:resume後)時に、キャッシュされたcontract データをクリアするための統一的なFlush()メカニズムを追加し、既存のDAC フラッシュエントリポイント(`IXCLRDataProcess.Flush()`、`ISOSDacInterface13.LockedFlush()`)に統合します。 @@ -114,7 +114,7 @@ cDAC(Compact Data Access Component)の contract キャッシュフラッシ - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月16日 03:18:34(UTC) - マージ日時: 2026年03月17日 10:30:21(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 このPull Requestは、dotnet/dotnetリポジトリからのコードフロー更新です。.NET 10.0.1xxリリースブランチの最新ビルド(Build 20260315.9)を取り込み、ビルドツール、アナライザー、ランタイムコンポーネントなど複数の依存関係をアップデートしています。 @@ -150,7 +150,7 @@ cDAC(Compact Data Access Component)の contract キャッシュフラッシ - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月15日 23:51:19(UTC) - マージ日時: 2026年03月17日 10:27:29(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 VMR(Virtual Mono Repository)からのコードフロー更新です。dotnet/dotnet の build 306238 (2026年3月15日) をベースに、複数のリポジトリ(aspnetcore、efcore、razor、runtime、sdk、symreader)の関連ソースコード変更と依存関係の更新が含まれています。 @@ -185,7 +185,7 @@ VMR(Virtual Mono Repository)からのコードフロー更新です。dotnet - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年03月15日 22:27:14(UTC) - マージ日時: 2026年03月17日 16:11:22(UTC) -- ラベル: community-contribution arch-loongarch64 area-CodeGen-Interpreter-coreclr +- ラベル: community-contribution arch-loongarch64 area-CodeGen-Interpreter-coreclr #### 概要 CoreCLR インタープリタを LoongArch64 アーキテクチャに移植するPRです。riscv64 ポートと同様のアプローチで、LoongArch64 プラットフォーム対応の実装を追加します。 @@ -214,7 +214,7 @@ CoreCLR インタープリタを LoongArch64 アーキテクチャに移植す - 作成者: [@danmoseley](https://github.com/danmoseley) - 作成日時: 2026年03月15日 22:15:06(UTC) - マージ日時: 2026年03月17日 15:27:46(UTC) -- ラベル: area-Extensions-Hosting +- ラベル: area-Extensions-Hosting #### 概要 `BackgroundService` が `StopHost` 動作で複数同時に失敗する場合、一部の例外が失われるレース条件を修正します。火・忘れ(fire-and-forget)で実行されていた `TryExecuteBackgroundServiceAsync` の監視タスクを追跡し、`StopAsync` でそれらが例外を記録するまで待機してから例外リストを読む仕様に変更しました。これにより、複数の `BackgroundService` が同時故障する本番環境シナリオでも全ての例外が正しく集約されます。 @@ -236,7 +236,7 @@ CoreCLR インタープリタを LoongArch64 アーキテクチャに移植す - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年03月15日 01:58:04(UTC) - マージ日時: 2026年03月17日 08:36:29(UTC) -- ラベル: area-Extensions-Hosting +- ラベル: area-Extensions-Hosting #### 概要 `BackgroundServiceExceptionTests`のフレーキーなテストを修正します。タイミング依存の`Task.Delay(200ms)`を、より決定的な同期メカニズムに置き換えることで、CI環境での不安定な実行を解決します。 @@ -261,7 +261,7 @@ CoreCLR インタープリタを LoongArch64 アーキテクチャに移植す - 作成者: [@kg](https://github.com/kg) - 作成日時: 2026年03月13日 19:28:15(UTC) - マージ日時: 2026年03月17日 08:09:01(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly RyuJIT コンパイラの関数ポインタテーブル初期化機能を実装するため、Wasm オブジェクトライターを更新しました。Element セクションを生成し、モジュール内のすべての関数に対して順序付けられた関数ポインタを作成します。 @@ -291,7 +291,7 @@ WebAssembly RyuJIT コンパイラの関数ポインタテーブル初期化機 - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2026年03月13日 17:30:06(UTC) - マージ日時: 2026年03月17日 19:41:12(UTC) -- ラベル: area-System.Security reduce-unsafe +- ラベル: area-System.Security reduce-unsafe #### 概要 ASN.1キーローダーを`ref struct`ベースの値型(`Value*`)に移行し、メモリ割り当てを削減し`PointerMemoryManager`の使用を排除する変更です。エミットされた`ref struct`ローダーに`Encode`メンバーのサポートを追加し、`asn:Choice`の検証をファイルスコープ型のバリデータに移動しました。暗号キー関連の多くのASN.1型が`ref`エミット専用に変更されます。 @@ -322,7 +322,7 @@ ASN.1キーローダーを`ref struct`ベースの値型(`Value*`)に移行 - 作成者: [@eiriktsarpalis](https://github.com/eiriktsarpalis) - 作成日時: 2026年03月12日 13:55:38(UTC) - マージ日時: 2026年03月17日 15:45:38(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 dotnet/runtime の API提案スキルのドキュメントを改善し、実際のAPI承認プロセスに合わせて再構成。スキルトリガーの説明を拡充し、LLMの一般的な失敗パターンを記載し、提案テンプレートをAPI Issue テンプレートに統一。 @@ -347,7 +347,7 @@ dotnet/runtime の API提案スキルのドキュメントを改善し、実際 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月11日 15:01:30(UTC) - マージ日時: 2026年03月17日 12:48:06(UTC) -- ラベル: area-Extensions-FileSystem +- ラベル: area-Extensions-FileSystem #### 概要 Microsoft.Extensions.FileSystemGlobbing APIの欠落していたXML documentation を追加・修正するPRです。MatcherExtensionsクラスへの`

`追加、各クラスのコンストラクタと プロパティのドキュメンテーション整備、FilePatternMatch.GetHashCode()の``タグ修正、およびFileInfoWrapper.FullNameの不正な remarks参照の修正を実施しました。dotnet-api-docsへの後続ポートを前提としています。 @@ -378,7 +378,7 @@ Microsoft.Extensions.FileSystemGlobbing APIの欠落していたXML documentatio - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月11日 14:25:34(UTC) - マージ日時: 2026年03月17日 15:15:18(UTC) -- ラベル: area-Extensions-FileSystem +- ラベル: area-Extensions-FileSystem #### 概要 Microsoft.Extensions.FileProviders名前空間のAPI文書化を改善するPRです。XML文書コメントの追加・修正により、コンストラクタの説明を標準化し、パラメータの説明を明確化しています。`NullFileProvider`と`NotFoundDirectoryContents`には明示的なパラメータなしコンストラクタが追加されました。 @@ -407,7 +407,7 @@ Microsoft.Extensions.FileProviders名前空間のAPI文書化を改善するPR - 作成者: [@jtschuster](https://github.com/jtschuster) - 作成日時: 2026年03月11日 00:15:18(UTC) - マージ日時: 2026年03月17日 03:06:04(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 crossgen2のJitHostメモリ割り当て失敗時の処理を改善。従来はmallocの失敗時にNULLを返していたため、JIT's ArenaAllocatorがNULLチェックなしに逆参照してアクセス違反が発生していました。本修正により、malloc/calloc失敗時に`std::bad_alloc`を発生させ、JitCompileMethod境界で捕捉して`CORJIT_OUTOFMEM`を返すことで、メモリ不足時の例外処理を統一します。 @@ -432,7 +432,7 @@ crossgen2のJitHostメモリ割り当て失敗時の処理を改善。従来はm - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年03月10日 11:37:31(UTC) - マージ日時: 2026年03月17日 07:02:24(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 ReadyToRun (R2R) コンパイラが `CompExactlyDependsOn` 属性を持つメソッドをスキップする判定ロジックのバグを修正。対象アーキテクチャに適用されない命令セット(`InstructionSet.ILLEGAL`)を参照する場合、メソッドが不正にR2R コンパイルから除外されていました。修正により、ILLEGAL命令セットは既知の非サポート状態として扱われ、メソッドがR2Rでコンパイルされるようになります。JSON シリアライゼーション/デシリアライゼーションのパフォーマンスが約2倍向上。 @@ -457,7 +457,7 @@ ReadyToRun (R2R) コンパイラが `CompExactlyDependsOn` 属性を持つメソ - 作成者: [@eiriktsarpalis](https://github.com/eiriktsarpalis) - 作成日時: 2026年03月06日 16:39:00(UTC) - マージ日時: 2026年03月17日 17:36:56(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 dotnet/runtime リポジトリ向けの GitHub Issue トリアージ用 Copilot skill を追加します。このスキルは Issue を調査し、KEEP/CLOSE/NEEDS INFO の推奨事項を構造化されたマークダウンレポートで出力します。8段階のワークフロー(安全性スキャン、Issue 分類、重複検出、タイプ別調査など)と、バグ・API提案・パフォーマンス回帰・質問など Issue タイプ別の詳細ガイドで構成されています。 @@ -492,7 +492,7 @@ dotnet/runtime リポジトリ向けの GitHub Issue トリアージ用 Copilot - 作成者: [@svick](https://github.com/svick) - 作成日時: 2026年03月05日 16:28:10(UTC) - マージ日時: 2026年03月17日 14:13:34(UTC) -- ラベル: area-Extensions-Configuration +- ラベル: area-Extensions-Configuration #### 概要 Roslynの問題修正に伴い、ビッグエンディアンアーキテクチャ上で無効化されていたソースジェネレータテストを再度有効化します。先行するPR #105485の変更を取り消します。 @@ -515,7 +515,7 @@ Roslynの問題修正に伴い、ビッグエンディアンアーキテクチ - 作成者: [@gwr](https://github.com/gwr) - 作成日時: 2026年03月02日 14:03:27(UTC) - マージ日時: 2026年03月17日 16:11:42(UTC) -- ラベル: area-System.Net os-SunOS community-contribution +- ラベル: area-System.Net os-SunOS community-contribution #### 概要 SunOS環境で`getdomainname()`関数を正常に動作させるための修正です。System.Net.NetworkInformation.Functional.Testsが実行時にアボートするのを防ぐため、SunOS固有のライブラリリンク設定と関数宣言を追加しています。 @@ -538,7 +538,7 @@ SunOS環境で`getdomainname()`関数を正常に動作させるための修正 - 作成者: [@danmoseley](https://github.com/danmoseley) - 作成日時: 2026年02月21日 08:27:44(UTC) - マージ日時: 2026年03月17日 03:44:48(UTC) -- ラベル: area-System.Text.RegularExpressions +- ラベル: area-System.Text.RegularExpressions #### 概要 `RegexOptions.AnyNewLine` フラグ (値: 0x0800) を新規追加し、`^`、`$`、`\Z`、`.` が Unicode のすべての行区切り文字 (`\r`、`\r\n`、`\n`、`\u0085`、`\u2028`、`\u2029`) を認識するようにします。これにより、Windows 形式の `\r\n` や Unicode 改行に対応する際の煩雑な回避策(`\r?\n` や `(\r\n|\n)` など)が不要になります。 @@ -580,7 +580,7 @@ var match = Regex.Match("foo\r\nbar", ".*$", RegexOptions.Multiline | RegexOptio - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年02月12日 19:49:56(UTC) - マージ日時: 2026年03月17日 18:05:43(UTC) -- ラベル: area-crossgen2-coreclr linkable-framework +- ラベル: area-crossgen2-coreclr linkable-framework #### 概要 crossgen2でInterop型マップの事前コンパイル機能を追加します。従来はTypeMap属性を実行時に処理していましたが、本変更ではNativeAOTと同様にネイティブ形式のハッシュテーブルにエンコードします。3つの新しいReadyToRunセクション(ExternalTypeMaps、ProxyTypeMaps、TypeMapAssemblyTargets)を導入し、型マップをR2Rイメージに事前計算して格納することで、実行時の属性処理オーバーヘッドを削減します。 @@ -612,7 +612,7 @@ Depends on [#124247](https://github.com/dotnet/runtime/pull/124247)、[#124202]( - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月10日 15:16:10(UTC) - マージ日時: 2026年03月17日 16:05:03(UTC) -- ラベル: area-System.Numerics.Tensors +- ラベル: area-System.Numerics.Tensors #### 概要 非密集(strided)テンソルスパンにおける複数のメソッドの不正な動作を修正するPRです。これらのメソッドが基となるストレージ全体を処理していたのに対し、論理的なテンソル要素のみを操作するように改善しました。主な対象メソッドは `SequenceEqual`、`Fill*`、`Resize*`、`IndexOf*`、`ConcatenateOnDimension` です。 @@ -652,7 +652,7 @@ bool result = ts1.SequenceEqual(ts2); // 修正後: true - 作成者: [@liveans](https://github.com/liveans) - 作成日時: 2026年02月09日 21:26:54(UTC) - マージ日時: 2026年03月17日 20:26:31(UTC) -- ラベル: area-System.Net.Sockets +- ラベル: area-System.Net.Sockets #### 概要 Unix環境において、`ConnectAsync`の成功後にソケットをブロッキングモードに復元します。ユーザーが明示的に`Socket.Blocking = false`を設定していない場合、その後の同期操作(`Send`/`Receive`)がepoll/kqueueでのエミュレーションではなくネイティブなブロッキングシステムコールを使用することで、パフォーマンスを最適化します。後続の非同期I/O操作が実行される際には、既存の`SetHandleNonBlocking()`メカニズムを通じてソケットは非ブロッキングモードに戻されます。 @@ -682,7 +682,7 @@ Copilotレビューでは、`ConnectOperation.InvokeCallback`において接続 - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年01月27日 09:58:48(UTC) - マージ日時: 2026年03月17日 20:23:43(UTC) -- ラベル: Servicing-approved area-System.Net +- ラベル: Servicing-approved area-System.Net #### 概要 WebSocket サーバーが RFC 6455 に準拠するように、マスクなしフレームの受信を拒否する機能を追加します。RFC 6455 では、クライアント→サーバー通信では必ずペイロードをマスクする必要がありますが、この要件を厳密に実装することで、非準拠のクライアントからの不正なフレーム受信を防止します。 diff --git a/archives/2026/03/18.md b/archives/2026/03/18.md index c235e4c..695bdeb 100644 --- a/archives/2026/03/18.md +++ b/archives/2026/03/18.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#125719 Enable linux_arm64 coreclr build for SVE perf benchmarks.](#125719) 2. [#125717 Fix `ConnectAsync_WithBuffer_Succeeds` test to include Apple mobile platforms](#125717) 3. [#125709 Unify SECURITY_ATTRIBUTES code across the codebase](#125709) @@ -33,7 +33,7 @@ - 作成者: [@ilonatommy](https://github.com/ilonatommy) - 作成日時: 2026年03月18日 09:13:55(UTC) - マージ日時: 2026年03月18日 11:50:02(UTC) -- ラベル: arch-wasm area-Infrastructure perf-pipeline +- ラベル: arch-wasm area-Infrastructure perf-pipeline #### 概要 Linux ARM64プラットフォーム向けのCoreClrパフォーマンスベンチマークビルドを有効化するパイプライン設定変更。`dotnet-performance`リポジトリの`cobaltSveMicro`ジョブが`linux_arm64`上で実行される際に必要な`build_linux_arm64_release_coreclr`ジョブの依存関係を解決し、YAML検証エラーによるパイプラインビルド失敗を修正しています。 @@ -56,7 +56,7 @@ Linux ARM64プラットフォーム向けのCoreClrパフォーマンスベン - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年03月18日 09:07:27(UTC) - マージ日時: 2026年03月18日 13:29:12(UTC) -- ラベル: area-System.Net.Sockets os-ios +- ラベル: area-System.Net.Sockets os-ios #### 概要 `ConnectAsync_WithBuffer_Succeeds` テストを更新し、Apple モバイルプラットフォーム(iOS/tvOS など)を connectx ブロッキングモードチェックに含めるようにします。このテストはUnixプラットフォーム固有のSocket接続機能を検証するものです。 @@ -78,7 +78,7 @@ Linux ARM64プラットフォーム向けのCoreClrパフォーマンスベン - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月18日 03:36:39(UTC) - マージ日時: 2026年03月18日 15:18:16(UTC) -- ラベル: area-System.IO +- ラベル: area-System.IO #### 概要 `SECURITY_ATTRIBUTES`構造体の初期化処理を統一するため、Kernel32インタロップレイヤーに3つのファクトリメソッドを追加し、複数の箇所で重複していた初期化コードを削除する変更です。これにより、ファイル、パイプ、レジストリ、ディレクトリ、メモリマップドファイル、スレッド同期プリミティブ関連のコード全体で一貫性が向上します。 @@ -114,7 +114,7 @@ SECURITY_ATTRIBUTES.Create(bool inheritable) // nLengthとハンドル - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月18日 03:31:17(UTC) - マージ日時: 2026年03月18日 14:05:52(UTC) -- ラベル: area-System.IO test-enhancement +- ラベル: area-System.IO test-enhancement #### 概要 Windows上で`SetFileInformationByHandle`が返す`ERROR_INVALID_PARAMETER`(87)エラーを処理する修正が既に適用されたため、抑制されていたテストを再度有効化します。このテストは1EiBのプリアロケーションがファイルパスとサイズを含むIOExceptionをスローし、ディスク上にファイルを残さないことを検証します。 @@ -136,7 +136,7 @@ Windows上で`SetFileInformationByHandle`が返す`ERROR_INVALID_PARAMETER`(87) - 作成者: [@bartonjs](https://github.com/bartonjs) - 作成日時: 2026年03月17日 22:23:20(UTC) - マージ日時: 2026年03月18日 19:47:57(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 OpenSSL 4のサポートをポータブルビルドに追加するプルリクエストです。OpenSSL 3.x/1.1が利用可能な場合はそれらを優先しつつ、フォールバックとしてOpenSSL 4へのバインディングを可能にします。 @@ -160,7 +160,7 @@ OpenSSL 4のサポートをポータブルビルドに追加するプルリク - 作成者: [@akoeplinger](https://github.com/akoeplinger) - 作成日時: 2026年03月17日 21:59:03(UTC) - マージ日時: 2026年03月18日 08:41:36(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 公開ビルド用のLinuxプール設定をAzure Linux 3イメージを使用するように更新しました。既に内部ビルドで使用されているAzure Linux 3の命名規則に合わせて、公開ビルドのImageOverrideを統一するものです。 @@ -181,7 +181,7 @@ OpenSSL 4のサポートをポータブルビルドに追加するプルリク - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2026年03月17日 21:26:10(UTC) - マージ日時: 2026年03月18日 03:33:58(UTC) -- ラベル: area-System.Security reduce-unsafe +- ラベル: area-System.Security reduce-unsafe #### 概要 暗号スタック全体における `PointerMemoryManager` の使用を削減する継続的な取り組みの一環です。PKCS#7 `ContentInfo` のASN.1デコーディングを `PointerMemoryManager` から生成された `ref struct` ベースのデコーダ(`ValueContentInfoAsn`)に置き換え、複数のPKCS/CMS/X.509呼び出しサイトを`ReadOnlySpan`ベースのAPIに切り替えます。これにより、メモリピニングのオーバーヘッドを削減し、より安全で効率的なコード生成を実現します。 @@ -207,7 +207,7 @@ OpenSSL 4のサポートをポータブルビルドに追加するプルリク - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月17日 21:25:35(UTC) - マージ日時: 2026年03月18日 18:15:34(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/dotnetリポジトリからのコードフロー更新PR。ビルド20260317.4の依存関係更新を含む自動同期です。主にMicrosoft.CodeAnalysis、NuGet関連パッケージ、ビルドツールの依存関係がバージョンアップされています。 @@ -240,7 +240,7 @@ dotnet/dotnetリポジトリからのコードフロー更新PR。ビルド20260 - 作成者: [@sbomer](https://github.com/sbomer) - 作成日時: 2026年03月17日 21:12:45(UTC) - マージ日時: 2026年03月18日 15:55:13(UTC) -- ラベル: Servicing-approved area-System.Runtime.InteropServices linkable-framework +- ラベル: Servicing-approved area-System.Runtime.InteropServices linkable-framework #### 概要 release/9.0-stagingブランチでのRoslyn依存関係更新をリバート(コミット f505b9455c334cb1107a1db30daeeb3930b7e58c)。Roslyn/Roslyn-analyzersのパッケージバージョンを以前の状態に戻し、リバートされたコンパイラ/分析ツールの動作に合わせてテストと設定を調整。 @@ -267,7 +267,7 @@ release/9.0-stagingブランチでのRoslyn依存関係更新をリバート( - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月17日 20:02:48(UTC) - マージ日時: 2026年03月18日 04:33:35(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 CoreCLR実行時のCrst(Critical Section)ロック順序違反を修正。`CreateInteropILStub`が`CrstILStubGen`を保持しながら型読み込み中に`CrstLoaderAllocatorReferences`を取得しようとしていたが、ロック順序の宣言が不足していた。特に`InlineArray`を含むP/Invoke スタブ生成時に発生していた問題。 @@ -290,7 +290,7 @@ CoreCLR実行時のCrst(Critical Section)ロック順序違反を修正。`C - 作成者: [@ManickaP](https://github.com/ManickaP) - 作成日時: 2026年03月17日 17:31:21(UTC) - マージ日時: 2026年03月18日 09:49:52(UTC) -- ラベル: area-System.Net.Quic +- ラベル: area-System.Net.Quic #### 概要 Azure Linux 3(非コンテナ)環境でのQUIC機能テストを無効化します。MsQuicの既知の問題(`QUIC_STATUS_OUT_OF_MEMORY`)によるテスト失敗を回避することが目的です。 @@ -312,7 +312,7 @@ Azure Linux 3(非コンテナ)環境でのQUIC機能テストを無効化し - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年03月17日 15:04:49(UTC) - マージ日時: 2026年03月18日 00:04:40(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 2つのJIT回帰テストを、マルチスレッド対応のランタイムでのみ実行するように条件付き化します。シングルスレッド環境での`Thread`使用に伴う失敗やハングを回避するための変更です。 @@ -339,7 +339,7 @@ Azure Linux 3(非コンテナ)環境でのQUIC機能テストを無効化し - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月17日 09:36:58(UTC) - マージ日時: 2026年03月18日 20:53:32(UTC) -- ラベル: area-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 Windows上でプロセスのstdout/stderr パイプの親側で重複I/O(非同期I/O)を有効化し、ブロッキング読み取りでスレッドプール スレッドを消費するのを回避します。子プロセス側は同期のまま維持し、`GetStdHandle()` との互換性を保証します。 @@ -375,7 +375,7 @@ CreatePipe(out parentOutputPipeHandle, out childOutputPipeHandle, false); - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年03月16日 21:24:21(UTC) - マージ日時: 2026年03月18日 21:54:13(UTC) -- ラベル: area-System.Text.RegularExpressions +- ラベル: area-System.Text.RegularExpressions #### 概要 正規表現エンジンで、貪欲なループ(`\w+`、`\d+` など)の後に、そのループのクラスに含まれるリテラルが続き、さらにその後が不連続パターンの場合、バックトラッキングを最適化するパフォーマンス改善です。例えば `\b\w+n\b` では、`\w+` の最後の位置だけが成功可能なため、繰り返される `LastIndexOf` 呼び出しをスキップできます。 @@ -400,7 +400,7 @@ CreatePipe(out parentOutputPipeHandle, out childOutputPipeHandle, false); - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年03月16日 16:33:17(UTC) - マージ日時: 2026年03月18日 17:04:22(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Compact Diagnostic Access Component)のスタックウォーク機能において、`ContextHolder`の反射ベースのレジスタアクセスを削除し、各プラットフォーム固有のコンテキスト構造体での明示的な切り替え実装に置き換えました。これにより、AOTトリミング互換性を改善し、ホットパスのパフォーマンスオーバーヘッドを削減します。 @@ -442,7 +442,7 @@ cDAC(Compact Diagnostic Access Component)のスタックウォーク機能 - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月15日 02:02:15(UTC) - マージ日時: 2026年03月18日 16:25:01(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 dotnet/runtime の依存関係を更新するPullRequestです。dotnet/icu、dotnet/hotreload-utils、dotnet/runtime-assets から複数のパッケージを最新版に更新しています。これは定期的な依存関係の同期を目的とした自動更新です。 @@ -472,7 +472,7 @@ dotnet/runtime の依存関係を更新するPullRequestです。dotnet/icu、do - 作成者: [@tommcdon](https://github.com/tommcdon) - 作成日時: 2026年03月13日 20:42:57(UTC) - マージ日時: 2026年03月18日 19:26:31(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 ホットリロード中に複数のメタデータ差分を適用する際に、既存型へのプロパティ/イベント追加と新しい型の作成が交互に行われると、`System.ArgumentOutOfRangeException: Token 2000000 is not valid` がスローされる問題を修正します。 @@ -498,7 +498,7 @@ dotnet/runtime の依存関係を更新するPullRequestです。dotnet/icu、do - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月13日 17:35:39(UTC) - マージ日時: 2026年03月18日 20:21:11(UTC) -- ラベル: Servicing-approved area-Infrastructure +- ラベル: Servicing-approved area-Infrastructure #### 概要 release/10.0ブランチにおいて、Linux環境でのwasi-sdk curl ダウンロード失敗を減らすため、curl コマンドにリトライフラグを追加するバックポート。レート制限やネットワーク遅延などの一時的なダウンロード失敗に対する耐性を向上させます。 @@ -523,7 +523,7 @@ release/10.0ブランチにおいて、Linux環境でのwasi-sdk curl ダウン - 作成者: [@janvorli](https://github.com/janvorli) - 作成日時: 2026年03月13日 16:20:11(UTC) - マージ日時: 2026年03月18日 12:14:12(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 インタープリタでの例外処理(EH)診断テストのサポートを改善するPRです。デバッガスタックウォーク、例外インターセプション、IL↔ネイティブオフセットマッピングの動作をインタープリタに対応させることで、21個の診断EHテストのうち18個が成功するようになりました。また、最近のデバッグエラーハンドリング リファクタリングで発生していたLinux環境での退行も修正されています。 @@ -548,7 +548,7 @@ release/10.0ブランチにおいて、Linux環境でのwasi-sdk curl ダウン - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月12日 10:30:13(UTC) - マージ日時: 2026年03月18日 16:34:06(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 dotnet/xharnessの依存関係を更新するPull Requestです。XHarness関連パッケージを11.0.0-prerelease.26160.2から11.0.0-prerelease.26168.1にバージョンアップしています。 @@ -576,7 +576,7 @@ dotnet/xharnessの依存関係を更新するPull Requestです。XHarness関連 - 作成者: [@jtschuster](https://github.com/jtschuster) - 作成日時: 2026年03月12日 01:31:32(UTC) - マージ日時: 2026年03月18日 17:23:31(UTC) -- ラベル: area-PAL-coreclr +- ラベル: area-PAL-coreclr #### 概要 clang 22でコンパイルされたELF出力ファイルが実行可能スタックをリクエストしないようにするため、`.note.GNU-stack`セクションを明示的に出力する回避策を追加します。`NO_EXEC_STACK_DIRECTIVE`マクロを定義し、ELF + clang 22以上でビルドされるアセンブリファイルに追加しています。 @@ -600,7 +600,7 @@ clang 22でコンパイルされたELF出力ファイルが実行可能スタッ - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年03月11日 20:26:29(UTC) - マージ日時: 2026年03月18日 13:12:11(UTC) -- ラベル: arch-wasm area-CodeGen-Interpreter-coreclr +- ラベル: arch-wasm area-CodeGen-Interpreter-coreclr #### 概要 WebAssembly インタープリタにおいて、マネージド `calli` 命令のクッキー解決をコンパイル時から実行時に遅延させる変更です。ポータブルエントリポイント上の全マネージド/FCall calli 呼び出しについて、コンパイル時にクッキーを計算する代わりに実行時に MethodDesc から解決することで、デリゲートシャッフルサンクの対応が可能になり、約40シグネチャ分のハードコード化されたスタブが不要になります。 @@ -625,7 +625,7 @@ WebAssembly インタープリタにおいて、マネージド `calli` 命令 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月03日 18:00:32(UTC) - マージ日時: 2026年03月18日 16:07:59(UTC) -- ラベル: area-System.Text.Json +- ラベル: area-System.Text.Json #### 概要 .NET 10で導入された`JsonValueOfJsonString`、`JsonValueOfJsonBool`、`JsonValueOfJsonNumber`が`GetValue()`と`TryGetValue()`で`InvalidOperationException`をスローする回帰バグを修正します。これらの型の`TryGetValue`メソッドが`typeof(T) == typeof(object)`と`typeof(T) == typeof(JsonElement?)`のチェックを欠いていたことが原因です。 @@ -658,7 +658,7 @@ var o = node.GetValue(); - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月26日 14:48:49(UTC) - マージ日時: 2026年03月18日 20:20:48(UTC) -- ラベル: area-Infrastructure-libraries +- ラベル: area-Infrastructure-libraries #### 概要 Windows ビルドエージェントプールを Visual Studio 2026 Preview Scout イメージから安定版の VS2026 本番イメージに移行するビルドインフラストラクチャ更新です。プレビュー/スカウトイメージ参照を削除し、本番対応のイメージ名(内部ビルド:`windows.vs2026.amd64`、公開ビルド:`windows.vs2026.amd64.open`)に統一します。 @@ -685,7 +685,7 @@ Windows ビルドエージェントプールを Visual Studio 2026 Preview Scout - 作成者: [@danmoseley](https://github.com/danmoseley) - 作成日時: 2026年02月25日 02:33:20(UTC) - マージ日時: 2026年03月18日 01:25:19(UTC) -- ラベル: area-System.Text.RegularExpressions +- ラベル: area-System.Text.RegularExpressions #### 概要 `TryGetOrdinalCaseInsensitiveString`メソッドが`Capture`ノードを透過的に処理し、ネストされた`Concatenate`ノードを再帰的に探索するよう改善しました。これにより、`\b(in)\b`(`IgnoreCase`オプション)のようなパターンが、単一文字列による高速な`LeadingString_OrdinalIgnoreCase_LeftToRight`戦略を使用できるようになります。 @@ -708,7 +708,7 @@ Windows ビルドエージェントプールを Visual Studio 2026 Preview Scout - 作成者: [@danmoseley](https://github.com/danmoseley) - 作成日時: 2026年02月21日 04:37:34(UTC) - マージ日時: 2026年03月18日 16:09:23(UTC) -- ラベル: area-System.Text.RegularExpressions +- ラベル: area-System.Text.RegularExpressions #### 概要 正規表現パーサーが条件式の yes/no ブランチ内でインラインオプション(例:`(?i)`)を拒否していた問題を修正しました。これは .NET Framework からのリグレッションで、`(?(test)(?i)yes|no)` のような構文が `Unrecognized grouping construct` エラーを発生させていました。 @@ -735,7 +735,7 @@ Windows ビルドエージェントプールを Visual Studio 2026 Preview Scout - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年02月19日 16:36:36(UTC) - マージ日時: 2026年03月18日 12:55:35(UTC) -- ラベル: area-crossgen2-coreclr os-ios +- ラベル: area-crossgen2-coreclr os-ios #### 概要 Crossgen2に`--strip-inlining-info`、`--strip-debug-info`、`--strip-il-bodies`オプションを追加し、Apple mobileプラットフォームで自動的に有効化することで、composite R2R dylib出力サイズを削減します。MAUI template appでは2.2 MBのサイズ削減を実現します。 @@ -763,7 +763,7 @@ composite R2R dylib出力サイズが2.2 MB削減(MAUI template appでの実 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2025年07月30日 13:01:33(UTC) - マージ日時: 2026年03月18日 15:42:23(UTC) -- ラベル: area-System.Text.Json +- ラベル: area-System.Text.Json #### 概要 Version JSON逆シリアル化のパフォーマンス最適化PR。主な変更は、先頭のプラス記号の検証を削除して`Version.Parse`の動作に合わせ、UTF-8パースのサポートを追加することで、UTF-8→UTF-16のトランスコーディングオーバーヘッドを排除します。`.NET 11+`ではUTF-8バイト直接パースにより、中間バッファの割り当てを削除し、スループットを向上させます。 diff --git a/archives/2026/03/19.md b/archives/2026/03/19.md index 88a6d33..af35233 100644 --- a/archives/2026/03/19.md +++ b/archives/2026/03/19.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#125790 \[release/8.0\] Remove Homebrew LLVM during macOS CI setup - Part 2](#125790) 2. [#125789 \[release/9.0\] Remove Homebrew LLVM during macOS CI setup - Part 2](#125789) 3. [#125785 \[release/9.0\] Remove Homebrew LLVM during macOS CI setup](#125785) @@ -37,7 +37,7 @@ - 作成者: [@steveisok](https://github.com/steveisok) - 作成日時: 2026年03月19日 17:32:59(UTC) - マージ日時: 2026年03月19日 20:31:11(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 macOS CI環境において、HomebrewでインストールされたLLVMライブラリ(例:`/usr/local/lib`内のx86_64のみのlibunwind.dylib)がApple SDKと競合し、ネイティブリンクを破損する問題を解決するため、CI設定からHomebrew LLVM (`llvm@18`) をアンインストールするスクリプト変更。ビルドはApple clang (`/usr/bin/clang`) のみを使用するため、Homebrew LLVMは不要。 @@ -60,7 +60,7 @@ macOS CI環境において、HomebrewでインストールされたLLVMライブ - 作成者: [@steveisok](https://github.com/steveisok) - 作成日時: 2026年03月19日 17:31:32(UTC) - マージ日時: 2026年03月19日 20:36:59(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 macOS CI環境で、HomebrewからプリインストールされているLLVMがApple SDKのライブラリと競合し、ネイティブリンクを破壊する問題を解決するため、CI依存関係セットアップ時にHomebrewのLLVMを削除するようにしました。本PR(#125763)をrelease/9.0ブランチにバックポートするものです。 @@ -83,7 +83,7 @@ macOS CI環境で、HomebrewからプリインストールされているLLVMが - 作成者: [@steveisok](https://github.com/steveisok) - 作成日時: 2026年03月19日 17:03:48(UTC) - マージ日時: 2026年03月19日 17:21:32(UTC) -- ラベル: Servicing-approved area-Infrastructure-libraries +- ラベル: Servicing-approved area-Infrastructure-libraries #### 概要 macOS CI環境でHomebrewのLLVMがApple SDKと競合し、ネイティブリンクを破損する問題を解決するPR。CI実行環境に含まれるHomebrewのLLVM(特に`/usr/local/lib`の`libunwind.dylib`など)を事前に削除し、ビルドがApple clangのみを使用するようにします。本PR (#125763)の9.0リリースブランチへのバックポートです。 @@ -105,7 +105,7 @@ macOS CI環境でHomebrewのLLVMがApple SDKと競合し、ネイティブリン - 作成者: [@steveisok](https://github.com/steveisok) - 作成日時: 2026年03月19日 17:02:20(UTC) - マージ日時: 2026年03月19日 17:21:35(UTC) -- ラベル: Servicing-approved area-Infrastructure-libraries +- ラベル: Servicing-approved area-Infrastructure-libraries #### 概要 macOS CI環境で事前インストールされているHomebrewのLLVMが、Apple SDKとの競合により、特にx86_64専用のlibunwind.dylibなどがネイティブリンクを破壊する問題を修正します。ビルドはApple clangの`/usr/bin/clang`を排他的に使用するため、Homebrew LLVMは不要です。 @@ -127,7 +127,7 @@ macOS CI環境で事前インストールされているHomebrewのLLVMが、App - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年03月19日 12:59:21(UTC) - マージ日時: 2026年03月19日 13:22:09(UTC) -- ラベル: area-Infrastructure-mono +- ラベル: area-Infrastructure-mono #### 概要 XHarness/devicectl インフラの問題([#123796](https://github.com/dotnet/runtime/issues/123796))が解決されるまで、iOS(`ios_arm64`)および tvOS(`tvos_arm64`)プラットフォームの CI ジョブを一時的に無効化します。 @@ -150,7 +150,7 @@ XHarness/devicectl インフラの問題([#123796](https://github.com/dotnet/r - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年03月19日 05:40:03(UTC) - マージ日時: 2026年03月19日 12:52:58(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT ランタイムに `TSF_SuspensionTrapped` スレッド状態フラグを実装し、EventPipe SampleProfiler がサスペンション中に正確にサンプルを "Managed" または "External" として分類できるようにします。これにより CoreCLR の動作に揃えられます。 @@ -175,7 +175,7 @@ NativeAOT ランタイムに `TSF_SuspensionTrapped` スレッド状態フラグ - 作成者: [@steveisok](https://github.com/steveisok) - 作成日時: 2026年03月19日 05:04:09(UTC) - マージ日時: 2026年03月19日 16:33:58(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 macOS 15 CI ランナーイメージに付属する Homebrew LLVM 18 が、x86_64 専用の libunwind.dylib などを `/usr/local/lib` にインストールし、ネイティブリンク時に間違ったアーキテクチャのライブラリを拾うことで、`_unw_step` や `__Unwind_Resume` などのシンボルが未解決になり、macOS でのネイティブリンクが全て失敗する問題を修正します。ビルドは Apple clang(`/usr/bin/clang`)のみを使用するため、Homebrew LLVM を CI セットアップ時に削除します。 @@ -202,7 +202,7 @@ macOS 15 CI ランナーイメージに付属する Homebrew LLVM 18 が、x86_6 - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年03月18日 22:52:38(UTC) - マージ日時: 2026年03月19日 16:11:48(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 WebAssembly JIT コンパイル時に未実装機能(NYI_WASM)に遭遇した場合、crossgen2 がコンパイルを継続できるようにするための JIT 設定値 `JitWasmNyiToR2RUnsupported` を追加します。この設定が有効な場合、NYI_WASM は通常の NYI 処理ではなく ReadyToRun の「unsupported」失敗にマップされます。 @@ -225,7 +225,7 @@ WebAssembly JIT コンパイル時に未実装機能(NYI_WASM)に遭遇し - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2026年03月18日 21:49:32(UTC) - マージ日時: 2026年03月19日 23:36:32(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 RFC 9935の公開に伴い、ML-KEM(ML Key Encapsulation Mechanism)のX.509/SPKI/PKCS#8関連APIから`[Experimental]`属性を削除し、APIを安定化します。公開鍵・秘密鍵のインポート/エクスポート機能およびX.509証明書アクセサーが実験的段階から正式な公開APIへ昇格します。 @@ -253,7 +253,7 @@ RFC 9935の公開に伴い、ML-KEM(ML Key Encapsulation Mechanism)のX.509/ - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年03月18日 19:44:55(UTC) - マージ日時: 2026年03月19日 01:29:30(UTC) -- ラベル: area-System.IO +- ラベル: area-System.IO #### 概要 FileSystemWatcher テストの `WaitForExpectedEventTimeout` を 500ms から 1000ms に増加させるもの。inotify リファクタリング(#117148)後の stop/start タイミング変更により、ストレス環境(特に arm32 jitstress)でのイベント配信が遅延する問題に対処。500ms のタイムアウトは遅いハードウェアで false failure を引き起こしていたため、タイムアウト値を拡大することで タイミング起因のフラキーテストと機能的なバグの区別を容易にする。 @@ -275,7 +275,7 @@ Copilot コードレビューでは、`WaitForExpectedEventTimeout` をイベン - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月18日 03:13:04(UTC) - マージ日時: 2026年03月19日 09:52:31(UTC) -- ラベル: area-Interop-coreclr +- ラベル: area-Interop-coreclr #### 概要 PR #125326で導入された`LicenseInteropProxy`の`[UnmanagedCallersOnly]`ベースの実装がGCストレス下でヒープ破損(終了コード `-1073740940`)を引き起こしていたため、部分的に元の実装に戻すパッチです。GC安全な管理呼び出しパターン(`MethodDescCallSite` + `ARG_SLOT`)を復元することで、ポインタベースのメタシグネチャの安全性問題を解決しています。 @@ -301,7 +301,7 @@ PR #125326で導入された`LicenseInteropProxy`の`[UnmanagedCallersOnly]`ベ - 作成者: [@janvorli](https://github.com/janvorli) - 作成日時: 2026年03月18日 00:54:12(UTC) - マージ日時: 2026年03月19日 17:14:43(UTC) -- ラベル: NO-SQUASH area-GC-coreclr +- ラベル: NO-SQUASH area-GC-coreclr #### 概要 モノリシックな`gc.cpp`(約57,000行)を19の機能別ファイルに分割するコード再編成です。`gc.cpp`は約8,300行に削減され、新しいファイルは`gc.cpp`の末尾で`#include`されることで、単一コンパイル単位のビルドモデルを維持しています。この変更は純粋な構造的な再編成であり、機能的・動作的な変更はありません。 @@ -341,7 +341,7 @@ PR #125326で導入された`LicenseInteropProxy`の`[UnmanagedCallersOnly]`ベ - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月18日 00:29:09(UTC) - マージ日時: 2026年03月19日 02:11:13(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/emsdkからの依存関係を更新するPull Request。WebAssembly(Emscripten)関連の構成要素のバージョンアップデートが含まれています。 @@ -367,7 +367,7 @@ dotnet/emsdkからの依存関係を更新するPull Request。WebAssembly(Ems - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月17日 21:39:59(UTC) - マージ日時: 2026年03月19日 12:30:54(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 SuperPMI(Static Program Metrics Infrastructure)のメトリクス差分レポートにおいて、コード変更がない場合でも数値の微小な誤差がノイズとして報告される問題を解決します。`superpmi.py`の`write_metricdiff_markdown_summary`関数に±0.01%の閾値チェックを追加し、このしきい値より小さいメトリクス差分は無視するようにしました。これは既存の`is_significant_pct`パターン(`write_tpdiff_markdown_summary`で使用)との一貫性を保ちます。 @@ -394,7 +394,7 @@ SuperPMI(Static Program Metrics Infrastructure)のメトリクス差分レ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月17日 21:30:42(UTC) - マージ日時: 2026年03月19日 14:33:05(UTC) -- ラベル: area-System.IO +- ラベル: area-System.IO #### 概要 `FileSystemWatcher_SymbolicLink_TargetsDirectory_Create_IncludeSubdirectories` テストのmacOS上での不安定性を修正しました。原因はmacOS FSEventsが遅延した`Created`イベントを配信する可能性があり、`ExpectNoEvent`が無関係なパスのイベントにも反応していたためです。修正により、特定のネストされたパスのイベントのみを検証するように`ExpectNoEvent`にパスフィルタを追加し、`[ActiveIssue]`属性をmacOSのみに限定しました。 @@ -418,7 +418,7 @@ SuperPMI(Static Program Metrics Infrastructure)のメトリクス差分レ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月17日 20:22:40(UTC) - マージ日時: 2026年03月19日 22:22:28(UTC) -- ラベル: area-System.Threading +- ラベル: area-System.Threading #### 概要 System.Threading.Tasks.Dataflow.Tests がJITストレステスト(jitstress2-jitstressregs)下でタイムアウトする問題を修正します。9個の `SpinWait.SpinUntil()` 呼び出しに対してタイムアウトを追加し、JIT再コンパイルによるCPUリソース枯渇フィードバックループを防止します。 @@ -453,7 +453,7 @@ Assert.True(SpinWait.SpinUntil(() => block.Count == messagesCount, DataflowTestH - 作成者: [@kg](https://github.com/kg) - 作成日時: 2026年03月17日 18:56:11(UTC) - マージ日時: 2026年03月19日 02:48:43(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly RyuJIT対象のReadyToRun間接呼び出しにおいて、R2R間接セル引数の位置を修正しました。従来は`(sp) (indcell) (arg0) (arg1) ...`の順序でしたが、`(sp) (arg0) (arg1) (indcell)`の順序に変更し、WASM後端の期待するLIR評価順序とスタック順序に合わせました。 @@ -488,7 +488,7 @@ public static int fib(int n) { - 作成者: [@ilonatommy](https://github.com/ilonatommy) - 作成日時: 2026年03月16日 15:08:26(UTC) - マージ日時: 2026年03月19日 14:39:03(UTC) -- ラベル: area-Debugger-mono +- ラベル: area-Debugger-mono #### 概要 Blazor WebAssemblyアプリでWeb Workersを使用する際、Visual Studioでのデバッグ中にワーカースレッドが起動時にハングする問題を修正しました。BrowserDebugProxy(MonoProxy)の2つの問題を解決します: 1. Chrome がワーカーをアタッチ時に一時停止した後、`Runtime.runIfWaitingForDebugger` を送信していなかった @@ -517,7 +517,7 @@ aspnetcore側の関連Issue:dotnet/aspnetcore#65823 - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月16日 05:03:11(UTC) - マージ日時: 2026年03月19日 22:56:13(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/xharness依存関係を更新するPull Requestです。Microsoft.DotNet.XHarness関連のNuGetパッケージを11.0.0-prerelease.26117.1から11.0.0-prerelease.26168.1にアップグレードしています。このアップデートはテスト実行基盤に関連する変更を含みます。 @@ -548,7 +548,7 @@ dotnet/xharness依存関係を更新するPull Requestです。Microsoft.DotNet. - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月15日 22:48:27(UTC) - マージ日時: 2026年03月19日 17:37:11(UTC) -- ラベル: area-System.Net.Http reduce-unsafe +- ラベル: area-System.Net.Http reduce-unsafe #### 概要 `WebHeaderEncoding.cs` を削除し、すべての呼び出し元を `Encoding.Latin1` に置き換えるリファクタリング。`WebHeaderEncoding` は Latin-1 バイト↔文字変換の最適化を提供していましたが、現在の `Encoding.Latin1` は双方向で正しく機能するため、カスタム実装は不要になりました。 @@ -576,7 +576,7 @@ dotnet/xharness依存関係を更新するPull Requestです。Microsoft.DotNet. - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年03月14日 19:30:19(UTC) - マージ日時: 2026年03月19日 20:41:06(UTC) -- ラベル: Servicing-approved area-Infrastructure +- ラベル: Servicing-approved area-Infrastructure #### 概要 `release/9.0`の`dotnet-runtime-official`パイプラインで、NativeAOTとMonoが複数プラットフォームから同じアーティファクトパスにアーキテクチャ非依存パッケージ(`Microsoft.NETCore.App.Ref.9.0.15.nupkg`など)をアップロードする際の競合による間欠的なアップロード失敗を修正します。根本原因は複数ジョブが同時に同じファイルをBlob storageに書き込もうとすることです。各プラットフォームのアップロード名を一意にすることで解決します。 @@ -606,7 +606,7 @@ dotnet/xharness依存関係を更新するPull Requestです。Microsoft.DotNet. - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年03月14日 13:44:18(UTC) - マージ日時: 2026年03月19日 11:08:24(UTC) -- ラベル: area-CodeGen-coreclr runtime-async +- ラベル: area-CodeGen-coreclr runtime-async #### 概要 ランタイム非同期メソッドの最適化として、全ての停止点に対応した単一の共有継続レイアウトを生成し、複数の中断時に同じ継続インスタンスを再利用できるようにしました。これにより割り当て回数を削減し、GC圧力を軽減します。ベンチマークでは約30%のパフォーマンス改善が確認されています。 @@ -662,7 +662,7 @@ for (int i = 0; i < n; i++) - 作成者: [@jtschuster](https://github.com/jtschuster) - 作成日時: 2026年03月10日 23:51:14(UTC) - マージ日時: 2026年03月19日 17:20:52(UTC) -- ラベル: arch-arm32 area-crossgen2-coreclr +- ラベル: arch-arm32 area-crossgen2-coreclr #### 概要 ARM32 Thumb-2コード生成の要件に対応し、ReadyToRun/crossgen2でARM32上の非同期メソッドを安全に出力できるようにしました。ARM32ではThumb-2命令セットのため、コードポインタのビット0(Thumbビット)を設定する必要があります。これまでこのビットが未設定のため、CI上で不正命令エラーが発生し、ARM32での非同期メソッド出力が無効化されていました。 @@ -685,7 +685,7 @@ ARM32 Thumb-2コード生成の要件に対応し、ReadyToRun/crossgen2でARM32 - 作成者: [@rzikm](https://github.com/rzikm) - 作成日時: 2026年03月10日 13:43:53(UTC) - マージ日時: 2026年03月19日 12:34:13(UTC) -- ラベル: area-System.Net +- ラベル: area-System.Net #### 概要 System.Net.* アセンブリ全体のAppContextスイッチ処理を標準化するためのリファクタリング。従来の`AppContextSwitchHelper`や手動の`AppContext.TryGetSwitch`パターンを統一された`LocalAppContextSwitches`部分クラスパターンに置き換えることで、コード保守性を向上させます。HTTPのランタイム設定パーサーは対象外。 @@ -715,7 +715,7 @@ Copilotのコード審査により、`LocalAppContextSwitches.Common.cs`の63行 - 作成者: [@danmoseley](https://github.com/danmoseley) - 作成日時: 2026年03月07日 08:30:23(UTC) - マージ日時: 2026年03月19日 15:12:42(UTC) -- ラベル: area-System.Text.RegularExpressions +- ラベル: area-System.Text.RegularExpressions #### 概要 正規表現オプティマイザーの最終処理段階に`FinalReduce()`メソッドを追加し、グローバルパス(`FindAndMakeLoopsAtomic`、`EliminateEndingBacktracking`)による新規ノード構造を再度削減することで、221パターン(実世界の18,931パターン中1.2%)の追加最適化を実現します。すべてのパターンが最大2ラウンドで収束し、リグレッションはゼロです。 @@ -747,7 +747,7 @@ Copilotのコード審査により、`LocalAppContextSwitches.Common.cs`の63行 - 作成者: [@rzikm](https://github.com/rzikm) - 作成日時: 2026年03月06日 08:44:30(UTC) - マージ日時: 2026年03月19日 12:24:29(UTC) -- ラベル: area-System.IO.Compression +- ラベル: area-System.IO.Compression #### 概要 `ZipArchiveEntry`の抽出メソッドにおいて、`FileStreamOptions`を最適化することで抽出パフォーマンスを向上させます。具体的には、エントリの非圧縮サイズ(`ZipArchiveEntry.Length`)に基づいて`PreallocationSize`を設定してディスク領域を事前割り当てし、フラグメンテーション低減と書き込み性能向上を実現します。また、非同期抽出メソッド(`ExtractToFileAsync`)では`FileOptions.Asynchronous`を有効化して非同期I/Oを使用させます。 @@ -773,7 +773,7 @@ Copilotのコード審査により、`LocalAppContextSwitches.Common.cs`の63行 - 作成者: [@elinor-fung](https://github.com/elinor-fung) - 作成日時: 2026年03月05日 23:53:24(UTC) - マージ日時: 2026年03月19日 17:23:53(UTC) -- ラベル: area-Host +- ラベル: area-Host #### 概要 deps.json解析時のディレクトリセパレータ正規化を最適化。パス正規化を`deps_asset_t`コンストラクタで**一度だけ**プラットフォームセパレータ(`DIR_SEPARATOR`)に統一し、従来の毎回のアクセス時正規化を削除。これによりスタートアップ時のメモリ割り当てを**400以上削減**します。 @@ -796,7 +796,7 @@ deps.json解析時のディレクトリセパレータ正規化を最適化。 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月04日 23:42:54(UTC) - マージ日時: 2026年03月19日 17:40:36(UTC) -- ラベル: area-Infrastructure-libraries linkable-framework +- ラベル: area-Infrastructure-libraries linkable-framework #### 概要 Roslyn アナライザー `UnsafeMethodMissingRequiresUnsafeAnalyzer` と対応するコードフィックスプロバイダーを追加し、`unsafe` 修飾子を持つメソッドで `[RequiresUnsafe]` 属性が欠落している場合に警告(IL2900)を発する機能です。System.Private.CoreLib 全体の 276 ファイルにわたって `[RequiresUnsafe]` を適用しました。 @@ -828,7 +828,7 @@ Roslyn アナライザー `UnsafeMethodMissingRequiresUnsafeAnalyzer` と対応 - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年02月24日 03:42:34(UTC) - マージ日時: 2026年03月19日 15:32:02(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC dump テストを ADO パイプラインステージから Helix インフラストラクチャへの実行に転換します。従来の DumpCreation + DumpTest の 2 段階ステージを、単一の CdacDumpTests ステージに統合し、ダンプ生成とテスト実行を Helix マシン上で実行するようにします。windows_arm64 プラットフォームのサポートも追加されます。 @@ -853,7 +853,7 @@ Copilot レビューコメント: `shouldContinueOnError: true` がマトリッ - 作成者: [@alinpahontu2912](https://github.com/alinpahontu2912) - 作成日時: 2026年02月23日 20:48:51(UTC) - マージ日時: 2026年03月19日 10:45:56(UTC) -- ラベル: area-System.IO.Compression breaking-change +- ラベル: area-System.IO.Compression breaking-change #### 概要 ZIP アーカイブエントリ読み込み時の CRC32 チェックサム検証機能を追加しました。新しい `CrcValidatingReadStream` クラスがデータ読み込み中にランニング CRC32 を計算し、期待されたバイト数を読み込み終了時に ZIP エントリヘッダーの CRC 値と比較して検証します。データ破損(改ざんされた非圧縮サイズなど)を検出すると `InvalidDataException` をスローします。 @@ -879,7 +879,7 @@ ZIP アーカイブエントリ読み込み時の CRC32 チェックサム検証 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月20日 14:41:40(UTC) - マージ日時: 2026年03月19日 12:49:34(UTC) -- ラベル: area-System.Text.Json +- ラベル: area-System.Text.Json #### 概要 `[JsonIgnore(Condition = ...)]`属性がクラス、構造体、インターフェースの型レベルで使用可能になりました。型レベルで設定した`JsonIgnoreCondition`は、すべてのプロパティとフィールドのデフォルト値として機能し、プロパティごとの重複指定を削減できます。プロパティレベルの属性は型レベルの設定をオーバーライドでき、型レベルの指定はグローバルな`JsonSerializerOptions.DefaultIgnoreCondition`よりも優先されます。 @@ -916,7 +916,7 @@ class MyPoco - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月15日 09:52:54(UTC) - マージ日時: 2026年03月19日 15:35:35(UTC) -- ラベル: area-System.Text.Json +- ラベル: area-System.Text.Json #### 概要 `JsonConverterAttribute` がオープンジェネリック型のコンバーターを、型パラメーター数が一致するジェネリック型に対して使用できるようになりました。リフレクションベースのプロバイダーおよびソースジェネレーターの両方で動作します。従来は `Type.ContainsGenericParameters is true` エラーが発生していた以下のコードが正常に動作するようになります: diff --git a/archives/2026/03/20.md b/archives/2026/03/20.md index b34f853..6255425 100644 --- a/archives/2026/03/20.md +++ b/archives/2026/03/20.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#125843 Update EgorBot skill note about content between command and code block](#125843) 2. [#125842 Require AI-generated content disclosure in copilot instructions and skills](#125842) 3. [#125841 Fix cDAC dump tests on 32-bit ARM targets](#125841) @@ -34,7 +34,7 @@ - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年03月20日 15:59:35(UTC) - マージ日時: 2026年03月20日 16:57:08(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 EgorBotスキルの使用方法に関するドキュメントを更新し、@EgorBotコマンドラインとコードブロック間にテキストを挿入しないよう明確化しました。コマンドと処理コード間に挿入されたテキストはコマンド引数として解釈されてしまうため、その旨を警告として追加しています。 @@ -55,7 +55,7 @@ EgorBotスキルの使用方法に関するドキュメントを更新し、@Ego - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年03月20日 15:51:04(UTC) - マージ日時: 2026年03月20日 17:36:29(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 dotnet/runtimeリポジトリにおいて、Copilotがユーザー認証情報を使用してGitHubに投稿するコンテンツに対して、AI/Copilot生成であることを明示する開示ルールを追加しました。ボットアカウントやCopilotアプリアカウントからの投稿、またはユーザーの明示的なオプトアウトの場合は例外として扱われます。 @@ -82,7 +82,7 @@ dotnet/runtimeリポジトリにおいて、Copilotがユーザー認証情報 - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年03月20日 15:35:53(UTC) - マージ日時: 2026年03月20日 18:51:44(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 ClrMD の ELF32 シンボル解析バグ(microsoft/clrmd#1407)に対応するため、32ビット ARM ターゲットでの cDAC ダンプテストの失敗を修正します。ClrMD が 32ビット ELF モジュールのエクスポートシンボルアドレスを破損したアドレス(上位32ビットに `st_size` が混入)として返すため、ターゲットのポインタサイズが 4 バイトの場合にアドレスを 32ビットにマスクする対策を実施しました。 @@ -110,7 +110,7 @@ if (_dataTarget.DataReader.PointerSize == 4) - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月20日 15:25:38(UTC) - マージ日時: 2026年03月20日 18:42:50(UTC) -- ラベル: area-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 `System.Diagnostics.Process`名前空間から`ProcessStartOptions`公開型を削除します。ソースコード、参照アセンブリ、テストおよびプロジェクトファイルから該当する型と関連リソース、テストケースをすべて削除する破壊的変更です。 @@ -136,7 +136,7 @@ if (_dataTarget.DataReader.PointerSize == 4) - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年03月20日 13:46:24(UTC) - マージ日時: 2026年03月20日 16:32:17(UTC) -- ラベル: area-CodeGen-coreclr runtime-async +- ラベル: area-CodeGen-coreclr runtime-async #### 概要 JIT async continuation reuse機能を一時的に無効化するため、`JitAsyncReuseContinuations`設定の既定値を有効(`1`)から無効(`0`)に変更しました。これにより、#125805と#125806で追跡されている障害をアンブロックします。 @@ -157,7 +157,7 @@ async continuation reuse最適化が一時的に無効化されるため、async - 作成者: [@steveisok](https://github.com/steveisok) - 作成日時: 2026年03月20日 11:54:41(UTC) - マージ日時: 2026年03月20日 12:02:26(UTC) -- ラベル: Servicing-approved area-Infrastructure-mono +- ラベル: Servicing-approved area-Infrastructure-mono #### 概要 PR #125564の変更をRevertし、NativeAOTおよびMonoの中間成果物(intermediate artifacts)アップロードパスを、ジョブ固有から共有ディレクトリに戻すもの。`runtime-official.yml`内で、これら両技術の中間成果物が単一の共有サブディレクトリにアップロードされるように復元する。 @@ -182,7 +182,7 @@ PR #125564の変更をRevertし、NativeAOTおよびMonoの中間成果物(int - 作成者: [@ilonatommy](https://github.com/ilonatommy) - 作成日時: 2026年03月20日 08:47:50(UTC) - マージ日時: 2026年03月20日 11:33:54(UTC) -- ラベル: arch-wasm area-Build-mono +- ラベル: arch-wasm area-Build-mono #### 概要 Clean WASM builds時に、Emscripten SDK提供フェーズで読み込まれた`_VersionLines`が後続の`emcc --version`実行時にも残存し、バージョン解析に失敗する回帰を修正します。`_VersionLines`を`RunWithEmSdkEnv`実行前にクリアして、staleなバージョン情報の混在を防ぎます。 @@ -205,7 +205,7 @@ Clean WASM builds時に、Emscripten SDK提供フェーズで読み込まれた` - 作成者: [@danmoseley](https://github.com/danmoseley) - 作成日時: 2026年03月20日 00:33:29(UTC) - マージ日時: 2026年03月20日 04:41:39(UTC) -- ラベル: area-System.Diagnostics +- ラベル: area-System.Diagnostics #### 概要 `StackTraceTests.ToString_ShowILOffset`テストにおいて、`Assembly.Load(byte[])`がWindows Defender AMSI(マルウェア対策スキャンインターフェース)のRPC呼び出しをトリガーし、Helix CI環境の一部マシンで無限にハングする問題に対応。AMSI問題は.NETのバグではなくWindows OSレベルの外部問題であるため、テストの分割とリトライロジックを追加してCI安定性を向上。 @@ -233,7 +233,7 @@ Clean WASM builds時に、Emscripten SDK提供フェーズで読み込まれた` - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月20日 00:24:14(UTC) - マージ日時: 2026年03月20日 21:52:27(UTC) -- ラベル: area-System.Transactions +- ラベル: area-System.Transactions #### 概要 `OleTxTests.Recovery`テストがCI環境で無限にタイムアウトする問題を修正します。MSDTC(Microsoft Distributed Transaction Coordinator)が応答しない場合に子プロセスがハング状態になり、`RemoteInvokeOptions.TimeOut`がデフォルトで`Timeout.Infinite`であるため、テストが完了しない状況を改善します。 @@ -259,7 +259,7 @@ Clean WASM builds時に、Emscripten SDK提供フェーズで読み込まれた` - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年03月20日 00:22:43(UTC) - マージ日時: 2026年03月20日 18:16:22(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WASM JIT コンパイラにおいて、プレフィックス付きオペコード(特に `i32.trunc_sat_f32_s`)のエンコーディングバグを修正します。セカンドバイトが `0x00` の場合に正しく2バイトで エンコードされていなかった問題を解決しました。 @@ -283,7 +283,7 @@ WASM JIT コンパイラにおいて、プレフィックス付きオペコー - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月20日 00:22:05(UTC) - マージ日時: 2026年03月20日 14:16:57(UTC) -- ラベル: area-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 `ProcessThreadTests.TestStartTimeProperty`はLinux/Monoで不安定でした。新しく起動した`LongRunning`スレッドの`/proc/self/task/`エントリが即座に表示されないことが原因です。1回の`p.Refresh()`と`Assert.Single`の組み合わせから、最大10回(100ms間隔)の制限付き再試行ループに変更し、スレッドが表示されるまで`p.Refresh()`を繰り返すようにしました。 @@ -324,7 +324,7 @@ Assert.InRange(newThread.StartTime.ToUniversalTime(), curTime - allowedWindow, D - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年03月19日 20:26:08(UTC) - マージ日時: 2026年03月20日 00:54:09(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC ExecutionManager の `EEJitManager.GetExceptionClauses` メソッドにおいて、例外ハンドリング情報の列挙時に、メソッドの実開始アドレスを正しく解決するバグを修正しました。`GetRealCodeHeader` に渡す前に `FindMethodCode(...)` を使用してコード開始アドレスを計算することで、他の EEJitManager ヘルパーメソッドとの動作を統一しています。 @@ -346,7 +346,7 @@ cDAC ExecutionManager の `EEJitManager.GetExceptionClauses` メソッドにお - 作成者: [@ManickaP](https://github.com/ManickaP) - 作成日時: 2026年03月19日 13:05:09(UTC) - マージ日時: 2026年03月20日 12:48:09(UTC) -- ラベル: area-System.Net.Quic +- ラベル: area-System.Net.Quic #### 概要 QUIC プラットフォーム検出テスト(`MsQuicPlatformDetectionTests`)がAzureLinux 3 VMs上で実行されないようにするためのテスト条件を追加します。MsQuicがメモリ不足エラー(`QUIC_STATUS_OUT_OF_MEMORY`)で失敗する環境でのテスト失敗を回避する目的です。 @@ -367,7 +367,7 @@ QUIC プラットフォーム検出テスト(`MsQuicPlatformDetectionTests`) - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年03月18日 08:48:50(UTC) - マージ日時: 2026年03月20日 13:55:48(UTC) -- ラベル: Servicing-approved area-Infrastructure +- ラベル: Servicing-approved area-Infrastructure #### 概要 release/9.0-stagingブランチにおいて、ビルドプラットフォームをUbuntuからAZL3(Azure Linux 3)に変更するバックポート。主にCI/CDパイプラインとSystem.Net.Quicテストの設定を更新します。 @@ -390,7 +390,7 @@ release/9.0-stagingブランチにおいて、ビルドプラットフォーム - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年03月17日 14:16:14(UTC) - マージ日時: 2026年03月20日 14:04:07(UTC) -- ラベル: area-Infrastructure-coreclr community-contribution arch-loongarch64 arch-riscv +- ラベル: area-Infrastructure-coreclr community-contribution arch-loongarch64 arch-riscv #### 概要 RISC-V 64とLoongArch 64アーキテクチャの内部ビルド(CMake直接実行)失敗を修正します。CMakeの機能設定に`FEATURE_DYNAMIC_CODE_COMPILED=1`のアーキテクチャ別デフォルトが欠落していたため、Virtual Stub Dispatch(VSD)が無効化され、実装されていないアセンブリスタブへの未定義シンボルリンカエラーが発生していました。修正により、CMakeレベルで明示的にこれらのアーキテクチャにおいてVSD+動的コード生成を有効にし、トップレベルビルド(MSBuild経由)との一貫性を確保します。 @@ -415,7 +415,7 @@ RISC-V 64とLoongArch 64アーキテクチャの内部ビルド(CMake直接実 - 作成者: [@hoyosjs](https://github.com/hoyosjs) - 作成日時: 2026年03月16日 19:05:20(UTC) - マージ日時: 2026年03月20日 23:28:45(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 DacInstanceManager のハッシュテーブル実装を手書きの実装から `SHash` ベースの実装に置き換え。DAC がミニダンプ収集時に行う大量の検索操作の効率化により、深いスタック(2.5k フレーム、50スレッド)シナリオで約 9.5 倍の高速化を実現。 @@ -439,7 +439,7 @@ DacInstanceManager のハッシュテーブル実装を手書きの実装から - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年03月16日 00:28:04(UTC) - マージ日時: 2026年03月20日 15:15:07(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly(Wasm)JITで例外処理後の制御フロー再開を実装する基盤整備を行うPRです。新しい`fgWasmEhFlow`フェーズにより、例外キャッチ後の継続フロー(continuation flow)をCFG/IRで明示化し、Wasm `try_table`命令による例外ハンドリングの生成をサポートします。 @@ -501,7 +501,7 @@ WebAssembly(Wasm)JITで例外処理後の制御フロー再開を実装す - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月15日 15:32:17(UTC) - マージ日時: 2026年03月20日 21:38:43(UTC) -- ラベル: area-System.Numerics.Tensors +- ラベル: area-System.Numerics.Tensors #### 概要 テンソル二項演算(加算、乗算など)でブロードキャスト互換の異なるサイズの形状を持つテンソルに適用した場合、出力テンソルの形状が誤って計算される問題を修正しました。例えば、形状 `[2, 3]` と `[2, 1]` のテンソルを乗算する場合、期待される `[2, 3]` ではなく `[2, 1]` の形状で結果が返されていました。 @@ -524,7 +524,7 @@ WebAssembly(Wasm)JITで例外処理後の制御フロー再開を実装す - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月14日 13:41:42(UTC) - マージ日時: 2026年03月20日 22:13:12(UTC) -- ラベル: area-System.Collections +- ラベル: area-System.Collections #### 概要 大規模コレクション(約10億要素以上)から`ToFrozenSet()`/`ToFrozenDictionary()`を作成する際に発生していた`IndexOutOfRangeException`を修正しました。`FrozenHashTable.CalcNumBuckets`でのint型オーバーフローが原因でしたが、修正後は意図的に`OutOfMemoryException`を発生させるようになります。 @@ -557,7 +557,7 @@ var frozen = new HashSet(1_188_074_137) { ... }.ToFrozenSet(); - 作成者: [@eduardo-vp](https://github.com/eduardo-vp) - 作成日時: 2026年03月14日 01:05:52(UTC) - マージ日時: 2026年03月20日 07:48:20(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 Windows x64でのアンワインド情報発行のパフォーマンスを改善するPRです。`UnwindInfoTable`に保留中のバッファを追加し、`RUNTIME_FUNCTION`エントリをバッチ処理してOS側の高コストなテーブル操作(`RtlAddGrowableFunctionTable`/`RtlDeleteGrowableFunctionTable`)の頻度を削減します。これによりJIT中の複数の同時コンパイルでのロック競合を緩和することが目的です。 @@ -581,7 +581,7 @@ OS側のテーブル再登録操作をバッチ化することで、エントリ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月12日 18:48:01(UTC) - マージ日時: 2026年03月20日 20:46:46(UTC) -- ラベル: area-System.Threading linkable-framework +- ラベル: area-System.Threading linkable-framework #### 概要 `PreAllocatedOverlapped`および`ThreadPoolBoundHandle`の非Windows実装を統合し、プラットフォーム共通の`PlatformNotSupported`スタブに置き換えます。非Windowsプラットフォーム(Unix、Browser、Wasi)ではオーバーラップドI/Oが未サポートであるため、別実装の必要がなくなります。また、古いILLinkディスクリプタワークアラウンドを削除し、不正な`[RequiresUnsafe]`アノテーションを除去しています。 @@ -611,7 +611,7 @@ OS側のテーブル再登録操作をバッチ化することで、エントリ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月10日 21:55:05(UTC) - マージ日時: 2026年03月20日 17:08:16(UTC) -- ラベル: area-GC-coreclr +- ラベル: area-GC-coreclr #### 概要 GC regions(Windows/Linuxでのserver GC標準メモリモデル)をmacOSで有効化します。2022年に追加された`!defined(__APPLE__)`ガードを削除し、`(!defined(HOST_APPLE) || defined(HOST_OSX))`に置き換えることでmacOSのみ有効化し、大規模仮想アドレス空間予約をサポートしないiOS/tvOS/MacCatalystは引き続き無効化します。 @@ -639,7 +639,7 @@ GC regions有効化によるパフォーマンス改善が期待されます: - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月07日 05:46:06(UTC) - マージ日時: 2026年03月20日 21:44:15(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Compact Data Access Contract)の `BuiltInCOM` コントラクトに `GetCCWData` API を追加し、COM Call Wrapper(CCW)情報の取得を最適化しました。複数の個別読み取りを単一のデータ構造取得に統合することで、ターゲットメモリへのアクセス回数を削減します。 @@ -673,7 +673,7 @@ public TargetPointer GetStartWrapper(TargetPointer ccw); - 作成者: [@mrek-msft](https://github.com/mrek-msft) - 作成日時: 2026年02月26日 12:57:42(UTC) - マージ日時: 2026年03月20日 15:49:34(UTC) -- ラベル: area-System.Runtime.InteropServices +- ラベル: area-System.Runtime.InteropServices #### 概要 Windows上の`PosixSignalRegistration`のデッドロック問題を修正します。マルチスレッド環境でハンドラ登録中に別スレッドが`HandlerRoutine`を実行する際、ロック(`s_registrations`)と`KernelBase.dll`のクリティカルセクション間のAB/BAデッドロックが発生していました。本修正は、コンソール制御ハンドラの一度限りの登録と登録解除の廃止により、デッドロックリスクを軽減します。 @@ -697,7 +697,7 @@ Windows上の`PosixSignalRegistration`のデッドロック問題を修正しま - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月20日 14:41:32(UTC) - マージ日時: 2026年03月20日 09:26:24(UTC) -- ラベル: area-System.Text.Json +- ラベル: area-System.Text.Json #### 概要 System.Text.Jsonに`JsonNamingPolicyAttribute`を追加し、型およびメンバーレベルでの命名規則の細粒度制御を実現します。これにより、グローバルな`JsonSerializerOptions.PropertyNamingPolicy`をオーバーライドできるようになります。 @@ -739,7 +739,7 @@ JsonSerializer.Serialize(new MyPoco(), options); - 作成者: [@danmoseley](https://github.com/danmoseley) - 作成日時: 2026年02月20日 07:13:03(UTC) - マージ日時: 2026年03月20日 00:00:51(UTC) -- ラベル: area-System.Text.RegularExpressions +- ラベル: area-System.Text.RegularExpressions #### 概要 `RegexInterpreter`の4つのオペコード(Oneloop、Onerep、Notonerep、MatchString)のホットパスをSIMD加速されたSpan操作に置き換えることで、正規表現マッチングの性能を大幅に向上させます。既存の`Notoneloop`ベクトル化パターンを拡張し、左から右方向のマッチングのみを最適化します。 @@ -780,7 +780,7 @@ JsonSerializer.Serialize(new MyPoco(), options); - 作成者: [@tommcdon](https://github.com/tommcdon) - 作成日時: 2026年02月12日 21:01:13(UTC) - マージ日時: 2026年03月20日 02:25:31(UTC) -- ラベル: area-Diagnostics-coreclr runtime-async +- ラベル: area-Diagnostics-coreclr runtime-async #### 概要 `DacDbiInterfaceImpl::GetNativeCodeInfo`がасинхронメソッドのネイティブコード情報取得時に、メソッドディフマップにキャッシュされたasync thunk(非同期サンク)ではなく、実際のasync実装メソッドのデータを返すように修正しました。ランタイムはデフォルトでメソッド参照の検索時にasync thunkをキャッシュするため、正しいメソッド情報が返されていない問題に対応しています。 @@ -808,7 +808,7 @@ JsonSerializer.Serialize(new MyPoco(), options); - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月06日 23:49:21(UTC) - マージ日時: 2026年03月20日 17:57:36(UTC) -- ラベル: area-System.Text.Json +- ラベル: area-System.Text.Json #### 概要 System.Text.Jsonがbyref修飾子(`in`/`ref`/`out`)付きのコンストラクタパラメータのdeserialization に対応しました。byref型(例:`DateTime&`)はジェネリック型引数として使用できず型検証に失敗していたため、基本型を抽出して処理するように修正されました。リフレクションベースとソース生成の両方で動作します。 @@ -862,7 +862,7 @@ JsonSerializer.Deserialize(json); - 作成者: [@tommcdon](https://github.com/tommcdon) - 作成日時: 2025年12月08日 02:25:11(UTC) - マージ日時: 2026年03月20日 02:22:59(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 .NET 10で導入されたスタブ粒度の変更により、JITダンプがメモリコミット前にブロックデータを読み取ろうとして失敗する問題を修正します。ブロック割り当ての場合、JITダンプへのコード出力を抑制することで、linuxの`perf`ツールが`DOTNET_PerfMapEnabled`設定を正しく処理できるようにします。 diff --git a/archives/2026/03/21.md b/archives/2026/03/21.md index b4b70f4..fcccd29 100644 --- a/archives/2026/03/21.md +++ b/archives/2026/03/21.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#125886 Cleaning up codepaths for DAC_HASHTABLE](#125886) 2. [#125877 Properly escape Helix queue parameters in runtime-diagnostics](#125877) 3. [#125870 Fix handling invalid type map states](#125870) @@ -17,7 +17,7 @@ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月21日 12:05:56(UTC) - マージ日時: 2026年03月21日 16:06:37(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 DAC(Debugging Access Component)のレガシーなハンドロール型ハッシュテーブル実装を廃止し、SHashベースの実装に統一するクリーンアップです。`DAC_HASHTABLE`マクロと関連する古いコードパスをすべて削除し、DacInstanceManagerは常にSHashを使用するようになります。 @@ -42,7 +42,7 @@ DAC(Debugging Access Component)のレガシーなハンドロール型ハッ - 作成者: [@hoyosjs](https://github.com/hoyosjs) - 作成日時: 2026年03月20日 23:51:33(UTC) - マージ日時: 2026年03月21日 06:39:46(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 Azure Pipelines `runtime-diagnostics` 定義において、Helix キュー パラメータをPowerShell/Bash実行時に適切にエスケープする修正。セミコロン(`;`)を含むキュー値がシェルに誤解釈されることを防ぐため、`/p:HelixTargetQueues` パラメータを引用符で囲みます。 @@ -66,7 +66,7 @@ Azure Pipelines `runtime-diagnostics` 定義において、Helix キュー パ - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年03月20日 21:53:49(UTC) - マージ日時: 2026年03月21日 02:31:14(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 ReadyToRun AOT コンパイラにおいて、無効な型マップ状態の処理を修正します。 この変更は Issue #125718 の問題を解決するものです。 @@ -89,7 +89,7 @@ ReadyToRun AOT コンパイラにおいて、無効な型マップ状態の処 - 作成者: [@vitek-karas](https://github.com/vitek-karas) - 作成日時: 2026年03月20日 20:44:32(UTC) - マージ日時: 2026年03月21日 13:55:34(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT の `AttributeTrimming` スモークテストを Android プラットフォームでスキップするように変更しました。Android 環境ではホスティング/相互運用コードが追加されることで、リンカー(トリマー)の動作が予測不可能になり、テストの信頼性が低下するため対応されました。 @@ -112,7 +112,7 @@ NativeAOT の `AttributeTrimming` スモークテストを Android プラット - 作成者: [@elinor-fung](https://github.com/elinor-fung) - 作成日時: 2026年03月20日 20:21:35(UTC) - マージ日時: 2026年03月21日 01:11:43(UTC) -- ラベル: area-Host +- ラベル: area-Host #### 概要 `clr`サブセットのビルド時に、不要なネイティブホストテストアセット(mockcoreclr、mockhostfxr、mockhostpolicyなど)がビルドされていた問題を解決します。CMakeの条件付きビルド変数を導入し、`clr`サブセット時はテストアセットをスキップし、`host.tests`サブセット時は製品バイナリをスキップするようになりました。これにより開発ビルド時のビルド時間を削減します。 @@ -135,7 +135,7 @@ NativeAOT の `AttributeTrimming` スモークテストを Android プラット - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年03月20日 18:56:42(UTC) - マージ日時: 2026年03月21日 14:40:53(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly RyuJit の Debug SPC (Structural Property Checking) 検証エラーを修正するPRです。Wasm メソッドシグネチャの調整、コード生成時の型付けの修正、および検証失敗を選択的に抑制するための新しい JIT 設定オプションを追加します。 @@ -167,7 +167,7 @@ WebAssembly RyuJit の Debug SPC (Structural Property Checking) 検証エラー - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月20日 17:09:26(UTC) - マージ日時: 2026年03月21日 08:04:36(UTC) -- ラベル: area-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 `ProcessStartInfoTests.TestWindowStyle` テストの不安定性を解決するPRです。OSが`STARTF_USESHOWWINDOW`ビット以外のフラグを設定することによる偽陽性と、ShellExecute経由のテストケースがCIでタイムアウトする問題に対応しています。 @@ -191,7 +191,7 @@ WebAssembly RyuJit の Debug SPC (Structural Property Checking) 検証エラー - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年03月20日 17:02:52(UTC) - マージ日時: 2026年03月21日 17:49:27(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Common Data Access Component)APIに`GetObjectComWrappers`機能を追加するPRです。COM相互運用オブジェクトのメタデータにアクセスするための新しいデータコントラクト定義と実装が含まれます。また、ConditionalWeakTableおよびGC関連のデータコントラクトも拡張されています。 @@ -223,7 +223,7 @@ Copilotレビューにおいて、GCコントラクトのバージョニング - 作成者: [@adamsitnik](https://github.com/adamsitnik) - 作成日時: 2026年03月19日 22:14:46(UTC) - マージ日時: 2026年03月21日 02:31:36(UTC) -- ラベル: area-System.IO tenet-performance +- ラベル: area-System.IO tenet-performance #### 概要 Windows環境における`SafeFileHandle.CanSeek`と`SafeFileHandle.Type`のパフォーマンス低下を修正します。`Path`が利用可能な場合、ディスクファイルハンドル(`FILE_TYPE_DISK`)に対して余分なハンドルタイプ判定を回避し、直接`RegularFile`を返すようにしました。 @@ -247,7 +247,7 @@ Windows環境でのWindowsネイティブAPI呼び出しの最適化です。内 - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年03月18日 22:52:47(UTC) - マージ日時: 2026年03月21日 03:23:57(UTC) -- ラベル: area-System.Runtime.InteropServices partner-impact +- ラベル: area-System.Runtime.InteropServices partner-impact #### 概要 Jupiter ランタイムの外部オブジェクト解放時に RCW(Runtime Callable Wrapper)キャッシュエントリを明示的にクリアする修正です。`ComWrappers.ReleaseObjects` による強制的な切断後も、古い RCW がキャッシュに残る問題を解決します。同じネイティブ COM アドレスが再割り当てされた場合、切断された古いラッパーが誤って返されることを防ぎます。これにより NativeAOT マイグレーションをアンロックします。 @@ -272,7 +272,7 @@ Jupiter ランタイムの外部オブジェクト解放時に RCW(Runtime Cal - 作成者: [@richlander](https://github.com/richlander) - 作成日時: 2026年03月13日 20:40:13(UTC) - マージ日時: 2026年03月21日 12:04:20(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 Ubuntu 22.04 ベアメタルVM上のHelixキューをコンテナベースの同等物に置き換えることで、Ubuntu 26.04ローンチに向けた準備を行うインフラストラクチャの変更です。開発者向けテストビルドはUbuntu 22.04からUbuntu 26.04コンテナに移行します。 @@ -302,7 +302,7 @@ Ubuntu 22.04 ベアメタルVM上のHelixキューをコンテナベースの同 - 作成者: [@sethjackson](https://github.com/sethjackson) - 作成日時: 2026年02月28日 15:17:42(UTC) - マージ日時: 2026年03月21日 16:31:12(UTC) -- ラベル: area-PAL-coreclr community-contribution os-openbsd +- ラベル: area-PAL-coreclr community-contribution os-openbsd #### 概要 OpenBSDにおいて`MALLOC_SIZE`の実装が存在しないため、`SystemNative_AlignedRealloc`をジェネリックな実装に変更しました。`MALLOC_SIZE`相当の機能を持たないプラットフォーム向けの汎用実装を提供します。 diff --git a/archives/2026/03/22.md b/archives/2026/03/22.md index 718f643..2da6302 100644 --- a/archives/2026/03/22.md +++ b/archives/2026/03/22.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#125920 Add null check ImmutableArray\.Builder.RemoveAll](#125920) 2. [#125893 Improve HashSet\ performance by enabling JIT bounds check elimination](#125893) 3. [#125887 Fix multithreaded browser-wasm build: CS0102 errors in PortableThreadPool; remove redundant ThreadPoolBoundHandle.Browser.Threads.cs; regenerate WASM call helpers](#125887) @@ -15,7 +15,7 @@ - 作成者: [@prozolic](https://github.com/prozolic) - 作成日時: 2026年03月22日 07:23:32(UTC) - マージ日時: 2026年03月22日 11:21:22(UTC) -- ラベル: area-System.Collections community-contribution +- ラベル: area-System.Collections community-contribution #### 概要 `ImmutableArray.Builder.RemoveAll(Predicate)` メソッドに null パラメータのチェックが欠落していた問題を修正しました。null値を渡した際に `NullReferenceException` または例外が発生しないという不具合を、正しく `ArgumentNullException` をスローするよう改善しました。 @@ -37,7 +37,7 @@ - 作成者: [@danmoseley](https://github.com/danmoseley) - 作成日時: 2026年03月21日 20:42:47(UTC) - マージ日時: 2026年03月22日 02:22:37(UTC) -- ラベル: area-System.Collections +- ラベル: area-System.Collections #### 概要 `HashSet`のハッシュチェーン走査ループの終了条件を`while (i >= 0)`から`while ((uint)i < (uint)entries.Length)`に変更し、`Dictionary`で既に採用されているパターンに統一することで、JITの境界チェック最適化を有効化し、パフォーマンスを向上させる変更です。 @@ -77,7 +77,7 @@ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月21日 13:48:47(UTC) - マージ日時: 2026年03月22日 07:11:08(UTC) -- ラベル: area-System.Threading +- ラベル: area-System.Threading #### 概要 WebAssembly(WASM)マルチスレッドビルドのCS0102エラー(重複する型/メンバー定義)を修正するPRです。ThreadPoolBoundHandle.Browser.Threads.csの冗長なファイルを削除し、WASM呼び出しヘルパーを再生成して、ビルドエラーを解決します。 @@ -103,7 +103,7 @@ WebAssembly(WASM)マルチスレッドビルドのCS0102エラー(重複 - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年03月20日 21:53:00(UTC) - マージ日時: 2026年03月22日 01:23:00(UTC) -- ラベル: area-CodeGen-coreclr runtime-async +- ラベル: area-CodeGen-coreclr runtime-async #### 概要 非同期継続の再利用時に古い例外が再スローされるバグを修正しました。継続インスタンスが再利用される際に、保持された例外フィールドをnullに初期化することで、将来の再開時に同じ例外が誤って再スローされることを防ぎます。 @@ -128,7 +128,7 @@ WebAssembly(WASM)マルチスレッドビルドのCS0102エラー(重複 - 作成者: [@dependabot[bot]](https://github.com/apps/dependabot) - 作成日時: 2026年03月20日 09:28:26(UTC) - マージ日時: 2026年03月22日 01:56:19(UTC) -- ラベル: area-DependencyModel javascript dependencies +- ラベル: area-DependencyModel javascript dependencies #### 概要 `/src/native`ディレクトリの依存関係として使用されているnpmパッケージ`flatted`をバージョン3.3.3から3.4.2にアップグレードします。このアップグレードではセキュリティ脆弱性(CWE-1321)の修正が含まれています。 @@ -155,7 +155,7 @@ WebAssembly(WASM)マルチスレッドビルドのCS0102エラー(重複 - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月19日 02:05:13(UTC) - マージ日時: 2026年03月22日 21:43:53(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 dotnet/dotnetリポジトリからのコードフロー更新PRです。Maestroによる自動同期で、複数の依存パッケージの更新と、テストおよびビルドツール関連のファイル修正が含まれています。ソースコードの主要な機能変更ではなく、メタデータ、テスト構成、ビルド設定の更新が中心です。 @@ -194,7 +194,7 @@ dotnet/dotnetリポジトリからのコードフロー更新PRです。Maestro - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月17日 23:37:36(UTC) - マージ日時: 2026年03月22日 20:47:20(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 `PREPARE_NONVIRTUAL_CALLSITE` + `CALL_MANAGED_METHOD*` パターンを `[UnmanagedCallersOnly]` / `UnmanagedCallersOnlyCaller` パターンに変換し、ネイティブ→マネージドの呼び出しを簡潔化します。約23のコアライブラリメソッドのシグネチャを更新し、GCモードのセレモニーを削減し、呼び出しサイトの明確性を向上させます。 @@ -229,7 +229,7 @@ dotnet/dotnetリポジトリからのコードフロー更新PRです。Maestro - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月12日 22:15:05(UTC) - マージ日時: 2026年03月22日 19:31:24(UTC) -- ラベル: area-System.IO +- ラベル: area-System.IO #### 概要 `System.IO.RandomAccess` の型検証を緩和し、パイプやソケットなどの非シークable ハンドルに対応しました。シークをサポートしないファイルでは、オフセット指定なしのシステムコールにフォールバックします。Unix 上の多重バッファ操作に `readv`/`writev` を導入し、`System.Console` と `System.Diagnostics.Process` の呼び出し箇所を `RandomAccess.Read`/`Write` に統合しました。 @@ -257,7 +257,7 @@ dotnet/dotnetリポジトリからのコードフロー更新PRです。Maestro - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年03月11日 14:28:51(UTC) - マージ日時: 2026年03月22日 23:47:26(UTC) -- ラベル: area-CodeGen-coreclr community-contribution arch-riscv runtime-async +- ラベル: area-CodeGen-coreclr community-contribution arch-riscv runtime-async #### 概要 RISC-V 64ビットアーキテクチャにおけるランタイム非同期サポートを改善するPR。LA64アーキテクチャに対する同様の改善(#125114, #124213)と同期させ、JITコード生成、ネイティブAOTランタイム、アセンブリヘルパーの実装を最適化・統一しています。 @@ -289,7 +289,7 @@ RISC-V 64ビットアーキテクチャにおけるランタイム非同期サ - 作成者: [@teo-tsirpanis](https://github.com/teo-tsirpanis) - 作成日時: 2025年10月31日 00:03:44(UTC) - マージ日時: 2026年03月22日 23:54:01(UTC) -- ラベル: area-System.Reflection.Metadata tenet-performance community-contribution +- ラベル: area-System.Reflection.Metadata tenet-performance community-contribution #### 概要 `MetadataBuilder.GetOrAddConstantBlob`メソッドを最適化し、スカラー定数の書き込み時にプールされたBlobBuilderの代わりにスタック割り当てされたspanを使用することで、同じスカラー値を繰り返し書き込む場合に約2倍のパフォーマンス向上を実現しました。 diff --git a/archives/2026/03/23.md b/archives/2026/03/23.md index 5054b08..8dc45e6 100644 --- a/archives/2026/03/23.md +++ b/archives/2026/03/23.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#125962 JIT: Fix jit-format break](#125962) 2. [#125961 \[main\] Source code updates from dotnet/dotnet](#125961) 3. [#125954 arm64: Small fixes to GenerateHWIntrinsicTests_Arm.cs](#125954) @@ -32,7 +32,7 @@ - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年03月23日 14:29:25(UTC) - マージ日時: 2026年03月23日 15:18:57(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT最適化エンジンのコード整形ルール(jit-format)違反を修正するPRです。`fgFoldCondToReturnBlock`関数内の`for`ループの整形を修正し、リポジトリの整形ガイドラインに準拠させます。 @@ -55,7 +55,7 @@ JIT最適化エンジンのコード整形ルール(jit-format)違反を修 - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月23日 13:57:41(UTC) - マージ日時: 2026年03月23日 23:06:31(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 dotnet/dotnetリポジトリからの定期的なコードフロー更新(Codeflow update)です。主にビルド成果物の依存関係の更新とバージョン情報の同期が含まれます。ソースコードの機能的な変更ではなく、依存パッケージバージョンの更新です。 @@ -87,7 +87,7 @@ dotnet/dotnetリポジトリからの定期的なコードフロー更新(Code - 作成者: [@jonathandavies-arm](https://github.com/jonathandavies-arm) - 作成日時: 2026年03月23日 12:28:54(UTC) - マージ日時: 2026年03月23日 17:03:52(UTC) -- ラベル: area-System.Runtime.Intrinsics community-contribution +- ラベル: area-System.Runtime.Intrinsics community-contribution #### 概要 ARM64向けハードウェア組み込み関数テスト生成コードのクリーンアップ。重複したProcessInputs呼び出しを削除し、CreateDirectoryの呼び出しを1回に統一して、コードの効率化と可読性を向上させています。 @@ -110,7 +110,7 @@ ARM64向けハードウェア組み込み関数テスト生成コードのクリ - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年03月23日 08:10:16(UTC) - マージ日時: 2026年03月23日 21:26:29(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 outerloopsテストにおいて、トリミング時に`System.Runtime`アセンブリが削除されることで発生していた`FileNotFoundException`を修正します。テストの`Assembly.Load("System.Runtime")`が成功するよう、トリミングのルートヒントを追加して`System.Runtime`を保持させます。 @@ -131,7 +131,7 @@ outerloopsテストにおいて、トリミング時に`System.Runtime`アセン - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年03月23日 07:16:18(UTC) - マージ日時: 2026年03月23日 21:40:25(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT TypePreinit IL インタープリータの4つのバグを修正し、定数畳み込みの正確性向上とAOTコンパイラのクラッシュ防止を実現しました。 @@ -159,7 +159,7 @@ NativeAOT TypePreinit IL インタープリータの4つのバグを修正し、 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月23日 05:51:54(UTC) - マージ日時: 2026年03月23日 13:47:48(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 `System.Net.Http.WinHttpHandler` の機能テストビルドで発生していた CS4007 コンパイルエラーを修正します。`Assert.Equal()` が `ReadOnlySpan` オーバーロードを選択し、`await` 式と同じステートメント内に存在することで、`ReadOnlySpan` が `await` 境界を越えて保持できないという問題を解決します。 @@ -189,7 +189,7 @@ Assert.Equal(Array.Empty(), responseBody); - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月23日 01:07:34(UTC) - マージ日時: 2026年03月23日 14:30:35(UTC) -- ラベル: area-Extensions-Hosting +- ラベル: area-Extensions-Hosting #### 概要 `StartCanBeCancelled` テストが .NET Framework 4.8.1 x86 Windows で不安定に失敗する問題に対応しています。`Host.StartAsync` が複数の非同期 ThreadPool ホップを必要とする一方で、Framework の ThreadPool は遅いスレッド立ち上げ速度(約500ms/スレッド)を持つため、並列テスト実行時に 5 秒の `WaitOne` タイムアウトが不足していました。タイムアウトを 30 秒に引き上げることで、テストの信頼性を向上させます。 @@ -214,7 +214,7 @@ Assert.Equal(Array.Empty(), responseBody); - 作成者: [@benaadams](https://github.com/benaadams) - 作成日時: 2026年03月23日 00:16:24(UTC) - マージ日時: 2026年03月23日 11:28:13(UTC) -- ラベル: area-VM-coreclr community-contribution +- ラベル: area-VM-coreclr community-contribution #### 概要 `dotnet-pgo dump` コマンドで CallWeights データを含む .mibc ファイルを処理する際に発生していた `InvalidOperationException` を修正しました。JSON シリアライザが配列内に直接命名プロパティを書き込もうとしていたのが原因で、各配列要素を適切な JSON オブジェクトでラップすることで解決しています。 @@ -251,7 +251,7 @@ Assert.Equal(Array.Empty(), responseBody); - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年03月22日 21:39:40(UTC) - マージ日時: 2026年03月23日 02:07:32(UTC) -- ラベル: area-System.Globalization os-mac-os-x os-ios os-maccatalyst +- ラベル: area-System.Globalization os-mac-os-x os-ios os-maccatalyst #### 概要 Apple プラットフォームにおける ICU ロケールデータの差異により、`ur-IN` カルチャーの `NativeDigits` テストが失敗する問題を修正します。Apple ICU はラテン数字(`"0"`–`"9"`)を返しますが、上流の CLDR では Extended Arabic-Indic 数字(`arabext`, U+06F0–U+06F9)が指定されています。xUnit v3 へのアップグレードにより `ConditionalTheory` + `MemberData` が正常に動作し始め、このテストが初めて実行されて Apple プラットフォーム固有の差異が露呈しました。 @@ -277,7 +277,7 @@ Apple プラットフォームにおける ICU ロケールデータの差異に - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月22日 14:38:41(UTC) - マージ日時: 2026年03月23日 18:43:50(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 `CrlDiskCacheRecovers`テストの不安定性を改善するPR。このテストは`https://get.dot.net/`への生のHTTPSリクエストを含むため、CI環境の負荷下でDNS・TCP・TLS・リダイレクト処理がタイムアウト(元々10秒)を超過し、`TaskCanceledException`が頻発していました。`[OuterLoop]`属性の追加、タイムアウト延長(10秒→60秒)、リトライロジック(最大3回)を導入して、トランジェントなネットワーク障害に対する耐性を強化します。 @@ -304,7 +304,7 @@ Apple プラットフォームにおける ICU ロケールデータの差異に - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月22日 04:26:54(UTC) - マージ日時: 2026年03月23日 03:00:20(UTC) -- ラベル: area-Extensions-Hosting +- ラベル: area-Extensions-Hosting #### 概要 `ConsoleLifetimeExitTests.EnsureEnvironmentExitDoesntHang` テストが .NET Framework で失敗する問題を解決します。.NET Framework のシャットダウン時に `System.Console.ControlCHooker.Unhook()` が `IOException` をスローし、プロセス終了時に未処理例外(終了コード -532462766 / EXCEPTION_COMPLUS)が発生するという既知の制限に対応するため、テストを .NET Framework でスキップします。 @@ -329,7 +329,7 @@ Apple プラットフォームにおける ICU ロケールデータの差異に - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月22日 04:20:13(UTC) - マージ日時: 2026年03月23日 00:45:56(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 Linux CI環境で`NonPowerOfTwoKeySizeOaepRoundtrip`テストが不安定に失敗する問題を修正します。`RSAFactory.Create(3072)`時に`Interop.Crypto.RsaGenerateKey`内で一時的な`CryptographicException`が発生する(リソース枯渇やエントロピー不足が原因と推測)ため、テスト本体を`RetryHelper.Execute`でラップし、最大5回の再試行(指数バックオフ)を行うようにしました。 @@ -353,7 +353,7 @@ Linux CI環境で`NonPowerOfTwoKeySizeOaepRoundtrip`テストが不安定に失 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月22日 03:54:49(UTC) - マージ日時: 2026年03月23日 19:14:49(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 `SystemTrustCertificateWithCustomRootTrust` テストの間欠的な失敗(CI月8回程度)を修正しました。Linux Bionic がシステム信頼ストアに「DigiCert Global Root G2」を含まないため、AIA HTTP ダウンロードに依存していました。ローカル解決とネットワーク依存性の排除により、すべてのプラットフォームで決定的な動作を実現します。 @@ -378,7 +378,7 @@ Linux CI環境で`NonPowerOfTwoKeySizeOaepRoundtrip`テストが不安定に失 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月22日 03:54:22(UTC) - マージ日時: 2026年03月23日 18:47:46(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 macOSのApple Security frameworkが断続的に返す`OSStatus error -50`エラーに対応するため、`TestKeyRing.CreateECDsa`にリトライロジックを追加しました。このエラーはEC鍵インポート時に発生し、COSE テストスイート全体で月21回の頻度でテスト失敗を引き起こしていました。すべてのテストが`TestKeyRing`経由で鍵を共有しているため、この改善により全体的なCI信頼性が向上します。 @@ -408,7 +408,7 @@ return result!; - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年03月21日 19:03:20(UTC) - マージ日時: 2026年03月23日 21:40:42(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Common Data Access Component)のダンプベース統合テストを緩和するもの。JITコンパイラが`try/finally`を`try/fault`に最適化する可能性に対応するため、ExecutionManager EH句列挙テストの assertion を更新し、両方の句タイプを受け入れるようにしました。 @@ -430,7 +430,7 @@ cDAC(Common Data Access Component)のダンプベース統合テストを緩 - 作成者: [@noahfalk](https://github.com/noahfalk) - 作成日時: 2026年03月20日 21:49:18(UTC) - マージ日時: 2026年03月23日 18:11:31(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 ローダーヒープのバックアウトアダプターをリファクタリングし、多重継承を削除しています。これは #125129 での議論に基づいた変更例を示すPRで、同様の変更を #125129 に組み込むか、このPRをマージするかのいずれかの対応が予定されています。 @@ -454,7 +454,7 @@ cDAC(Common Data Access Component)のダンプベース統合テストを緩 - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年03月20日 20:31:22(UTC) - マージ日時: 2026年03月23日 20:28:00(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 WASM JIT命令エンコーディングを拡張し、WebAssemblyの仕様に沿った可変長ULEB128サブオプコード形式のプリフィックス付き命令をサポートしました。従来の2バイト固定形式から、任意のサイズの可変長命令(uint16_t範囲内)の定義と生成が可能になります。 @@ -478,7 +478,7 @@ WASM JIT命令エンコーディングを拡張し、WebAssemblyの仕様に沿 - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2026年03月20日 19:30:42(UTC) - マージ日時: 2026年03月23日 18:55:33(UTC) -- ラベル: area-System.Security reduce-unsafe +- ラベル: area-System.Security reduce-unsafe #### 概要 Apple プラットフォーム上の PKCS#12/PFX コンテンツ スニッフィング処理をリファクタリングし、スタックのみの ASN.1 `Value*` ref-struct デコーダーを使用するように変更。unsafe なピニング処理と `PointerMemoryManager` への依存を削減します。 @@ -501,7 +501,7 @@ Apple プラットフォーム上の PKCS#12/PFX コンテンツ スニッフィ - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月20日 16:42:15(UTC) - マージ日時: 2026年03月23日 12:04:08(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/dotnetリポジトリからのコードフロー更新PRです。VMRからのソースコード変更と依存関係更新を含みます。主にMicrosoft.CodeAnalysis、Microsoft.DotNetビルドツール、NuGetパッケージ、WebAssemblyランタイムなど複数の開発ツール・ライブラリの依存バージョンが更新されています。 @@ -533,7 +533,7 @@ dotnet/dotnetリポジトリからのコードフロー更新PRです。VMRか - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年03月18日 22:55:58(UTC) - マージ日時: 2026年03月23日 17:54:59(UTC) -- ラベル: Servicing-approved area-System.Runtime.InteropServices +- ラベル: Servicing-approved area-System.Runtime.InteropServices #### 概要 WinRT XAMLシナリオにおいて、RCW(Runtime Callable Wrapper)がスレッド終了後に無効化される際のキャッシュ管理の問題を修正しました。修正前は、ユーザーコードが無効化されたRCWを受け取ることがあり、XAML スレッド終了後に予期しない例外が発生していました。本修正により、ComWrappersがラッパーオブジェクトのリリース時にRCWキャッシュエントリを適切にクリアするようになります。 @@ -559,7 +559,7 @@ WinRT XAMLシナリオにおいて、RCW(Runtime Callable Wrapper)がスレ - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年03月18日 19:31:59(UTC) - マージ日時: 2026年03月23日 17:56:56(UTC) -- ラベル: Servicing-approved area-Diagnostics-coreclr +- ラベル: Servicing-approved area-Diagnostics-coreclr #### 概要 Hot Reloadで複数の連続編集(特にASP.NET Core プロジェクトの`.cshtml`または`.cs`ファイル)時に発生する`ArgumentOutOfRangeException`を修正するバックポート。メタデータエディタ内モジュール(Enc)で、プロパティとイベントをプロパティマップに追加する際に、親参照ルックアップテーブルのエントリが不足していたことが原因。 @@ -584,7 +584,7 @@ Hot Reloadで複数の連続編集(特にASP.NET Core プロジェクトの`.c - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月16日 14:23:33(UTC) - マージ日時: 2026年03月23日 09:52:23(UTC) -- ラベル: area-VM-meta-mono +- ラベル: area-VM-meta-mono #### 概要 `mono_type_full_name()`が返すヒープ割り当てされた文字列が、`marshal-shared.c`の複数のエラーパスで`g_strdup_printf`に直接渡され、解放されずにメモリリークしていた問題を修正。AOT コンパイル時に無効なマーシャル設定を持つアセンブリを処理する際に、これらパスが繰り返し実行されて累積的なメモリ増加を引き起こしていた。 @@ -622,7 +622,7 @@ g_free(type_name); - 作成者: [@Zurisen](https://github.com/Zurisen) - 作成日時: 2026年02月23日 23:10:45(UTC) - マージ日時: 2026年03月23日 08:19:13(UTC) -- ラベル: area-System.ComponentModel community-contribution +- ラベル: area-System.ComponentModel community-contribution #### 概要 `ExtendedPropertyDescriptor.DisplayName`のローカライゼーションバグを修正します。トリミングまたはWASM環境で`SR.UsingResourceKeys()`が`true`を返す場合、ハードコードされた英語文字列`"{0} on {1}"`にフォールバックされていたため、既にローカライズされた`SR.MetaExtenderName`リソースがバイパスされていました。不要なターナリ演算子を削除し、`SR.Format(SR.MetaExtenderName, ...)`が全環境で正しく機能するようにしました。 @@ -646,7 +646,7 @@ g_free(type_name); - 作成者: [@yykkibbb](https://github.com/yykkibbb) - 作成日時: 2026年02月20日 14:39:47(UTC) - マージ日時: 2026年03月23日 05:34:01(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 JITコンパイラの`fgFoldCondToReturnBlock`最適化を改善し、短絡評価`&&`式で定数がnon定数の後に現れる場合に、インライン化による死亡ローカル変数の割り当てが存在しても条件をブランチレスな戻り値へ折りたたむことができるようにしました。これにより、より効率的なコード生成(ARM64では`cmp`+`cset`+`ret`)が実現されます。 @@ -672,7 +672,7 @@ JITコンパイラの`fgFoldCondToReturnBlock`最適化を改善し、短絡評 - 作成者: [@jonathandavies-arm](https://github.com/jonathandavies-arm) - 作成日時: 2026年02月12日 10:01:41(UTC) - マージ日時: 2026年03月23日 10:07:00(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 arm64およびx64アーキテクチャで、負の値の比較演算を最適化する変換を実装しました。`(-(x)) == 0` という式を `x == 0` にfolding(値の変更なし、式の簡略化)する最適化です。これにより、不要な否定演算(negx命令)を削除でき、生成コードのサイズとパフォーマンスを改善します。 @@ -709,7 +709,7 @@ arm64およびx64アーキテクチャで、負の値の比較演算を最適化 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月04日 09:37:26(UTC) - マージ日時: 2026年03月23日 08:21:19(UTC) -- ラベル: area-System.Formats.Tar +- ラベル: area-System.Formats.Tar #### 概要 `PaxTarEntry`の公開プロパティ(`ModificationTime`、`Name`、`UserName`など)のセッターと`ExtendedAttributes`辞書の同期を実装します。プロパティ変更時にExtendedAttributesが更新されず、値が矛盾する問題を解決します。プロパティセッターが常に優先され、コンストラクタで競合する場合はプロパティ値でExtendedAttributesを正規化します(既存の拡張属性は読み込み時に削除されず、ラウンドトリップの忠実性を保持)。 @@ -743,7 +743,7 @@ entry.ModificationTime = DateTimeOffset.FromUnixTimeSeconds(9876543210); - 作成者: [@RenderMichael](https://github.com/RenderMichael) - 作成日時: 2025年09月11日 05:35:59(UTC) - マージ日時: 2026年03月23日 06:48:28(UTC) -- ラベル: area-System.Speech community-contribution +- ラベル: area-System.Speech community-contribution #### 概要 `System.Speech` ライブラリのすべての公開APIとRef構造に対して、Nullable Reference Types(NRT)のアノテーションを追加しました。これにより、null許容性に関するコンパイル時の型安全性チェックが可能になります。 diff --git a/archives/2026/03/24.md b/archives/2026/03/24.md index 508cc85..b7ecd3a 100644 --- a/archives/2026/03/24.md +++ b/archives/2026/03/24.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#126033 Revert "Refactor loader heap backout adapter to remove multiple inheritance"](#126033) 2. [#126021 \[wasm\]\[coreclr\] Fix tpa list population in corerun.html](#126021) 3. [#125999 \[release/8.0\] Remove EOL armv6 raspbian build container and pipeline references](#125999) @@ -40,7 +40,7 @@ - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年03月24日 14:58:07(UTC) - マージ日時: 2026年03月24日 18:33:03(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 PR #125867で実施された「ローダーヒープバックアウトアダプターの多重継承削除リファクタリング」をリバートする変更です。ローダーヒープ関連の実装が以前の状態に戻されます。 @@ -62,7 +62,7 @@ PR #125867で実施された「ローダーヒープバックアウトアダプ - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年03月24日 10:36:34(UTC) - マージ日時: 2026年03月24日 16:03:37(UTC) -- ラベル: arch-wasm area-Infrastructure-coreclr +- ラベル: arch-wasm area-Infrastructure-coreclr #### 概要 WASM環境の`corerun.html`における、`preRun`コールバック内でのTPA(Trusted Platform Assemblies)リスト生成の初期化順序の問題を修正しました。Emscriptenの`addOnPreRun`は`unshift()`を使用するため、ファイルプリロードの`runWithFS`コールバックがカスタム`preRun`より先に実行される場合があり、それによってTPA列挙が失敗していました。修正後は、`preRun`実行時に仮想ファイルシステムがすでに生成されているか確認し、ロード済みならば即座にTPA列挙を、未ロードならば依存関係監視アプローチにフォールバックします。 @@ -86,7 +86,7 @@ WASM環境の`corerun.html`における、`preRun`コールバック内でのTPA - 作成者: [@richlander](https://github.com/richlander) - 作成日時: 2026年03月23日 23:37:00(UTC) - マージ日時: 2026年03月24日 22:24:23(UTC) -- ラベル: Servicing-approved area-Infrastructure +- ラベル: Servicing-approved area-Infrastructure #### 概要 EOL(End of Life)となったUbuntu 20.04ベースのarmv6 Raspbian 10ビルドコンテナおよびパイプライン参照を削除します。このPRはAIで生成され、release/8.0ブランチを対象としています。 @@ -110,7 +110,7 @@ EOL(End of Life)となったUbuntu 20.04ベースのarmv6 Raspbian 10ビル - 作成者: [@richlander](https://github.com/richlander) - 作成日時: 2026年03月23日 23:26:03(UTC) - マージ日時: 2026年03月24日 17:52:13(UTC) -- ラベル: Servicing-approved area-Infrastructure +- ラベル: Servicing-approved area-Infrastructure #### 概要 release/10.0ブランチのHelix キュー設定を更新し、Linux x64テストをUbuntu 22.04 VM からUbuntu 26.04コンテナ(AzureLinux 3ホスト)に移行します。これにより、テストインフラストラクチャをUbuntu 26.04ロールアウトに合わせます。 @@ -137,7 +137,7 @@ release/10.0ブランチのHelix キュー設定を更新し、Linux x64テス - 作成者: [@richlander](https://github.com/richlander) - 作成日時: 2026年03月23日 23:25:50(UTC) - マージ日時: 2026年03月24日 22:41:36(UTC) -- ラベル: Servicing-approved area-Infrastructure-libraries +- ラベル: Servicing-approved area-Infrastructure-libraries #### 概要 `release/10.0`ブランチのLinuxビルドプール構成を、Ubuntu 22.04からAzure Linux 3に移行します。エンタープライズテストおよびストレステストのCI/CDパイプラインのイメージオーバーライド設定を統一し、新しいLinuxプール戦略に準拠させます。 @@ -161,7 +161,7 @@ release/10.0ブランチのHelix キュー設定を更新し、Linux x64テス - 作成者: [@matouskozak](https://github.com/matouskozak) - 作成日時: 2026年03月23日 18:06:59(UTC) - マージ日時: 2026年03月24日 11:35:43(UTC) -- ラベル: Servicing-approved area-System.Globalization os-android +- ラベル: Servicing-approved area-System.Globalization os-android #### 概要 Android デバイスの基盤となるグローバライゼーション ライブラリが更新された際、タイムゾーン表示名の変更に対応するためのテスト修正です。Android プラットフォーム固有のテスト失敗を軽減することが目的です。 @@ -184,7 +184,7 @@ Android デバイスの基盤となるグローバライゼーション ライ - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年03月23日 17:56:51(UTC) - マージ日時: 2026年03月24日 14:20:48(UTC) -- ラベル: arch-wasm area-Host os-browser +- ラベル: arch-wasm area-Host os-browser #### 概要 WebAssembly(ブラウザ)対応のcorerun ホストをWebCIL読み込み対応に更新しました。`.wasm` 形式のWebCILモジュールを動的にインスタンス化し、抽出したILペイロードをCoreCLRの外部アセンブリプローブフックを介して返すようにします。 @@ -206,7 +206,7 @@ WebAssembly(ブラウザ)対応のcorerun ホストをWebCIL読み込み対 - 作成者: [@wfurt](https://github.com/wfurt) - 作成日時: 2026年03月23日 16:14:14(UTC) - マージ日時: 2026年03月24日 00:10:59(UTC) -- ラベル: Servicing-approved area-Infrastructure +- ラベル: Servicing-approved area-Infrastructure #### 概要 Helix SDK がアクセストークンを使用する場合、`Creator` パラメータが禁止されるエラーに対応しました。リリース 10.0 向けのインストーラー Helix パイプラインで、`Creator` パラメータを公開キュー(`public` Azure DevOps プロジェクト)でのみ渡すよう条件付けします。 @@ -227,7 +227,7 @@ Helix SDK がアクセストークンを使用する場合、`Creator` パラメ - 作成者: [@mrek-msft](https://github.com/mrek-msft) - 作成日時: 2026年03月23日 15:54:19(UTC) - マージ日時: 2026年03月24日 10:23:57(UTC) -- ラベル: area-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 Mono環境下でのシグナルハンドラーテストの不安定性を修正。Monoランタイムの場合、SIGQUITがスレッドダンプを標準出力に出力し、親プロセスの`StandardOutput.EndOfStream`チェックが失敗する問題を解決しました。 @@ -250,7 +250,7 @@ Mono環境下でのシグナルハンドラーテストの不安定性を修正 - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年03月23日 01:55:20(UTC) - マージ日時: 2026年03月24日 20:36:51(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(CoreCLR Data Access Component)レガシーシムの `IXCLRDataModule.GetName` を実装するPRです。Loaderコントラクトからモジュールの「シンプル名」(UTF-8)を取得する機能を追加し、対象ランタイムからこのシンプル名を公開できるようにLoaderコントラクト/データモデルを拡張します。 @@ -276,7 +276,7 @@ cDAC(CoreCLR Data Access Component)レガシーシムの `IXCLRDataModule.Ge - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月22日 20:00:25(UTC) - マージ日時: 2026年03月24日 16:13:15(UTC) -- ラベル: area-System.Xml +- ラベル: area-System.Xml #### 概要 32ビットプラットフォーム(x86、WASM)で大きな無効入力に対する例外スローの際に発生していたOutOfMemoryExceptionを修正。`BinHexDecoder`と`Base64Decoder`が例外メッセージ生成時にデコードバッファ全体(数百万文字)を文字列化していたため、実際の例外送出前にメモリ枯渇が発生していた。また`XmlSchemaValidator`も同様に例外メッセージに要素/属性値全体を埋め込んでいた。修正により、無効文字の場合は該当文字のみ、スキーマ検証では値を40文字に截断してメッセージサイズを制限する。 @@ -302,7 +302,7 @@ cDAC(CoreCLR Data Access Component)レガシーシムの `IXCLRDataModule.Ge - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月22日 17:55:38(UTC) - マージ日時: 2026年03月24日 02:06:15(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 Linux の `pthread_setname_np` による15文字の制限を超えるランタイムスレッド名を短縮する変更です。過去にスレッド名が無言で切り詰められていたため、デバッガや診断ツール(`ps`、`top`、`htop`)での識別が困難でした。6つのスレッド名をそれぞれ15文字以下に短縮し、複数のランタイムレイヤー(CoreCLR、Mono WASM)で一貫性を保ちました。 @@ -335,7 +335,7 @@ Linux の `pthread_setname_np` による15文字の制限を超えるランタ - 作成者: [@haltandcatchwater](https://github.com/haltandcatchwater) - 作成日時: 2026年03月21日 03:36:25(UTC) - マージ日時: 2026年03月24日 12:31:55(UTC) -- ラベル: area-Extensions-Options community-contribution +- ラベル: area-Extensions-Options community-contribution #### 概要 `OptionsValidatorGenerator`が生成するコード内の`UnconditionalSuppressMessage`属性に`global::`修飾子を追加し、名前空間解決の競合を修正します。消費プロジェクトに`XXX.System`のような名前空間が存在する場合、`System.Diagnostics`が誤って`XXX.System`に対して解決され、CS0234エラーが発生していました。 @@ -357,7 +357,7 @@ Linux の `pthread_setname_np` による15文字の制限を超えるランタ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月20日 18:08:33(UTC) - マージ日時: 2026年03月24日 04:11:20(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 COM interop マイグレーションの継続(グループ5)として、3つの `MethodDescCallSite` 呼び出しを `UnmanagedCallersOnly`(UCO)パターンに変換し、関連する不要なコードを削除します。`StubHelpers.cs` に3つの新しいUCOヘルパーを追加し、ネイティブ呼び出しサイトを更新します。 @@ -386,7 +386,7 @@ COM interop マイグレーションの継続(グループ5)として、3つ - 作成者: [@kg](https://github.com/kg) - 作成日時: 2026年03月20日 15:20:28(UTC) - マージ日時: 2026年03月24日 17:45:24(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly RyuJIT における `initblk` 操作の識別ロジックを修正するPRです。`GenTree::OperIsInitBlkOp()` メソッドが、ソースが `int` 型の値 **かつ** init-value セマンティクスを持つ場合のみ init block として認識するように厳密化しました。これにより、WASM環境で `initblk` と `copyblk` が異なるネイティブオペコードにマッピングされることによる不正な lowering/codegen を防ぎます。 @@ -408,7 +408,7 @@ TP(Throughput Performance)回帰の可能性があります。作成者は - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年03月20日 09:59:08(UTC) - マージ日時: 2026年03月24日 08:19:22(UTC) -- ラベル: arch-wasm area-Infrastructure-coreclr +- ラベル: arch-wasm area-Infrastructure-coreclr #### 概要 WASM CoreCLR環境でのライブラリテスト実行範囲を拡大するPRです。ブラウザ/CoreCLR環境のテスト除外リストを削減し、タイムアウト値を延長することで、より多くのテストスイートをWASM CoreCLRで実行できるようにします。 @@ -431,7 +431,7 @@ WASM CoreCLR環境でのライブラリテスト実行範囲を拡大するPRで - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年03月20日 03:45:20(UTC) - マージ日時: 2026年03月24日 08:58:44(UTC) -- ラベル: Servicing-approved area-System.Net.Quic +- ラベル: Servicing-approved area-System.Net.Quic #### 概要 release/10.0ブランチへの#125665のバックポート。QUIC機能テストをAzL3 VM環境で無効化する変更です。 @@ -461,7 +461,7 @@ release/10.0ブランチへの#125665のバックポート。QUIC機能テスト - 作成者: [@rzikm](https://github.com/rzikm) - 作成日時: 2026年03月19日 13:46:29(UTC) - マージ日時: 2026年03月24日 10:52:06(UTC) -- ラベル: area-System.Net +- ラベル: area-System.Net #### 概要 macOSで`SendPingWithLowTtl_RoundtripTimeIsNonZero`テストが一貫して失敗する問題を修正します。macOSの生ソケットPing実装は1ms未満のRTT値を整数キャストで0に切り詰めるため、TTL=1では最初のホップまでの往復時間が0msと計測されていました。TTLを1から5に増やし、ICMPパケットがより遠くまで到達してから期限切れになるようにすることで、計測可能なRTTが得られる確率を高めます。 @@ -487,7 +487,7 @@ macOSで`SendPingWithLowTtl_RoundtripTimeIsNonZero`テストが一貫して失 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月18日 20:08:02(UTC) - マージ日時: 2026年03月24日 17:53:27(UTC) -- ラベル: area-System.Threading.Channels +- ラベル: area-System.Threading.Channels #### 概要 `SingleConsumerUnboundedChannel.WaitToReadAsync`が、先行する`ReadAsync`のキャンセル後にチャネルが正常に完了した場合に、`false`を返すべきところ`ChannelClosedException`をスローしていた問題を修正しました。 @@ -511,7 +511,7 @@ macOSで`SendPingWithLowTtl_RoundtripTimeIsNonZero`テストが一貫して失 - 作成者: [@jjonescz](https://github.com/jjonescz) - 作成日時: 2026年03月18日 10:59:26(UTC) - マージ日時: 2026年03月24日 18:29:54(UTC) -- ラベル: area-System.Runtime.CompilerServices +- ラベル: area-System.Runtime.CompilerServices #### 概要 unsafe機能の利用に関する属性APIの公開と進化のサポートを追加するPR。`RequiresUnsafeAttribute`を内部属性から公開APIに変更し、新たに`MemorySafetyRulesAttribute`を`System.Runtime.CompilerServices`に導入します。これらはメモリ安全性ルールの進化を追跡するためのコンパイラサポート属性です。 @@ -540,7 +540,7 @@ Roslyn [#81207](https://github.com/dotnet/roslyn/issues/81207)(テスト計画 - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年03月18日 08:49:01(UTC) - マージ日時: 2026年03月24日 08:57:01(UTC) -- ラベル: Servicing-approved area-Infrastructure +- ラベル: Servicing-approved area-Infrastructure #### 概要 release/10.0ブランチへのバックポート。ビルド環境をUbuntuからAZL3(Azure Linux 3)に変更します。主にCI/CDパイプライン設定とSystem.Net.Quicテストの実行環境指定が対象です。 @@ -570,7 +570,7 @@ release/10.0ブランチへのバックポート。ビルド環境をUbuntuか - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年03月17日 11:36:46(UTC) - マージ日時: 2026年03月24日 18:05:51(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 iOS/MacCatalyst での完全R2R(ReadyToRun)コンパイルを実現するため、4つの throw ヘルパー(`CORINFO_HELP_THROW_ARGUMENTEXCEPTION`、`CORINFO_HELP_THROW_ARGUMENTOUTOFRANGEEXCEPTION`、`CORINFO_HELP_THROW_PLATFORM_NOT_SUPPORTED`、`CORINFO_HELP_THROW_NOT_IMPLEMENTED`)を `Internal.Runtime.CompilerHelpers.ThrowHelpers` の管理されたメソッドエントリポイントにマッピングします。これまでこれらのヘルパーを参照するメソッドは crossgen2 でプリコンパイルできず、実行時にインタプリタにフォールバックしていました。 @@ -601,7 +601,7 @@ iOS/MacCatalyst での完全R2R(ReadyToRun)コンパイルを実現するため - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月16日 21:09:11(UTC) - マージ日時: 2026年03月24日 17:30:34(UTC) -- ラベル: area-System.Threading +- ラベル: area-System.Threading #### 概要 `System.Threading.Barrier`クラスのXMLドキュメントコメントを更新し、`BarrierPostPhaseException`の発生可能性を正確に文書化しました。`RemoveParticipant(s)`メソッドと全6つの`SignalAndWait`オーバーロードに`BarrierPostPhaseException`の例外ドキュメントを追加しています。これはドキュメント修正のみで、ランタイム動作への変更はありません。 @@ -627,7 +627,7 @@ iOS/MacCatalyst での完全R2R(ReadyToRun)コンパイルを実現するため - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年03月16日 14:15:12(UTC) - マージ日時: 2026年03月24日 10:05:11(UTC) -- ラベル: area-CodeGen-coreclr runtime-async +- ラベル: area-CodeGen-coreclr runtime-async #### 概要 非同期メソッドの継続(continuation)再利用時に、前の再開ポイント以降に変更されていないローカル変数の保存をスキップする最適化を追加しました。PR #125556で導入された継続再利用の仕組みを活用し、変更されていないローカル変数への不要な書き込みバリアを削減することで、約10%のパフォーマンス向上を実現します。 @@ -659,7 +659,7 @@ iOS/MacCatalyst での完全R2R(ReadyToRun)コンパイルを実現するため - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月16日 05:04:00(UTC) - マージ日時: 2026年03月24日 20:20:53(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/xharness の依存関係を更新するPull Requestです。Microsoft.DotNet.XHarness 関連パッケージ(CLI、TestRunners.Common、TestRunners.Xunit)を 11.0.0-prerelease.26117.1 から 11.0.0-prerelease.26169.1 にアップデートしています。 @@ -684,7 +684,7 @@ dotnet/xharness の依存関係を更新するPull Requestです。Microsoft.Dot - 作成者: [@wfurt](https://github.com/wfurt) - 作成日時: 2026年03月13日 23:51:58(UTC) - マージ日時: 2026年03月24日 08:55:55(UTC) -- ラベル: Servicing-approved area-Infrastructure +- ラベル: Servicing-approved area-Infrastructure #### 概要 内部ビルドインフラストラクチャのLinuxイメージを Ubuntu 22.04 から Azure Linux 3(AZL3)に変更する、release/8.0-stagingブランチ向けの更新です。内部ビルドの非公開Linuxプールの`ImageOverride`設定を更新します。 @@ -706,7 +706,7 @@ dotnet/xharness の依存関係を更新するPull Requestです。Microsoft.Dot - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月11日 21:56:24(UTC) - マージ日時: 2026年03月24日 03:16:01(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 `src/tests/`配下の190個のテストプロジェクトに対して、`RequiresProcessIsolation`属性の必要性を監査しました。172個のテストではこの属性が不要であることが確認されたため削除し、18個のテストでは実際の必要理由に基づいてコメントを置き換えました。これにより、テストプロジェクト定義の精度が向上し、不要なプロセス分離オーバーヘッドが削減されます。 @@ -737,7 +737,7 @@ dotnet/xharness の依存関係を更新するPull Requestです。Microsoft.Dot - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月11日 21:54:02(UTC) - マージ日時: 2026年03月24日 03:17:56(UTC) -- ラベル: area-System.Runtime.InteropServices +- ラベル: area-System.Runtime.InteropServices #### 概要 interop ソースジェネレータインフラのクリーンアップが行われました。`ByValueContentsMarshalKindValidator` を検証・診断専用のアナライザ側に移動し、コード生成パイプラインから削除。また、実際に使用されることのない `ByValueMarshalKindSupport.Unnecessary` 列挙値と関連する死コードを削除しました。 @@ -763,7 +763,7 @@ interop ソースジェネレータインフラのクリーンアップが行わ - 作成者: [@wfurt](https://github.com/wfurt) - 作成日時: 2026年03月09日 10:23:26(UTC) - マージ日時: 2026年03月24日 15:57:25(UTC) -- ラベル: area-System.Net.Security +- ラベル: area-System.Net.Security #### 概要 OpenSSL初期化処理のエラーハンドリングを改善し、OpenSSL設定の問題によるハードフェイルure(セグメンテーション違反など)を削減するPR。`System.Security.Cryptography.Native`のネイティブコード層で、初期化失敗時のフォールバック処理とnullポインタチェックを追加します。 @@ -785,7 +785,7 @@ OpenSSL初期化処理のエラーハンドリングを改善し、OpenSSL設定 - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年03月05日 11:22:32(UTC) - マージ日時: 2026年03月24日 09:00:19(UTC) -- ラベル: Servicing-approved area-VM-meta-mono +- ラベル: Servicing-approved area-VM-meta-mono #### 概要 Mono SGen ガベージコレクタにおいて、Large Object Store (LOS) の非配列オブジェクト(8KB以上のサイズ)に対するカードスキャンの不具合を修正しました。カード マーキングが正しく機能していなかったため、大きなオブジェクト内に格納されたオブジェクト参照をGCが検出できず、GCクラッシュまたはその他の予測不可能な動作を招く可能性がありました。 @@ -809,7 +809,7 @@ Mono SGen ガベージコレクタにおいて、Large Object Store (LOS) の非 - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年03月03日 22:38:03(UTC) - マージ日時: 2026年03月24日 08:48:28(UTC) -- ラベル: Servicing-approved linkable-framework area-codeflow +- ラベル: Servicing-approved linkable-framework area-codeflow #### 概要 release/9.0ブランチからrelease/9.0-stagingブランチへの自動マージです。複数のコミッター(vseanreesermsft、Copilot、hoyosjs、rbhanda、jozkee、dotnet-maestro[bot]、wfurt、bartonjs)による変更を統合します。このマージはマージコミットで実行する必要があります。 @@ -841,7 +841,7 @@ release/9.0ブランチからrelease/9.0-stagingブランチへの自動マー - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年03月02日 20:36:36(UTC) - マージ日時: 2026年03月24日 14:36:03(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 `IDacDbiInterface`をプレーンなC++抽象クラスからCOMインターフェースに変換します。これにより、将来的にマネージド(C#)のcDAC実装で`IDacDbiInterface`を実装可能になり、標準的なCOMのライフサイクル管理(ref-counting)が適用されます。このPRは`ISOSDacInterface` / `SOSDacImpl`パターンに従います。 @@ -874,7 +874,7 @@ release/9.0ブランチからrelease/9.0-stagingブランチへの自動マー - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月20日 14:40:57(UTC) - マージ日時: 2026年03月24日 19:22:36(UTC) -- ラベル: area-System.Text.Json +- ラベル: area-System.Text.Json #### 概要 `System.Text.Json`に新しいPascalCase命名ポリシーを追加します。`JsonNamingPolicy.PascalCase`静的プロパティと`JsonKnownNamingPolicy.PascalCase = 6`を実装し、camelCaseをCamelCaseに、XMLHttpRequestをXmlHttpRequestに変換するなど、各単語の最初の文字を大文字に統一します。既存のCamelCaseポリシーとは異なり、単語境界を適切に検出して処理します。 @@ -909,7 +909,7 @@ string result = policy.ConvertName("camelCase"); // "CamelCase" - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年02月12日 09:20:42(UTC) - マージ日時: 2026年03月24日 08:48:17(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 release/8.0ブランチからrelease/8.0-stagingブランチへの自動マージPRです。hoyosjs氏とjozkee氏によるコミットを含みます。このPRは自動マージされず、チェック完了後にマージコミット(squashやrebaseではなく)で手動マージされる必要があります。 @@ -935,7 +935,7 @@ release/8.0ブランチからrelease/8.0-stagingブランチへの自動マー - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月09日 18:26:41(UTC) - マージ日時: 2026年03月24日 17:41:51(UTC) -- ラベル: linkable-framework area-NativeAOT-coreclr +- ラベル: linkable-framework area-NativeAOT-coreclr #### 概要 NativeAOTアプリケーション公開時に、ネイティブバイナリに埋め込まれているサテライトアセンブリ(リソースアセンブリ)が公開フォルダにも重複してコピーされる問題を修正します。PR #124801のリファクタリング後、`ComputeLinkedFilesToPublish`ターゲットで`IntermediateSatelliteAssembliesWithTargetPath`を`ResolvedFileToPublish`から削除することで、冗長なサテライトアセンブリの公開をスキップします。 diff --git a/archives/2026/03/25.md b/archives/2026/03/25.md index 67ce8c1..6514a02 100644 --- a/archives/2026/03/25.md +++ b/archives/2026/03/25.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#126134 update dependencies from emsdk 9.0.15](#126134) 2. [#126115 \[cDAC\] Fix GetLocalVariableCount to return E_FAIL for missing local signatures](#126115) 3. [#126084 \[wasm\]\[coreclr\] Run only libs smoketest on Firefox and V8](#126084) @@ -40,7 +40,7 @@ - 作成者: [@vseanreesermsft](https://github.com/vseanreesermsft) - 作成日時: 2026年03月25日 23:20:24(UTC) - マージ日時: 2026年03月25日 23:48:45(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 emsdk(Emscripten SDK)を9.0.15へ更新する依存関係の更新PRです。WebAssembly関連のビルドツールチェーンが対象となります。 @@ -63,7 +63,7 @@ emsdk(Emscripten SDK)を9.0.15へ更新する依存関係の更新PRです - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年03月25日 18:59:13(UTC) - マージ日時: 2026年03月25日 21:20:57(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Contracts DAC)の `GetLocalVariableCount` メソッドをネイティブDAC仕様に合わせて修正しました。ローカル署名がないメソッド(動的メソッド、ILスタブ、ローカル変数なしのメソッド)に対して、`S_OK`で count 0 を返していた仕様を `E_FAIL` に変更します。これにより、ネイティブDACとの動作パリティが確保され、検証アサートの失火を防ぎます。 @@ -85,7 +85,7 @@ cDAC(Contracts DAC)の `GetLocalVariableCount` メソッドをネイティ - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年03月25日 11:34:40(UTC) - マージ日時: 2026年03月25日 13:50:59(UTC) -- ラベル: arch-wasm area-Infrastructure-coreclr +- ラベル: arch-wasm area-Infrastructure-coreclr #### 概要 WASM CoreCLR ライブラリテストパイプラインテンプレートを更新し、Firefox と V8 ブラウザエンジンのシナリオでスモークテストのみを実行するように強制します。これにより Linux x64 キューの負荷を軽減します。 @@ -108,7 +108,7 @@ CI キューの負荷軽減(Linux x64 キューの圧力低減が期待され - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月25日 07:15:29(UTC) - マージ日時: 2026年03月25日 13:23:11(UTC) -- ラベル: area-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 `ProcessStartInfo` コンストラクタと `Process.Start()` メソッドの `arguments` パラメータを nullable (`string?`) に変更する nullability アノテーション更新。これまで `null` を受け取ると内部的に `null` のまま保存されていましたが、getter で `string.Empty` を返していた実際の動作に公開 API 契約を合わせるもの。 @@ -138,7 +138,7 @@ var p = Process.Start("dotnet", null); - 作成者: [@eduardo-vp](https://github.com/eduardo-vp) - 作成日時: 2026年03月25日 03:31:15(UTC) - マージ日時: 2026年03月25日 23:47:57(UTC) -- ラベル: area-System.Threading +- ラベル: area-System.Threading #### 概要 `Monitor.Wait`の再入可能性に関する問題を修正します。メッセージポンピングを許可する同期コンテキスト(`SynchronizationContext.Wait`など)を使用する場合、同じスレッド上での入れ子になった`Monitor.Wait`呼び出しが単一のスレッド静的`Waiter`を共有し、一方の待機がもう一方の`Pulse`を横取りする問題が発生していました。 @@ -162,7 +162,7 @@ var p = Process.Start("dotnet", null); - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年03月25日 02:14:31(UTC) - マージ日時: 2026年03月25日 03:04:38(UTC) -- ラベル: area-Meta +- ラベル: area-Meta #### 概要 `CONTRIBUTING.md`に`dotnet/extensions`リポジトリを追加し、問題報告者がより適切なリポジトリを特定できるよう貢献ガイドラインを更新しました。 @@ -183,7 +183,7 @@ var p = Process.Start("dotnet", null); - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年03月25日 01:21:07(UTC) - マージ日時: 2026年03月25日 01:40:14(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 dotnet/runtimeリポジトリに自動コードレビュー機能を提供するGitHub Agentic Workflowを追加します。このワークフローはプルリクエストがオープンされた時、または新しくプッシュされた時に自動的にトリガーされ、リポジトリの`code-review`スキルを使用して構造化されたレビューコメントをPR上にポストします。 @@ -210,7 +210,7 @@ dotnet/runtimeリポジトリに自動コードレビュー機能を提供する - 作成者: [@dhartglassMSFT](https://github.com/dhartglassMSFT) - 作成日時: 2026年03月24日 23:45:34(UTC) - マージ日時: 2026年03月25日 22:38:17(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT コンパイラの `gtFoldExprHWIntrinsic` 関数内で、`Vector.WithElement` メソッドのインデックス引数がバウンドチェック付きの値(COMMA式)である場合に発生していたアサーション エラーを修正します。従来は単純な整数定数のみを想定していましたが、実際にはバウンドチェック結果を含むCOMMA式が渡される可能性があったため、この条件の厳密性を緩和しました。 @@ -238,7 +238,7 @@ Windows x64 antigen テストで頻繁に発生していたアサーション - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年03月24日 22:32:34(UTC) - マージ日時: 2026年03月25日 14:33:24(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 Wasm RyuJit のローカル変数コード生成を修正し、レジスタサイズの構造体ローカルを正しく読み込むために、ロード命令発行時に適切なメモリ属性(emitAttr)を使用するようにしました。 @@ -259,7 +259,7 @@ Wasm RyuJit のローカル変数コード生成を修正し、レジスタサ - 作成者: [@jeffhandley](https://github.com/jeffhandley) - 作成日時: 2026年03月24日 20:46:37(UTC) - マージ日時: 2026年03月25日 00:53:10(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 このPRはGitHub Agentic Workflows (gh-aw) をGitHub Copilotで安全に実行するためのインフラストラクチャを導入します。主な機能として、複数のCopilot Personal Access Token (PAT) から無作為に選択するメカニズムを実装し、レート制限の問題を軽減します。 @@ -284,7 +284,7 @@ Wasm RyuJit のローカル変数コード生成を修正し、レジスタサ - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年03月24日 20:03:53(UTC) - マージ日時: 2026年03月25日 16:05:05(UTC) -- ラベル: Servicing-approved area-NativeAOT-coreclr +- ラベル: Servicing-approved area-NativeAOT-coreclr #### 概要 nativeAOTでクラッシュダンプ収集用の環境変数(DOTNET_DbgEnableMiniDump等)が設定されている場合、起動時のエラーメッセージ出力を遅延させる変更です。これにより、ダンプ作成が実際に行われる時点までエラー検出を遅延し、不要な警告メッセージを削減します。特にcrossgenなどのツールがnativeAOTに移行した現在、ビルド時に子プロセスで余分なエラーメッセージが出力される問題を解決します。 @@ -308,7 +308,7 @@ nativeAOTでクラッシュダンプ収集用の環境変数(DOTNET_DbgEnableM - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年03月24日 19:29:05(UTC) - マージ日時: 2026年03月25日 15:55:38(UTC) -- ラベル: area-System.Runtime.Intrinsics +- ラベル: area-System.Runtime.Intrinsics #### 概要 `Vector64/128/256/512.Asin` の新しい公開APIを追加し、`TensorPrimitives.Asin` のSIMD ベクトル化を有効にします。これにより、`float` および `double` テンソルワークロードのパフォーマンスが向上します。 @@ -335,7 +335,7 @@ SIMD ベクトル化により、`float` および `double` テンソルの `Asin - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年03月24日 10:05:51(UTC) - マージ日時: 2026年03月25日 19:49:51(UTC) -- ラベル: arch-wasm area-CodeGen-Interpreter-coreclr +- ラベル: arch-wasm area-CodeGen-Interpreter-coreclr #### 概要 インタプリタの`CEE_SWITCH`ハンドラーが、ターゲット数が0の空のswitch命令(例:IL内の`switch()`)をコンパイルする際にクラッシュする問題を修正しました。ハンドラーが無条件に`allocate(n)`を呼び出し、`n=0`の場合にアリーナアロケータの`assert(size != 0)`をトリガーしていました。 @@ -357,7 +357,7 @@ SIMD ベクトル化により、`float` および `double` テンソルの `Asin - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年03月24日 02:10:24(UTC) - マージ日時: 2026年03月25日 00:16:38(UTC) -- ラベル: area-Extensions-DependencyInjection +- ラベル: area-Extensions-DependencyInjection #### 概要 `ActivatorUtilities`のスタートアップ最適化を目的とした変更です。`GetServiceInfo` MethodInfoの初期化を遅延させることで、クラス読み込み時に発生していた負荷の高い`Delegate.Method`リフレクション呼び出しを、実際に必要になるまで先延ばしにします。ネイティブAOTビルドでは不要ですが、自動的に除去するのが困難なため、遅延初期化パターンで対応します。 @@ -381,7 +381,7 @@ SIMD ベクトル化により、`float` および `double` テンソルの `Asin - 作成者: [@richlander](https://github.com/richlander) - 作成日時: 2026年03月23日 23:25:42(UTC) - マージ日時: 2026年03月25日 20:19:54(UTC) -- ラベル: area-Infrastructure-libraries +- ラベル: area-Infrastructure-libraries #### 概要 Linux ビルドプール設定を Ubuntu 22.04 から Azure Linux 3 に移行します。前回の #125535 での移行漏れをカバーし、エンタープライズテストおよびストレステストのビルドプール設定を統一します。 @@ -407,7 +407,7 @@ Linux ビルドプール設定を Ubuntu 22.04 から Azure Linux 3 に移行し - 作成者: [@richlander](https://github.com/richlander) - 作成日時: 2026年03月23日 22:15:07(UTC) - マージ日時: 2026年03月25日 20:20:08(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 .NET 11のサポートOS一覧に基づいて、Helix CI/CDパイプラインの古いOS版を最新のサポート版に更新するもの。EOL済みまたはEOL前の環境を除去し、CI実行環境をサポート対象OSに揃えます。 @@ -437,7 +437,7 @@ Linux ビルドプール設定を Ubuntu 22.04 から Azure Linux 3 に移行し - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月23日 18:53:37(UTC) - マージ日時: 2026年03月25日 20:34:34(UTC) -- ラベル: area-Build-mono +- ラベル: area-Build-mono #### 概要 MonoAPI相互運用テスト(`InstallEHCallback`、`PInvokeDetach`、`Thunks`)がMono Windows x64でのテスト実行時に失敗するため、これらのテストに`[ActiveIssue]`属性を追加しました。xUnit変換時(#123248)に失敗スキップ属性が喪失した問題の復旧です。 @@ -467,7 +467,7 @@ MonoAPI相互運用テスト(`InstallEHCallback`、`PInvokeDetach`、`Thunks` - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月23日 05:01:19(UTC) - マージ日時: 2026年03月25日 12:34:43(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 dotnet/xharness依存関係の自動更新です。Microsoft.DotNet.XHarness関連の3つのNuGetパッケージをバージョン11.0.0-prerelease.26168.1から11.0.0-prerelease.26174.1に更新しています。 @@ -495,7 +495,7 @@ dotnet/xharness依存関係の自動更新です。Microsoft.DotNet.XHarness関 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月22日 04:59:38(UTC) - マージ日時: 2026年03月25日 01:35:41(UTC) -- ラベル: area-Infrastructure-coreclr +- ラベル: area-Infrastructure-coreclr #### 概要 macOS/Linuxでsudo経由で起動された`createdump`プロセスのタイムアウト時に`EPERM`エラーが発生する問題を修正。root所有のプロセスに対して非rootプロセスから`Process.Kill()`を実行できない制限に対し、`sudo kill`を使用した専用の終了ヘルパーメソッドを実装。従来の失敗時リトライワークアラウンド(最大5回)を削除し、根本的な解決方法に置き換え。 @@ -528,7 +528,7 @@ macOS/Linuxでsudo経由で起動された`createdump`プロセスのタイム - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年03月22日 02:04:01(UTC) - マージ日時: 2026年03月25日 21:02:02(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 `api-proposal`スキルを強化し、新しいAPI提案時に dotnet/runtime リポジトリ全体での採用候補箇所を体系的にカタログ化することを要件化します。これにより、提案されたAPIが実際のランタイムコードベースで如何に活用できるかを明示的に検証できるようになります。 @@ -557,7 +557,7 @@ macOS/Linuxでsudo経由で起動された`createdump`プロセスのタイム - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月21日 01:14:16(UTC) - マージ日時: 2026年03月25日 20:35:51(UTC) -- ラベル: area-AssemblyLoader-coreclr +- ラベル: area-AssemblyLoader-coreclr #### 概要 アセンブリロード時のETWトレーシングイベント(`AssemblyLoadContextResolvingHandlerInvoked` と `AppDomainAssemblyResolveHandlerInvoked`)における `HandlerName` フィールドに、メソッド名だけでなく宣言型の完全修飾名を含めるように改善しました。これにより `dotnet-trace` での診断時にハンドラーの登録元コンポーネントを特定しやすくなります。 @@ -586,7 +586,7 @@ macOS/Linuxでsudo経由で起動された`createdump`プロセスのタイム - 作成者: [@haltandcatchwater](https://github.com/haltandcatchwater) - 作成日時: 2026年03月20日 22:52:27(UTC) - マージ日時: 2026年03月25日 13:53:39(UTC) -- ラベル: area-Extensions-Configuration community-contribution +- ラベル: area-Extensions-Configuration community-contribution #### 概要 `ErrorOnUnknownConfiguration`が有効な場合、`ConfigurationKeyNameAttribute`で指定されたプロパティ名を認識しない不具合を修正しました。既知のプロパティ名セットを構築する際に、属性で指定された名前ではなくC#プロパティ名のみを使用していたため、属性で指定された名前に一致する設定キーが未知の設定キーとして誤って判定されていました。 @@ -609,7 +609,7 @@ macOS/Linuxでsudo経由で起動された`createdump`プロセスのタイム - 作成者: [@DrewScoggins](https://github.com/DrewScoggins) - 作成日時: 2026年03月20日 16:44:56(UTC) - マージ日時: 2026年03月25日 20:57:31(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 ランタイムパフォーマンスパイプラインテンプレートを更新し、インタープリタフォールバックを使用したR2Rコンポジットベンチマーク向けの新しいCoreClrビルドバリアント(`coreclr_r2r_interpreter`)を追加しました。動的コード生成を無効化(`-dynamiccodecompiled false`)したCoreClrビルドを実装しています。 @@ -632,7 +632,7 @@ macOS/Linuxでsudo経由で起動された`createdump`プロセスのタイム - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月19日 20:37:32(UTC) - マージ日時: 2026年03月25日 15:19:58(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 CoreCLR DAC/DBI デバッグAPIの `DacDbiInterfaceImpl::GetMetaDataFileInfoFromPEFile` メソッドにおいて、`pStrFilename->AssignCopy(wszFilePath)` の戻り値(HRESULT)が無視されていたバグを修正します。`AssignCopy` が失敗(例:`E_OUTOFMEMORY`)した場合でも、メソッドが `S_OK` を返してしまう問題を、`IfFailThrow()` でラップして適切にエラーを伝播させます。 @@ -656,7 +656,7 @@ CoreCLR DAC/DBI デバッグAPIの `DacDbiInterfaceImpl::GetMetaDataFileInfoFrom - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年03月19日 17:50:15(UTC) - マージ日時: 2026年03月25日 16:10:46(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 cDAC(コンテナ化されたデータアクセスコンポーネント)ダンプテストのHelix CI/CDインフラに、32ビットプラットフォーム対応を追加します。**windows_x86**(WoW64経由)と**linux_arm**(コンテナ化ARM32キュー)を新たにテスト対象プラットフォームとして統合し、6プラットフォーム全体でのダンプ生成/テストカバレッジを拡大します。 @@ -683,7 +683,7 @@ cDAC(コンテナ化されたデータアクセスコンポーネント)ダ - 作成者: [@dhartglassMSFT](https://github.com/dhartglassMSFT) - 作成日時: 2026年03月18日 21:22:17(UTC) - マージ日時: 2026年03月25日 07:26:52(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 Random-inline JIT stress テストで ARM64 上の多重レジスタ返却(multi-reg-ret)構造体の Copy Propagation 処理中に `lvIsMultiRegRet` フラグが正しく伝播されず、`Lowering::ContainCheckRet` でアサーション失敗が発生する問題を修正します。Assertion-driven Copy Propagation 実行時に、置換先のローカル変数へ `lvIsMultiRegRet` フラグを明示的に設定することで対応します。 @@ -706,7 +706,7 @@ Random-inline JIT stress テストで ARM64 上の多重レジスタ返却(mul - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年03月13日 23:27:04(UTC) - マージ日時: 2026年03月25日 05:58:54(UTC) -- ラベル: arch-wasm area-crossgen2-coreclr +- ラベル: arch-wasm area-crossgen2-coreclr #### 概要 このPRはWebAssembly (Wasm32) import thunkサポートをReadyToRun (R2R) コンパイラに追加します。Wasm向けの新しいR2Rノード(WasmImportThunk、WasmImportThunkPortableEntrypoint)を導入し、Wasm命令エンコーディング、オブジェクトライター、JIT側のリロケーション処理を拡張して、R2Rで生成されたWasmコードがfixup/importヘルパー経由で外部コードを呼び出せるようにします。 @@ -750,7 +750,7 @@ Random-inline JIT stress テストで ARM64 上の多重レジスタ返却(mul - 作成者: [@rustamque](https://github.com/rustamque) - 作成日時: 2026年03月12日 16:14:45(UTC) - マージ日時: 2026年03月25日 20:03:39(UTC) -- ラベル: area-System.Data community-contribution +- ラベル: area-System.Data community-contribution #### 概要 `DataRecordInternal.cs`における整数オーバーフロー脆弱性を修正。`dataIndex`が`int.MinValue`未満の場合、キャスト時に値が切り詰められ、`InvalidSourceBufferIndex`例外がスローされない問題を解決しました。Linux Verification Center(SVACE)により検出されました。 @@ -773,7 +773,7 @@ Random-inline JIT stress テストで ARM64 上の多重レジスタ返却(mul - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年03月11日 22:27:55(UTC) - マージ日時: 2026年03月25日 14:59:49(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Compact Data Access Component)のデバッグ機能を拡張するPRで、`ClrDataFrame.GetArgumentByIndex`/`GetLocalVariableByIndex`を実装し、フレーム内の引数と局所変数の検査を可能にします。DebugInfo契約v2、SignatureDecoder契約、RuntimeTypeSystem契約の新規追加により、ネイティブ変数位置の解決、メソッドシグネチャのデコード、型情報の取得をサポートします。 @@ -818,7 +818,7 @@ cDAC(Compact Data Access Component)のデバッグ機能を拡張するPRで - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年03月09日 13:15:39(UTC) - マージ日時: 2026年03月25日 01:01:03(UTC) -- ラベル: area-Build-mono +- ラベル: area-Build-mono #### 概要 PR #124125で導入されたバグを修正します。複数のBlazor WebAssemblyクライアントプロジェクトが同じランタイムパックを参照する場合、パススルーアセット(JS、maps、ICUデータ、native WASM)が同じNuGetキャッシュパスに解決され、静的Webアセットパイプラインで重複したIdentityキーが発生し、`DiscoverPrecompressedAssets`で`ArgumentException`が発生していました。 @@ -846,7 +846,7 @@ PR #124125で導入されたバグを修正します。複数のBlazor WebAssemb - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年03月04日 13:45:43(UTC) - マージ日時: 2026年03月25日 15:24:54(UTC) -- ラベル: Servicing-approved area-CodeGen-coreclr +- ラベル: Servicing-approved area-CodeGen-coreclr #### 概要 C++/CLI関数がaggregate initializationで構造体を返す場合、`LowerCallMemmove`でJITがアクセス違反(0xC0000005)でクラッシュする問題をバックポートで修正しました。問題は`CORINFO_HELP_MEMCPY`に対して`BlkOpKindUnroll`を使用していたため、contained address nodeが`genCodeForMemmove`に渡されてしまうことが原因です。修正により、`CORINFO_HELP_MEMCPY`と`SpanHelpers.Memmove`の両方に対して`BlkOpKindUnrollMemmove`を統一的に使用するようにしました。 @@ -870,7 +870,7 @@ LSRAの観点から`CORINFO_HELP_MEMCPY`は若干コストが増加する可能 - 作成者: [@janvorli](https://github.com/janvorli) - 作成日時: 2026年02月26日 00:38:52(UTC) - マージ日時: 2026年03月25日 15:36:26(UTC) -- ラベル: area-PAL-coreclr +- ラベル: area-PAL-coreclr #### 概要 macOS上でのスレッドアクティベーション用SIGUSRシグナルのハンドラー転送機能を部分的に復元します。以前の変更で追加された、登録済みハンドラーへのシグナル転送がvsdbgの動作を破壊していたため、その部分のみを復元して互換性を回復します。 @@ -895,7 +895,7 @@ macOS上でのスレッドアクティベーション用SIGUSRシグナルのハ - 作成者: [@tmds](https://github.com/tmds) - 作成日時: 2026年02月02日 07:58:03(UTC) - マージ日時: 2026年03月25日 16:20:06(UTC) -- ラベル: breaking-change needs-breaking-change-doc-created community-contribution area-System.Formats.Tar +- ラベル: breaking-change needs-breaking-change-doc-created community-contribution area-System.Formats.Tar #### 概要 System.Formats.Tar ライブラリに、ハードリンクされたファイルを書き込む際にHardLink形式のTarエントリを使用する機能を追加しました。これにより、同じファイルへの複数の参照をより効率的にTarアーカイブに格納できます。TarWriter、TarFile、TarExtractOptions、TarWriterOptions の各コンポーネントが拡張され、プラットフォーム固有(Unix/Windows)の実装も追加されています。 @@ -925,7 +925,7 @@ System.Formats.Tar ライブラリに、ハードリンクされたファイル - 作成者: [@ylpoonlg](https://github.com/ylpoonlg) - 作成日時: 2026年01月28日 15:36:07(UTC) - マージ日時: 2026年03月25日 20:04:21(UTC) -- ラベル: area-CodeGen-coreclr community-contribution arm-sve +- ラベル: area-CodeGen-coreclr community-contribution arm-sve #### 概要 ARM64 SVE(Scalable Vector Extensions)向けのJITコンパイラにおいて、読み取り修正書き込み(RMW)命令の`mov`/`movprfx`プリフィックス生成ロジックをリファクタリングしました。従来はコード生成時に分散していたこのロジックを、emit段階で統一的に処理するように変更し、非マスク付きオペレーション対応を改善しました。 @@ -950,7 +950,7 @@ ARM64 SVE(Scalable Vector Extensions)向けのJITコンパイラにおいて - 作成者: [@Smaug123](https://github.com/Smaug123) - 作成日時: 2025年09月12日 12:59:42(UTC) - マージ日時: 2026年03月25日 02:27:55(UTC) -- ラベル: documentation area-System.Threading community-contribution +- ラベル: documentation area-System.Threading community-contribution #### 概要 `PeriodicTimer.WaitForNextTickAsync`メソッドのXML documentation を改善し、戻り値のブール値セマンティクスと`ValueTask`の完了状態を明確に記載しました。メソッドが`true`と`false`を返す条件、キャンセル動作について詳細な説明を追加しています。 diff --git a/archives/2026/03/26.md b/archives/2026/03/26.md index 438c83d..07beaed 100644 --- a/archives/2026/03/26.md +++ b/archives/2026/03/26.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#126145 Disable System.Security.Cryptography.Tests from Android CoreCLR smoke tests](#126145) 2. [#126143 Add mention of CORERUN_IN_BROWSER variable](#126143) 3. [#126139 Update issue for ReentrantWaitFromSyncContextTest](#126139) @@ -31,7 +31,7 @@ - 作成者: [@danmoseley](https://github.com/danmoseley) - 作成日時: 2026年03月26日 03:28:35(UTC) - マージ日時: 2026年03月26日 13:46:30(UTC) -- ラベル: disabled-test area-Infrastructure-coreclr os-android +- ラベル: disabled-test area-Infrastructure-coreclr os-android #### 概要 Android CoreCLR エミュレータ上で `System.Security.Cryptography.Tests` が メモリ不足(OOM)により確定的に失敗するため、スモークテストから除外します。暗号テストスイートが約2GBのメモリ上限に達して `lowmemorykiller` により強制終了されており、個別テストの無効化では根本的な解決にならないため、プロジェクト全体を除外することで対応します。 @@ -56,7 +56,7 @@ Android CoreCLR エミュレータ上で `System.Security.Cryptography.Tests` - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年03月26日 03:12:00(UTC) - マージ日時: 2026年03月26日 08:33:06(UTC) -- ラベル: area-Build-mono +- ラベル: area-Build-mono #### 概要 CoreCLR WebAssembly ビルド/実行ドキュメントを更新し、`CORERUN_IN_BROWSER` 変数によるブラウザワークフロー有効化の説明を追加しました。また、ファイルコピーが `dotnet-serve` 実行前に必要となるため、ドキュメント内の手順を再構成しています。 @@ -79,7 +79,7 @@ CoreCLR WebAssembly ビルド/実行ドキュメントを更新し、`CORERUN_IN - 作成者: [@eduardo-vp](https://github.com/eduardo-vp) - 作成日時: 2026年03月26日 00:15:24(UTC) - マージ日時: 2026年03月26日 05:58:46(UTC) -- ラベル: area-System.Threading +- ラベル: area-System.Threading #### 概要 `ReentrantWaitFromSyncContextTest`のMonoランタイムにおける`ActiveIssue`属性の参照先をより新しい追跡Issueに更新し、テストのスキップ/トリアージを現在の調査状況と整合させるためのメタデータ更新です。 @@ -100,7 +100,7 @@ CoreCLR WebAssembly ビルド/実行ドキュメントを更新し、`CORERUN_IN - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年03月25日 20:43:44(UTC) - マージ日時: 2026年03月26日 15:05:04(UTC) -- ラベル: arch-wasm area-Infrastructure-coreclr +- ラベル: arch-wasm area-Infrastructure-coreclr #### 概要 シングルスレッド WASM 環境でマルチスレッド型初期化子(circular cctor)テストがデッドロック/クラッシュするため、`ConditionalFact(IsMultithreadingSupported)` 属性を追加して、マルチスレッド対応環境でのみ実行するように修正しました。 @@ -125,7 +125,7 @@ CoreCLR WebAssembly ビルド/実行ドキュメントを更新し、`CORERUN_IN - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月25日 20:43:08(UTC) - マージ日時: 2026年03月26日 00:01:26(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 .NET 9.0リリースブランチにおいて、Emscripten SDK関連の依存パッケージをアップデートする自動依存関係更新です。JIT Tools、Mono LLVM SDK/Toolsのマルチプラットフォーム版とEmscriptenマニフェストパッケージが更新されます。 @@ -157,7 +157,7 @@ CoreCLR WebAssembly ビルド/実行ドキュメントを更新し、`CORERUN_IN - 作成者: [@danmoseley](https://github.com/danmoseley) - 作成日時: 2026年03月25日 18:47:31(UTC) - マージ日時: 2026年03月26日 03:26:02(UTC) -- ラベル: area-System.Text.RegularExpressions +- ラベル: area-System.Text.RegularExpressions #### 概要 正規表現の解析時ツリーリダクション処理を改善する2つの変更を実施します。 @@ -189,7 +189,7 @@ CoreCLR WebAssembly ビルド/実行ドキュメントを更新し、`CORERUN_IN - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年03月25日 14:27:16(UTC) - マージ日時: 2026年03月26日 21:16:11(UTC) -- ラベル: area-System.Text.RegularExpressions +- ラベル: area-System.Text.RegularExpressions #### 概要 正規表現エンジンの固定カウント単一文字リピーター(例:`\d{N}`)に対して、アンロール展開とベクトル化操作の選択基準となる`MaxUnrollSize`閾値を16から8に低下させました。ベンチマーク結果から、カウント8以上ではベクトル化操作(`ContainsAnyExcept`など)が全ての文字クラス型で有効であることが確認されています。 @@ -220,7 +220,7 @@ CoreCLR WebAssembly ビルド/実行ドキュメントを更新し、`CORERUN_IN - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年03月25日 13:30:41(UTC) - マージ日時: 2026年03月26日 18:34:18(UTC) -- ラベル: area-PAL-coreclr community-contribution +- ラベル: area-PAL-coreclr community-contribution #### 概要 コミット 0b42ec71bfc 以降、未使用となっていた `PAL_VirtualUnwind` 関数の `contextPointers` 引数を削除しました。この変更は、PAL(Platform Abstraction Layer)の例外ハンドリング機能の内部実装の簡潔化を目指しています。 @@ -246,7 +246,7 @@ CoreCLR WebAssembly ビルド/実行ドキュメントを更新し、`CORERUN_IN - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年03月25日 12:53:15(UTC) - マージ日時: 2026年03月26日 08:35:25(UTC) -- ラベル: arch-wasm area-System.Runtime.InteropServices.JavaScript os-browser +- ラベル: arch-wasm area-System.Runtime.InteropServices.JavaScript os-browser #### 概要 ブラウザ環境での `setEnvironmentVariable` ランタイムAPIの廃止・削除。CoreCLR向けブラウザランタイムからは完全に削除し、Mono向けブラウザランタイムでは非推奨化する。環境変数の設定には `withEnvironmentVariable()` またはホストビルダーベースの構成を使用すべき。 @@ -270,7 +270,7 @@ CoreCLR WebAssembly ビルド/実行ドキュメントを更新し、`CORERUN_IN - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年03月25日 12:08:54(UTC) - マージ日時: 2026年03月26日 07:20:07(UTC) -- ラベル: area-VM-coreclr community-contribution +- ラベル: area-VM-coreclr community-contribution #### 概要 `AppDomain::ExceptionUnwind`メソッドは不要な空実装(no-op)であるため、削除されました。このメソッドはランタイムの例外処理フレームワーク内で何の機能も果たしていませんでした。 @@ -294,7 +294,7 @@ CoreCLR WebAssembly ビルド/実行ドキュメントを更新し、`CORERUN_IN - 作成者: [@jeffhandley](https://github.com/jeffhandley) - 作成日時: 2026年03月25日 07:58:01(UTC) - マージ日時: 2026年03月26日 04:49:41(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 `.github/labeler-readme.md` ファイルを `workflows` フォルダから移動させ、GitHub Actions のエージェント型ワークフロー(`gh aw` コマンド)に誤認識されるのを防ぐ変更です。 @@ -315,7 +315,7 @@ CoreCLR WebAssembly ビルド/実行ドキュメントを更新し、`CORERUN_IN - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年03月24日 10:20:04(UTC) - マージ日時: 2026年03月26日 09:27:27(UTC) -- ラベル: arch-wasm area-Infrastructure-coreclr +- ラベル: arch-wasm area-Infrastructure-coreclr #### 概要 WebAssembly/CoreCLRプラットフォーム上で、ネイティブテストアセットが利用できない環境における`structinreg` P/Invokeテストの実行を無効化するもの。テストが`[DllImport("jitstructtests_lib")]`を使用するため、ネイティブリンクの準備が完了するまでテストをスキップします。 @@ -336,7 +336,7 @@ WebAssembly/CoreCLRプラットフォーム上で、ネイティブテストア - 作成者: [@danmoseley](https://github.com/danmoseley) - 作成日時: 2026年03月24日 04:00:12(UTC) - マージ日時: 2026年03月26日 13:56:12(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 MSBuild がクラッシュした際の診断ファイル(`MSBuild_*.failure.txt`)を CI パイプラインで保持するため、グローバルビルドジョブテンプレートに `MSBUILDDEBUGPATH` 環境変数を追加します。 @@ -360,7 +360,7 @@ MSBuild がクラッシュした際の診断ファイル(`MSBuild_*.failure.tx - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月24日 03:53:39(UTC) - マージ日時: 2026年03月26日 19:53:11(UTC) -- ラベル: Servicing-approved area-System.Numerics test-bug +- ラベル: Servicing-approved area-System.Numerics test-bug #### 概要 `release/8.0`ブランチの`System.Runtime.Numerics.Tests`のOuterLoopテストがLinux環境でOOM(メモリ不足)によるSIGKILL(終了コード137)で失敗していた問題を修正します。`LargeValueLogTests`と`DoubleExplicitCastFromLargeBigIntegerTests`で`BigInteger`を`int.MaxValue / 10`ビット単位でシフトしていたため、反復ごとに~107MBのメモリを消費していました。この変更により、シフト量を`1 << 24`に削減し、反復ごとのメモリ消費を~107MBから~8MBに削減しながら、テストの正当性を維持します。 @@ -384,7 +384,7 @@ MSBuild がクラッシュした際の診断ファイル(`MSBuild_*.failure.tx - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月24日 03:25:47(UTC) - マージ日時: 2026年03月26日 02:47:07(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 AndroidのHTTPスタック上で`LargeUriAndHeaders_Works`テストが一貫してタイムアウトしていた問題を修正。テストが生成するパス・ヘッダー名・ヘッダー値の文字列サイズをプラットフォーム別に調整し、Androidでは100K文字に削減する一方、他のプラットフォームでは元の10M文字のテストレベルを維持します。 @@ -414,7 +414,7 @@ Android環境でのテスト実行時間短縮。Androidでの文字列割り当 - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月24日 00:05:43(UTC) - マージ日時: 2026年03月26日 16:59:44(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/dotnetリポジトリからのコードフロー更新です。.NET 10.0.1xx リリースブランチの最新ビルド(20260323.16)に同期され、複数の依存関係パッケージが更新されました。主にMicrosoft.CodeAnalysis、Microsoft.DotNet.Arcade.Sdk、およびNuGetツールチェーン関連のパッケージが含まれています。 @@ -446,7 +446,7 @@ dotnet/dotnetリポジトリからのコードフロー更新です。.NET 10.0. - 作成者: [@svick](https://github.com/svick) - 作成日時: 2026年03月23日 14:30:35(UTC) - マージ日時: 2026年03月26日 16:11:34(UTC) -- ラベル: area-Extensions-Hosting +- ラベル: area-Extensions-Hosting #### 概要 `BackgroundService`の例外集約テストのフレーキーネスを削減するPR。複数のバックグラウンドサービスが全て開始された後にのみ例外を発生させるよう、DI提供のBarrierを使用することで、タイミング依存の問題を解決します。また、ホスティングシャットダウンヘルパーでのリソース処理も改善しています。 @@ -471,7 +471,7 @@ dotnet/dotnetリポジトリからのコードフロー更新です。.NET 10.0. - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月22日 06:08:53(UTC) - マージ日時: 2026年03月26日 14:23:35(UTC) -- ラベル: area-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 Linux上で`Process.Start()`直後に`ProcessName`が期待値(例:"sleep")ではなく親プロセスの切り詰められた名前(".NET Long Runni")を返すフレーキーなテスト失敗を修正します。根本原因は、`fork()`後で`execve()`完了前にプロセス情報を読み取る際に発生する競合状態です。修正では、`ProcessName`が期待値と一致するまで50ms間隔で最大1秒間ポーリングするようテストを更新します。本番コードの変更はありません。 @@ -497,7 +497,7 @@ Linux上で`Process.Start()`直後に`ProcessName`が期待値(例:"sleep" - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月22日 03:43:56(UTC) - マージ日時: 2026年03月26日 03:42:36(UTC) -- ラベル: area-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 Windows 11の新型メモ帳がApp Execution Aliasを使用している問題により、`Process.Start("notepad.exe")`がスタブランチャーのPIDを返すため、`MainWindowFinder`がウィンドウマッチングに失敗していました。このPRでは、notepad.exeへの依存をRemoteExecutorを使用した決定論的なヘルパープロセスに置き換えます。ヘルパープロセスはバックグラウンドスレッドで`MessageBoxW`を呼び出し、制御されたPIDを持つ可視の所有者なしトップレベルウィンドウを作成します。 @@ -526,7 +526,7 @@ Windows 11の新型メモ帳がApp Execution Aliasを使用している問題に - 作成者: [@MichalPetryka](https://github.com/MichalPetryka) - 作成日時: 2026年03月20日 22:46:24(UTC) - マージ日時: 2026年03月26日 07:18:06(UTC) -- ラベル: area-VM-coreclr linkable-framework community-contribution +- ラベル: area-VM-coreclr linkable-framework community-contribution #### 概要 COM呼び出しにおけるスタティック仮想メソッドの処理を修正しました。従来のVSD(Virtual Stub Dispatch)スタブを誤って使用していたことによるランタイムアサート失敗の問題を解決しています。 @@ -551,7 +551,7 @@ COM呼び出しにおけるスタティック仮想メソッドの処理を修 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月20日 17:57:11(UTC) - マージ日時: 2026年03月26日 07:48:15(UTC) -- ラベル: area-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 `ProcessStartInfo`に3つの新しい`SafeFileHandle?`プロパティ(`StandardInputHandle`、`StandardOutputHandle`、`StandardErrorHandle`)を追加し、子プロセスにファイルハンドルを直接渡す機能を実装しました。これにより、`RedirectStandard*`パイプメカニズムを経由せずにハンドルベースのリダイレクションが可能になります。 @@ -590,7 +590,7 @@ writePipe.Dispose(); - 作成者: [@maraf](https://github.com/maraf) - 作成日時: 2026年03月17日 14:27:24(UTC) - マージ日時: 2026年03月26日 14:51:06(UTC) -- ラベル: arch-wasm area-Build-mono os-browser +- ラベル: arch-wasm area-Build-mono os-browser #### 概要 WASM テンプレートビルドテストを更新し、`WasmEmitTypeScriptDefinitions` 有効時のビルド増分性(インクリメンタルビルド)を検証するようにしました。MSBuild の `-question` フラグを使用してプロジェクトの最新状態を直接確認し、`dotnet.d.ts` が `wwwroot` にコピーされた後もビルドが非増分化しないことを保証します。 @@ -611,7 +611,7 @@ WASM テンプレートビルドテストを更新し、`WasmEmitTypeScriptDefin - 作成者: [@maraf](https://github.com/maraf) - 作成日時: 2026年03月17日 11:02:00(UTC) - マージ日時: 2026年03月26日 16:49:32(UTC) -- ラベル: arch-wasm area-Build-mono os-browser +- ラベル: arch-wasm area-Build-mono os-browser #### 概要 WebAssembly ブートコンフィグのカスタマイズ用公開 API を削除するPRです。MSBuild プロパティ(`WasmInlineBootConfig`、`WasmBootConfigFileName`)と TypeScript API の `withConfigSrc` メソッドを廃止し、デフォルトの埋め込みブートコンフィグまたはユーザー独自の実装に統一します。タイムアウト問題(#124947)の解決を目指しています。 @@ -637,7 +637,7 @@ WebAssembly ブートコンフィグのカスタマイズ用公開 API を削除 - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年03月15日 00:12:44(UTC) - マージ日時: 2026年03月26日 10:44:06(UTC) -- ラベル: arch-wasm area-Infrastructure-mono +- ラベル: arch-wasm area-Infrastructure-mono #### 概要 WebAssembly (WASM) テスト環境で使用する Chrome for Testing のバージョンを 146.0.7680.80 に更新しました。Linux と Windows の両プラットフォーム向けのバージョン仕様が更新されています。 @@ -658,7 +658,7 @@ WebAssembly (WASM) テスト環境で使用する Chrome for Testing のバー - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年03月14日 13:55:51(UTC) - マージ日時: 2026年03月26日 18:02:47(UTC) -- ラベル: area-Host community-contribution os-openbsd +- ラベル: area-Host community-contribution os-openbsd #### 概要 OpenBSD向けのネイティブビルドサポートを追加するパッチです。`get_current_os_rid_platform`フォールバックコードを実装し、OpenBSDでのクロスコンパイルビルド(`./build.sh host.native --cross --os openbsd --arch x64`)を成功させます。将来的には[#125076](https://github.com/dotnet/runtime/pull/125076)のランディング後に削除予定のコードです。 @@ -682,7 +682,7 @@ OpenBSD向けのネイティブビルドサポートを追加するパッチで - 作成者: [@apoorvdarshan](https://github.com/apoorvdarshan) - 作成日時: 2026年02月17日 07:09:32(UTC) - マージ日時: 2026年03月26日 03:41:05(UTC) -- ラベル: area-System.Threading community-contribution +- ラベル: area-System.Threading community-contribution #### 概要 `TokenBucketRateLimiter.AttemptAcquire(0)` が小数トークン(例:0.5)を保持している際に誤って成功していた問題を修正。3つの可用性チェックを `> 0` / `!= 0` から `>= 1` に変更し、`GetStatistics().CurrentAvailablePermits`(`long`に切り詰め)との一貫性を確保。 diff --git a/archives/2026/03/27.md b/archives/2026/03/27.md index 08d3c0c..b9fd504 100644 --- a/archives/2026/03/27.md +++ b/archives/2026/03/27.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#126215 \[Wasm RyuJit\] Track stackifier temps by actual jit type](#126215) 2. [#126208 \[cDAC\] fix ARM32 thumb bit bug in ExecutionManager](#126208) 3. [#126191 Require RemoteExecutorSupported on color env test](#126191) @@ -32,7 +32,7 @@ - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年03月27日 18:13:50(UTC) - マージ日時: 2026年03月27日 23:20:25(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 WebAssembly JIT Stackifierの一時ローカル変数再利用機構を、粗い`WasmValueType`ではなく実際のJIT型(`genActualType`経由)でトラッキングするよう改善。これにより、GC追跡型(`TYP_REF`/`TYP_BYREF`)と非GC型を区別して一時変数を再利用できるようになります。 @@ -55,7 +55,7 @@ WebAssembly JIT Stackifierの一時ローカル変数再利用機構を、粗い - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年03月27日 16:14:41(UTC) - マージ日時: 2026年03月27日 16:35:17(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 ARM32環境におけるThumbビット処理のバグを修正しました。cDACのExecutionManagerにおいて、メソッドRVA計算前にコードポインタを実アドレスに正規化することで、EH(例外処理)句のルックアップを正しく動作させます。 @@ -76,7 +76,7 @@ ARM32アーキテクチャで、Thumbビット(コード実行モード指示 - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年03月27日 09:38:52(UTC) - マージ日時: 2026年03月27日 16:10:52(UTC) -- ラベル: area-Extensions-Logging community-contribution +- ラベル: area-Extensions-Logging community-contribution #### 概要 NativeAOT環境でRemoteExecutorがサポートされていないため、色環境変数に関連するテストが失敗していた問題を修正しました。`DoesConsoleSupportAnsi_RespectsColorEnvVars`テストに`RemoteExecutorSupported`属性を追加し、RemoteExecutorが利用可能なプラットフォームでのみテストが実行されるようにしました。 @@ -98,7 +98,7 @@ NativeAOT環境でRemoteExecutorがサポートされていないため、色環 - 作成者: [@adamsitnik](https://github.com/adamsitnik) - 作成日時: 2026年03月27日 08:27:03(UTC) - マージ日時: 2026年03月27日 12:49:36(UTC) -- ラベル: test-enhancement area-System.Formats.Nrbf +- ラベル: test-enhancement area-System.Formats.Nrbf #### 概要 `System.Formats.Nrbf.Tests.EdgeCaseTests.CanReadArrayOfAnySize`テストの不安定性を改善するため、前回の修正(#126006)を補完するPRです。Array.MaxLength(~2GB)テストケースがRELEASEビルドされたライブラリでのみ実行されるようにすることで、タイムアウトおよびflakiness問題を根本的に解決します。 @@ -121,7 +121,7 @@ NativeAOT環境でRemoteExecutorがサポートされていないため、色環 - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年03月26日 16:27:33(UTC) - マージ日時: 2026年03月27日 16:45:26(UTC) -- ラベル: community-contribution area-NativeAOT-coreclr +- ラベル: community-contribution area-NativeAOT-coreclr #### 概要 LLVM libunwind を 22.1.1 にアップデートします。このPRは3つのコミットで構成され、最初のコミットで libunwind ソースを更新、2番目で過去のパッチを cherry-pick、3番目でバージョンファイルを更新します。**squash せずにマージすることが重要です(コミット参照を保持するため)**。 @@ -151,7 +151,7 @@ LLVM libunwind を 22.1.1 にアップデートします。このPRは3つのコ - 作成者: [@jtschuster](https://github.com/jtschuster) - 作成日時: 2026年03月25日 23:03:30(UTC) - マージ日時: 2026年03月27日 22:08:45(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 NativeAOT/ReadyToRun コンパイル時に、メソッドの再コンパイル(クロスモジュールインライニングなど)によって同一ターゲットメソッドに対する重複した `AsyncResumptionStub` インスタンスが作成される問題を修正します。これにより依存グラフのソート時に `TypeSystemComparer.Compare()` の `Debug.Assert` が発火していました。`CompilerTypeSystemContext` に `AsyncResumptionStubHashtable` を追加し、`(targetMethod, owningType)` をキーとしてスタブをインターン化することで、重複作成を防止します。 @@ -176,7 +176,7 @@ NativeAOT/ReadyToRun コンパイル時に、メソッドの再コンパイル - 作成者: [@dependabot[bot]](https://github.com/apps/dependabot) - 作成日時: 2026年03月25日 21:24:10(UTC) - マージ日時: 2026年03月27日 18:34:45(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 github/gh-aw-actionsの依存関係をバージョン f00748eed7ad5332d58709e92e1946cd1c8d3f8f に更新する変更です。これはDependabotによる自動更新で、依存パッケージの最新バージョンに対応させるものです。 @@ -198,7 +198,7 @@ github/gh-aw-actionsの依存関係をバージョン f00748eed7ad5332d58709e92e - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月25日 19:16:59(UTC) - マージ日時: 2026年03月27日 22:15:54(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 PR #119863でCoreCLR例外処理(EH)の第2パス処理がネイティブコードに移行された際に、不要となった`LastReportedFuncletInfo`構体の定義が残されていたため、これを削除するクリーンアップです。削除対象の構体はコード内に全く参照されていない完全な孤立した定義です。 @@ -220,7 +220,7 @@ PR #119863でCoreCLR例外処理(EH)の第2パス処理がネイティブコー - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年03月25日 17:50:33(UTC) - マージ日時: 2026年03月27日 21:35:09(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly (Wasm RyuJit) コンパイラで `GT_INDEX_ADDR` ノードから直接bounds checksを発行できるようにする機能追加です。特にminoptsでは `GT_INDEX_ADDR` が明示的な `GT_BOUNDS_CHECK` ツリーに展開されないため、この対応により配列要素アクセス時の境界チェック生成が改善されます。 @@ -244,7 +244,7 @@ JIT(Just-In-Time)コンパイラのWasm対応部分が主な変更対象で - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年03月25日 16:25:34(UTC) - マージ日時: 2026年03月27日 15:19:48(UTC) -- ラベル: arch-wasm area-System.Runtime.InteropServices.JavaScript os-browser +- ラベル: arch-wasm area-System.Runtime.InteropServices.JavaScript os-browser #### 概要 Browser/CoreCLR JS ホストサーフェスをクリーンアップするPRです。文字列/UTF-8ヘルパー関数を`BrowserUtilsExports`に統合し、相互運用呼び出しサイトを更新しています。主な変更点は、`utf8ToStringRelaxed`と`viewOrCopy`をクロスモジュール交換に移行、`ReceiverShouldFree`の処理を追加、WASM初期化失敗時のエラーハンドリングを改善、SharedArrayBuffer使用時のバッファコピーに対応しています。 @@ -276,7 +276,7 @@ Browser/CoreCLR JS ホストサーフェスをクリーンアップするPRで - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月25日 16:00:28(UTC) - マージ日時: 2026年03月27日 12:16:53(UTC) -- ラベル: area-System.Diagnostics.Process test-enhancement os-android +- ラベル: area-System.Diagnostics.Process test-enhancement os-android #### 概要 `System.Diagnostics.Process`のAndroidプラットフォーム向けテストスイートを実装しました。モバイルプラットフォームでは`RemoteExecutor`がサポートされていないため、これまでテストカバレッジがゼロでした。本PRでは`ls`と`sleep`コマンドを使用したAndroid固有の5つのテストを追加し、基本的なプロセス操作(起動、標準出力リダイレクト、プロセス終了、終了コード、ハンドルベースのIO)をカバーしています。 @@ -305,7 +305,7 @@ Browser/CoreCLR JS ホストサーフェスをクリーンアップするPRで - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月25日 15:45:20(UTC) - マージ日時: 2026年03月27日 20:34:54(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 `CoseMessage.DecodeSign1`がCBORヘッダーラベルまたは重要なヘッダー値に`Int32`をオーバーフローするような大きな整数が含まれている場合、`CryptographicException`の代わりに生の`OverflowException`をスローしていた問題を修正します。新しい拡張メソッド`ReadInt32ForCrypto`を導入し、`OverflowException`を適切に`CryptographicException`でラップします。 @@ -338,7 +338,7 @@ CoseMessage.DecodeSign1(malformedData); // throws CryptographicException (inner: - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月25日 04:57:05(UTC) - マージ日時: 2026年03月27日 17:23:38(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 CoreCLR COM相互運用性(IDispatch)のサポートをリファクタリングし、IDispatch関連のマネージドヘルパーメソッドを`StubHelpers`から専用の`System.Runtime.InteropServices.IDispatchHelpers`クラスに移動します。これに伴い、`MethodDescCallSite`を`UnmanagedCallersOnly`(UCO)に変換し、VM呼び出しサイトを更新して新しいエントリポイントを使用するようにします。 @@ -368,7 +368,7 @@ dispatchinfo.cpp内のコード削減(約285行削除)により、バイナ - 作成者: [@danmoseley](https://github.com/danmoseley) - 作成日時: 2026年03月24日 04:50:22(UTC) - マージ日時: 2026年03月27日 04:41:00(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 Helix Linux コンテナでテストプロセスが終了コード137(SIGKILL/OOM)で終了する際、`dmesg`が`CAP_SYSLOG`権限不足で失敗するため、特別な権限を必要としない`/sys/fs/cgroup/memory.events`(cgroup v2)から OOM 情報を取得するフォールバックを追加します。プロセス固有の cgroup パスは `/proc/self/cgroup` から導出され、ルート cgroup へのフォールバックも試行します。 @@ -394,7 +394,7 @@ Helix Linux コンテナでテストプロセスが終了コード137(SIGKILL/ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月24日 02:12:51(UTC) - マージ日時: 2026年03月27日 04:36:14(UTC) -- ラベル: test-enhancement area-System.Formats.Nrbf +- ラベル: test-enhancement area-System.Formats.Nrbf #### 概要 `System.Formats.Nrbf.Tests.EdgeCaseTests.CanReadArrayOfAnySize`テストがChecked CoreCLRで14分以上タイムアウトする問題を修正しました。2GB配列テストケースを対象に、Checked/Debug RuntimeおよびNon-64bitプロセスでのみスキップするランタイムチェックを追加しています。小規模なテストケース(100、64,001、127,000要素)は全プラットフォームで実行継続されます。 @@ -436,7 +436,7 @@ public void CanReadArrayOfAnySize(int length) - 作成者: [@krwq](https://github.com/krwq) - 作成日時: 2026年03月23日 13:15:31(UTC) - マージ日時: 2026年03月27日 14:31:43(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 `CngProperty`コンストラクタに`ReadOnlySpan`オーバーロードを追加しました。これにより、バイト配列をコピーせずに安全にプロパティ値を設定でき、メモリ効率と利便性が向上します。 @@ -460,7 +460,7 @@ public void CanReadArrayOfAnySize(int length) - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年03月23日 09:02:11(UTC) - マージ日時: 2026年03月27日 11:34:50(UTC) -- ラベル: area-Infrastructure-mono +- ラベル: area-Infrastructure-mono #### 概要 dotnet/runtime#125771で無効化されたiOS/tvOS CI ジョブを再度有効化するリバート PR です。ランタイム パイプラインマトリックスにおいて、`ios_arm64` と `tvos_arm64` プラットフォームの CI ジョブを復活させます。 @@ -482,7 +482,7 @@ dotnet/runtime#125771で無効化されたiOS/tvOS CI ジョブを再度有効 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月22日 03:46:19(UTC) - マージ日時: 2026年03月27日 21:49:27(UTC) -- ラベル: area-System.Diagnostics.Tracing +- ラベル: area-System.Diagnostics.Tracing #### 概要 `BasicEventSourceTests` の ETW テストが CI ストレス環境(PGO、jitstress)で断続的に `NullReferenceException` で失敗する問題を修正。原因は `EtwListener.ApplyEventSourceCommand` が文字列ベースの `EnableProvider` を使用していたため、Windows API の `TdhEnumerateProviders` が負荷下で一時的に失敗し、null プロバイダー辞書を返していた。修正として、GUID ベースの `EnableProvider` オーバーロードに切り替え、プロバイダー GUID をアルゴリズム的に計算することで Windows API 呼び出しを排除。 @@ -512,7 +512,7 @@ Windows API 呼び出し(`TdhEnumerateProviders`)を排除し、GUID をア - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2026年03月20日 14:50:54(UTC) - マージ日時: 2026年03月27日 19:26:06(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 RFC 9881の公開に伴い、ML-DSA X.509 PKI関連のAPIを安定化させるため、`ExperimentalAttribute`を削除するPRです。`PublicKey`、`X509Certificate2`、`X509CertificateKeyAccessors`のML-DSA関連メンバー、およびML-DSA SPKI/PKCS#8インポート/エクスポートAPIから実験的属性を削除します。なお、External-MuおよびSignPreHashメンバーは引き続き実験的状態です。 @@ -539,7 +539,7 @@ RFC 9881の公開に伴い、ML-DSA X.509 PKI関連のAPIを安定化させる - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年03月19日 20:44:11(UTC) - マージ日時: 2026年03月27日 03:26:49(UTC) -- ラベル: area-System.Numerics +- ラベル: area-System.Numerics #### 概要 `System.Numerics.BigInteger`の内部実装を`uint`リムから`nuint`(ネイティブ幅)リムへ書き直しました。64ビットプラットフォームではリム数が半減し、マルチリム算術のスループットが向上します。公開APIは変更されていません。 @@ -593,7 +593,7 @@ RFC 9881の公開に伴い、ML-DSA X.509 PKI関連のAPIを安定化させる - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月17日 20:21:57(UTC) - マージ日時: 2026年03月27日 15:21:25(UTC) -- ラベル: area-Microsoft.Win32 +- ラベル: area-Microsoft.Win32 #### 概要 `SignalsUserPreferenceEventsAsynchronously`テストがJITストレス環境で不安定だった問題を修正します。OSから予期しない`WM_SETTINGCHANGE`メッセージ(`wParam=0`、カテゴリ`General`)がハンドラー登録とテストメッセージ処理の間に送信される競合状態が原因でした。非同期パスではメッセージ反映までにラグがあるため、JITストレスによる遅延がこの競合ウィンドウを拡大します。 @@ -633,7 +633,7 @@ UserPreferenceChangingEventHandler changingHandler = (o, e) => - 作成者: [@eiriktsarpalis](https://github.com/eiriktsarpalis) - 作成日時: 2026年03月16日 12:20:24(UTC) - マージ日時: 2026年03月27日 17:55:23(UTC) -- ラベル: area-System.Text.Json +- ラベル: area-System.Text.Json #### 概要 System.Text.JsonでF#の判別共用体(discriminated unions)のシリアライゼーション/デシリアライゼーション機能が実装されました。フィールドなしの共用体は JSON文字列として、フィールド付きはJSON オブジェクト(`$type`型判別子付き)としてシリアライズされます。 @@ -672,7 +672,7 @@ let json = JsonSerializer.Serialize(Circle 3.14) - 作成者: [@adamperlin](https://github.com/adamperlin) - 作成日時: 2026年03月12日 00:08:36(UTC) - マージ日時: 2026年03月27日 15:17:12(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 WasmObjectWriter に WebCIL エンベロープサポートを実装しました。RyuJIT Wasm AOT コンパイラが WebAssembly バイナリ内に PE/CLI ヘッダーとデバッグディレクトリデータを配置できるようになります。 @@ -711,7 +711,7 @@ WebCIL ペイロードは、WebCIL 仕様に従って 2 つの Wasm データセ - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年03月02日 23:23:43(UTC) - マージ日時: 2026年03月27日 08:51:31(UTC) -- ラベル: arch-wasm area-VM-coreclr linkable-framework size-reduction os-browser +- ラベル: arch-wasm area-VM-coreclr linkable-framework size-reduction os-browser #### 概要 Browser WASM向けのCoreCLRランタイムビルドをトリミングするため、非Windows環境でCOM相互運用、SEH例外、Windows固有のコードパスを条件付きコンパイルで除外します。また、ComActivatorの逆P/Invokeサンク生成をスキップし、WASM PInvokeCollectorにBrowser非サポート型のコールバック処理をスキップさせる機能を追加します。 @@ -754,7 +754,7 @@ Browser WASMビルドサイズの削減(COM/SEH関連の未使用コードが - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月17日 01:58:41(UTC) - マージ日時: 2026年03月27日 04:29:20(UTC) -- ラベル: area-System.Console +- ラベル: area-System.Console #### 概要 `FORCE_COLOR`環境変数(force-color.orgで定義されるスタンダード)のサポートを追加し、標準出力がリダイレクトされていても強制的にANSIカラー出力を有効にします。これにより`dotnet watch`などでリダイレクトされた子プロセスにおいても色付き出力が保持されます。`DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION`は従来の動作を保つレガシーエイリアスとなり、優先順位は①`FORCE_COLOR`/`DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION`(任意の非空値で色ON) → ②`NO_COLOR`(任意の非空値で色OFF) → ③リダイレクト検査となります。また`NO_COLOR=""`は仕様に基づき無視されるようになります。 @@ -779,7 +779,7 @@ Browser WASMビルドサイズの削減(COM/SEH関連の未使用コードが - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年02月08日 03:04:03(UTC) - マージ日時: 2026年03月27日 13:21:05(UTC) -- ラベル: area-System.Runtime +- ラベル: area-System.Runtime #### 概要 IEEE 754形式の16進浮動小数点数のパース・フォーマット機能を`double`、`float`、`Half`、`BFloat16`に追加しました。新しい`NumberStyles.HexFloat`複合スタイルと`"x"`/`"X"`フォーマット指定子により、16進浮動小数点数の入出力が可能になります。 @@ -817,7 +817,7 @@ string hex = d.ToString("x"); // "0x1.8p+3" - 作成者: [@a74nh](https://github.com/a74nh) - 作成日時: 2026年02月06日 10:45:15(UTC) - マージ日時: 2026年03月27日 17:37:59(UTC) -- ラベル: area-System.Runtime.Intrinsics community-contribution +- ラベル: area-System.Runtime.Intrinsics community-contribution #### 概要 SVE(Scalable Vector Extension)の`CreateWhile` APIを拡張し、既存の符号なし型対応APIを明確に名前付けし直すとともに、符号付き型およびDouble/Single型に対応する新しいバリアント関数を追加しました。 diff --git a/archives/2026/03/28.md b/archives/2026/03/28.md index 533b026..5d905fd 100644 --- a/archives/2026/03/28.md +++ b/archives/2026/03/28.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#126254 \[Wasm RyuJIT\] Fix build break](#126254) 2. [#126243 Fix RedirectedOutputDoesNotUseAnsiSequences test failure](#126243) 3. [#126242 Escape U+2028/U+2029 in regex source generator XML doc comments](#126242) @@ -23,7 +23,7 @@ - 作成者: [@kg](https://github.com/kg) - 作成日時: 2026年03月28日 13:30:32(UTC) - マージ日時: 2026年03月28日 13:43:08(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WASM JIT Loweringパスのデバッグビルド破損を修正するPRです。`SetMultiplyUsed`呼び出しで、デバッグ構成において必須の"reason"引数を渡すようにしました。マージ時の競合により、チェックを通り抜けてしまった変更を修正します。 @@ -44,7 +44,7 @@ WASM JIT Loweringパスのデバッグビルド破損を修正するPRです。` - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月28日 05:51:30(UTC) - マージ日時: 2026年03月28日 15:29:33(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 `RedirectedOutputDoesNotUseAnsiSequences` テストの失敗を修正しました。xunitのバックグラウンド診断レポーター スレッドが、テスト実行中にリダイレクトされた `Console.Out` に対してテスト名を書き込み、キャプチャされた出力を汚染していたことが原因です。テスト本体を `RemoteExecutor.Invoke()` でラップして、xunitレポーター スレッドが干渉しない独立した子プロセスで実行するように修正しました。 @@ -68,7 +68,7 @@ WASM JIT Loweringパスのデバッグビルド破損を修正するPRです。` - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年03月28日 03:56:08(UTC) - マージ日時: 2026年03月28日 10:39:02(UTC) -- ラベル: area-System.Text.RegularExpressions +- ラベル: area-System.Text.RegularExpressions #### 概要 正規表現ソースジェネレータがXML doc コメント内でU+2028(行区切り文字)とU+2029(段落区切り文字)をリテラルで出力する際に、C#のコンパイラがコメント内の行終了と解釈してXML解析エラー(`CS1519`/`CS1056`)を引き起こす問題を修正しました。これらの文字をエスケープシーケンス(`\u2028`/`\u2029`)として出力することで問題を解決します。 @@ -90,7 +90,7 @@ WASM JIT Loweringパスのデバッグビルド破損を修正するPRです。` - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年03月28日 01:05:50(UTC) - マージ日時: 2026年03月28日 13:59:23(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 WebAssembly RyuJit構成における`TARGET_64BIT`マクロの誤った使用を修正しています。WASM環境では`TARGET_64BIT`がfalseですが、longが分解されない場合がある点に対応するため、`#ifndef TARGET_64BIT`を`#if LOWER_DECOMPOSE_LONGS`に置き換え、実際にlong分解を行うターゲット(x86/arm32など)でのみアサーション検証を実施するようにしました。 @@ -111,7 +111,7 @@ WebAssembly RyuJit構成における`TARGET_64BIT`マクロの誤った使用を - 作成者: [@dependabot[bot]](https://github.com/apps/dependabot) - 作成日時: 2026年03月27日 21:23:44(UTC) - マージ日時: 2026年03月28日 01:44:56(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 GitHub Actions の依存関係 `github/gh-aw-actions` を v0.63.1 から v0.64.2 にアップデートします。このアップデートには、sync-actions ワークフローでタグをプッシュした後に GitHub リリースを作成する機能が含まれています。 @@ -135,7 +135,7 @@ GitHub Actions の依存関係 `github/gh-aw-actions` を v0.63.1 から v0.64.2 - 作成者: [@danmoseley](https://github.com/danmoseley) - 作成日時: 2026年03月27日 19:22:48(UTC) - マージ日時: 2026年03月28日 01:42:21(UTC) -- ラベル: area-System.Text.RegularExpressions +- ラベル: area-System.Text.RegularExpressions #### 概要 #124628で導入された`RegexInterpreter.MatchString`の簡略化(char-by-charループを`StartsWith`/`EndsWith`に置換)をrevertします。この変更により、arm64環境で短い文字列を対象とした正規表現パターン(例:`.{0,2}(Tom|Sawyer|Huckleberry|Finn)`)で7-11%のパフォーマンス低下が発生したため、元の実装に戻します。 @@ -163,7 +163,7 @@ GitHub Actions の依存関係 `github/gh-aw-actions` を v0.63.1 から v0.64.2 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月27日 18:31:19(UTC) - マージ日時: 2026年03月28日 01:54:33(UTC) -- ラベル: area-System.Numerics +- ラベル: area-System.Numerics #### 概要 32ビットプラットフォームでの`FastReducer_AssertFailure_RegressionTest`のテスト失敗に対するワークアラウンドです。`[ActiveIssue]`属性を追加して、32ビットプロセスで実行する際にこのテストをスキップします。 @@ -195,7 +195,7 @@ public static void FastReducer_AssertFailure_RegressionTest(...) - 作成者: [@kg](https://github.com/kg) - 作成日時: 2026年03月27日 16:19:58(UTC) - マージ日時: 2026年03月28日 17:39:00(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly(Wasm)RyuJIT上でのint/longからfloat/doubleへのキャスト処理の基本的な実装を追加します。オーバーフロー確認が不要な場合に対応し、Wasm命令セット(`f32/f64.convert_{s/u}_{i32/i64}`)を活用した効率的なコード生成を実現します。 @@ -220,7 +220,7 @@ WebAssembly(Wasm)RyuJIT上でのint/longからfloat/doubleへのキャスト - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月27日 13:51:59(UTC) - マージ日時: 2026年03月28日 12:40:12(UTC) -- ラベル: area-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 Unix プロセス起動時の `argv` と `envp` の構築に関わる中間的なマネージド割り当てを削除し、単一の連続したネイティブメモリブロックに直接エンコードするように最適化したものです。`ProcessStartInfo.Environment` 辞書を直接渡し、文字列連結や中間配列の割り当てを排除することで、メモリ効率を向上させます。 @@ -251,7 +251,7 @@ Unix プロセス起動時の `argv` と `envp` の構築に関わる中間的 - 作成者: [@AaronRobinsonMSFT](https://github.com/AaronRobinsonMSFT) - 作成日時: 2026年03月26日 01:00:53(UTC) - マージ日時: 2026年03月28日 02:08:27(UTC) -- ラベル: area-Interop-coreclr +- ラベル: area-Interop-coreclr #### 概要 COM ライセンス認証の実装をリファクタリングするプルリクエストです。以前の部分的なリバートをリバートし、CoreCLR と管理側のライセンス相互運用グルーを `[UnmanagedCallersOnly]` 呼び出しパターンと BSTR マーシャリングを使用するように改善します。また、ネイティブテストの所有権バグを修正し、不要なシグネチャを削除します。 @@ -279,7 +279,7 @@ COM ライセンス認証の実装をリファクタリングするプルリク - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月24日 23:42:33(UTC) - マージ日時: 2026年03月28日 09:59:02(UTC) -- ラベル: area-System.Diagnostics.Process tenet-performance +- ラベル: area-System.Diagnostics.Process tenet-performance #### 概要 macOS上でプロセス生成時に`fork`/`exec`の代わりに`posix_spawn`を使用するよう変更しました。これにより、認証情報の設定が不要な場合のパフォーマンスと安全性が向上します。`posix_spawn`は認証情報設定に未対応のため、`setCredentials`がtrueの場合は既存の`fork`/`exec`パスにフォールバックします。 @@ -311,7 +311,7 @@ macOS上でプロセス生成時に`fork`/`exec`の代わりに`posix_spawn`を - 作成者: [@AaronRobinsonMSFT](https://github.com/AaronRobinsonMSFT) - 作成日時: 2026年03月24日 23:03:01(UTC) - マージ日時: 2026年03月28日 23:46:37(UTC) -- ラベル: area-ExceptionHandling-coreclr +- ラベル: area-ExceptionHandling-coreclr #### 概要 `clrex.cpp`における例外構築パスを`MethodDescCallSite`/`CallDescrWorker`から`UnmanagedCallersOnlyCaller`パターンへ移行するもの。`ArgumentException`、`TypeLoadException`、`FileLoadException`の3つの例外についてVM-to-managed間の呼び出しをReverse P/Invokeパターンに統一し、コール機構の現代化を図る。 @@ -337,7 +337,7 @@ macOS上でプロセス生成時に`fork`/`exec`の代わりに`posix_spawn`を - 作成者: [@danmoseley](https://github.com/danmoseley) - 作成日時: 2026年03月24日 02:33:55(UTC) - マージ日時: 2026年03月28日 05:16:24(UTC) -- ラベル: area-System.Text.RegularExpressions +- ラベル: area-System.Text.RegularExpressions #### 概要 x86 checked coreclr上で`System.Text.RegularExpressions.Tests`の4つのテストが`OutOfMemoryException`で失敗する問題を修正します。SourceGenerated正規表現エンジンはテスト時にRoslyn全体コンパイルを実行し、大量のパターン(最大~2,903パターン)が32ビットアドレス空間(~2GB)を枯渇させます。本変更により、32ビットプロセスではRoslyn呼び出しごとに最大200パターンに制限し、メモリ使用量を削減します。 @@ -359,7 +359,7 @@ x86 checked coreclr上で`System.Text.RegularExpressions.Tests`の4つのテス - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月22日 04:32:15(UTC) - マージ日時: 2026年03月28日 04:59:45(UTC) -- ラベル: area-System.IO +- ラベル: area-System.IO #### 概要 NTFS マウントポイント操作の伝播に必要な時間を考慮していない固定遅延(300ms)が原因で、`Directory_Delete_MountVolume` および `Directory_ReparsePoints_MountVolume` テストが高負荷CI環境で不安定になっていた問題を修正。固定遅延をポーリングループに置き換え、マウントボリュームの削除完了を確実に待機するようにしました。 @@ -390,7 +390,7 @@ NTFS マウントポイント操作の伝播に必要な時間を考慮してい - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年03月20日 21:37:05(UTC) - マージ日時: 2026年03月28日 01:48:22(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Common Data Access Component)ダンプテストに対してR2R(Ready-To-Run)コンパイル検証機能を追加するPRです。ダンプテストがR2Rコンパイル版とJIT版(`DOTNET_ReadyToRun=0`で強制)の両構成でテストされるようになります。テスト構成はExecutionManagerおよびStackWalkダンプについてR2R vs JITの検証をカバーしています。 @@ -419,7 +419,7 @@ cDAC(Common Data Access Component)ダンプテストに対してR2R(Ready- - 作成者: [@kg](https://github.com/kg) - 作成日時: 2026年03月19日 11:58:10(UTC) - マージ日時: 2026年03月28日 12:41:03(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly RyuJIT のブロックストア(`GT_STORE_BLK`)のローリング/コード生成に関する問題を修正します。Issue #125756 で報告されたクロスジェン/デバッグビルド時のアサート失敗に対応するため、`memory.copy`/`memory.fill` オペコードの operand 表現と containment 処理を改善します。 @@ -442,7 +442,7 @@ WebAssembly RyuJIT のブロックストア(`GT_STORE_BLK`)のローリン - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月10日 20:57:47(UTC) - マージ日時: 2026年03月28日 17:46:01(UTC) -- ラベル: area-Infrastructure-libraries linkable-framework +- ラベル: area-Infrastructure-libraries linkable-framework #### 概要 runtime-asyncをnet11.0以上の共有フレームワークソースプロジェクトで自動有効化し、設定用のRuntimeAsyncconfig knobを削除する変更です。プラットフォーム除外(browser、wasi、android、Apple mobile、Mono)とOOBパッケージの除外条件を設定し、RISC-VとLoongArchのリロケーションハンドリングを修正します。 @@ -471,7 +471,7 @@ runtime-asyncをnet11.0以上の共有フレームワークソースプロジェ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月24日 14:30:59(UTC) - マージ日時: 2026年03月28日 14:13:48(UTC) -- ラベル: area-CodeGen-coreclr reduce-unsafe +- ラベル: area-CodeGen-coreclr reduce-unsafe #### 概要 `XslNumber.cs`の`ConvertToDecimal`メソッドをアンセーフコードからセーフコードに書き直しました。`stackalloc`とポインタ演算を使用した`unsafe`ブロックを、`string.Create`と境界チェック対応の`for`ループに置き換えています。これにより、中間バッファのコピーを削減し、コード安全性を向上させます。 diff --git a/archives/2026/03/29.md b/archives/2026/03/29.md index e6ab6d1..3cb8a44 100644 --- a/archives/2026/03/29.md +++ b/archives/2026/03/29.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#126267 Disable CrlBuilderTests.DsaNotDirectlySupported on Android](#126267) 2. [#126256 \[Wasm RyuJit\] more INDEX_ADDR codegen fixes](#126256) 3. [#126240 Skip Unicode 17.0 named block tests on .NET Framework](#126240) @@ -10,7 +10,7 @@ - 作成者: [@steveisok](https://github.com/steveisok) - 作成日時: 2026年03月28日 23:19:55(UTC) - マージ日時: 2026年03月29日 13:28:00(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 Android環境でのCRL署名検証テストの不安定性に対処するため、`CrlBuilderTests.DsaNotDirectlySupported`テストをAndroidプラットフォームで無効化しました。AndroidのHelix deviceプールに含まれるデバイスのBoringSSLバージョン差異とDSA署名の非決定性により、月間約25%の失敗率が発生していたため、`[ActiveIssue]`属性を追加してテストをスキップするように修正しています。 @@ -33,7 +33,7 @@ Android環境でのCRL署名検証テストの不安定性に対処するため - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年03月28日 14:34:42(UTC) - マージ日時: 2026年03月29日 14:34:45(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 WebAssembly向けのRyuJIT JITコンパイラにおいて、INDEX_ADDR命令のコード生成を改善し、小さい型のインデックス処理を適切に扱うようにしました。 @@ -57,7 +57,7 @@ WebAssembly向けのRyuJIT JITコンパイラにおいて、INDEX_ADDR命令の - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年03月28日 01:28:00(UTC) - マージ日時: 2026年03月29日 11:37:07(UTC) -- ラベル: area-System.Text.RegularExpressions +- ラベル: area-System.Text.RegularExpressions #### 概要 Unicode 17.0アップデート後に追加された58個の新しい名前付きブロックのテストケースが、Unicode 4.0のブロックのみをサポートする.NET Frameworkで失敗していた問題を修正します。新しいブロックテストを`!PlatformDetection.IsNetFramework`ガードで条件付き実行して、.NET Frameworkでの116個のouterloopテスト失敗を解決します。 @@ -81,7 +81,7 @@ Unicode 17.0アップデート後に追加された58個の新しい名前付き - 作成者: [@AaronRobinsonMSFT](https://github.com/AaronRobinsonMSFT) - 作成日時: 2026年03月28日 00:07:55(UTC) - マージ日時: 2026年03月29日 06:08:21(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 Apple Clang 21(Xcode最新版)でのビルド失敗に対応するパッチです。主な変更は、新しいClangの厳格な型チェック(特に`-Wc++-keyword`警告と暗黙的な`void*`変換)に対応するため、ネイティブライブラリ群に明示的なキャストを追加しています。ICUヘッダーの警告も抑制しています。 @@ -119,7 +119,7 @@ Apple Clang 21(Xcode最新版)でのビルド失敗に対応するパッチ - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年03月27日 22:15:27(UTC) - マージ日時: 2026年03月29日 14:11:44(UTC) -- ラベル: area-System.Text.RegularExpressions +- ラベル: area-System.Text.RegularExpressions #### 概要 NonBacktrackingサンプラーの無限ループバグと、ループバックトラッキング最適化における論理エラーを修正して、`PatternsDataSet_GenerateInputsWithNonBacktracking`テストを再有効化します。 diff --git a/archives/2026/03/30.md b/archives/2026/03/30.md index 759cb4b..ab73b13 100644 --- a/archives/2026/03/30.md +++ b/archives/2026/03/30.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#126323 Add area-Diagnostics-cdac label owners](#126323) 2. [#126296 Fix jit format](#126296) 3. [#126282 Remove PSEUDORANDOM_NOP_INSERTION and associated code including GT_PINVOKE_PROLOG, GT_PINVOKE_EPILOG, GT_EMITNOP](#126282) @@ -32,7 +32,7 @@ - 作成者: [@steveisok](https://github.com/steveisok) - 作成日時: 2026年03月30日 16:16:59(UTC) - マージ日時: 2026年03月30日 16:18:17(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 Diagnostics-cdac領域のオーナーを定義するため、`docs/area-owners.md`と`.github/policies/resourceManagement.yml`に`area-Diagnostics-cdac`ラベルを追加しています。オーナーはarea-Diagnostics-coreclrと同じく@steveisok、@tommcdon、@dotnet/dotnet-diagです。 @@ -54,7 +54,7 @@ Diagnostics-cdac領域のオーナーを定義するため、`docs/area-owners.m - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年03月30日 08:19:09(UTC) - マージ日時: 2026年03月30日 10:55:48(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT形式に関する問題を修正するPull Requestです。PR #126282に関連した問題が発生していたため、それに対応しています。 @@ -75,7 +75,7 @@ JIT形式に関する問題を修正するPull Requestです。PR #126282に関 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月29日 20:18:04(UTC) - マージ日時: 2026年03月30日 01:16:15(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 `PSEUDORANDOM_NOP_INSERTION`(JIT Spraying対策)および関連する不要なコードを削除。部分信頼(Partial Trust)はランタイムに復帰しないため、数年前からコメントアウトされていた`PSEUDORANDOM_NOP_INSERTION`定義とそれに関連する`GT_PINVOKE_PROLOG`、`GT_PINVOKE_EPILOG`、`GT_EMITNOP`のGenTreeノード型を完全に削除。 @@ -103,7 +103,7 @@ JIT形式に関する問題を修正するPull Requestです。PR #126282に関 - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年03月29日 18:04:04(UTC) - マージ日時: 2026年03月30日 01:48:35(UTC) -- ラベル: area-System.Reflection.Metadata reduce-unsafe +- ラベル: area-System.Reflection.Metadata reduce-unsafe #### 概要 System.Reflection.Metadata内の`BlobUtilities.cs`からアンセーフコードと手動展開されたプリミティブ書き込みロジックを削除し、`BinaryPrimitives`/`BitConverter`APIに統一します。ダウンレベルターゲット向けのPolyfillsを追加することで、既存の機能を保ちながらコード安全性を向上させます。 @@ -129,7 +129,7 @@ System.Reflection.Metadata内の`BlobUtilities.cs`からアンセーフコード - 作成者: [@saucecontrol](https://github.com/saucecontrol) - 作成日時: 2026年03月28日 21:43:26(UTC) - マージ日時: 2026年03月30日 13:59:02(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 JITのベースラインがSSE4.2に引き上げられたことに伴い、SSE2エミュレーション実装が到達不可能になったため、SIMD整数比較演算の古いフォールバック実装を削除しました。これにより、コンパイラの複雑性を低減し、保守性を向上させます。 @@ -154,7 +154,7 @@ JITのベースラインがSSE4.2に引き上げられたことに伴い、SSE2 - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年03月27日 20:22:28(UTC) - マージ日時: 2026年03月30日 20:28:49(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 CoreCLR デバッグのスタックウォークにおけるアサーションを削除します。インタロップデバッギングが有効な場合、スタック全体がアンマネージドコード(C++など)で構成されているシナリオでは、アンマネージド「リターンフレーム」(`Frame*` フレーム)が存在しない可能性があるため、このアサーションは不正確でした。 @@ -175,7 +175,7 @@ CoreCLR デバッグのスタックウォークにおけるアサーションを - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年03月27日 19:45:14(UTC) - マージ日時: 2026年03月30日 19:23:51(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITの最適化フェーズ終了後、フローグラフ修正時に到達不可能なブロック(特にEH関連エントリブロック)を削除する新しいパスを追加しました。これにより、後続のクリーンアップフェーズで到達不可能なtry領域をより効率的に処理できるようになります。 @@ -199,7 +199,7 @@ JITの最適化フェーズ終了後、フローグラフ修正時に到達不 - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年03月27日 18:43:47(UTC) - マージ日時: 2026年03月30日 08:02:45(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 Helixテスト実行時に、認証されたアクセスが使用される場合はCreatorパラメータを渡さないようにする修正です。オープンキューのみにCreatorを渡すことで、`Creator is forbidden when using authenticated access`エラーを解決します。 @@ -221,7 +221,7 @@ Helixテスト実行時に、認証されたアクセスが使用される場合 - 作成者: [@sbomer](https://github.com/sbomer) - 作成日時: 2026年03月27日 18:10:04(UTC) - マージ日時: 2026年03月30日 08:03:46(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT の ILC (Intermediate Language Compiler) がandroidでビルド失敗する問題を修正しました。RuntimeFiles と LibrariesRuntimeFiles から発行されるアセットに対して、ファイル拡張子に基づいて正しい AssetType を割り当てるようにしました。従来は全ファイルに `AssetType="runtime"` が設定されており、.pdb、.so、.dbg、.dwarf などの非PE形式ファイルまで管理アセンブリとして扱われ、ILC に `-r:` 参照として渡されることで `BadImageFormatException: Unknown file format` が発生していました。 @@ -244,7 +244,7 @@ NativeAOT の ILC (Intermediate Language Compiler) がandroidでビルド失敗 - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年03月27日 15:39:48(UTC) - マージ日時: 2026年03月30日 22:14:56(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC Helix ダンプテストにおいて、`exit`コマンドによるシェル強制終了を防ぎ、テスト後処理とxUnit結果報告が正常に実行されるよう修正しました。Windows では `%ComSpec% /C exit ` でサブシェルを使用し、Unix では `set_return` パターンで `exit` の代わりに `return` を使用することで、親シェルを保持しながら終了コードを伝播させます。 @@ -268,7 +268,7 @@ cDAC Helix ダンプテストにおいて、`exit`コマンドによるシェル - 作成者: [@larkliy](https://github.com/larkliy) - 作成日時: 2026年03月27日 14:13:20(UTC) - マージ日時: 2026年03月30日 11:09:36(UTC) -- ラベル: community-contribution area-NativeAOT-coreclr +- ラベル: community-contribution area-NativeAOT-coreclr #### 概要 TypeEqualityPatternAnalyzerが、従来の短形式opcodeだけでなく、長形式(ldloc.s/ldarg.s)や他のバリアント(ldloc.0-3/ldarg.0-3など)のldloc/ldargオペコードにも対応するようになりました。これにより、様々な形式の型等値パターンが正しく認識されます。同時にファイルを現代的なC#パターンマッチングに更新しています。 @@ -289,7 +289,7 @@ TypeEqualityPatternAnalyzerが、従来の短形式opcodeだけでなく、長 - 作成者: [@AristidesASm](https://github.com/AristidesASm) - 作成日時: 2026年03月27日 09:58:26(UTC) - マージ日時: 2026年03月30日 03:33:01(UTC) -- ラベル: area-crossgen2-coreclr community-contribution +- ラベル: area-crossgen2-coreclr community-contribution #### 概要 `JsonDocument.Parse()`で作成されたオブジェクトがスコープを抜ける際に破棄されていないハンドルリークを修正しました。文字列値の抽出後にJsonDocumentが不要になるため、`using`ステートメントで適切に破棄するようにしました。 @@ -310,7 +310,7 @@ TypeEqualityPatternAnalyzerが、従来の短形式opcodeだけでなく、長 - 作成者: [@adamsitnik](https://github.com/adamsitnik) - 作成日時: 2026年03月27日 09:47:12(UTC) - マージ日時: 2026年03月30日 12:52:19(UTC) -- ラベル: area-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 `SafeProcessHandle` に `Start` メソッドと `ProcessId` プロパティを導入し、プロセス起動とハンドル管理のロジックを再構成しました。プロセス起動に関するヘルパーメソッドを `Process.[Unix/Win32/Windows].cs` から `ProcessUtils.$platform.cs` に移動し、起動ロジックを `SafeProcessHandle.StartCore` に統合しました。 @@ -340,7 +340,7 @@ TypeEqualityPatternAnalyzerが、従来の短形式opcodeだけでなく、長 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月26日 22:43:17(UTC) - マージ日時: 2026年03月30日 18:25:38(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 crossgen2_comparison.pyスクリプトにおいて、ベース出力に存在するがdiff出力に存在しないアセンブリに対するXML結果生成時に発生していた`KeyError`を修正しました。原因は、`omitted_from_diff_dir`ループで誤って`diff_results_by_name`(該当データが存在しない辞書)を参照していたもので、`base_results_by_name`への参照に修正しました。 @@ -363,7 +363,7 @@ crossgen2_comparison.pyスクリプトにおいて、ベース出力に存在す - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年03月26日 21:46:03(UTC) - マージ日時: 2026年03月30日 06:50:26(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 pri1テストビルドで失敗を引き起こしていた、マージされたランナー配下の重複するプロジェクト名をリネームする変更です。プロジェクト名の一意性を確保することでビルド失敗を解決しています。 @@ -386,7 +386,7 @@ pri1テストビルドで失敗を引き起こしていた、マージされた - 作成者: [@SingleAccretion](https://github.com/SingleAccretion) - 作成日時: 2026年03月26日 21:32:40(UTC) - マージ日時: 2026年03月30日 10:50:32(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 x86アーキテクチャにおいて、隣接する複数のno-GC領域をコアレス(統合)することで、GCInfo サイズを約0.1%削減します。主な利点は、`IGF_EXTEND` IGs(透過的であるべき)による差分の導入を回避し、GCInfo生成の安定性を向上させることです。 @@ -409,7 +409,7 @@ x86アーキテクチャにおいて、隣接する複数のno-GC領域をコア - 作成者: [@rjmurillo](https://github.com/rjmurillo) - 作成日時: 2026年03月26日 04:35:10(UTC) - マージ日時: 2026年03月30日 11:22:20(UTC) -- ラベル: area-Extensions-Caching community-contribution +- ラベル: area-Extensions-Caching community-contribution #### 概要 `MemoryCache` に OpenTelemetry メトリクスサポートを追加します。`TrackStatistics = true` の場合、キャッシュヒット/ミス、エビクション数、エントリ数、推定サイズを観測可能なインストルメントとして公開します。`System.Net.Http` の実装パターンに従い、`IMeterFactory` をサポートし、ファクトリが提供されない場合は `SharedMeter` にフォールバックします。 @@ -462,7 +462,7 @@ x86アーキテクチャにおいて、隣接する複数のno-GC領域をコア - 作成者: [@cincuranet](https://github.com/cincuranet) - 作成日時: 2026年03月25日 12:59:47(UTC) - マージ日時: 2026年03月30日 11:21:43(UTC) -- ラベル: area-Extensions-FileSystem +- ラベル: area-Extensions-FileSystem #### 概要 `Microsoft.Extensions.FileSystemGlobbing`において、ディレクトリトラバーサル時のステム(パス要素)の不正な累積を修正します。構造体フレームのコピー時に`_stemItems`リストの参照が共有されていた問題を、フレームのクローン化により隔離することで解決します。 @@ -485,7 +485,7 @@ x86アーキテクチャにおいて、隣接する複数のno-GC領域をコア - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月23日 23:51:19(UTC) - マージ日時: 2026年03月30日 20:28:31(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 ARM64のJitDisasm出力において、間接呼び出し(`blr`/`br_tail`)命令にメソッド名のアノテーションコメントを追加する変更です。x64では既に`call [addr] ; MethodName`の形式でメソッド名が表示されていますが、ARM64では表示されていませんでした。メソッドハンドルは`idMemCookie`に格納されていたため、`IF_BR_1B`の表示処理で読み込むようにしました。 @@ -518,7 +518,7 @@ ARM64のJitDisasm出力において、間接呼び出し(`blr`/`br_tail`)命 - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年03月23日 17:30:21(UTC) - マージ日時: 2026年03月30日 10:35:48(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 SuperPMI(コンパイラテスト用ツール)の記録・リプレイワークフローの3つの問題を修正します: 1. リプレイ時に保存されたコンパイル結果の再利用を防止(既存結果があると`recAllocMem`など記録関数が動作不正) @@ -546,7 +546,7 @@ Copilotのレビューで1件の低信頼度コメント指摘あり:`methodco - 作成者: [@danmoseley](https://github.com/danmoseley) - 作成日時: 2026年03月21日 06:46:32(UTC) - マージ日時: 2026年03月30日 17:41:38(UTC) -- ラベル: area-System.Collections +- ラベル: area-System.Collections #### 概要 `Dictionary.Remove`メソッドの内部ループを値型キーと参照型キーのパスに分割し、JITのレジスタ割り当て最適化を改善します。`FindValue`や`TryInsert`で既に採用されている最適化パターンを`Remove`に適用することで、値型キーの場合にスタックスピル/リロードを削減します。 @@ -580,7 +580,7 @@ Copilotのレビューで1件の低信頼度コメント指摘あり:`methodco - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年03月20日 22:27:36(UTC) - マージ日時: 2026年03月30日 09:53:36(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 SuperPMI JITホスト設定の解析およびログ出力を修正するプルリクエストです。`DOTNET_JitHashBreak=9b29601d`のような16進数設定値がアサーションエラーを引き起こし、上位ビットが設定された値が受け入れられないという問題に対応しています。 @@ -603,7 +603,7 @@ Copilotのレビューコメントでは、`UINT_MAX`まで許容する際に、 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月20日 21:51:56(UTC) - マージ日時: 2026年03月30日 14:51:07(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 `UnsafeAccessor(UnsafeAccessorKind.Constructor)`がデリゲート型をターゲットとする場合、JIT最適化フェーズで不正なアサーションが発火する問題を修正します。マルチレベルインライニング後に関数ポインタ引数が`GT_FTN_ADDR`ノードに変換される際、`ldftnToken`がnullであっても`targetMethodHnd`が非nullになり得るケースに対応しました。 @@ -638,7 +638,7 @@ Construct(null, (nint)Resolver.Resolve())(); - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月19日 02:01:57(UTC) - マージ日時: 2026年03月30日 07:25:56(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 dotnet/runtime リポジトリの依存関係を自動更新するPull Requestです。dotnet/icu、dotnet/hotreload-utils、dotnet/runtime-assets の3つの外部リポジトリからの最新ビルドに依存関係を更新します。 @@ -666,7 +666,7 @@ dotnet/runtime リポジトリの依存関係を自動更新するPull Request - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月19日 01:35:11(UTC) - マージ日時: 2026年03月30日 22:18:57(UTC) -- ラベル: area-System.IO +- ラベル: area-System.IO #### 概要 memcpy関連API(`Buffer.MemoryCopy`、`Buffer.BlockCopy`、`Unsafe.Copy*`)に渡されるサイズ計算でオーバーフローが静かに発生しないようにするため、checked contextを導入します。サイズ計算時のオーバーフローを検出して例外をスロー(fail fast)することで、メモリ安全性を強化します。 @@ -692,7 +692,7 @@ memcpy関連API(`Buffer.MemoryCopy`、`Buffer.BlockCopy`、`Unsafe.Copy*`) - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月26日 22:09:17(UTC) - マージ日時: 2026年03月30日 15:57:05(UTC) -- ラベル: area-Diagnostics-coreclr area-Diagnostics-cdac +- ラベル: area-Diagnostics-coreclr area-Diagnostics-cdac #### 概要 `ISOSDacInterface13`の3つのメモリ領域列挙API(`GetHandleTableMemoryRegions`、`GetGCBookkeepingMemoryRegions`、`GetGCFreeRegions`)をcDACネイティブに実装しました。これらのAPIは従来はレガシーDACに委譲されるか`E_NOTIMPL`を返していました。`SOSMemoryEnum`実装パターンに従い、ハンドルテーブル、GCブックキープ、フリーリージョンのメモリ領域を効率的に列挙できます。 @@ -723,7 +723,7 @@ memcpy関連API(`Buffer.MemoryCopy`、`Buffer.BlockCopy`、`Unsafe.Copy*`) - 作成者: [@hez2010](https://github.com/hez2010) - 作成日時: 2025年11月26日 12:09:31(UTC) - マージ日時: 2026年03月30日 21:18:46(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 JIT コンパイラのValue Numbering(VN)を活用して、`SequenceEqual`操作の定数折りたたみを最適化します。異なる文字列定数の比較を、実行時の比較処理を省略して直接コンパイル時に計算結果に置き換えることで、コード生成を大幅に削減します。 diff --git a/archives/2026/03/31.md b/archives/2026/03/31.md index dbd8274..2ef1d53 100644 --- a/archives/2026/03/31.md +++ b/archives/2026/03/31.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#126347 Skip Verify_ConstructDelegateFromFunctionPointer on NativeAOT](#126347) 2. [#126329 Various fixes to get `-dynamiccodecompiled false` to build on windows](#126329) 3. [#126328 Fix NativeAOT GC crash: populate volatile arg registers from UniversalTransitionThunk](#126328) @@ -26,7 +26,7 @@ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月31日 05:56:22(UTC) - マージ日時: 2026年03月31日 10:45:29(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT環境で`Verify_ConstructDelegateFromFunctionPointer`テストが`PlatformNotSupportedException`で失敗する問題を修正します。NativeAOTは検証可能なデリゲート構築シーケンスの外でデリゲートコンストラクタを直接呼び出すことをサポートしていないため、`[ActiveIssue]`属性を追加してNativeAOT上でテストをスキップします。 @@ -50,7 +50,7 @@ NativeAOT環境で`Verify_ConstructDelegateFromFunctionPointer`テストが`Plat - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年03月30日 20:16:32(UTC) - マージ日時: 2026年03月31日 06:03:09(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 `-dynamiccodecompiled false` ビルドオプションでWindowsプラットフォーム上のビルドエラーを修正します。このオプションはTIERED_COMPILATION、VIRTUAL_STUB_DISPATCHを無効化し、STATICALLY_LINKEDを有効化する設定です。 @@ -76,7 +76,7 @@ NativeAOT環境で`Verify_ConstructDelegateFromFunctionPointer`テストが`Plat - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月30日 19:22:01(UTC) - マージ日時: 2026年03月31日 18:30:26(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT環境でスレッドが`RhpUniversalTransition`内で割り込まれる際のGCスタックウォーク中のクラッシュを修正します。問題は、スタックフレームイテレータが揮発性引数レジスタ(AMD64のpRcx、pRdx、pR8、pR9など)のセーブ位置を`REGDISPLAY`に設定せず、`NULL`のままにしていたため、GCが生きたレジスタ参照をスキャンする際にヌルポインタ参照エラー(`0xC0000005`)を引き起こしていました。 @@ -100,7 +100,7 @@ NativeAOT環境でスレッドが`RhpUniversalTransition`内で割り込まれ - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年03月30日 19:21:38(UTC) - マージ日時: 2026年03月31日 16:35:24(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 WebAssembly (Wasm) ターゲット向けに、複数のエントリポイントを持つtry領域を処理するためのRyuJIT基盤を整備するPRです。FlowGraphTryRegion記述子をDFSなしで構築可能にし、Wasm EH dispatch ブロックにおけるcatch resumption entryの検出とベイルアウト機能を追加します。現段階では複数エントリtry領域に対して未実装(NYI)として動作します。 @@ -126,7 +126,7 @@ WebAssembly (Wasm) ターゲット向けに、複数のエントリポイント - 作成者: [@kg](https://github.com/kg) - 作成日時: 2026年03月30日 19:02:00(UTC) - マージ日時: 2026年03月31日 22:53:59(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly RyuJIT バックエンドに `genStructReturn` の部分的な実装を追加し、構造体の戻り値処理に対応します。これにより、wasm crossgen実行時のアサート問題(#125756)に対応します。 @@ -153,7 +153,7 @@ WebAssembly RyuJIT バックエンドに `genStructReturn` の部分的な実装 - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年03月30日 15:07:56(UTC) - マージ日時: 2026年03月31日 16:12:31(UTC) -- ラベル: Servicing-approved area-VM-coreclr +- ラベル: Servicing-approved area-VM-coreclr #### 概要 Xcode 16.0へのアップデートに伴いclang 21への対応を行うPR。clang 21で導入された`-Wc++-keyword`の破壊的変更により、C/Swiftソースコードのコンパイルが失敗するため、ネイティブライブラリ群と関連テストを修正するもの。 @@ -182,7 +182,7 @@ Xcode 16.0へのアップデートに伴いclang 21への対応を行うPR。cla - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月30日 13:14:05(UTC) - マージ日時: 2026年03月31日 12:10:34(UTC) -- ラベル: area-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 #126192のマージ後のレビューコメントに対応した改善。`System.Diagnostics.Process`の`ShellExecute`サポートをリファクタリングし、`ShellExecuteHelper.cs`を削除して`SafeProcessHandle.Windows.cs`にインライン化。`ProcessStartInfo.UseShellExecute`を共有ファイルに統合し、トリミング用のフックを追加。`ProcessId`プロパティで`field`キーワードを採用し、無効なハンドルでの検証テストを追加。 @@ -212,7 +212,7 @@ Xcode 16.0へのアップデートに伴いclang 21への対応を行うPR。cla - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年03月30日 07:05:07(UTC) - マージ日時: 2026年03月31日 12:41:52(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 ILC(Intermediate Language Compiler)環境下でのARM32 thumb bitの二重カウント問題を修正します。RyuJITがmovw/movt命令にthumb bitを追加する際、ILCで既に定義されているシンボルのthumb bit(+1)と重複していました。修正により、RyuJITのthumb bit注入をReadyToRunとランタイムJITのみに限定し、ObjectWriterの補正ロジックを簡潔化します。 @@ -234,7 +234,7 @@ ILC(Intermediate Language Compiler)環境下でのARM32 thumb bitの二重 - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年03月29日 19:57:17(UTC) - マージ日時: 2026年03月31日 06:41:53(UTC) -- ラベル: area-Diagnostics-coreclr area-Diagnostics-cdac +- ラベル: area-Diagnostics-coreclr area-Diagnostics-cdac #### 概要 JIT動的書き込みバリア関数などのヘルパー関数に対して、実行時に割り当てられたIPアドレスから人間が読める名前を解決するための新しいcDAC契約(`AuxiliarySymbols`)を追加します。これにより、SOS DAC の `GetJitHelperFunctionName` API がディスアセンブリ時に動的JITヘルパーの人間が読める名前を返すことができるようになります。 @@ -259,7 +259,7 @@ JIT動的書き込みバリア関数などのヘルパー関数に対して、 - 作成者: [@jtschuster](https://github.com/jtschuster) - 作成日時: 2026年03月27日 23:07:03(UTC) - マージ日時: 2026年03月31日 03:50:56(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 テストビルド時に使用される `--tree` 引数をテスト実行スクリプト(`src/tests/run.[sh|cmd]`)に追加し、ビルドと同じ方法でテスト実行を制限できるようにしました。これにより、開発者は特定のディレクトリツリー配下のテストのみを実行でき、ワークフローを統一できます。 @@ -283,7 +283,7 @@ JIT動的書き込みバリア関数などのヘルパー関数に対して、 - 作成者: [@adamperlin](https://github.com/adamperlin) - 作成日時: 2026年03月27日 21:40:57(UTC) - マージ日時: 2026年03月31日 17:46:40(UTC) -- ラベル: arch-wasm area-crossgen2-coreclr +- ラベル: arch-wasm area-crossgen2-coreclr #### 概要 RyuJIT Wasm ReadyToRun(R2R)コンパイラにおいて、WebAssemblyオブジェクトライターで使用される追加の再配置型(`WASM_FUNCTION_INDEX`、`WASM_TABLE_INDEX`、`WASM_MEMORY_ADDR`)をサポートします。これにより、R2R生成時にWasm符号化された即値の正しいパッチアップが可能になります。メモリアドレス再配置は`__image_base`を基準にしたWebcilイメージ内のシンボルオフセットとして機能します。 @@ -308,7 +308,7 @@ RyuJIT Wasm ReadyToRun(R2R)コンパイラにおいて、WebAssemblyオブジェ - 作成者: [@larkliy](https://github.com/larkliy) - 作成日時: 2026年03月27日 13:57:42(UTC) - マージ日時: 2026年03月31日 00:12:12(UTC) -- ラベル: linkable-framework community-contribution area-NativeAOT-coreclr +- ラベル: linkable-framework community-contribution area-NativeAOT-coreclr #### 概要 ArrayValue.ToString()メソッドのコンマ配置ロジックを修正し、要素とネストされた値を正しく分離するようにしました。 @@ -332,7 +332,7 @@ ArrayValue.ToString()メソッドのコンマ配置ロジックを修正し、 - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年03月25日 22:12:04(UTC) - マージ日時: 2026年03月31日 03:37:15(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly(Wasm)JITにおいて、共有クラスコンストラクタ初期化の処理を改善するもの。Wasm固有の早期リターンを追加し、`CORINFO_HELP_INITCLASS`ヘルパーを使用することで、他の共有静的フィールド初期化やReadyToRun(R2R)ヘルパーパスを回避する。 @@ -354,7 +354,7 @@ WebAssembly(Wasm)JITにおいて、共有クラスコンストラクタ初 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月25日 20:54:01(UTC) - マージ日時: 2026年03月31日 17:01:21(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 ReadyToRun (R2R) モードで `TypeMapAssemblyTarget` が解決不可能なアセンブリを参照する場合の処理を修正しました。CrossGen2 が解決に失敗した際に空のターゲットエントリを生成し、ランタイムがフォールバック処理をスキップしていた問題を解決し、適切に属性処理にフォールバックして `FileNotFoundException` をスローするようになります。 @@ -378,7 +378,7 @@ ReadyToRun (R2R) モードで `TypeMapAssemblyTarget` が解決不可能なア - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月25日 17:36:15(UTC) - マージ日時: 2026年03月31日 10:26:13(UTC) -- ラベル: area-Codegen-Interpreter-mono +- ラベル: area-Codegen-Interpreter-mono #### 概要 `[GeneratedComInterface]`属性を持つ派生インターフェースが、`unsafe`メソッド(ポインタパラメータを含むメソッド)を持つ基本インターフェースから継承する場合、生成されるシャドウイング/フォワーディングメソッドに`unsafe`修飾子が不足し、コンパイルエラー(CS0214)が発生していた問題を修正します。生成される派生インターフェース宣言に`unsafe`修飾子を追加することで、ポインタ型を使用するメソッドをシャドウする際の構文エラーを解決します。 @@ -403,7 +403,7 @@ ReadyToRun (R2R) モードで `TypeMapAssemblyTarget` が解決不可能なア - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月24日 20:25:56(UTC) - マージ日時: 2026年03月31日 03:50:31(UTC) -- ラベル: area-System.Runtime.InteropServices +- ラベル: area-System.Runtime.InteropServices #### 概要 `DownlevelLibraryImportGenerator`をリファクタリングし、`LibraryImportAttribute`と`StringMarshalling`型を`RegisterPostInitializationOutput`経由でコンパイルに直接注入するように変更しました。従来の`eng/generators.targets`による別ファイル配布方式から移行し、`[Microsoft.CodeAnalysis.Embedded]`属性を付与してCS0436警告を自動的に抑制します。これにより、源ファイルの`#pragma warning`ディレクティブやダウンレベル向けの`#if`条件コンパイルが不要になります。 @@ -435,7 +435,7 @@ ReadyToRun (R2R) モードで `TypeMapAssemblyTarget` が解決不可能なア - 作成者: [@janvorli](https://github.com/janvorli) - 作成日時: 2026年03月24日 17:32:58(UTC) - マージ日時: 2026年03月31日 14:39:21(UTC) -- ラベル: area-GC-coreclr +- ラベル: area-GC-coreclr #### 概要 GCが4MBリージョンを使用する際に、大量のピン留めシナリオでヒープサイズが増加する問題を修正したPRを再導入し、無限ループによるハング問題も同時に解決しました。大きなプラグ(0x3FFFD0サイズ)がリージョンに収まらない場合、フロントパディングを追加しないようにすることで、リロケーション時の無限リトライを防止します。 @@ -460,7 +460,7 @@ GCが4MBリージョンを使用する際に、大量のピン留めシナリオ - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年03月24日 13:19:41(UTC) - マージ日時: 2026年03月31日 08:43:05(UTC) -- ラベル: area-CodeGen-coreclr runtime-async +- ラベル: area-CodeGen-coreclr runtime-async #### 概要 JITコンパイラの非同期変換分析コードを機械的にリファクタリング。`AsyncLiveness`を`AsyncAnalysis`に名称変更し、非同期関連の分析を専用の翻訳単位(`asyncanalysis.cpp`)に統合。また、例外処理(EH)のtry-region連続性に関する命名と前提条件の明確化を行いました。 @@ -487,7 +487,7 @@ JITコンパイラの非同期変換分析コードを機械的にリファク - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月18日 09:39:54(UTC) - マージ日時: 2026年03月31日 09:21:41(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 CoreCLRインタープリタの`localloc`実装が、スタック割り当てポインタを`sizeof(void*)`(4〜8バイト)にしか整列させていなかった問題を修正します。`INTERP_STACK_ALIGNMENT`(16バイト)への整列を保証することで、WASMなど16バイト整列が必須のプラットフォームで`stackalloc`が正しく動作するようになります。 @@ -514,7 +514,7 @@ CoreCLRインタープリタの`localloc`実装が、スタック割り当てポ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月29日 21:46:23(UTC) - マージ日時: 2026年03月31日 21:59:53(UTC) -- ラベル: area-AssemblyLoader-coreclr +- ラベル: area-AssemblyLoader-coreclr #### 概要 `NativeImage::Open`メソッドの未使用の出力パラメータ`isNewNativeImage`を削除するクリーンアップです。このパラメータは値が設定されていたにもかかわらず、唯一の呼び出し元である`AssemblyBinder::LoadNativeImage`では使用されていませんでした。 @@ -537,7 +537,7 @@ CoreCLRインタープリタの`localloc`実装が、スタック割り当てポ - 作成者: [@lilinus](https://github.com/lilinus) - 作成日時: 2025年10月02日 14:24:49(UTC) - マージ日時: 2026年03月31日 04:46:13(UTC) -- ラベル: area-System.Runtime community-contribution +- ラベル: area-System.Runtime community-contribution #### 概要 UTF-16とUTF-8の検証APIを標準化するPRです。新たに`Utf16.IsValid`と`Utf16.IndexOfInvalidSubsequence`メソッドを`System.Text.Unicode`に追加し、併せて`Utf8.IndexOfInvalidSubsequence`も追加します。これらの新しい公開APIで既存のカスタム検証ロジックを置き換えることで、コード重複を削減し検証処理を統一します。 diff --git a/archives/2026/04/01.md b/archives/2026/04/01.md index 7d11c6a..a185cb4 100644 --- a/archives/2026/04/01.md +++ b/archives/2026/04/01.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#126416 Document gh aw CLI extension optional prerequisite in select-copilot-pat README](#126416) 2. [#126415 Use CompressionLevel=Fastest for all test archive ZipDirectory calls](#126415) 3. [#126406 Use simulator queue instead of device queue for Apple mobile in runtime.yml](#126406) @@ -44,7 +44,7 @@ - 作成者: [@artl93](https://github.com/artl93) - 作成日時: 2026年04月01日 17:05:34(UTC) - マージ日時: 2026年04月01日 17:24:47(UTC) -- ラベル: area-Meta +- ラベル: area-Meta #### 概要 `select-copilot-pat` アクションのREADMEを更新し、`gh aw secrets set`コマンドの実行に必須となる`gh aw` CLI拡張機能のインストール手順をオンボーディングステップとして文書化しました。 @@ -66,7 +66,7 @@ - 作成者: [@steveisok](https://github.com/steveisok) - 作成日時: 2026年04月01日 16:57:55(UTC) - マージ日時: 2026年04月01日 21:51:11(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 テストアーカイブの圧縮処理の高速化を目的とした変更です。ZipDirectory呼び出しの圧縮レベルをデフォルトのOptimalからFastestに変更することで、ビルドパイプラインの圧縮時間を削減します。Binlog分析により、osx-arm64 Libraries_CheckedCoreCLR legで255回のZipTestArchive呼び出しが8.2分のCPU時間を消費していたため、この改善により大幅な高速化が期待されます。Helixへのテスト転送ではAzureネットワークの速度が十分であるため、ファイルサイズのわずかな増加は許容範囲です。 @@ -96,7 +96,7 @@ - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年04月01日 13:43:49(UTC) - マージ日時: 2026年04月01日 19:44:24(UTC) -- ラベル: area-Infrastructure-mono +- ラベル: area-Infrastructure-mono #### 概要 Apple mobile デバイスキューの信頼性の問題を回避するため、ランタイムパイプラインで `ios_arm64`/`tvos_arm64` デバイスキューの代わりに `iossimulator_arm64` シミュレータキューを使用するよう変更しました。この変更は一時的なもので、デバイスキューの問題が解決されるまでの措置です。 @@ -118,7 +118,7 @@ Apple mobile デバイスキューの信頼性の問題を回避するため、 - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年04月01日 11:42:36(UTC) - マージ日時: 2026年04月01日 15:22:59(UTC) -- ラベル: area-Infrastructure community-contribution +- ラベル: area-Infrastructure community-contribution #### 概要 `src/tests`のパッケージ復元プロセスを最適化し、複数回の復元呼び出しを一度の処理に統合しました。これにより、ビルド時間を大幅に短縮します(約3分20秒から約1秒に改善)。 @@ -143,7 +143,7 @@ Apple mobile デバイスキューの信頼性の問題を回避するため、 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月01日 01:18:15(UTC) - マージ日時: 2026年04月01日 20:12:45(UTC) -- ラベル: area-System.Reflection.Metadata +- ラベル: area-System.Reflection.Metadata #### 概要 複数のライブラリに散在していたダウンレベルポリフィル(BitOperations、Stream、StringBuilder、Stack)を`Common/src/Polyfills/`に統合し、コードの重複を排除して保守性を向上させます。Memory依存のストリーム拡張メソッドは`StreamMemoryPolyfills.cs`に分離し、不要な依存関係の追加を防いでいます。 @@ -172,7 +172,7 @@ Apple mobile デバイスキューの信頼性の問題を回避するため、 - 作成者: [@janvorli](https://github.com/janvorli) - 作成日時: 2026年04月01日 00:50:27(UTC) - マージ日時: 2026年04月01日 12:54:51(UTC) -- ラベル: area-GC-coreclr +- ラベル: area-GC-coreclr #### 概要 Background GC(BGC)のmark phase内で誤った join struct instanceが使用されていたバグを修正します。`gc_t_join`(通常のmark phase用)を`bgc_t_join`(BGC専用)に置き換え、Java GC bridge処理中のBGCスレッド同期を正する変更です。特定の負荷パターン(GCPerfSim)でGCハングが発生していました。 @@ -194,7 +194,7 @@ Background GC(BGC)のmark phase内で誤った join struct instanceが使用 - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年03月31日 22:59:58(UTC) - マージ日時: 2026年04月01日 17:31:36(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 ReadyToRun(R2R)コンパイル時のタイプマップ生成における失敗を修正するPR。外部タイプマップノードとプロキシタイプマップノードに対して、タイプマップグループ型を明示的なインポート依存関係として追加することで、生成されたタイプマップがグループ型を正しく参照できるようにします。 @@ -219,7 +219,7 @@ ReadyToRun(R2R)コンパイル時のタイプマップ生成における失 - 作成者: [@steveisok](https://github.com/steveisok) - 作成日時: 2026年03月31日 21:55:24(UTC) - マージ日時: 2026年04月01日 16:33:10(UTC) -- ラベル: area-Infrastructure-libraries +- ラベル: area-Infrastructure-libraries #### 概要 `runtime-libraries-interpreter`パイプラインのLinux環境での100%の失敗を修正。原因は`buildConfig: release`(小文字)がLinuxのケースセンシティブなファイルシステムで、ビルド成果物の`Release`(PascalCase)と一致していなかったため。`buildConfig: Release`に変更することで、SendToHelixステップが正しいパスのtesthost実行ファイルを見つけられるようにします。 @@ -246,7 +246,7 @@ Windows/macOSはケースインセンシティブなため、問題が表面化 - 作成者: [@VSadov](https://github.com/VSadov) - 作成日時: 2026年03月31日 19:37:18(UTC) - マージ日時: 2026年04月01日 07:57:53(UTC) -- ラベル: area-System.Threading +- ラベル: area-System.Threading #### 概要 `AsyncOperation.SignalCompletion`で継続状態を読み取る際に、メモリバリアの欠落による再順序化を防ぐ修正です。マルチスレッド環境での競合状態を解決し、継続状態の正確な読み取りを保証します。 @@ -268,7 +268,7 @@ Windows/macOSはケースインセンシティブなため、問題が表面化 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月31日 18:11:18(UTC) - マージ日時: 2026年04月01日 20:10:19(UTC) -- ラベル: area-Host +- ラベル: area-Host #### 概要 `libnethost`をスタティックライブラリとして利用するシナリオを検証するため、`nativehost_static`ビルドターゲットとスモークテストを追加します。このPRではネイティブホスティング機能のスタティックライブラリ利用パターンに対応するテストインフラを整備しています。 @@ -291,7 +291,7 @@ Windows/macOSはケースインセンシティブなため、問題が表面化 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月31日 17:02:12(UTC) - マージ日時: 2026年04月01日 03:52:12(UTC) -- ラベル: area-System.Linq +- ラベル: area-System.Linq #### 概要 `AsyncEnumerable.ToAsyncEnumerable()`メソッドを改善し、入力ソースが既に`IAsyncEnumerable`を実装している場合(例:EF Core queryableなど)に、同期ラッパーで囲まずに元のインスタンスをそのまま返すようにしました。これにより、既存の非同期実装パスが保持され、不要な同期化を防ぎます。 @@ -323,7 +323,7 @@ return source switch - 作成者: [@ManickaP](https://github.com/ManickaP) - 作成日時: 2026年03月31日 15:11:08(UTC) - マージ日時: 2026年04月01日 07:57:35(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 ストレステストパイプライン(`http.yml`と`ssl.yml`)にパスベースのPR トリガーフィルターを追加しました。これにより、関連ファイルが修正されたPRのみでストレステストが実行され、すべてのPRでの不要な実行を削減します。 @@ -353,7 +353,7 @@ return source switch - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年03月31日 14:59:01(UTC) - マージ日時: 2026年04月01日 15:09:56(UTC) -- ラベル: arch-wasm area-Infrastructure-coreclr +- ラベル: arch-wasm area-Infrastructure-coreclr #### 概要 シングルスレッド環境(ブラウザWASMなど)での `Thread.Start()` の非サポートに対応するため、5つのランタイムテストを `ConditionalFact` 属性で条件付け化します。マルチスレッド対応プラットフォームでのみテストが実行されるようになります。 @@ -381,7 +381,7 @@ return source switch - 作成者: [@teo-tsirpanis](https://github.com/teo-tsirpanis) - 作成日時: 2026年03月31日 13:52:42(UTC) - マージ日時: 2026年04月01日 04:06:14(UTC) -- ラベル: area-System.Reflection community-contribution +- ラベル: area-System.Reflection community-contribution #### 概要 `System.Reflection.MetadataLoadContext`をC# 14の拡張メンバー機能を使用してリファクタリングしました。従来のヘルパーメソッド呼び出しから、プロパティスタイルのアクセスに移行することで、モダンな`Type` APIの利用を簡潔にしています。NetStandard向けのポリフィルを拡張メンバーで実装し、NetCore向けのエミュレータレイヤーを削除しました。 @@ -405,7 +405,7 @@ C# 14の拡張メンバー機能を活用することで、ポリフィルの実 - 作成者: [@rzikm](https://github.com/rzikm) - 作成日時: 2026年03月31日 13:08:35(UTC) - マージ日時: 2026年04月01日 08:37:35(UTC) -- ラベル: area-System.Net.Security +- ラベル: area-System.Net.Security #### 概要 TlsFrameHelper内の複数の境界チェック不具合を修正し、SslStreamサーバーハンドシェイク時に非ClientHelloフレームを早期に検証・拒否します。SslStreamClientHelloFuzzerによって発見されたアウトオブバウンズアクセスバグを解決し、堅牢性を向上させます。 @@ -440,7 +440,7 @@ TlsFrameHelper内の複数の境界チェック不具合を修正し、SslStream - 作成者: [@agocke](https://github.com/agocke) - 作成日時: 2026年03月31日 03:07:16(UTC) - マージ日時: 2026年04月01日 22:36:55(UTC) -- ラベル: Servicing-approved area-VM-coreclr +- ラベル: Servicing-approved area-VM-coreclr #### 概要 runtime-asyncをnet11.0以上の共有フレームワークソースプロジェクトで自動有効化し、ランタイム構成ノブを完全に削除する変更です。また、RISC-VとLoongArchのPEリロケーション処理を修正して、非ゼロアディーブの適切なサポートを実現します。 @@ -477,7 +477,7 @@ runtime-asyncをnet11.0以上の共有フレームワークソースプロジェ - 作成者: [@eduardo-vp](https://github.com/eduardo-vp) - 作成日時: 2026年03月31日 02:44:27(UTC) - マージ日時: 2026年04月01日 17:48:38(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 Native AOT個別テストのビルド手順に関するドキュメント更新。`src/tests/build.*`スクリプトで個別テストをビルドする際に、MSBuildプロパティに加えて`nativeaot`引数を渡す必要があることを明記しました。 @@ -498,7 +498,7 @@ Native AOT個別テストのビルド手順に関するドキュメント更新 - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年03月30日 22:32:31(UTC) - マージ日時: 2026年04月01日 02:01:51(UTC) -- ラベル: area-Diagnostics-coreclr area-Diagnostics-cdac +- ラベル: area-Diagnostics-coreclr area-Diagnostics-cdac #### 概要 cDAC Helix コマンドの MSBuild エンコーディングとアーカイブ終了コードの取得を修正するもの。`$?` を `%24%3F` にエスケープして MSBuild のワイルドカード展開を防ぎ、tar コマンドの失敗をキャプチャしてテスト終了コードと統合する。 @@ -523,7 +523,7 @@ cDAC Helix コマンドの MSBuild エンコーディングとアーカイブ終 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月30日 13:55:08(UTC) - マージ日時: 2026年04月01日 09:55:00(UTC) -- ラベル: area-System.Formats.Tar +- ラベル: area-System.Formats.Tar #### 概要 AndroidのSELinuxアプリサンドボックスが`link`システムコールを拒否することにより、`File.CreateHardLink`を呼び出すテストで`UnauthorizedAccessException`が発生していた問題を修正します。`System.Formats.Tar.Tests`のハードリンク関連テストを`MountHelper.CanCreateHardLinks`で条件付きスキップするようにしました。これにより、Android(x86/arm/arm64/x64)およびシンボリックリンク作成が不可能なプラットフォーム上での154件のCI失敗を解消します。 @@ -550,7 +550,7 @@ AndroidのSELinuxアプリサンドボックスが`link`システムコールを - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月30日 12:55:26(UTC) - マージ日時: 2026年04月01日 01:43:11(UTC) -- ラベル: area-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 `SafeProcessHandle`に`Kill()`と`Signal(PosixSignal)`メソッドを追加し、`Process`を経由せずにハンドル経由でプロセスを終了またはシグナル送信できるようにしました。`Kill()`はプロセス終了をリクエストし、既に終了している場合は暗黙的に成功します。`Signal(PosixSignal)`は任意のシグナルを送信し、プロセスが存在しない場合は`false`を返します。両メソッドは無効なハンドルで`InvalidOperationException`をスロー、iOS/tvOSで`PlatformNotSupportedException`をスローします。 @@ -577,7 +577,7 @@ AndroidのSELinuxアプリサンドボックスが`link`システムコールを - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年03月30日 01:54:46(UTC) - マージ日時: 2026年04月01日 00:54:28(UTC) -- ラベル: area-Meta +- ラベル: area-Meta #### 概要 ダウンレベルターゲット(.NET Standard 2.0、.NET Framework等)向けのポリフィルを共有される `src/libraries/Common/src/Polyfills/` に集約し、複数のライブラリから `#if NET` 条件分岐を削除することで、コード維持性を向上させます。ポリフィルにより、非`.NETCoreApp`ターゲットでも最新のAPI(`Stopwatch.GetElapsedTime`、`double.IsFinite`、`Array.MaxLength`等)を無条件で呼び出せるようになります。 @@ -605,7 +605,7 @@ AndroidのSELinuxアプリサンドボックスが`link`システムコールを - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年03月29日 00:13:46(UTC) - マージ日時: 2026年04月01日 10:44:41(UTC) -- ラベル: arch-wasm area-Infrastructure-mono +- ラベル: arch-wasm area-Infrastructure-mono #### 概要 WebAssembly (WASM) テスト環境で使用するChrome for Testingのバージョンを更新します。Linux版を146.0.7680.164に、Windows版を147.0.7727.24にアップグレードしています。 @@ -628,7 +628,7 @@ WebAssembly (WASM) テスト環境で使用するChrome for Testingのバージ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月28日 11:58:49(UTC) - マージ日時: 2026年04月01日 05:08:42(UTC) -- ラベル: area-System.Memory +- ラベル: area-System.Memory #### 概要 C# 14のオーバーロード解決ルール変更により、`MemoryMarshal.AsBytes(int[])`と`MemoryMarshal.Cast(int[])`が`ReadOnlySpan`オーバーロードに解決される問題を修正します。既存コードで`Span`への割り当てが失敗する破壊的変更を回避するため、`[OverloadResolutionPriority(1)]`属性を`Span`オーバーロードに追加し、優先度を上げます。 @@ -659,7 +659,7 @@ Span cast = MemoryMarshal.Cast(bits); - 作成者: [@eduardo-vp](https://github.com/eduardo-vp) - 作成日時: 2026年03月27日 02:39:55(UTC) - マージ日時: 2026年04月01日 08:02:39(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT publishing時にWindows SDKが不足している場合のエラーメッセージを改善しました。`vcvarsall.bat`実行後に`WindowsSdkDir`環境変数が設定されていない場合に、より明確なエラーメッセージを表示するようになりました。これにより、従来の`LINK : fatal error LNK1181: cannot open input file 'advapi32.lib'`といった不明確なリンカエラーの代わりに、Windows SDKの不足を明示するメッセージが表示されます。 @@ -681,7 +681,7 @@ Copilotレビューコメントで、`vswhere`のワイルドカードパター - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月26日 18:49:13(UTC) - マージ日時: 2026年04月01日 14:50:06(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 dotnet/dotnetリポジトリからのコードフロー更新です。ビルド20260326.6(コミット7af6021)時点でのソースコード変更と依存パッケージの更新が含まれます。Roslyn、NuGet、Arcade、ASP.NET Core、EF Core、F#、MSBuild、Monoランタイムなど複数の関連リポジトリからの変更が統合されています。 @@ -715,7 +715,7 @@ dotnet/dotnetリポジトリからのコードフロー更新です。ビルド2 - 作成者: [@tpa95](https://github.com/tpa95) - 作成日時: 2026年03月26日 12:55:25(UTC) - マージ日時: 2026年04月01日 04:12:00(UTC) -- ラベル: area-AssemblyLoader-coreclr community-contribution +- ラベル: area-AssemblyLoader-coreclr community-contribution #### 概要 メタデータコンパイラのインポートヘルパーで、`pCommonAssemImport`がnullのパスが`CreateAssemblyRefFromAssembly`に到達する可能性を修正しました。null参照を回避するため、使用前にnullチェックを追加しています。静的解析ツール(SVACE)により検出されました。 @@ -737,7 +737,7 @@ dotnet/dotnetリポジトリからのコードフロー更新です。ビルド2 - 作成者: [@eduardo-vp](https://github.com/eduardo-vp) - 作成日時: 2026年03月26日 03:22:23(UTC) - マージ日時: 2026年04月01日 17:10:38(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 Android プラットフォームにおける NativeAOT Exceptions smoke テストで、Server GC が有効であるという要件を常に強制するように修正しました。従来は Android 固有の例外処理があり、Server GC チェックがスキップされていましたが、この修正により すべてのプラットフォームで一貫した検証が行われるようになります。 @@ -758,7 +758,7 @@ Android プラットフォームにおける NativeAOT Exceptions smoke テス - 作成者: [@richlander](https://github.com/richlander) - 作成日時: 2026年03月25日 21:02:26(UTC) - マージ日時: 2026年04月01日 14:23:59(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 WASM/WASI関連のHelixテスト実行環境のホストVMをUbuntu 22.04からAzure Linux 3に変更するもの。コンテナイメージ(ubuntu-22.04-helix-webassembly)は変更されません。既存の`helix-platforms.yml:271`で使用されている設定との一貫性を整える変更です。 @@ -781,7 +781,7 @@ WASM/WASI関連のHelixテスト実行環境のホストVMをUbuntu 22.04からA - 作成者: [@richlander](https://github.com/richlander) - 作成日時: 2026年03月25日 20:48:26(UTC) - マージ日時: 2026年04月01日 02:58:51(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 Helix キューの ARM ホスト VM を Ubuntu 22.04 から Azure Linux 3 に統一する変更です。`helix-platforms.yml` の ARM コンテナホスト VM 定義を更新し、他のパイプラインテンプレート(`libraries/helix-queues-setup.yml`、`coreclr/templates/helix-queues-setup.yml`)で既に使用されている `AzureLinux.3.Arm64` と一致させます。 @@ -809,7 +809,7 @@ Copilot CLI v1.0.11 により自動生成されたプル リクエストです - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年03月24日 14:50:43(UTC) - マージ日時: 2026年04月01日 14:17:11(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Compact Data Access Component)コンテキストにおいて、IDacDbiInterfaceの32メソッドをマネージC#で実装し、レガシーネイティブデリゲートスタブを置き換えるとともに、新しいIDebuggerコントラクトを導入します。これにより、デバッガー状態クエリの機能をコントラクトベースで提供できるようになります。 @@ -855,7 +855,7 @@ cDAC(Compact Data Access Component)コンテキストにおいて、IDacDbiI - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月24日 02:47:58(UTC) - マージ日時: 2026年04月01日 21:14:21(UTC) -- ラベル: Servicing-approved area-skills +- ラベル: Servicing-approved area-skills #### 概要 `release/8.0`ブランチのETWマニフェスト生成テストの不安定な動作を修正するバックポート。主要な2つのテスト(`Test_EventSource_EtwManifestGeneration`と`Test_EventSource_EtwManifestGenerationRollover`)に`[ActiveIssue]`属性を追加し、既知の問題を追跡します。この変更は`main`、`release/9.0`、`release/10.0`で既に実施されており、`release/8.0`への遅れたバックポートです。 @@ -887,7 +887,7 @@ public void Test_EventSource_EtwManifestGeneration() - 作成者: [@danmoseley](https://github.com/danmoseley) - 作成日時: 2026年03月20日 05:06:29(UTC) - マージ日時: 2026年04月01日 07:24:28(UTC) -- ラベル: area-System.IO +- ラベル: area-System.IO #### 概要 `System.IO.FileSystem.Watcher`のテストのWindowsにおけるフレーキーな失敗を修正し、86個の無効化されたテストを再度有効化するテスト品質改善PR。製品コードには変更なし。テスト実行時にコールバック遅延に対する許容度を段階的に引き上げることで、CI環境でのスレッドプール圧力下での遅延イベント配信に対応。 @@ -923,7 +923,7 @@ public void Test_EventSource_EtwManifestGeneration() - 作成者: [@jtschuster](https://github.com/jtschuster) - 作成日時: 2026年03月20日 00:45:21(UTC) - マージ日時: 2026年04月01日 01:49:53(UTC) -- ラベル: area-Infrastructure-coreclr +- ラベル: area-Infrastructure-coreclr #### 概要 CoreCLRテスト実行前に`Core_Root`内の古いバイナリを検出し、警告を発行するMSBuildターゲットを追加します。ローカルビルド出力よりも古いファイルがあれば警告し、テスト実行時に古いビット(stale bits)を使用することによる時間浪費を防ぎます。警告は`SkipCoreRootFreshnessCheck`で無効化できます。 @@ -946,7 +946,7 @@ CoreCLRテスト実行前に`Core_Root`内の古いバイナリを検出し、 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月19日 16:40:33(UTC) - マージ日時: 2026年04月01日 05:27:49(UTC) -- ラベル: area-System.IO +- ラベル: area-System.IO #### 概要 macOS FSEventsが監視対象から非監視対象へのファイル/ディレクトリ移動時に重複した`Deleted`イベントを配信する問題を修正します。既存の`isFilteredOut`フィルタは古い`Created`/`Changed`イベントのみ除外していたため、重複した`Deleted`イベントが収集され、テストが失敗していました。新しい`CreateDeduplicatingFilter()`ヘルパーを導入し、特定のイベント型を除外しつつ、重複イベントを`ConcurrentDictionary`で一意に保つようにしました。 @@ -968,7 +968,7 @@ macOS FSEventsが監視対象から非監視対象へのファイル/ディレ - 作成者: [@alexcovington](https://github.com/alexcovington) - 作成日時: 2026年03月17日 17:35:17(UTC) - マージ日時: 2026年04月01日 16:52:56(UTC) -- ラベル: area-System.Memory community-contribution +- ラベル: area-System.Memory community-contribution #### 概要 x86/x64プラットフォームにおいて、AVX利用可能な環境でのSIMD DotProduct計算を最適化するもの。従来の`vdpps`/`vdppd`命令の代わりに、乗算(mul)+ 並べ替え(permute)+ 加算(add)のシーケンスを使用することで、パフォーマンスを向上させます。 @@ -1002,7 +1002,7 @@ x86/x64プラットフォームにおいて、AVX利用可能な環境でのSIMD - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年03月12日 17:11:08(UTC) - マージ日時: 2026年04月01日 03:20:34(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 このPRはcDAC(コンポーネント化DAC)に`WalkStackReferences` APIを実装し、スタック上のGC参照を報告する機能を追加します。また、cDACの正確性を検証するためのGC stress検証ツール(`CdacStress`)を追加します。cDACはランタイムの内部的なGCスタッククローリングと同等の管理実装を提供し、AMD64/ARM64(Windows/Linux)をサポートしています。 @@ -1048,7 +1048,7 @@ x86/x64プラットフォームにおいて、AVX利用可能な環境でのSIMD - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年03月09日 22:13:08(UTC) - マージ日時: 2026年04月01日 17:31:13(UTC) -- ラベル: area-Interop-coreclr +- ラベル: area-Interop-coreclr #### 概要 構造体マーシャリングをTransient ILに移行し、レイアウトクラスマーシャリングの処理を簡潔化するリファクタリングです。構造体マーシャリングは`System.StubHelpers.StructureMarshaler`の各インスタンスに対してTransient ILで生成され、レイアウトクラスマーシャリングは`System.StubHelpers.LayoutClassMarshaler`の管理側スタティクスでキャッシュされるようになります。これにより、汎用IL スタブキャッシュへの依存を削減し、マーシャリング関連のランタイムロジックを簡素化します。 @@ -1083,7 +1083,7 @@ x86/x64プラットフォームにおいて、AVX利用可能な環境でのSIMD - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年02月26日 18:03:33(UTC) - マージ日時: 2026年04月01日 07:37:27(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Compact DAC)のダンプテスト スタックウォーキング機能を改善するPRです。新しい`DumpTestStackWalker`ヘルパークラスを導入し、スタックフレーム検証テストの記述を簡素化します。Fluent APIにより、隣接性チェック、述語マッチング、双方向トラバーサルをサポートしています。 @@ -1108,7 +1108,7 @@ cDAC(Compact DAC)のダンプテスト スタックウォーキング機能 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月03日 02:33:08(UTC) - マージ日時: 2026年04月01日 05:35:27(UTC) -- ラベル: area-System.Memory +- ラベル: area-System.Memory #### 概要 `ReadOnlySequence.Slice`メソッドの検証バグを修正しました。単一セグメント序列において、別の序列から取得した`SequencePosition`を渡すと、`ArgumentOutOfRangeException`をスローせずに負の長さの無効なスライスが生成される問題を解決しています。 diff --git a/archives/2026/04/02.md b/archives/2026/04/02.md index c68a3e1..dfe671e 100644 --- a/archives/2026/04/02.md +++ b/archives/2026/04/02.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#126482 Fix dotnet.thread_pool.queue.length to use ObservableUpDownCounter](#126482) 2. [#126468 Fix stale version comments on pinned action SHAs in workflow files](#126468) 3. [#126464 Skip unsupported tests and increase timeouts for Apple mobile CI legs](#126464) @@ -40,7 +40,7 @@ - 作成者: [@tarekgh](https://github.com/tarekgh) - 作成日時: 2026年04月02日 18:37:56(UTC) - マージ日時: 2026年04月02日 21:21:36(UTC) -- ラベル: area-System.Diagnostics.Metric +- ラベル: area-System.Diagnostics.Metric #### 概要 `dotnet.thread_pool.queue.length` メトリクスが不適切な `ObservableCounter` から `ObservableUpDownCounter` に変更されました。`ThreadPool.PendingWorkItemCount` は現在のスナップショットを報告するため、単調増加のカウンターではなく増減可能なカウンターが正しい実装です。これは同じ理由で既に `ObservableUpDownCounter` を使用している `dotnet.thread_pool.thread.count` との一貫性を確保します。 @@ -63,7 +63,7 @@ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月02日 12:47:46(UTC) - マージ日時: 2026年04月02日 12:59:58(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 GitHub Actionsワークフローファイルに記載されたピン留めされたSHA参照のインラインバージョンコメントが、実際のタグと不一致になっていた問題を修正します。Dependabotが参照を更新する際、コメントが同期されていなかったため、すべてのワークフローファイルを監査してバージョンコメントを正確に更新しました。 @@ -92,7 +92,7 @@ GitHub Actionsワークフローファイルに記載されたピン留めされ - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年04月02日 11:07:51(UTC) - マージ日時: 2026年04月02日 13:35:35(UTC) -- ラベル: area-Infrastructure os-ios +- ラベル: area-Infrastructure os-ios #### 概要 Apple mobile(iOS、tvOS、MacCatalyst)およびAndroidデバイス上で`PlatformNotSupportedException`をスローするテストやプラットフォーム固有の動作により失敗するテストをスキップし、CI レグテストのタイムアウトを増加させる変更です。モバイル環境での不安定なテスト実行を改善し、CI パイプラインの信頼性を向上させることが目的です。 @@ -124,7 +124,7 @@ Apple mobile(iOS、tvOS、MacCatalyst)およびAndroidデバイス上で`Pla - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月02日 05:49:28(UTC) - マージ日時: 2026年04月02日 18:16:56(UTC) -- ラベル: area-Meta +- ラベル: area-Meta #### 概要 `src/libraries` 配下のWindows固有実装ファイルの命名規則を統一し、歴史的遺物である `*.Win32.cs` から `*.Windows.cs` への一括リネームを実施しました。Windows Store アプリが完全なWin32 API サーフェスを使用できるようになった現在、この区別は不要になったため、命名を現代的な慣例に統一します。 @@ -149,7 +149,7 @@ Apple mobile(iOS、tvOS、MacCatalyst)およびAndroidデバイス上で`Pla - 作成者: [@dependabot[bot]](https://github.com/apps/dependabot) - 作成日時: 2026年04月02日 01:55:25(UTC) - マージ日時: 2026年04月02日 08:00:33(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 GitHub Actions用のgh-aw-actionsを0.64.2から0.65.4にバージョンアップします。このアップデートには、GitHub Actionsワークフロー内のテンプレートインジェクション脆弱性の修正を含む複数のセキュリティ修正が含まれています。 @@ -175,7 +175,7 @@ GitHub Actions用のgh-aw-actionsを0.64.2から0.65.4にバージョンアッ - 作成者: [@eduardo-vp](https://github.com/eduardo-vp) - 作成日時: 2026年04月02日 01:34:12(UTC) - マージ日時: 2026年04月02日 21:22:12(UTC) -- ラベル: area-Interop-coreclr area-NativeAOT-coreclr +- ラベル: area-Interop-coreclr area-NativeAOT-coreclr #### 概要 P/Invoke でマーシャリングされた `[Out, MarshalAs(UnmanagedType.LPArray)] string[]` パラメータにおいて、ネイティブ バッファが初期化されないまま確保され、ネイティブ呼び出し側が未初期化ポインタを解放しようとするとヒープ破損が発生する問題を修正しました。Out のみのパラメータについて `TransformManagedToNative` がスキップされていた根本原因に対処しています。 @@ -198,7 +198,7 @@ P/Invoke でマーシャリングされた `[Out, MarshalAs(UnmanagedType.LPArra - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年04月02日 00:14:24(UTC) - マージ日時: 2026年04月02日 20:41:49(UTC) -- ラベル: area-GC-coreclr +- ラベル: area-GC-coreclr #### 概要 `Runtime_126043` GC回帰テストプロジェクトでServer Garbage Collectionを有効化し、NativeAOTビルドがServer GC ランタイムに対してリンク/コンパイルされるようにします。これにより、NativeAOT outerloopのカバレッジを改善することを目指しています。 @@ -219,7 +219,7 @@ P/Invoke でマーシャリングされた `[Out, MarshalAs(UnmanagedType.LPArra - 作成者: [@tarekgh](https://github.com/tarekgh) - 作成日時: 2026年04月01日 21:53:47(UTC) - マージ日時: 2026年04月02日 21:02:25(UTC) -- ラベル: area-System.DirectoryServices +- ラベル: area-System.DirectoryServices #### 概要 `System.DirectoryServices.AccountManagement`におけるLDAPフィルタ構築時の脆弱性を修正。`ADUtils.EscapeRFC2254SpecialChars`を使用して、LDAP フィルタ文字列に挿入される値をエスケープし、`(`、`)`、`*`、`\`などのRFC 2254特殊文字を含む値がフィルタを破損させるのを防止します。併せて、エスケープ機能の単体テストを追加。 @@ -244,7 +244,7 @@ P/Invoke でマーシャリングされた `[Out, MarshalAs(UnmanagedType.LPArra - 作成者: [@richlander](https://github.com/richlander) - 作成日時: 2026年04月01日 20:44:55(UTC) - マージ日時: 2026年04月02日 23:36:13(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 Fedora Helix テストキューを Fedora 44(最新)に更新し、Fedora 43 を最古バージョンとして保持するビルドインフラの更新。Fedora 42 は削除されます。このPRはAI/Copilotツール(`update-os-coverage` skill)で自動生成されました。 @@ -273,7 +273,7 @@ Fedora Helix テストキューを Fedora 44(最新)に更新し、Fedora 43 - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年04月01日 16:01:55(UTC) - マージ日時: 2026年04月02日 05:32:39(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 ランタイム非同期メソッドおよび同期メソッドにおいて、インタープリタが全IL命令を走査する前にエピローグを発行する場合、`m_synchronizedOrAsyncRetValVarIndex`が初期化されないという正確性の問題を修正します。この変数はCEE_RETによる戻り値の保存・復元に使用されるため、未初期化のままではCEE_RETが不正な値を参照する可能性がありました。 @@ -294,7 +294,7 @@ Fedora Helix テストキューを Fedora 44(最新)に更新し、Fedora 43 - 作成者: [@ManickaP](https://github.com/ManickaP) - 作成日時: 2026年04月01日 09:22:23(UTC) - マージ日時: 2026年04月02日 08:32:07(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 PR #125995で導入された`docker-compose`から`docker compose`へのコマンド変更をリバートするPRです。一方で、Azure Linux 3イメージプール(`build.azurelinux.3.amd64.open`)への移行は維持されます。HTTP/SSLストレステストおよびエンタープライズネットワーキングパイプラインにおけるDockerコンテナオーケストレーション機能に影響します。 @@ -317,7 +317,7 @@ PR #125995で導入された`docker-compose`から`docker compose`へのコマ - 作成者: [@kg](https://github.com/kg) - 作成日時: 2026年04月01日 01:37:15(UTC) - マージ日時: 2026年04月02日 21:00:13(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly RyuJIT コンパイラにおいて、ブロックストア(`GT_STORE_BLK`)の低レベル化とコード生成時に、ネイティブな`memory.copy`/`memory.fill`命令を使用する特殊なケースで不正なアサーションが発生する問題を修正します。非フォルティング(non-faulting)アドレスの場合に不要な一時レジスタの生成を避けることで、レジスタ割り当てエラーを解決します。 @@ -341,7 +341,7 @@ WebAssembly RyuJIT コンパイラにおいて、ブロックストア(`GT_STO - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年03月31日 22:28:36(UTC) - マージ日時: 2026年04月02日 23:02:10(UTC) -- ラベル: Servicing-approved area-Build-mono +- ラベル: Servicing-approved area-Build-mono #### 概要 WebAssembly (WASM) における複数クライアント構成で、Framework の発行時(publish-time)の具体化(materialization)に関する問題を修正するバックポート。Microsoft.NET.Sdk.WebAssembly.Pack のビルドターゲットを修正し、複数の Blazor クライアントを含むホストされたシナリオのテストを追加しています。 @@ -368,7 +368,7 @@ WebAssembly (WASM) における複数クライアント構成で、Framework の - 作成者: [@kg](https://github.com/kg) - 作成日時: 2026年03月31日 20:55:55(UTC) - マージ日時: 2026年04月02日 06:39:33(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly (Wasm32) ターゲットにおいて、`Vector` の SIMD 幅を 128 ビットに明示的に設定することで、crossgen2 が Wasm シグネチャと依存関係分析を計算する際に `LayoutInt.AsInt()` の例外発生を修正します。また、Wasm クライアント側 JIT が存在しないため、命令セット最適化の楽観的な判定を無効化します。 @@ -390,7 +390,7 @@ WebAssembly (Wasm32) ターゲットにおいて、`Vector` の SIMD 幅を 1 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月31日 19:22:16(UTC) - マージ日時: 2026年04月02日 21:11:43(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 デバッガ転送セッションのプロセス終了時のシャットダウンパス(非Windows系)におけるNULLポインタ逆参照クラッシュを修正しました。`DbgTransportSession::AbortConnection()`が保護なしに`m_channel`ポインタにアクセスしていた問題を、転送ワーカースレッドがこのポインタをNULLに設定・置き換えるため発生していました。 @@ -417,7 +417,7 @@ WebAssembly (Wasm32) ターゲットにおいて、`Vector` の SIMD 幅を 1 - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年03月31日 19:07:17(UTC) - マージ日時: 2026年04月02日 13:58:06(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 インタープリタIR(中間表現)のダンプ機能をInterpCompilerクラスの外部で利用可能にするリファクタリング。デバッガから直接呼び出し可能な`InterpDumpIR()`エントリーポイントを追加し、クラッシュ時のデバッグを容易にします。 @@ -449,7 +449,7 @@ WebAssembly (Wasm32) ターゲットにおいて、`Vector` の SIMD 幅を 1 - 作成者: [@AaronRobinsonMSFT](https://github.com/AaronRobinsonMSFT) - 作成日時: 2026年03月31日 18:52:06(UTC) - マージ日時: 2026年04月02日 15:40:13(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 CoreCLR デバッグコンポーネントのネイティブリソース管理をリファクタリングし、レガシーな `ArrayHolder` と `NonVMComHolder` スマートポインタクラスを `holder.h` で定義された新しい汎用ホルダーで置き換えました。`arrayholder.h` と `releaseholder.h` を削除し、トレイトベースの堅牢なホルダー実装(`NewArrayHolder`、`AStringHolder`、`WStringHolder`、`ReleaseHolder` など)を統一導入することで、コード安全性と保守性を向上させます。 @@ -483,7 +483,7 @@ CoreCLR デバッグコンポーネントのネイティブリソース管理を - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月31日 18:39:12(UTC) - マージ日時: 2026年04月02日 21:45:14(UTC) -- ラベル: area-System.Runtime.InteropServices +- ラベル: area-System.Runtime.InteropServices #### 概要 UTF8文字列マーシャリング相互運用テスト スイートを最新化するもので、ループ駆動の単一`[Fact]`テストを粒度の細かい`[Theory]`ベースのテストに分割し、ネイティブ関数が例外発生ではなく`BOOL`戻り値で検証結果を報告するよう変更しています。複数のテストクラスを`StringMarshaling.UTF8Tests`に統合し、テストの可読性と保守性を向上させています。 @@ -514,7 +514,7 @@ UTF8文字列マーシャリング相互運用テスト スイートを最新化 - 作成者: [@svick](https://github.com/svick) - 作成日時: 2026年03月30日 15:50:49(UTC) - マージ日時: 2026年04月02日 08:48:39(UTC) -- ラベル: area-Extensions-FileSystem +- ラベル: area-Extensions-FileSystem #### 概要 `InMemoryDirectoryInfo`のパス解決バグ(`..`パターンおよび相対パスの処理)を修正し、相対パスが正しく`FullName`に対して解決されるようにしました。`GetDirectory`と`GetFile`は、入力パスと`FullName`を`Path.Combine`で結合し、`Path.GetFullPath`で正規化することで、`..`セグメントを適切に解決します。また、パターンマッチャーの動作を保持するため、`isParentPath`フラグで`Name`を`".."`として保存します。 @@ -539,7 +539,7 @@ UTF8文字列マーシャリング相互運用テスト スイートを最新化 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月30日 11:00:56(UTC) - マージ日時: 2026年04月02日 17:56:41(UTC) -- ラベル: area-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 MacCatalystプラットフォームでの`System.Diagnostics.Process`のテスト整備と実装修正。`RemoteExecutor`が非サポートのモバイルプラットフォーム(Android・MacCatalyst)向けに、Unix標準ツール(`ls`、`sleep`)を使用した統一テストスイートを追加し、`Console.OpenStandard*Handle()`の不適切な利用を防ぐ修正を実施。 @@ -574,7 +574,7 @@ MacCatalystプラットフォームでの`System.Diagnostics.Process`のテス - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年03月28日 18:20:48(UTC) - マージ日時: 2026年04月02日 19:14:59(UTC) -- ラベル: area-System.Numerics +- ラベル: area-System.Numerics #### 概要 PR #125799でBigInteger内部がnuint limbs対応に書き直された際、`FastReducer.SubMod`の補償ループが32ビットプラットフォームで無限ループになる問題を修正しました。Barrett reduction後のk limb截断では、`AddSelf`ループが最大2^64回反復する可能性があり、32ビット環境で実行不可能でした。修正では、unsigned underflowを許容するインライン減算に置き換え、Barrett reductionの数学的保証を活用します。 @@ -601,7 +601,7 @@ PR #125799でBigInteger内部がnuint limbs対応に書き直された際、`Fas - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年03月27日 22:41:47(UTC) - マージ日時: 2026年04月02日 01:30:32(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 JIT コードヒープの列挙と詳細情報取得を行うための新しい cDAC API `GetCodeHeapList` と `GetCodeHeapInfo` を `IExecutionManager` コントラクトに追加します。CoreCLR VM の型記述子拡張、マネージドコントラクト実装、レガシ SOS DAC アダプタ、およびテストカバレッジを含みます。 @@ -628,7 +628,7 @@ JIT コードヒープの列挙と詳細情報取得を行うための新しい - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年03月27日 17:22:12(UTC) - マージ日時: 2026年04月02日 23:12:10(UTC) -- ラベル: area-Build-mono +- ラベル: area-Build-mono #### 概要 マルチクライアント・ホスト型Blazor WASMシナリオにおけるパブリッシュ時の静的ウェブアセット処理の不具合を修正。複数のクライアントプロジェクト(Client1、Client2)がパブリッシュされる際に、`CopyToPublishDirectory=Never`でマークされたアイテムが不正に処理され、ビルド時にマテリアライズされたFrameworkアセットが同じSDKパスに置き換わることで、重複キーエラーが発生していました。`GroupResolvedFilesToPublish`から`CopyToPublishDirectory=Never`アイテムをスキップすることで、プロジェクトごとのユニークなIdentityを保持するように修正。 @@ -652,7 +652,7 @@ JIT コードヒープの列挙と詳細情報取得を行うための新しい - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月27日 03:15:34(UTC) - マージ日時: 2026年04月02日 00:27:25(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 `CompilerTypeSystemContext.AddModule`で`BadImageFormatException`がスローされる際に、ファイルパスを含めることで診断情報を改善します。`PEReader`の遅延初期化により、例外メッセージにどのファイルが失敗したかの情報がなかったため、例外をキャッチして新たにファイルパスを付加した例外を再スローするようにしました。 @@ -689,7 +689,7 @@ System.BadImageFormatException: Bad IL format. The format of the file 'C:\foo\ba - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月23日 16:55:59(UTC) - マージ日時: 2026年04月02日 17:14:07(UTC) -- ラベル: area-AssemblyLoader-coreclr +- ラベル: area-AssemblyLoader-coreclr #### 概要 異なるAssembly Load Context(ALC)から読み込まれた型間のキャストで`InvalidCastException`が発生した場合、特にジェネリック型の型引数が異なる場合の診断メッセージを改善します。ジェネリック型引数の違いと、それぞれが属するアセンブリ/ALC情報をエラーメッセージに含めることで、デバッグを容易にします。 @@ -723,7 +723,7 @@ Type B has a generic argument 'InvalidCastSharedType' that originates from '...' - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年03月22日 20:10:53(UTC) - マージ日時: 2026年04月02日 17:28:10(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Common Data Access Component)に`TranslateExceptionRecordToNotification` APIを追加し、デバッガ通知の例外レコードをマネージド側でデコードするための機能を実装しました。新しい`INotifications`契約APIとそれに関連する公開データ型(`NotificationType`、`GcEventType`、`GcEventData`)を追加し、レガシー`IXCLRDataProcess` COM相互運用性に統合しています。 @@ -752,7 +752,7 @@ cDAC(Common Data Access Component)に`TranslateExceptionRecordToNotification - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月22日 04:41:14(UTC) - マージ日時: 2026年04月02日 16:38:58(UTC) -- ラベル: area-System.IO +- ラベル: area-System.IO #### 概要 Windows NTFS の pending-delete レースコンディションと FileSystemWatcher テスト基盤のハンドルリークにより発生していた `DirectoryNotFoundException` フレーキーテストを修正するPRです。 @@ -780,7 +780,7 @@ Windows NTFS の pending-delete レースコンディションと FileSystemWatc - 作成者: [@DoctorKrolic](https://github.com/DoctorKrolic) - 作成日時: 2026年03月21日 17:15:23(UTC) - マージ日時: 2026年04月02日 23:11:20(UTC) -- ラベル: area-System.Runtime.InteropServices community-contribution +- ラベル: area-System.Runtime.InteropServices community-contribution #### 概要 `ComInterfaceGenerator`をRoslyn `SyntaxNode`ベースの出力から`IndentedTextWriter`を使用した文字列ベースの出力に移行するポート作業です。スタブノード生成の一時的な互換性維持のため、ヘルパーメソッドを追加し、複数に分割されていた部分宣言を統合することで生成コードの構造を簡素化しました。 @@ -810,7 +810,7 @@ Windows NTFS の pending-delete レースコンディションと FileSystemWatc - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月18日 03:36:56(UTC) - マージ日時: 2026年04月02日 14:44:39(UTC) -- ラベル: area-System.IO +- ラベル: area-System.IO #### 概要 macOS/BSDプラットフォームで`ConvertFileStatus`が`st_flags`の全ビットを`UF_HIDDEN`のみに縮約していた不具合を修正します。この問題により、.NETが隠し属性を変更する際に他のBSDユーザーフラグ(例:`UF_IMMUTABLE`、`UF_NODUMP`)が意図せず消去される可能性がありました。合わせて、`PAL_UF_HIDDEN`と`UF_HIDDEN`が一致することを検証するstatic assertを追加しています。 @@ -837,7 +837,7 @@ macOS/BSDプラットフォームで`ConvertFileStatus`が`st_flags`の全ビッ - 作成者: [@sbomer](https://github.com/sbomer) - 作成日時: 2026年03月16日 18:59:06(UTC) - マージ日時: 2026年04月02日 16:28:28(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT publish統合を、SDK提供の`NativeCompile`ターゲットフック経由で実装するよう変更しました。従来の脆弱な`BeforeTargets`/`AfterTargets`による依存関係管理から移行し、publish パイプラインの順序付けをより明示的で堅牢にします。 @@ -863,7 +863,7 @@ NativeAOT publish統合を、SDK提供の`NativeCompile`ターゲットフック - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月16日 17:14:20(UTC) - マージ日時: 2026年04月02日 07:17:00(UTC) -- ラベル: area-System.IO +- ラベル: area-System.IO #### 概要 Windows ボリュームマウントテストの`finally`ブロック内でアンマウント時に発生する予期されたWin32エラーを無視し、テスト失敗を防ぐための改善。`MountHelper.Unmount`に`deleteDirectory`パラメータを追加し、エラーコード 4390(`ERROR_NOT_A_REPARSE_POINT`)と 3(`ERROR_PATH_NOT_FOUND`)をサイレントに処理することで、クリーンアップ処理をより堅牢にします。 @@ -887,7 +887,7 @@ Windows ボリュームマウントテストの`finally`ブロック内でアン - 作成者: [@danmoseley](https://github.com/danmoseley) - 作成日時: 2026年03月11日 21:18:21(UTC) - マージ日時: 2026年04月02日 16:40:19(UTC) -- ラベル: area-System.Text.RegularExpressions +- ラベル: area-System.Text.RegularExpressions #### 概要 NonBacktracking正規表現エンジンの入れ子ループパターン(例:`((a)*)*`)における指数的な時間計算量の問題を修正。深さ2000のネストでの単一文字マッチが10.7秒かかる問題を、ループフラット化、キャッシング、NFA推定値の改善により解決。匹敵の線形時間保証は維持される(パターン複雑度定数の指数的増加をパターン構築段階で制限)。 @@ -926,7 +926,7 @@ NonBacktracking正規表現エンジンの入れ子ループパターン(例 - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年03月11日 13:52:24(UTC) - マージ日時: 2026年04月02日 11:06:18(UTC) -- ラベル: area-Infrastructure os-ios +- ラベル: area-Infrastructure os-ios #### 概要 Apple モバイルプラットフォーム(iOS/tvOS シミュレータ・デバイス、MacCatalyst)のCI テストマトリックスを削減し、macOS キューの混雑を緩和しながら、デフォルトシナリオに焦点を当てるようにパイプライン設定を最適化します。テストカバレッジは一般的な開発者・ユーザーシナリオに絞られています。 @@ -952,7 +952,7 @@ CI キューの混雑軽減による全体的なビルド時間短縮が期待 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月20日 15:14:46(UTC) - マージ日時: 2026年04月02日 16:42:22(UTC) -- ラベル: area-System.Text.Json source-generator +- ラベル: area-System.Text.Json source-generator #### 概要 System.Text.Json ソースジェネレータが、`[UnsafeAccessor]` (NET8+ の非ジェネリック型) またはキャッシュされたリフレクションデリゲート (旧ターゲット/ジェネリック型) を使用して、アクセス不可能なメンバーへのアクセスを実現します。これにより、3つの以前未対応シナリオが可能になります: @@ -1003,7 +1003,7 @@ public class Baz - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2025年07月13日 14:58:16(UTC) - マージ日時: 2026年04月02日 20:23:28(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 `CORINFO_HELP_ARRADDR_ST` ヘルパー呼び出しをインライン化し、WriteBarrier FCallを削除することで、配列要素の代入パフォーマンスを大幅に改善します。JITが共変性チェック付きの書き込みバリアをインライン化できるようになり、冗長な書き込みバリアと範囲チェック(以前はヘルパー内部に存在)の削除が可能になります。 diff --git a/archives/2026/04/03.md b/archives/2026/04/03.md index 7de5b50..81ed707 100644 --- a/archives/2026/04/03.md +++ b/archives/2026/04/03.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#126523 Clarify baseline build guidance for update-os-coverage skill](#126523) 2. [#126508 Exclude workflow lock files from Dependabot updates](#126508) 3. [#126507 Fix STJ source gen missing type parameter constraints on generic accessor wrappers](#126507) @@ -27,7 +27,7 @@ - 作成者: [@richlander](https://github.com/richlander) - 作成日時: 2026年04月03日 23:22:48(UTC) - マージ日時: 2026年04月03日 23:38:42(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 `update-os-coverage`スキルのドキュメントにPrerequisitesセクションを追加し、YAML/ドキュメントのみの変更(Helixキュー・イメージ参照の更新)には repo-wide baseline buildが不要であることを明確化しました。製品コード変更が必要になる場合のみ `copilot-instructions.md` を参照するよう指示を改善しています。 @@ -48,7 +48,7 @@ - 作成者: [@akoeplinger](https://github.com/akoeplinger) - 作成日時: 2026年04月03日 16:41:27(UTC) - マージ日時: 2026年04月03日 18:57:32(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 DependabotがGitHub Actions workflow向けに自動生成される`.github/workflows/*.lock.yml`ファイルのバージョン更新を行わないようにするため、Dependabot設定に除外パターンを追加しました。これにより、生成されたロックファイルに対する不要なPull Requestの発生を防ぎます。 @@ -69,7 +69,7 @@ DependabotがGitHub Actions workflow向けに自動生成される`.github/workf - 作成者: [@eiriktsarpalis](https://github.com/eiriktsarpalis) - 作成日時: 2026年04月03日 15:19:25(UTC) - マージ日時: 2026年04月03日 21:34:15(UTC) -- ラベル: area-System.Text.Json source-generator +- ラベル: area-System.Text.Json source-generator #### 概要 System.Text.Json ソースジェネレータが汎用型の `UnsafeAccessor` ラッパークラスを生成する際、型パラメータの制約を伝播していなかった問題を修正します。制約(例:`where TResponse : notnull, AuthenticatorResponse`)が欠落していると、ダウンストリーム(AspNetCore)でCS0314コンパイルエラーが発生していました。 @@ -107,7 +107,7 @@ private static class __GenericAccessors_MyType - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年04月03日 05:25:17(UTC) - マージ日時: 2026年04月03日 13:15:50(UTC) -- ラベル: area-Interop-coreclr +- ラベル: area-Interop-coreclr #### 概要 UTF-8文字列マーシャリング相互運用テストスイートの前回の書き直しを戻すPRです。xUnit Theory/MemberDataベースのテスト構造をシングルアウターループエントリーポイントに戻し、outerloopの実行失敗を解決します。PR #126366の変更を完全に戻します。 @@ -129,7 +129,7 @@ UTF-8文字列マーシャリング相互運用テストスイートの前回の - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年04月02日 22:36:51(UTC) - マージ日時: 2026年04月03日 14:39:05(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイラにおいて、funclet(例外処理や遅延処理のコード領域)とそこに含まれるブロックに対してrange-based `for`ループでの反復処理をサポートするようにしました。これにより、コード可読性と保守性が向上します。 @@ -152,7 +152,7 @@ JITコンパイラにおいて、funclet(例外処理や遅延処理のコー - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年04月02日 20:58:14(UTC) - マージ日時: 2026年04月03日 16:19:07(UTC) -- ラベル: area-Build-mono +- ラベル: area-Build-mono #### 概要 Blazor WASMテストにおいて、遅延したWindows Helix Docker環境でのPlaywrightタイムアウトを削減するため、要素操作前に明示的な`WaitForAsync(Visible)`呼び出しを追加し、`ClickAsync`のタイムアウトをデフォルトの30秒から60秒に増加させました。遅いCI環境でのCSS遷移やレイアウトの再フローが原因で、要素が「安定した」と判定されないことによるタイムアウト例外を回避します。 @@ -176,7 +176,7 @@ Blazor WASMテストにおいて、遅延したWindows Helix Docker環境でのP - 作成者: [@AaronRobinsonMSFT](https://github.com/AaronRobinsonMSFT) - 作成日時: 2026年04月02日 20:52:27(UTC) - マージ日時: 2026年04月03日 23:26:53(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 `FEATURE_CORPROFILER` ビルド時フラグを導入し、ICorProfiler サポート(`PROFILING_SUPPORTED`、`PROFILING_SUPPORTED_DATA`、`FEATURE_PROFAPI_ATTACH_DETACH`)をオプション化しました。WASM ターゲットでは無意味であるため `FEATURE_CORPROFILER` を 0 に設定し、プロファイリング機能を完全に無効化します。これにより、非プロファイリング対応ビルドのコードサイズと複雑さを削減できます。 @@ -201,7 +201,7 @@ Blazor WASMテストにおいて、遅延したWindows Helix Docker環境でのP - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2026年04月02日 17:34:04(UTC) - マージ日時: 2026年04月03日 14:49:44(UTC) -- ラベル: area-System.Numerics +- ラベル: area-System.Numerics #### 概要 `BigInteger.DivRem`メソッドのuse-after-return バグを修正します。`ArrayPool.Shared`からレンタルされた`quotientBuffer`が、`BigInteger`コンストラクタがその内容をコピーする前に返却される問題がありました。この修正により、バッファの返却前に`quotient`値がコピーされるようにしています。 @@ -225,7 +225,7 @@ Blazor WASMテストにおいて、遅延したWindows Helix Docker環境でのP - 作成者: [@cincuranet](https://github.com/cincuranet) - 作成日時: 2026年04月02日 08:14:25(UTC) - マージ日時: 2026年04月03日 17:07:13(UTC) -- ラベル: area-Extensions-Caching +- ラベル: area-Extensions-Caching #### 概要 `Microsoft.Extensions.Caching.Memory`のOpenTelemetryメトリクス名とタグ名を`dotnet.cache.*`命名規則に統一する変更です。メトリクス計測器名とタグキーをリネームし、複数形から単数形への単位文字列調整も含まれます。 @@ -247,7 +247,7 @@ Blazor WASMテストにおいて、遅延したWindows Helix Docker環境でのP - 作成者: [@tmds](https://github.com/tmds) - 作成日時: 2026年04月02日 05:46:10(UTC) - マージ日時: 2026年04月03日 14:27:48(UTC) -- ラベル: area-System.Diagnostics.Process community-contribution +- ラベル: area-System.Diagnostics.Process community-contribution #### 概要 `System.Diagnostics.Process`の`ProcessName`プロパティと`ToString()`メソッドで、Linux/macOS上で完全な`ProcessInfo`の構築を避けることで パフォーマンスを改善します。また、`ProcessInfo`を必要としないAPIのみを使用する場合、トリミング時にProcessInfo関連コードを削除できるようにします。 @@ -274,7 +274,7 @@ Blazor WASMテストにおいて、遅延したWindows Helix Docker環境でのP - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年04月02日 02:09:42(UTC) - マージ日時: 2026年04月03日 21:37:18(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 VMR(Virtual Mono Repository)の dotnet/dotnet からのコードフロー更新です。Microsoft.CodeAnalysis、NuGet、System.Text.Json など複数の依存パッケージと、Arcade、ASP.NET Core、EF Core、F#、Roslyn、SDK など複数のリポジトリからのソースコード変更が含まれています。 @@ -306,7 +306,7 @@ VMR(Virtual Mono Repository)の dotnet/dotnet からのコードフロー更 - 作成者: [@adamperlin](https://github.com/adamperlin) - 作成日時: 2026年04月01日 23:15:14(UTC) - マージ日時: 2026年04月03日 17:55:14(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 WebCilランタイムの基本再配置スキーム実装です。WasmObjectWriterがPEスタイルの基本再配置をWebcilの`reloc`セクションに出力し、CoreCLRのWebcilローダーがこれらの再配置を適用するよう更新されました。標準的なイメージベース再配置に加えて、Wasm関数ポインタテーブルベース用の新しい再配置タイプ(wasm32/wasm64対応)が追加されています。 @@ -334,7 +334,7 @@ WebCilランタイムの基本再配置スキーム実装です。WasmObjectWrit - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月01日 19:08:09(UTC) - マージ日時: 2026年04月03日 16:18:33(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 Composite R2R モード(複合ReadyToRun)でのcrossgen2クラッシュを修正します。複数のTypeMapノードが同一の`ClassCode`を持つ場合、`CompareToImpl`が未実装であるため、依存関係グラフソーターが"Multiple nodes of this type are not supported"例外をスローしていました。本修正では、TypeMapノードにモジュール認識機能を追加し、モジュール単位で一意なノードを生成することで、決定的なソート順序を確立します。 @@ -361,7 +361,7 @@ Composite R2R モード(複合ReadyToRun)でのcrossgen2クラッシュを - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月01日 00:10:25(UTC) - マージ日時: 2026年04月03日 23:30:48(UTC) -- ラベル: area-R2RDump-coreclr +- ラベル: area-R2RDump-coreclr #### 概要 Large Version Bubble(LVB)複合R2Rイメージにおいて、`ManifestReferenceAssemblies`が`ReadyToRunAssemblyHeaders`よりも多くのエントリを含む場合に、R2RDumpツールが`ArgumentOutOfRangeException`で異常終了する問題を修正します。マニフェストに含まれるバージョンバブルアセンブリ参照が実際のコンポーネントアセンブリ数を上回る場合、イテレーション時にインデックスが範囲外になることを防ぎます。 @@ -382,7 +382,7 @@ Large Version Bubble(LVB)複合R2Rイメージにおいて、`ManifestRefere - 作成者: [@richlander](https://github.com/richlander) - 作成日時: 2026年03月31日 23:18:01(UTC) - マージ日時: 2026年04月03日 23:14:20(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 Helix キュー定義ファイルにおけるOS バージョン参照を自動更新するための新しい Copilot スキル(`update-os-coverage`)を追加します。このスキルは、コンテナイメージの可用性確認、EOL日付の確認、パイプラインファイル内の参照スキャン、バージョン更新の適用、陳旧化した参照の検証、リリースブランチの確認、および `supported-os.json` との照合を含む、OS バージョン更新の完全なプロセスを自動化します。 @@ -409,7 +409,7 @@ Helix キュー定義ファイルにおけるOS バージョン参照を自動 - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月31日 02:01:36(UTC) - マージ日時: 2026年04月03日 21:38:56(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 dotnet/runtime-assetsおよびdotnet/icuリポジトリからの依存関係を自動更新するPull Requestです。runtime-assetsの複数のテストデータおよびリソースパッケージを11.0.0-beta.26173.1から11.0.0-beta.26180.1に、ICU Transport パッケージを11.0.0-alpha.1.26168.1から11.0.0-alpha.1.26181.1に更新します。 @@ -453,7 +453,7 @@ dotnet/runtime-assetsおよびdotnet/icuリポジトリからの依存関係を - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年03月30日 20:36:48(UTC) - マージ日時: 2026年04月03日 03:30:26(UTC) -- ラベル: os-windows area-Interop-coreclr +- ラベル: os-windows area-Interop-coreclr #### 概要 CLR→COM イベント処理と遅延バインディング スタブを、レガシーな「汎用スタブ + CLRToCOMMethodFrame」モデルから IL スタブに移行します。これにより、CLR→COM 動作を既存の IL スタブ インフラストラクチャに統合し、デバッガ/スタックウォーク処理の特殊ケース対応を削減します。イベント処理スタブは基本的な IL スタブ インフラの上に実装され、遅延バインディング スタブは IL スタブ インフラストラクチャの拡張版として実装されます。 @@ -482,7 +482,7 @@ CLR→COM イベント処理と遅延バインディング スタブを、レガ - 作成者: [@ericstj](https://github.com/ericstj) - 作成日時: 2026年03月28日 03:25:32(UTC) - マージ日時: 2026年04月03日 01:49:34(UTC) -- ラベル: area-Infrastructure-libraries +- ラベル: area-Infrastructure-libraries #### 概要 PNSE(Platform Not Supported Exception)アセンブリビルドにおいて、IntelliSenseパッケージに依存せず、互換性のある非PNSEシブリングターゲットフレームワークから生成されたコンパイラドキュメントXMLを再利用するようにビルドロジックを更新しました。これにより、PNSEビルドの外部依存性を削減します。 @@ -507,7 +507,7 @@ PNSE(Platform Not Supported Exception)アセンブリビルドにおいて - 作成者: [@barosiak](https://github.com/barosiak) - 作成日時: 2026年03月26日 19:07:42(UTC) - マージ日時: 2026年04月03日 01:09:17(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(コンポーネント化DAC)に `ISOSDacInterface5.GetTieredVersions` を実装し、ネイティブコードバージョンの最適化ティアを分類するAPIを提供します。R2Rイメージの境界チェックとティアード・コンパイル適格性を確認して、各ネイティブコードバージョンを正しいティアに分類します。ティアされていないメソッドやコード生成がないメソッドはUnknownを報告し、コントラクト表面を最小限に保ちます。 @@ -537,7 +537,7 @@ cDAC(コンポーネント化DAC)に `ISOSDacInterface5.GetTieredVersions` - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年03月26日 18:59:19(UTC) - マージ日時: 2026年04月03日 15:03:24(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Compact Data Access Container)データディスクリプタ基盤に型システムを追加しました。従来はC言語のコメント(`/*uint32*/`)で指定されていたフィールド型を、プリプロセッサマクロ(`T_UINT32`、`T_POINTER`、`TYPE(GCHandle)`など)で明示的に表現するようにしました。これにより、型情報のコンパイル時検証が可能になります。 @@ -573,7 +573,7 @@ cDAC(Compact Data Access Container)データディスクリプタ基盤に - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年03月24日 00:20:12(UTC) - マージ日時: 2026年04月03日 00:24:08(UTC) -- ラベル: os-windows area-Interop-coreclr +- ラベル: os-windows area-Interop-coreclr #### 概要 COM→CLR スタブのアーキテクチャを Reverse P/Invoke(UnmanagedCallersOnly)モデルに統合し直すことで、レガシーな動的スタックレイアウト+直接 IL スタブ呼び出しのアプローチを廃止します。これにより、実行可能ヒープ上の `ComMethodTable`/`ComCallMethodDesc` の割り当てと手動アセンブリパッチングが不要になります。 @@ -601,7 +601,7 @@ COM→CLR スタブのアーキテクチャを Reverse P/Invoke(UnmanagedCalle - 作成者: [@hoyosjs](https://github.com/hoyosjs) - 作成日時: 2025年05月30日 23:08:19(UTC) - マージ日時: 2026年04月03日 13:01:56(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 DAC(Debugging Assistant Component)メモリ列挙時に、バインダーが適切に列挙されていない問題を修正します。`dumpobj`実行時にRCWテーブルへのアクセスでDAC障害が発生する潜在的なバグを解決します。 diff --git a/archives/2026/04/04.md b/archives/2026/04/04.md index f47976a..1a9b856 100644 --- a/archives/2026/04/04.md +++ b/archives/2026/04/04.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#126533 Revert FEATURE_CORPROFILER into FEATURE_DYNAMIC_CODE_COMPILED block](#126533) 2. [#126530 Revert "Inline CORINFO_HELP_ARRADDR_ST helper call, remove WriteBarrier FCall"](#126530) 3. [#126497 \[release/11.0-preview3\] Source code updates from dotnet/dotnet](#126497) @@ -38,7 +38,7 @@ - 作成者: [@jkotas](https://github.com/jkotas) - 作成日時: 2026年04月04日 01:43:32(UTC) - マージ日時: 2026年04月04日 05:08:05(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 PR #117583で導入されたJIT側のインライン化・イントリンシック処理を取り除き、stelem.ref配列格納とWriteBarrier処理を従来のパターンに戻すRevartです。RuntimeHelpers.WriteBarrier イントリンシックを削除し、CastHelpers.WriteBarrier をFCALL経由のJIT_WriteBarrier_Callable ヘルパーに置き換えます。これにより#126516の問題を修正することが期待されています。 @@ -62,7 +62,7 @@ PR #117583で導入されたJIT側のインライン化・イントリンシッ - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年04月03日 05:20:18(UTC) - マージ日時: 2026年04月04日 17:49:18(UTC) -- ラベル: Servicing-approved area-Infrastructure-libraries +- ラベル: Servicing-approved area-Infrastructure-libraries #### 概要 dotnet/dotnetから.NET 11.0 Preview 3リリース用のソースコードを同期するCodeflow更新PRです。主にコンパイラツール、ビルドツール、ランタイムコンポーネント、NuGetツール、WebAssembly関連パッケージの依存関係を更新し、複数のリポジトリ(Arcade、ASP.NET Core、EFCore、Roslyn、SDK等)からの最新コード変更を取り込みます。 @@ -88,7 +88,7 @@ dotnet/dotnetから.NET 11.0 Preview 3リリース用のソースコードを同 - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年04月02日 18:26:24(UTC) - マージ日時: 2026年04月04日 17:28:35(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 WASI(WebAssembly System Interface)プラットフォーム向けに、`getrandom()` が利用できない場合の代替手段として `getentropy()` を `minipal/random.c` に追加します。wasi-libc は `getentropy()` を `__wasi_random_get()` で実装しており、既に C ランタイムで使用されているため、これを活用して `RandomNumberGenerator.Fill()` が WASI で動作するようにします。CMake のシンボル検出機能を使用することで、WASI に限らず `getentropy()` を持つ他のプラットフォームにも対応します。 @@ -113,7 +113,7 @@ WASI(WebAssembly System Interface)プラットフォーム向けに、`getra - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月31日 00:33:08(UTC) - マージ日時: 2026年04月04日 01:40:17(UTC) -- ラベル: area-System.Diagnostics.Process tenet-performance size-reduction +- ラベル: area-System.Diagnostics.Process tenet-performance size-reduction #### 概要 System.Diagnostics.Process の NativeAOT トリミング性を向上させるため、リモートマシン対応をレイジー初期化し、ローカルプロセス列挙用の専用エントリポイントを追加しました。従来、`Process.Start("notepad.exe").WaitForExit()` のような単純な使用でもリーチング可能性の連鎖により PerformanceCounterLib やリモートレジストリ機能が含まれていたものを、遅延初期化デリゲート技法により分離します。Win-x64 NativeAOT アプリで約 22% (340kB) のコード削減を実現しました。 @@ -146,7 +146,7 @@ System.Diagnostics.Process の NativeAOT トリミング性を向上させるた - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月30日 05:03:50(UTC) - マージ日時: 2026年04月04日 05:16:31(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/xharnessの依存パッケージをプレリリース版からアップデートしています。Microsoft.DotNet.XHarness.CLI、Microsoft.DotNet.XHarness.TestRunners.Common、Microsoft.DotNet.XHarness.TestRunners.Xunitが11.0.0-prerelease.26169.1から11.0.0-prerelease.26173.1にアップデートされました。 @@ -171,7 +171,7 @@ dotnet/xharnessの依存パッケージをプレリリース版からアップ - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年03月27日 19:31:37(UTC) - マージ日時: 2026年04月04日 15:01:22(UTC) -- ラベル: area-VM-coreclr community-contribution +- ラベル: area-VM-coreclr community-contribution #### 概要 MethodDescCallSiteをUnboxedCallOp(UCO)に変換し、エントリーポイントでの呼び出しを最適化するPRです。スレッド開始時の`RunMainInternal`とメソッド呼び出し時の`CorHost2::ExecuteAssembly`を対象としており、[#123864](https://github.com/dotnet/runtime/issues/123864)の優先度3項目を実装しています。 @@ -202,7 +202,7 @@ MethodDescCallSiteをUnboxedCallOp(UCO)に変換し、エントリーポイン - 作成者: [@ericstj](https://github.com/ericstj) - 作成日時: 2026年03月24日 02:55:30(UTC) - マージ日時: 2026年04月04日 00:41:48(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 Breaking Change ドキュメンテーション自動化ワークフローをレガシーな PowerShell スクリプト + 従来の GitHub Actions ワークフローから GitHub Agentic Workflow(gh-aw)ベースの実装に移行します。新しいアプローチでは、専用の `breaking-change-doc` スキルとヘルパースクリプトを使用して、PR の破壊的変更に関するドキュメント生成を自動化します。 @@ -231,7 +231,7 @@ Breaking Change ドキュメンテーション自動化ワークフローをレ - 作成者: [@sethjackson](https://github.com/sethjackson) - 作成日時: 2026年03月22日 01:35:32(UTC) - マージ日時: 2026年04月04日 04:40:17(UTC) -- ラベル: area-PAL-coreclr community-contribution os-openbsd +- ラベル: area-PAL-coreclr community-contribution os-openbsd #### 概要 OpenBSDがcgroupsをサポートしていないことを明示するための修正です。併せて`HAVE_NON_LEGACY_STATFS`の問題も修正しています。 diff --git a/archives/2026/04/06.md b/archives/2026/04/06.md index 5424891..d4f3bf7 100644 --- a/archives/2026/04/06.md +++ b/archives/2026/04/06.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#126581 Refresh remaining docs for #126122](#126581) 2. [#126573 \[release/8.0\] Update markdownlint workflow to Node LTS](#126573) 3. [#126528 \[release/8.0\] Update WebAssembly Helix image versions](#126528) @@ -21,7 +21,7 @@ - 作成者: [@richlander](https://github.com/richlander) - 作成日時: 2026年04月06日 17:13:34(UTC) - マージ日時: 2026年04月06日 17:21:35(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 ドキュメント整理PRの後続対応として、WebAssemblyとFreeBSD クロスビルド関連のドキュメントを更新。Ubuntu 18.04時代の古いガイダンスをAzure Linuxベースの現在の前提条件イメージと`dotnet/versions`参照に置き換えました。テスト対象はドキュメントのみです。 @@ -43,7 +43,7 @@ AI/Copilot生成のPR。Tizenおよびストレステストのドキュメント - 作成者: [@richlander](https://github.com/richlander) - 作成日時: 2026年04月06日 06:11:51(UTC) - マージ日時: 2026年04月06日 16:56:29(UTC) -- ラベル: Servicing-approved area-Infrastructure +- ラベル: Servicing-approved area-Infrastructure #### 概要 release/8.0ブランチのMarkdownlintワークフローをNode.js LTSで実行するように更新しました。従来のNode 16ランタイムで動作していたmarkdownlint-cliの失敗を解決するための変更です。 @@ -68,7 +68,7 @@ release/8.0ブランチのMarkdownlintワークフローをNode.js LTSで実行 - 作成者: [@richlander](https://github.com/richlander) - 作成日時: 2026年04月04日 00:20:36(UTC) - マージ日時: 2026年04月06日 05:58:18(UTC) -- ラベル: Servicing-approved area-Infrastructure +- ラベル: Servicing-approved area-Infrastructure #### 概要 release/8.0ブランチのWebAssembly(WASI + Browser)Helix キュー用コンテナイメージ参照をUbuntu 26.04 WebAssembly前提条件イメージに更新するバックポートです。WASI、Browser WASM、およびBrowser WASM Firefoxのテスト環境を新しいWebAssemblyコンテナベースラインに統一します。 @@ -94,7 +94,7 @@ release/8.0ブランチのWebAssembly(WASI + Browser)Helix キュー用コ - 作成者: [@richlander](https://github.com/richlander) - 作成日時: 2026年04月04日 00:19:48(UTC) - マージ日時: 2026年04月06日 05:57:06(UTC) -- ラベル: Servicing-approved area-Infrastructure +- ラベル: Servicing-approved area-Infrastructure #### 概要 release/9.0 ブランチの WebAssembly(WASI および Browser)テスト実行環境を、Ubuntu 26.04 ベースの公開 WebAssembly イメージに更新します。WASI、Browser WASM、Browser WASM Firefox のテスト環境が新しい Helix キューイメージを使用するようになります。 @@ -122,7 +122,7 @@ release/9.0 ブランチの WebAssembly(WASI および Browser)テスト実 - 作成者: [@richlander](https://github.com/richlander) - 作成日時: 2026年04月04日 00:18:55(UTC) - マージ日時: 2026年04月06日 16:57:48(UTC) -- ラベル: Servicing-approved area-Infrastructure +- ラベル: Servicing-approved area-Infrastructure #### 概要 release/10.0ブランチのWebAssembly(WASI・Browser)Helix テストキューのコンテナイメージバージョンをUbuntu 26.04に更新します。これにより古いUbuntu 22.04/24.04イメージの使用を回避し、公開パイプラインと内部パイプラインの正しいキュー識別子(`.Open`サフィックス)の使い分けを実現します。 @@ -150,7 +150,7 @@ release/10.0ブランチのWebAssembly(WASI・Browser)Helix テストキュ - 作成者: [@richlander](https://github.com/richlander) - 作成日時: 2026年04月03日 23:40:52(UTC) - マージ日時: 2026年04月06日 05:46:32(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 WebAssembly/WASI Helix テストインフラを Ubuntu 26.04 の最新プリレクイサイトイメージに更新し、公開 Helix キュー識別子を `.Open` サフィックス規約に統一するメンテナンスPRです。Ubuntu 22.04 の「oldest」カバレッジスロットは保持されます。 @@ -175,7 +175,7 @@ WebAssembly/WASI Helix テストインフラを Ubuntu 26.04 の最新プリレ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月03日 20:55:52(UTC) - マージ日時: 2026年04月06日 18:32:40(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 crossgen2に新しいコマンドラインオプション `--rtr-header-symbol-name` を追加し、複合ReadyToRun(R2R)イメージの出力シンボル名をカスタマイズできるようにします。デフォルトは `RTR_HEADER` で、複数のR2Rイメージを直接リンクするカスタムホストでシンボル衝突を回避する必要がある場合に使用されます。 @@ -203,7 +203,7 @@ crossgen2に新しいコマンドラインオプション `--rtr-header-symbol-n - 作成者: [@bartonjs](https://github.com/bartonjs) - 作成日時: 2026年04月03日 19:40:52(UTC) - マージ日時: 2026年04月06日 16:37:30(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 PKCS#12 SafeContentsBag のデコード処理を再帰的な実装から反復的(スタックベース)な実装に変更し、深くネストされた構造でのスタックオーバーフローを防ぎます。深さ3333のネストされたPFXをデコードするリグレッションテストも追加されます。 @@ -226,7 +226,7 @@ PKCS#12 SafeContentsBag のデコード処理を再帰的な実装から反復 - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年04月02日 16:49:15(UTC) - マージ日時: 2026年04月06日 05:38:08(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 X86Base のハードウェア組み込み関数テストにおいて、インタープリタ実行時の `PlatformNotSupportedException` を回避するため、`X86Base.CpuId` 呼び出し前に `X86Base.IsSupported` チェックを追加しました。 @@ -248,7 +248,7 @@ X86Base のハードウェア組み込み関数テストにおいて、インタ - 作成者: [@ViveliDuCh](https://github.com/ViveliDuCh) - 作成日時: 2026年04月01日 18:58:16(UTC) - マージ日時: 2026年04月06日 17:35:02(UTC) -- ラベル: area-System.IO +- ラベル: area-System.IO #### 概要 `DirectoryNotFoundException`に`DirectoryPath`プロパティを追加し、`FileNotFoundException.FileName`と同じパターンで欠落ディレクトリパスへのアクセスを可能にします。新しいコンストラクタ、`ToString()`オーバーライド、シリアライゼーションサポートを実装し、ランタイム内の18箇所のスロー箇所でディレクトリパスを渡すよう更新しました。 @@ -276,7 +276,7 @@ X86Base のハードウェア組み込み関数テストにおいて、インタ - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年03月31日 22:49:29(UTC) - マージ日時: 2026年04月06日 21:40:54(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT の依存関係追跡を調整し、外部型マップエントリの trim 対象型が正規形を持つ場合に、その正規形に対応するテンプレート型レイアウトを到達可能な状態で保持するようにします。これにより、外部型マップエントリで保持される trim 対象型が正規形を持つ際に、対応するテンプレートレイアウトも確実に存在するようになります。 @@ -299,7 +299,7 @@ NativeAOT コンパイラの内部実装(依存関係分析)の改善です - 作成者: [@mthalman](https://github.com/mthalman) - 作成日時: 2026年03月23日 17:56:03(UTC) - マージ日時: 2026年04月06日 15:37:30(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 Renovateサポートを追加し、コンテナイメージの依存関係を自動的に最新の状態に保つパイプラインを実装します。初期設定ではコンテナイメージのダイジェストピニング(digest pinning)を使用し、`pipeline-with-resources.yml`で参照されるイメージの更新を自動化します。Helixイメージも含めてダイジェストピニングに対応しています。 @@ -323,7 +323,7 @@ Renovateサポートを追加し、コンテナイメージの依存関係を自 - 作成者: [@saucecontrol](https://github.com/saucecontrol) - 作成日時: 2026年03月20日 08:42:49(UTC) - マージ日時: 2026年04月06日 16:32:36(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 古いSIMD型(Vector2/Vector3)がHWIntrinsicsに移行したため、JITコンパイラに残存していた死活コード(未使用のlowering処理)を削除するクリーンアップです。 @@ -347,7 +347,7 @@ Renovateサポートを追加し、コンテナイメージの依存関係を自 - 作成者: [@jtschuster](https://github.com/jtschuster) - 作成日時: 2026年03月12日 01:43:47(UTC) - マージ日時: 2026年04月06日 18:56:38(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 ReadyToRun (R2R) コンパイル時に非同期メソッドのインライン化を制限していた制約を削除します。これにより、await を含まない非同期メソッドはコンパイル時にインライン化されるようになります。69個すべての非同期テストが crossgen2 および composite R2R で合格しており、実装の妥当性が確認されています。 @@ -375,7 +375,7 @@ await を含まない非同期メソッドのインライン化により、メ - 作成者: [@Venkad000](https://github.com/Venkad000) - 作成日時: 2026年01月21日 16:51:14(UTC) - マージ日時: 2026年04月06日 16:53:44(UTC) -- ラベル: area-VM-meta-mono community-contribution +- ラベル: area-VM-meta-mono community-contribution #### 概要 Monoランタイムでカスタム属性値を読み込む際に、`MONO_TYPE_GENERICINST`型に対して`m_type_data_get_klass()`を無条件に呼び出すことによるクラッシュを修正しました。ジェネリック列挙型インスタンスを含むカスタム属性のデコード時にクラッシュが発生していましたが、この修正によりCoreClrと同じ動作になります。 @@ -420,7 +420,7 @@ unsafe class C { } - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2025年11月26日 19:38:44(UTC) - マージ日時: 2026年04月06日 13:20:10(UTC) -- ラベル: area-System.Linq +- ラベル: area-System.Linq #### 概要 LINQ の `Join`、`LeftJoin`、`RightJoin` に対して、`resultSelector` ラムダを省略できるタプル返却オーバーロードを追加します。これにより、結合結果をシンプルに取得できます。 diff --git a/archives/2026/04/07.md b/archives/2026/04/07.md index 66e0d85..f9e4478 100644 --- a/archives/2026/04/07.md +++ b/archives/2026/04/07.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#126601 \[wasm\]\[coreclr\] Fix Regressions test crash by increasing Node.js stack size](#126601) 2. [#126578 Add Utf8JsonWriter.Reset overloads accepting JsonWriterOptions](#126578) 3. [#126475 Reset frameNeedsTailcallUpdate when we don't call interp code](#126475) @@ -15,7 +15,7 @@ - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年04月07日 11:25:45(UTC) - マージ日時: 2026年04月07日 15:20:03(UTC) -- ラベル: arch-wasm area-Infrastructure-coreclr +- ラベル: arch-wasm area-Infrastructure-coreclr #### 概要 WebAssembly(WASM)上でNode.jsを経由してCoreC LRテストを実行する際、多数のアセンブリロードと深い再帰的例外処理(フィルタ関数)により、V8 JavaScriptコールスタックがオーバーフローしてテストがクラッシュする問題を修正します。Node.jsスタックサイズをデフォルト(約1MB)から8MBに増やすことで解決します。 @@ -39,7 +39,7 @@ WebAssembly(WASM)上でNode.jsを経由してCoreC LRテストを実行す - 作成者: [@eiriktsarpalis](https://github.com/eiriktsarpalis) - 作成日時: 2026年04月06日 16:08:55(UTC) - マージ日時: 2026年04月07日 10:17:21(UTC) -- ラベル: area-System.Text.Json +- ラベル: area-System.Text.Json #### 概要 `Utf8JsonWriter.Reset`メソッドに`JsonWriterOptions`パラメータを受け入れるオーバーロードを追加します。`Stream`と`IBufferWriter`の両方の出力に対応し、リセット時にWriterオプションを再構成可能にします。既存の`Dispose`、`CheckNotDisposed`、内部シリアライザキャッシュの動作は変更されません。 @@ -66,7 +66,7 @@ Copilotによる指摘として、`ConfigureForCacheReuse`メソッド内の`buf - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年04月02日 15:57:31(UTC) - マージ日時: 2026年04月07日 18:22:53(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 インタープリタの末尾呼び出し(tailcall)状態管理のバグ修正です。`frameNeedsTailcallUpdate`フラグがコンパイル済みコードやアンマネージドコード呼び出し後にリセットされずに残ったため、その後の末尾呼び出しでない操作コード(例:`INTOP_NEWOBJ`)が誤って末尾呼び出しのフレーム更新を実行してしまう問題を修正しました。 @@ -92,7 +92,7 @@ Copilotによる指摘として、`ConfigureForCacheReuse`メソッド内の`buf - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月01日 23:24:49(UTC) - マージ日時: 2026年04月07日 17:07:08(UTC) -- ラベル: area-HostModel +- ラベル: area-HostModel #### 概要 ホストモデルのバンドリングAPI(`Bundler`と`TargetInfo`)をリファクタリングし、ターゲットOSとアーキテクチャを必須パラメータに変更しました。これまでのホスト環境からのフォールバック推論ロジックを削除し、より明示的で予測可能な動作を実現します。テストユーティリティも対応する変更が加えられています。 @@ -118,7 +118,7 @@ Copilotによる指摘として、`ConfigureForCacheReuse`メソッド内の`buf - 作成者: [@dhartglassMSFT](https://github.com/dhartglassMSFT) - 作成日時: 2026年04月01日 22:36:02(UTC) - マージ日時: 2026年04月07日 01:34:14(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 ARM64 JITコンプレッシュで、RMW(Read-Modify-Write)セマンティクスを持つHWIntrinsics(非定数イミディエート使用)のコード生成時に、ジャンプテーブルのエントリサイズ計算が実際に出力される命令数と一致していなかった問題を修正しました。RMW操作の`mov`命令が各ジャンプテーブルの分岐に重複出力されるようになったため、`HWIntrinsicImmOpHelper`に明示的な命令数を指定する必要がありました。 @@ -141,7 +141,7 @@ ARM64 JITコンプレッシュで、RMW(Read-Modify-Write)セマンティク - 作成者: [@Youssef1313](https://github.com/Youssef1313) - 作成日時: 2026年04月01日 15:12:45(UTC) - マージ日時: 2026年04月07日 11:05:52(UTC) -- ラベル: linkable-framework area-Tools-ILLink +- ラベル: linkable-framework area-Tools-ILLink #### 概要 Mono.Linker.Tests プロジェクトのテストフレームワークを NUnit から MSTest に移行しました。テスト属性、テストケースデータの供給方法、プロジェクト設定、アセンブリレベルの並列化設定を更新し、MSTest ランナーを採用しています。 @@ -167,7 +167,7 @@ Mono.Linker.Tests プロジェクトのテストフレームワークを NUnit - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年04月01日 00:15:00(UTC) - マージ日時: 2026年04月07日 23:18:42(UTC) -- ラベル: arch-wasm area-crossgen2-coreclr +- ラベル: arch-wasm area-crossgen2-coreclr #### 概要 WebcilファイルをReadyToRun(R2R)として読み込むためのサポートを追加するPRです。Webcil v1ヘッダーに`TableBase`フィールドを追加し、WASM実行環境のインポート方法を変更(`"env"`から`"webcil"`へ)、cDACのWebcil解析をスペック定義の固定オフセットに基づく実装に更新しました。 @@ -194,7 +194,7 @@ Copilotレビューで複数の低信度指摘あり:WebcilEncoder.EmitHeader - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年03月27日 14:34:47(UTC) - マージ日時: 2026年04月07日 15:01:59(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 R2R(Ready-to-Run)コンパイル時に`Comparer.Default`と`EqualityComparer.Default`の初期化をIntrinsic化し、リフレクションベースのコンパラー構築を排除する変更です。これにより、R2Rコンパイラが各ジェネリック型の特殊化されたヘルパーを認識し、実行時の解釈を防ぐことができます。 @@ -221,7 +221,7 @@ R2R(Ready-to-Run)コンパイル時に`Comparer.Default`と`EqualityCompa - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年03月23日 04:40:30(UTC) - マージ日時: 2026年04月07日 23:57:48(UTC) -- ラベル: linkable-framework area-Tools-ILLink +- ラベル: linkable-framework area-Tools-ILLink #### 概要 `UnsafeMethodMissingRequiresUnsafeAnalyzer.cs`のコード形式を ILLink.RoslynAnalyzer プロジェクトのコーディング規約に統一する変更です。メソッド呼び出し/宣言前の空白を削除し、K&R形式の波括弧をAllman形式に統一して、プロジェクト全体のコードスタイルの一貫性を改善します。 @@ -244,7 +244,7 @@ R2R(Ready-to-Run)コンパイル時に`Comparer.Default`と`EqualityCompa - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2025年11月26日 19:38:52(UTC) - マージ日時: 2026年04月07日 07:37:28(UTC) -- ラベル: area-System.Linq +- ラベル: area-System.Linq #### 概要 LINQ の `GroupJoin` メソッドに新しいオーバーロードを追加します。従来のオーバーロードで必須だった結果セレクターを廃止し、`IGrouping` を直接返すシンプルな API を提供します。`Enumerable`、`Queryable`、`AsyncEnumerable` の3つのクラスに対応します。 diff --git a/archives/2026/04/08.md b/archives/2026/04/08.md index 686b5bd..5ffc190 100644 --- a/archives/2026/04/08.md +++ b/archives/2026/04/08.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#126644 Fix decimal NumberStyles validation](#126644) 2. [#126624 Revert "Add GroupJoin overload returning IGrouping"](#126624) 3. [#126618 Fix missing error handling in SafeFileHandle.Type on Windows](#126618) @@ -27,7 +27,7 @@ - 作成者: [@lilinus](https://github.com/lilinus) - 作成日時: 2026年04月08日 13:45:48(UTC) - マージ日時: 2026年04月08日 18:55:01(UTC) -- ラベル: area-System.Globalization community-contribution +- ラベル: area-System.Globalization community-contribution #### 概要 `decimal.Parse`と`decimal.TryParse`のNumberStyles検証を修正し、`AllowHexSpecifier`と`AllowBinarySpecifier`スタイルを正しく拒否するようにしました。UTF-16とUTF-8の両方のパースAPI間で動作を統一し、#126643を解決します。 @@ -51,7 +51,7 @@ - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年04月08日 03:46:27(UTC) - マージ日時: 2026年04月08日 07:34:10(UTC) -- ラベル: area-System.Linq +- ラベル: area-System.Linq #### 概要 PR #121999で追加されたGroupJoin オーバーロード(IGrouping を返す)機能をリバートします。このPRは CI 停止中にマージされており、System.Linq.AsyncEnumerable のテストでコンパイルエラーが発生しています。 @@ -78,7 +78,7 @@ PR #121999で追加されたGroupJoin オーバーロード(IGrouping を返 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月07日 20:44:21(UTC) - マージ日時: 2026年04月08日 06:42:10(UTC) -- ラベル: area-System.IO +- ラベル: area-System.IO #### 概要 Windows上での`SafeFileHandle.Type`プロパティの不具合を修正。従来は無効なハンドルに対して`FileHandleType.Unknown`を無条件に返していましたが、本修正により`GetFileType`が`FILE_TYPE_UNKNOWN`を返した際に`GetLastError`をチェックして、実際のエラーが発生している場合は例外をスローするようになります。 @@ -102,7 +102,7 @@ Windows上での`SafeFileHandle.Type`プロパティの不具合を修正。従 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月07日 19:02:37(UTC) - マージ日時: 2026年04月08日 04:41:36(UTC) -- ラベル: area-HostModel +- ラベル: area-HostModel #### 概要 PR #126437で削除されたFreeBSD `OSPlatform`拡張メソッドの残存コードを削除するクリーンアップPRです。`TargetInfo.cs`の`PlatformExtensions`内で定義されながら使用されていないFreeBSD `OSPlatform`拡張ブロックを削除し、引き続き使用されている`Architecture.LoongArch64`拡張ブロックは保持します。 @@ -125,7 +125,7 @@ PR #126437で削除されたFreeBSD `OSPlatform`拡張メソッドの残存コ - 作成者: [@rzikm](https://github.com/rzikm) - 作成日時: 2026年04月07日 15:00:55(UTC) - マージ日時: 2026年04月08日 08:12:34(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 AzureLinux 3 VMs上でMsQuicがメモリ不足エラー(`QUIC_STATUS_OUT_OF_MEMORY`)で失敗するため、HTTP/3機能テストを無効化します。既存のQUICテスト側での対策に合わせて、HTTP/3テスト用のサポートゲート条件に`IsNotAzureLinux3VM`チェックを追加することで、該当環境でのテストスキップを実現します。 @@ -149,7 +149,7 @@ AzureLinux 3 VMs上でMsQuicがメモリ不足エラー(`QUIC_STATUS_OUT_OF_ME - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月07日 12:05:01(UTC) - マージ日時: 2026年04月08日 08:09:28(UTC) -- ラベル: area-System.Net +- ラベル: area-System.Net #### 概要 `SmtpException.GetMessageForStatus`が未定義のステータスコード(初期化されていない`_statusCode`など)に対して誤って"Syntax error, command unrecognized."というメッセージを返していた問題を修正しました。未定義のステータスコードと定義済みながらマッピングされていなかったステータスコードを区別し、それぞれ適切なメッセージを返すようになります。 @@ -179,7 +179,7 @@ AzureLinux 3 VMs上でMsQuicがメモリ不足エラー(`QUIC_STATUS_OUT_OF_ME - 作成者: [@LuckyXu-HF](https://github.com/LuckyXu-HF) - 作成日時: 2026年04月07日 03:01:17(UTC) - マージ日時: 2026年04月08日 14:34:49(UTC) -- ラベル: area-VM-coreclr community-contribution arch-loongarch64 +- ラベル: area-VM-coreclr community-contribution arch-loongarch64 #### 概要 LoongArch64アーキテクチャにおいて、`SoftwareExceptionFrame::UpdateContextFromTransitionBlock()`内の浮動小数点レジスタコピー処理を修正しました。このPRは例外処理時のレジスタコンテキスト更新で、浮動小数点レジスタが正しく保存・復元されることを確保します。 @@ -202,7 +202,7 @@ LoongArch64アーキテクチャにおいて、`SoftwareExceptionFrame::UpdateCo - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月06日 23:41:45(UTC) - マージ日時: 2026年04月08日 16:49:46(UTC) -- ラベル: area-Infrastructure-coreclr runtime-async +- ラベル: area-Infrastructure-coreclr runtime-async #### 概要 CoreCLR の `System.Private.CoreLib` に対して `runtime-async=on` Roslyn 機能フラグを有効化し、既に `src/libraries` で有効化されているランタイム非同期機能を CoreCLR 側に合わせます。riscv64、loongarch64、および Mono ランタイムフレーバーは除外されます。 @@ -225,7 +225,7 @@ CoreCLR の `System.Private.CoreLib` に対して `runtime-async=on` Roslyn 機 - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年04月06日 20:59:36(UTC) - マージ日時: 2026年04月08日 21:27:48(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 CoreCLR JITの線形コード生成ロジックをリファクタリングし、関数本体(funclet)の反復処理を既存の `Compiler::Funcs()` / `FuncInfoDsc::Blocks()` レンジベースの反復子を使用するように変更します。これにより、`BBJ_CALLFINALLY`ブロック後のスキップ処理を廃止し、代わりにコード生成時に`BBJ_CALLFINALLYRET`ブロックをスキップする仕様に統一します。 @@ -249,7 +249,7 @@ CoreCLR JITの線形コード生成ロジックをリファクタリングし、 - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年04月05日 12:59:33(UTC) - マージ日時: 2026年04月08日 19:05:33(UTC) -- ラベル: area-System.Text.RegularExpressions +- ラベル: area-System.Text.RegularExpressions #### 概要 正規表現コンパイラおよびソースジェネレータにおいて、ループ内の条件式で`resumeAt`がリセットされない問題を修正。この問題により、コンパイル/ソースコード生成された正規表現での複数マッチの結果が不正確になっていました。`EmitExpressionConditional`をループ内で実行される各ブランチごとに`resumeAt`をリセットするよう更新。 @@ -272,7 +272,7 @@ CoreCLR JITの線形コード生成ロジックをリファクタリングし、 - 作成者: [@AaronRobinsonMSFT](https://github.com/AaronRobinsonMSFT) - 作成日時: 2026年04月04日 18:54:36(UTC) - マージ日時: 2026年04月08日 18:08:13(UTC) -- ラベル: arch-wasm area-Diagnostics-coreclr +- ラベル: arch-wasm area-Diagnostics-coreclr #### 概要 `clrfeatures.cmake`の`FEATURE_CORPROFILER`フラグロジックをリファクタリング。ICorProfilerサポートを、プロファイリングが非サポートのプラットフォーム(Android、iOS、Mac Catalyst、tvOS、WASM)でデフォルト無効化しつつ、コマンドラインからのオーバーライドを可能にします。 @@ -296,7 +296,7 @@ CoreCLR JITの線形コード生成ロジックをリファクタリングし、 - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年04月03日 21:24:33(UTC) - マージ日時: 2026年04月08日 23:07:37(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 XUnitWrapperGeneratorにおける`SkipOnCoreClrAttribute`の処理を修正しました。属性で1つのディメンション(例:`RuntimeTestModes.InterpreterActive`)のみを指定した場合、他のディメンションが`Any`値のままになり、結果として`false`のプラットフォーム条件が生成され、スタンドアロンランナーでテスト本体が到達不可能なデッドコードになる問題を解決しています。 @@ -318,7 +318,7 @@ XUnitWrapperGeneratorにおける`SkipOnCoreClrAttribute`の処理を修正し - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年04月02日 02:03:04(UTC) - マージ日時: 2026年04月08日 21:16:20(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssemblyターゲット向けのJITコンパイラに関数レット(funclet)のレジスタ割り当て機能を実装します。関数レットごとに独立したレジスタ割り当て状態(SP/FP/例外レジスタ)、ローカル変数宣言、およびプロログコード生成を追加し、例外処理リージョンが独自のWasmローカルレイアウトで生成できるようにします。 @@ -345,7 +345,7 @@ WebAssemblyターゲット向けのJITコンパイラに関数レット(funcle - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年03月31日 20:53:22(UTC) - マージ日時: 2026年04月08日 14:25:51(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 Wasm RyuJit のコントロールフロー最適化パイプラインを更新し、複数エントリポイントを持つ try/catch 領域をマルチエントリループとして一時的にモデル化して、既存の SCC-to-single-entry-loop 変換を活用し、Wasm `try_table` コード生成に適した単一エントリフォーム に変換します。 @@ -370,7 +370,7 @@ Wasm RyuJit のコントロールフロー最適化パイプラインを更新 - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年03月31日 05:36:58(UTC) - マージ日時: 2026年04月08日 03:04:41(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 ARM64のインターフェース ディスパッチ キャッシュで、2つの独立したロード命令による制御依存関係の間でのロード再順序化により、破損した読み取り(torn read)が発生する競合状態を修正します。並行スレッドがキャッシュエントリを更新している最中に、古い m_pTargetCode(0)を読み取り、その値にブランチしてしまう問題を、単一の ldp 命令とガード条件を用いて解決します。 @@ -392,7 +392,7 @@ ARM64 の弱いメモリモデル(制御依存関係を跨ぐロード再順 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月30日 14:58:33(UTC) - マージ日時: 2026年04月08日 05:43:37(UTC) -- ラベル: area-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 `ProcessStartInfo.InheritedHandles`プロパティを追加し、子プロセスへのハンドル継承を制限できる新機能です。Windows/Unix両プラットフォームで、親プロセスから子プロセスに継承されるハンドルを選別して制御できるようになります。セキュリティと情報漏洩のリスク軽減を目的とした公開API追加です。 @@ -420,7 +420,7 @@ ARM64 の弱いメモリモデル(制御依存関係を跨ぐロード再順 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月23日 14:30:27(UTC) - マージ日時: 2026年04月08日 20:38:03(UTC) -- ラベル: area-Infrastructure-libraries os-mac-os-x +- ラベル: area-Infrastructure-libraries os-mac-os-x #### 概要 Apple の `NSString compare:options:range:locale:` が特定の Unicode 入力(C1 制御文字 `\u0080`–`\u009F`)に対して非決定的な動作をするため、`StartsWithNoMatch_StringComparison` と `EndsWithNoMatch_StringComparison` テストが macOS で間欠的に失敗する問題を修正します。既存の `[ActiveIssue]` 属性が `IsAppleMobile`(iOS/tvOS)のみをカバーしていた gap を解決し、macOS にも対応させます。 @@ -450,7 +450,7 @@ Span.StartsWith: length=3, mismatchIndex=1, comp=CurrentCulture, chars=(2,3), - 作成者: [@VSadov](https://github.com/VSadov) - 作成日時: 2026年03月22日 00:23:59(UTC) - マージ日時: 2026年04月08日 13:40:47(UTC) -- ラベル: area-VM-coreclr runtime-async +- ラベル: area-VM-coreclr runtime-async #### 概要 `Task`を返すベースメソッドを`Task`を返すオーバーライドメソッドで共変オーバーライドする場合のサポートを追加するもの。非同期コンテキストで`void`を返すベースと`T`を返す派生が衝突する問題に対して、`T`の結果を無視する特別な`void`返却スロップシンク(return-dropping thunk)を導入し、仮想呼び出しのエラーを解決します。これはIssue [#124238](https://github.com/dotnet/runtime/issues/124238)に貢献するものです。 @@ -479,7 +479,7 @@ Span.StartsWith: length=3, mismatchIndex=1, comp=CurrentCulture, chars=(2,3), - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年03月17日 11:37:00(UTC) - マージ日時: 2026年04月08日 12:39:30(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 Composite ReadyToRun (R2R) 出力で、正常にコンパイルされたメソッドのILボディを最小限のスタブに置換する `--strip-il-bodies` オプションをcrossgen2に追加します。IL インタプリタフォールバックが不要なシナリオ(iOS/MacCatalyst等のAppleプラットフォーム)において、アセンブリサイズを削減します。 @@ -506,7 +506,7 @@ Composite ReadyToRun (R2R) 出力で、正常にコンパイルされたメソ - 作成者: [@snickolls-arm](https://github.com/snickolls-arm) - 作成日時: 2026年03月05日 16:08:27(UTC) - マージ日時: 2026年04月08日 22:42:46(UTC) -- ラベル: area-CodeGen-coreclr community-contribution arm-sve +- ラベル: area-CodeGen-coreclr community-contribution arm-sve #### 概要 SVE(Scalable Vector Extension)対応の`Vector`に対するハードウェア組み込み関数(HWIntrinsic)のサポートを追加します。空の組み込み関数テーブルを作成し、インポート時にこれらの組み込み関数を認識するためのプランビング処理を実装しています。 @@ -531,7 +531,7 @@ SVE(Scalable Vector Extension)対応の`Vector`に対するハードウ - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年02月11日 12:34:47(UTC) - マージ日時: 2026年04月08日 12:50:36(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 Apple プラットフォームのシンボルストリッピング(dsymutil処理)を再度有効化するPRです。Apple の事前構築 Swift ランタイムライブラリに含まれる DWARF デバッグ情報が、ビルドマシンにのみ存在する `.pcm` モジュールキャッシュファイルへの参照を持つことで `dsymutil` が標準エラー出力を発生させる問題に対応します。これまでの `StripSymbols=false` というワークアラウンドを削除し、代わりに `dsymutil` の Exec タスクで `IgnoreStandardErrorWarningFormat="true"` を設定して、エラーメッセージを無視しつつ非ゼロ終了コードで実際の失敗を検出するよう改善します。 @@ -556,7 +556,7 @@ Apple プラットフォームのシンボルストリッピング(dsymutil処 - 作成者: [@RenderMichael](https://github.com/RenderMichael) - 作成日時: 2025年09月19日 12:44:04(UTC) - マージ日時: 2026年04月08日 10:29:10(UTC) -- ラベル: area-System.Diagnostics.EventLog community-contribution +- ラベル: area-System.Diagnostics.EventLog community-contribution #### 概要 `System.Diagnostics.EventLog`ライブラリにNullable Reference Types (NRT)のアノテーションを追加し、nullability意図を明確に表現することで型安全性を向上させるPRです。パラメータ、戻り値、フィールド、プロパティに対して`?`アノテーションを追加し、プロジェクトファイルの`disable`を削除してNRT検査を有効化しました。 diff --git a/archives/2026/04/09.md b/archives/2026/04/09.md index 0959d79..f4a7461 100644 --- a/archives/2026/04/09.md +++ b/archives/2026/04/09.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#126709 \[wasm\]\[coreclr\] Implement webcil V1 support in WebcilConverter and readers](#126709) 2. [#126694 Fix RemoteExecutor-dependent tests failing on platforms where RemoteExecutor is unsupported](#126694) 3. [#126686 Update comment for Async covariant return issue](#126686) @@ -42,7 +42,7 @@ - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年04月09日 14:27:27(UTC) - マージ日時: 2026年04月09日 21:36:52(UTC) -- ラベル: arch-wasm area-Infrastructure-coreclr +- ラベル: arch-wasm area-Infrastructure-coreclr #### 概要 Webcil形式のバージョン1(V1)対応を実装するPRです。先行するPR #126388でWebcil共有ライブラリがバージョン0からバージョン1に更新されたため、WebcilConverter、WebcilReader、およびMonoローダーをV0/V1の両方に対応させます。V0は28バイト、V1は32バイト(TableBaseフィールド追加)のヘッダサイズに対応し、後方互換性を維持しながらV1対応を実現します。 @@ -70,7 +70,7 @@ Webcil形式のバージョン1(V1)対応を実装するPRです。先行す - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月09日 08:05:03(UTC) - マージ日時: 2026年04月09日 13:20:28(UTC) -- ラベル: area-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 `RemoteExecutor`がサポートされていないプラットフォーム(NanoServer等のReadyToRun構成)において、`RemoteExecutor`に依存するテストが`PlatformNotSupportedException`をスローして失敗する問題を修正しました。テストを適切にスキップするよう、条件付き実行属性で保護しました。 @@ -92,7 +92,7 @@ Webcil形式のバージョン1(V1)対応を実装するPRです。先行す - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年04月09日 02:29:29(UTC) - マージ日時: 2026年04月09日 12:56:23(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 非同期共変戻り値機能に関するNativeAOT対応の状況を追跡するために、テストプロジェクトのコメントを更新しました。汎用的な「NYI(Not Yet Implemented)」記述を、追跡対象の具体的なランタイムIssueへのリンクに置き換えています。 @@ -113,7 +113,7 @@ Webcil形式のバージョン1(V1)対応を実装するPRです。先行す - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月09日 02:20:01(UTC) - マージ日時: 2026年04月09日 20:52:02(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 `Thread::m_pInterpThreadContext` フィールドを `Thread` クラスの末尾から先頭付近の安定した位置に移動させることで、ビルド構成によって変動していたアセンブリオフセットを固定化します。これにより、アーキテクチャ固有のアセンブリコード(asmconstants.h)におけるオフセット定義の変更を最小限に抑え、ビルド互換性を向上させます。 @@ -139,7 +139,7 @@ Webcil形式のバージョン1(V1)対応を実装するPRです。先行す - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月08日 22:55:38(UTC) - マージ日時: 2026年04月09日 22:59:36(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 `PEDecoder` クラスの `const` メソッド内で使用されていた8か所の `const_cast` を削除し、キャッシュフィールドを `mutable` として宣言することで、const-correctness を改善します。動作やメモリレイアウトに変更はなく、コンパイル時の型安全性向上のみです。 @@ -162,7 +162,7 @@ Webcil形式のバージョン1(V1)対応を実装するPRです。先行す - 作成者: [@danmoseley](https://github.com/danmoseley) - 作成日時: 2026年04月08日 22:06:19(UTC) - マージ日時: 2026年04月09日 15:40:40(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 `OleTxTests.Recovery`がMSDTC待機時にインターミッテントにハング(20分以上)する問題に対処するため、スキップ属性を削除し、5分のタイムアウト後に`Environment.FailFast`を実行するウォッチドッグスレッドを追加します。これにより、通常のCoreCLR実行時の失敗を検出しつつ、ハング診断用のクラッシュダンプを取得できます。 @@ -197,7 +197,7 @@ finally { testCompleted.Set(); } - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月08日 21:07:19(UTC) - マージ日時: 2026年04月09日 06:21:39(UTC) -- ラベル: area-System.IO +- ラベル: area-System.IO #### 概要 Windows Arm64環境で`WindowsAlternateDataStreamOverwrite`テストが断続的に`CopyFileEx`から`ERROR_INVALID_PARAMETER`エラーで失敗する問題に対応します。`[ActiveIssue]`属性を使用してWindows Arm64プラットフォーム上でのみテストをスキップし、他のプラットフォームではテスト実行を継続します。 @@ -223,7 +223,7 @@ Windows Arm64環境で`WindowsAlternateDataStreamOverwrite`テストが断続的 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月08日 19:04:42(UTC) - マージ日時: 2026年04月09日 15:36:24(UTC) -- ラベル: area-System.Text.RegularExpressions +- ラベル: area-System.Text.RegularExpressions #### 概要 正規表現コンパイラの`resumeAt=2`パス(ループ内のyes-onlyな式条件)に対するテストカバレッジを追加しました。PR #126561の修正に関連して、コードレビューワークフローで特定されたテストの欠落部分を補完します。 @@ -251,7 +251,7 @@ Windows Arm64環境で`WindowsAlternateDataStreamOverwrite`テストが断続的 - 作成者: [@steveisok](https://github.com/steveisok) - 作成日時: 2026年04月08日 18:56:38(UTC) - マージ日時: 2026年04月09日 18:48:32(UTC) -- ラベル: area-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 Apple モバイルプラットフォーム(iOS/tvOS/MacCatalyst)において、`Process.Start()` がプロセス起動前に `PlatformNotSupportedException` をスローするため、`Start_Disposed_ThrowsObjectDisposedException` テストをスキップするようにしました。このテストは処理済みオブジェクトの場合に `ObjectDisposedException` の発生を期待していますが、プラットフォーム非対応エラーが先に発生するため、`runtime-extra-platforms` ビルドで確定的な失敗が発生していました。 @@ -272,7 +272,7 @@ Apple モバイルプラットフォーム(iOS/tvOS/MacCatalyst)において - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月08日 18:21:12(UTC) - マージ日時: 2026年04月09日 01:43:41(UTC) -- ラベル: area-System.Runtime.InteropServices +- ラベル: area-System.Runtime.InteropServices #### 概要 Apple プラットフォーム上で ILLink により Swift 相互運用型(`SwiftSelf`、`SwiftError`、`SwiftIndirectResult`)が `System.Private.CoreLib` から不正にトリミングされる問題を修正します。`CreateRuntimeRootILLinkDescriptorFile` タスクが `corelib.h` を処理する際に `TARGET_APPLE` が定義されていなかったため、Swift 型の保護ルートが生成されず、実行時に `TypeLoadException` が発生していました。`System.Private.CoreLib` の MSBuild `DefineConstants` に `TARGET_APPLE` を追加することで、Apple プラットフォーム向けビルド時に Swift 型定義が ILLink ディスクリプタに正しく含まれるようになります。 @@ -295,7 +295,7 @@ Apple プラットフォーム上で ILLink により Swift 相互運用型(`S - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月08日 14:46:44(UTC) - マージ日時: 2026年04月09日 01:25:36(UTC) -- ラベル: area-System.IO +- ラベル: area-System.IO #### 概要 `DirectoryNotFoundException`の逆シリアライズコンストラクタを変更し、`SerializationInfo`エントリを線形スキャンする`foreach`ループを`GetValueNoThrow`による直接参照に置き換えました。これにより、他の例外クラスのパターンに合わせてコードの効率化と統一化を実現します。 @@ -319,7 +319,7 @@ Apple プラットフォーム上で ILLink により Swift 相互運用型(`S - 作成者: [@svick](https://github.com/svick) - 作成日時: 2026年04月08日 11:59:55(UTC) - マージ日時: 2026年04月09日 08:56:01(UTC) -- ラベル: area-Extensions-Primitives +- ラベル: area-Extensions-Primitives #### 概要 `IChangeToken.ActiveChangeCallbacks`プロパティのドキュメンテーションを明確化するPRです。特に`CompositeChangeToken`のような複合トークンにおいて、`ActiveChangeCallbacks == true`が**すべての**基盤となる変更が確実にコールバックをトリガーすることを意味しないというケースを正確に説明するようにドキュメントを改善しています。 @@ -342,7 +342,7 @@ Apple プラットフォーム上で ILLink により Swift 相互運用型(`S - 作成者: [@vseanreesermsft](https://github.com/vseanreesermsft) - 作成日時: 2026年04月07日 20:28:40(UTC) - マージ日時: 2026年04月09日 22:18:58(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 .NET 9.0ランタイムのパッチバージョンを9.0.15から9.0.16へ更新するブランディング変更です。release/9.0ブランチのバージョンプロパティを更新しています。 @@ -365,7 +365,7 @@ Apple プラットフォーム上で ILLink により Swift 相互運用型(`S - 作成者: [@vseanreesermsft](https://github.com/vseanreesermsft) - 作成日時: 2026年04月07日 20:26:55(UTC) - マージ日時: 2026年04月09日 22:32:35(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 .NET 8.0のサービシング版バージョンを8.0.26から8.0.27へ更新するためのバージョン情報更新です。`release/8.0`ブランチのブランディング情報を次のパッチリリースに合わせて整備しています。 @@ -386,7 +386,7 @@ Apple プラットフォーム上で ILLink により Swift 相互運用型(`S - 作成者: [@LoopedBard3](https://github.com/LoopedBard3) - 作成日時: 2026年04月06日 21:45:25(UTC) - マージ日時: 2026年04月09日 19:37:45(UTC) -- ラベル: area-Infrastructure-coreclr perf-pipeline +- ラベル: area-Infrastructure-coreclr perf-pipeline #### 概要 perf-build パイプラインに `wasm_coreclr` と `coreclr_r2r_interpreter` の2つの新しいビルドタイプを追加し、every-commit perf ビルドパイプラインに含めることで、これらがビルドキャッシュシステム(BCS)に登録、ビルド、アップロードされるようにします。 @@ -410,7 +410,7 @@ perf-build パイプラインに `wasm_coreclr` と `coreclr_r2r_interpreter` - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年04月06日 20:48:24(UTC) - マージ日時: 2026年04月09日 16:29:03(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイラに、支配的なブランチ(外側の条件分岐)が支配されるブランチ(内側の条件分岐)の述語に含意される場合に、支配的なブランチを最適化して削除する機能を追加しました。例えば、`if (x > 0) if (x > 1) S();` では外側の `if (x > 0)` を削除できます。 @@ -445,7 +445,7 @@ if (x > 1) - 作成者: [@DrewScoggins](https://github.com/DrewScoggins) - 作成日時: 2026年04月06日 20:42:31(UTC) - マージ日時: 2026年04月09日 15:55:59(UTC) -- ラベル: area-Infrastructure-coreclr perf-pipeline +- ラベル: area-Infrastructure-coreclr perf-pipeline #### 概要 CoreCLR composite R2R-with-interpreter-fallback ビルドに `linux_arm64` プラットフォームを追加し、arm64 Cobalt パフォーマンス実行が linux_x64 と同じビルド成果物を利用できるようにします。 @@ -466,7 +466,7 @@ CoreCLR composite R2R-with-interpreter-fallback ビルドに `linux_arm64` プ - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年04月06日 16:41:29(UTC) - マージ日時: 2026年04月09日 04:58:37(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 リバースP/Invokeにおいて、インタープリタが`UMEntryThunkData`をTLS(スレッドローカルストレージ)変数経由で受け取る際の初期化が失敗していた問題を修正しました。前回のコミット(60f1dc1b)でエントリーポイントの最適化により、プレスタブをスキップしてインタープリタプリコードを直接呼び出すようになったため、必要なTLS変数の設定が漏れていました。 @@ -489,7 +489,7 @@ CoreCLR composite R2R-with-interpreter-fallback ビルドに `linux_arm64` プ - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年04月04日 18:02:57(UTC) - マージ日時: 2026年04月09日 11:14:20(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/dotnetリポジトリからのコードフロー更新です。release/11.0-preview3ブランチへ、2026年4月8日時点のソースコード変更と依存関係の更新を取り込みます。主にコンパイラ、ビルドツール、NuGetツール、ランタイム関連の依存パッケージが更新されています。 @@ -519,7 +519,7 @@ dotnet/dotnetリポジトリからのコードフロー更新です。release/11 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月04日 04:47:29(UTC) - マージ日時: 2026年04月09日 21:29:50(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 `GetVersionResilientTypeHashCode`がメモ化なしで再帰的にハッシュコードを再計算していたため、多態的再帰を含むシナリオで指数関数的なパフォーマンス低下が発生していました。本修正では`MethodTableAuxiliaryData`にキャッシュフィールドを追加し、ハッシュコードの計算結果を1度だけ保存することで、重複計算を排除します。 @@ -556,7 +556,7 @@ dotnet/dotnetリポジトリからのコードフロー更新です。release/11 - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年04月04日 02:08:16(UTC) - マージ日時: 2026年04月09日 08:06:35(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 VMR(Virtual Monorepo)からのコードフロー更新です。複数の.NET関連リポジトリ(ASP.NET Core、EF Core、Roslyn、MSBuild、NuGetなど)から最新の変更をマージし、依存関係パッケージを更新しています。2026年4月4日時点のビルド309188が適用されています。 @@ -588,7 +588,7 @@ VMR(Virtual Monorepo)からのコードフロー更新です。複数の.NET - 作成者: [@AaronRobinsonMSFT](https://github.com/AaronRobinsonMSFT) - 作成日時: 2026年04月03日 23:14:16(UTC) - マージ日時: 2026年04月09日 00:04:31(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 CoreCLR VM/COM相互運用のリソース管理を標準化するため、従来の`Wrapper<...>`ベースのRAIIホルダーを新しい`LifetimeHolder`、`ReleaseHolder`、`SpecializedWrapper`抽象化に統一するリファクタリング。COM相互運用、GC/オブジェクトハンドル、CLRConfig文字列バッファ、ローダー/リソースヘルパーなどの複数の領域で、ボイラープレートコードを削減しながら動作を保持します。 @@ -617,7 +617,7 @@ CoreCLR VM/COM相互運用のリソース管理を標準化するため、従来 - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年04月03日 22:38:47(UTC) - マージ日時: 2026年04月09日 14:32:55(UTC) -- ラベル: area-VM-coreclr area-Diagnostics-cdac +- ラベル: area-VM-coreclr area-Diagnostics-cdac #### 概要 Call Counting Stubsの追跡メカニズムを`CodeRangeMapRangeList`に移行し、RangeSectionMapから直接Stub種別を識別できるようにしました。これにより、Call Counting Stub Allocatorの反復走査が不要になり、cDACでの効率的な検索が可能になります。同時に、Call Counting Stub Heapの明示的なEnumMemを削除し、他のCodeRangeMapRangeListユーザーと同じ列挙動作に統一しました。 @@ -642,7 +642,7 @@ Call Counting Stubの種別判定が反復走査から直接ルックアップ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月02日 23:24:38(UTC) - マージ日時: 2026年04月09日 20:49:06(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 PGO(Profile Guided Optimization)インフラストラクチャをWebAssembly、iOS、tvOS、MacCatalystプラットフォームで無効化し、`FEATURE_DYNAMIC_CODE_COMPILED`フィーチャゲート下に移行する変更です。これらのプラットフォームではPGOが意味をなさないため、不必要なコード生成を削減し、ビルドサイズを最適化することを目的としています。 @@ -674,7 +674,7 @@ PGO(Profile Guided Optimization)インフラストラクチャをWebAssembly - 作成者: [@ManickaP](https://github.com/ManickaP) - 作成日時: 2026年04月02日 15:18:23(UTC) - マージ日時: 2026年04月09日 07:41:13(UTC) -- ラベル: area-Infrastructure-libraries +- ラベル: area-Infrastructure-libraries #### 概要 HTTP/SSL ストレステストパイプラインの PR トリガーをファイルパスフィルタとともに独立したパイプラインに分離する変更です。これにより、`azp run ...` コマンドでの手動実行が正常に機能するようになり、HTTP/SSL 製品コードの変更に対するストレステストの手動実行が可能になります。 @@ -699,7 +699,7 @@ HTTP/SSL ストレステストパイプラインの PR トリガーをファイ - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年04月02日 13:49:13(UTC) - マージ日時: 2026年04月09日 03:59:35(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 キャッシュされたインターフェイスディスパッチスタブにおけるレース条件を修正します。ディスパッチセルの`m_pStub`と`m_pCache`が原子的に更新されていても、呼び出し元とスタブによる非原子的な読み取りにより、キャッシュ成長時にレース条件が発生し、スタブが陳旧した`m_pCache`を読み取ってキャッシュサイズが一致せず、マッピングされていないメモリへのアクセスが発生する可能性がありました。 @@ -727,7 +727,7 @@ HTTP/SSL ストレステストパイプラインの PR トリガーをファイ - 作成者: [@svick](https://github.com/svick) - 作成日時: 2026年04月02日 13:37:50(UTC) - マージ日時: 2026年04月09日 11:57:27(UTC) -- ラベル: area-Extensions-Configuration +- ラベル: area-Extensions-Configuration #### 概要 `ConfigurationBinder`が空のJSON配列(`[]`)をコンストラクタパラメータ(`string[]`型など)にバインドする際に`ArgumentException`をスローしていた問題を修正しました。 @@ -754,7 +754,7 @@ Copilotのレビューコメントで、`BindParameter`内のローカル変数 - 作成者: [@noahfalk](https://github.com/noahfalk) - 作成日時: 2026年04月02日 12:12:58(UTC) - マージ日時: 2026年04月09日 10:10:13(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC管理単体テストを、生ポインタ/オフセット演算を削減し、型付きビュー(TypedView)を導入して可読性を向上させるようにリファクタリングしました。また、ランタイム型モックをテスト外での再利用を想定して分離構成しています。 @@ -792,7 +792,7 @@ cDAC管理単体テストを、生ポインタ/オフセット演算を削減し - 作成者: [@svick](https://github.com/svick) - 作成日時: 2026年04月01日 15:09:24(UTC) - マージ日時: 2026年04月09日 13:15:09(UTC) -- ラベル: area-Extensions-FileSystem +- ラベル: area-Extensions-FileSystem #### 概要 `PhysicalFileProvider`が存在しないルートディレクトリで構築された場合の問題を修正します。`FileSystemWatcher`が存在しないディレクトリを監視できないため、`AddJsonFile`で設定ファイルの親ディレクトリが起動時に未作成の場合に`Watch()`が失敗していました。 @@ -818,7 +818,7 @@ cDAC管理単体テストを、生ポインタ/オフセット演算を削減し - 作成者: [@dovydenkovas](https://github.com/dovydenkovas) - 作成日時: 2026年03月30日 11:32:27(UTC) - マージ日時: 2026年04月09日 08:19:08(UTC) -- ラベル: area-VM-meta-mono community-contribution +- ラベル: area-VM-meta-mono community-contribution #### 概要 `create_socket` 関数がコネクション失敗時にソケットをクローズせずにリソースリークを起こしていた問題を修正しました。この関数は IdealGraphVisualizer グラフ生成時に使用され、デフォルトで 127.0.0.1:4445 に接続します。 @@ -841,7 +841,7 @@ cDAC管理単体テストを、生ポインタ/オフセット演算を削減し - 作成者: [@ViveliDuCh](https://github.com/ViveliDuCh) - 作成日時: 2026年03月25日 00:47:08(UTC) - マージ日時: 2026年04月09日 19:19:09(UTC) -- ラベル: area-System.Numerics +- ラベル: area-System.Numerics #### 概要 `IBinaryInteger`インターフェースに`Log10`静的仮想メソッドを追加し、汎用数学API領域を拡張しています。すべてのプリミティブ整数型(`byte`、`sbyte`、`short`、`ushort`、`int`、`uint`、`long`、`ulong`、`nint`、`nuint`、`char`、`Int128`、`UInt128`)と`BigInteger`に最適化された実装を提供します。 @@ -867,7 +867,7 @@ cDAC管理単体テストを、生ポインタ/オフセット演算を削減し - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月24日 17:53:37(UTC) - マージ日時: 2026年04月09日 18:25:49(UTC) -- ラベル: Servicing-approved area-Infrastructure +- ラベル: Servicing-approved area-Infrastructure #### 概要 dotnet/runtimeの共有Linux ビルドプール設定をUbuntu 22.04からAzure Linux 3に統一するパイプライン構成の更新。#125996で個別のパイプラインファイルがAzure Linux 3に移行済みだったため、共有デフォルトテンプレート`eng/pipelines/common/xplat-setup.yml`も同様に更新し、リポジトリ全体で一貫性を取るもの。 @@ -891,7 +891,7 @@ dotnet/runtimeの共有Linux ビルドプール設定をUbuntu 22.04からAzure - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年03月13日 22:21:58(UTC) - マージ日時: 2026年04月09日 14:31:43(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDACレガシー層(IXCLRDataModule COM surface)に、メソッド定義を名前で列挙するための3つのAPI(`StartEnumMethodDefinitionsByName`、`EnumMethodDefinitionByName`、`EndEnumMethodDefinitionsByName`)を追加します。これにより、`bpmd`などのデバッグツールがECMA-335メタデータを通じた名前ベースのメソッド検索が可能になります。 @@ -920,7 +920,7 @@ cDACレガシー層(IXCLRDataModule COM surface)に、メソッド定義を - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月06日 22:21:26(UTC) - マージ日時: 2026年04月09日 13:02:32(UTC) -- ラベル: area-System.Formats.Tar +- ラベル: area-System.Formats.Tar #### 概要 `TarReader` が GNU sparse format 1.0(PAX)エントリに対応しました。これにより、bsdtar で作成されたアーカイブ(macOS/APFS の .NET SDK tarball など)から、内部プレースホルダーパス `GNUSparseFile.0/real-file.dll` の露出、不正なサイズ報告、破損したコンテンツ抽出が解決されます。PAX 拡張属性 `GNU.sparse.major=1` と `GNU.sparse.minor=0` が検出されると、実ファイル名を `GNU.sparse.name` から解決し、拡張サイズを `GNU.sparse.realsize` から取得し、生データストリームを `GnuSparseStream` でラップして仮想ファイルコンテンツ(ホールはゼロ、データは正しいオフセット)を提供します。 @@ -959,7 +959,7 @@ entry.DataStream.ReadExactly(content); // correctly expanded virtual file - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年03月04日 13:12:35(UTC) - マージ日時: 2026年04月09日 12:36:56(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 CoreCLR JITの非同期変換において、複数のawaitが存在する場合に共有の`GT_RETURN_SUSPEND`ブロックを生成し、複数のサスペンション地点が単一のエピログにブランチするよう最適化します。これによりR2R(Ready-to-Run)バイナリサイズが削減されます。 @@ -991,7 +991,7 @@ CoreCLR JITの非同期変換において、複数のawaitが存在する場合 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月13日 22:58:08(UTC) - マージ日時: 2026年04月09日 00:01:28(UTC) -- ラベル: area-System.Diagnostics +- ラベル: area-System.Diagnostics #### 概要 `System.Diagnostics.FileVersionInfo`の公開APIに対するXML ドキュメンテーションをdotnet-api-docsからソース実装にバックポートするコミットです。すべての公開メンバーに``、``、``、``タグを追加し、int型プロパティがバージョン情報欠落時に`null`ではなく`0`を返すことを正しく記載しています。 @@ -1022,7 +1022,7 @@ public int FileBuildPart { get; } - 作成者: [@daeghanelkin](https://github.com/daeghanelkin) - 作成日時: 2025年07月09日 19:15:26(UTC) - マージ日時: 2026年04月09日 18:11:10(UTC) -- ラベル: area-Serialization community-contribution +- ラベル: area-Serialization community-contribution #### 概要 `IXmlSerializable`インターフェースを実装するパラメータなしコンストラクタを持つ値型が、`XmlSerializer`の生成IL内で適切にボックス化されていなかった問題を修正します。この問題により、`XmlSerializationReader.ReadSerializable`メソッド呼び出し時に`InvalidProgramException`例外が発生していました。 diff --git a/archives/2026/04/10.md b/archives/2026/04/10.md index 6e5932e..b251797 100644 --- a/archives/2026/04/10.md +++ b/archives/2026/04/10.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#126742 Revert "Workaround for a bug in latest MSVC"](#126742) 2. [#126737 Early init for FrameworkEventSource](#126737) 3. [#126736 Arm64 jitstress outerloop](#126736) @@ -34,7 +34,7 @@ - 作成者: [@jkotas](https://github.com/jkotas) - 作成日時: 2026年04月10日 04:33:07(UTC) - マージ日時: 2026年04月10日 17:24:56(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 MSVC コンパイラの既知バグ対応を取り除くリバート PR です。CoreCLR の DAC/DBI 実装において、`GetILCodeAndSig` 関数周辺に適用されていた最適化無効化プラグマを削除し、元の最適化動作を復元します。 @@ -55,7 +55,7 @@ MSVC コンパイラの既知バグ対応を取り除くリバート PR です - 作成者: [@noahfalk](https://github.com/noahfalk) - 作成日時: 2026年04月10日 00:48:14(UTC) - マージ日時: 2026年04月10日 06:15:27(UTC) -- ラベル: area-System.Diagnostics.Tracing +- ラベル: area-System.Diagnostics.Tracing #### 概要 ThreadPool初期化中にFrameworkEventSourceが遅延初期化される際、EventListenerロックを獲得してデッドロックが発生する問題を修正します。FrameworkEventSourceをランタイムの起動パスの早期段階で先制的に初期化することで、ロック競合を回避します。 @@ -79,7 +79,7 @@ ThreadPool初期化中にFrameworkEventSourceが遅延初期化される際、Ev - 作成者: [@dhartglassMSFT](https://github.com/dhartglassMSFT) - 作成日時: 2026年04月10日 00:24:50(UTC) - マージ日時: 2026年04月10日 18:42:41(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 ARM64 JIT HWIntrinsic コード生成において、マルチ命令展開を含むRMWスタイルのSVE組み込み関数で、非定数即値ジャンプテーブル生成時の命令数計算を修正します。`HWIntrinsicImmOpHelper`のケースサイズ計算をエミッタの動作(`targetReg != op1Reg`時の追加移動命令)と一致させることで、jitstressテスト(特にarm64)での失敗を解決します。 @@ -104,7 +104,7 @@ ARM64 JIT HWIntrinsic コード生成において、マルチ命令展開を含 - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年04月09日 23:08:57(UTC) - マージ日時: 2026年04月10日 23:28:27(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Compact Data Access Components)の RuntimeTypeSystem コントラクトを拡張し、3つの DacDbi API(`HasTypeParams`、`GetTypeHandle`、`GetThreadStaticAddress`)を実装しました。これらの API は診断ツール(デバッガ、SOS)がジェネリック型情報とスレッドスタティックフィールドのアドレスを取得するために使用されます。 @@ -132,7 +132,7 @@ cDAC(Compact Data Access Components)の RuntimeTypeSystem コントラクト - 作成者: [@AaronRobinsonMSFT](https://github.com/AaronRobinsonMSFT) - 作成日時: 2026年04月09日 20:46:33(UTC) - マージ日時: 2026年04月10日 17:54:39(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 PR #114609で導入されたリグレッションを修正します。ネイティブスレッド上で `System.StubHelpers.GetCOMIPFromRCW()` がスローパスにフォールバックする際、OLE TLSの初期化後のRCWキャッシュヒットに対して不正に `Release` が呼ばれていた問題を解決します。スローヘルパーに `pfNeedsRelease` フラグを返却させることで、RCWキャッシュヒット(借用ポインタ)と新規取得ポインタを区別し、所有権に基づいた適切なクリーンアップを行うようにします。 @@ -159,7 +159,7 @@ PR #114609で導入されたリグレッションを修正します。ネイテ - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年04月09日 19:10:12(UTC) - マージ日時: 2026年04月10日 17:07:52(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 コール カウンティング マネージャーのデータ構造を `SHash` からリンク リストに変更します。ハッシュの機能を使用せず、要素の追加・削除・全体反復のみを行うため、より適切なデータ構造への最適化です。 @@ -182,7 +182,7 @@ PR #114609で導入されたリグレッションを修正します。ネイテ - 作成者: [@tommcdon](https://github.com/tommcdon) - 作成日時: 2026年04月09日 18:58:39(UTC) - マージ日時: 2026年04月10日 15:11:27(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 DAC(Debugging Access Component)の`GetNativeCodeInfo` APIがasync thunkの`MethodDesc`を正しく解決するための修正。async thunkの場合、対応する実装の`MethodDesc`(async variant)を選択することで、ネイティブコード情報を正確に報告するようになります。このPRは#125900で導入された回帰を修正します。 @@ -204,7 +204,7 @@ DAC(Debugging Access Component)の`GetNativeCodeInfo` APIがasync thunkの`M - 作成者: [@steveisok](https://github.com/steveisok) - 作成日時: 2026年04月09日 15:48:45(UTC) - マージ日時: 2026年04月10日 06:06:50(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 tvOS向けの `FEATURE_CORPROFILER` 機能フラグを再び有効化し、Apple モバイルプラットフォーム(iOS/MacCatalyst/Android)間で一貫性を保つ変更です。PR #126550 でtvOSのみプロファイラーが無効化されたことにより、`Thread` 構造体のオフセットが変わり、`asmconstants.h` の静的アサーションが失敗していました。tvOSをiOS/MacCatalystと同じ扱いにすることで、構造体レイアウトを正常に戻し、ビルドエラーを解決します。 @@ -226,7 +226,7 @@ tvOS向けの `FEATURE_CORPROFILER` 機能フラグを再び有効化し、Apple - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年04月09日 15:30:53(UTC) - マージ日時: 2026年04月10日 17:05:15(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC管理側リーダー向けの型付きフィールド拡張メソッドを追加し、すべての`IData`クラスを新メソッドで統一しました。ネイティブデータディスクリプタ型システムを利用した管理側の型検証を実装しています。 @@ -272,7 +272,7 @@ cDAC管理側リーダー向けの型付きフィールド拡張メソッドを - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月09日 01:07:58(UTC) - マージ日時: 2026年04月10日 03:08:09(UTC) -- ラベル: area-System.Reflection +- ラベル: area-System.Reflection #### 概要 `runtime-async=on` コンパイラ機能をすべてのビルド構成(Debug、Checked、Release)で無条件に有効化します。従来は Release ビルドのみ、また NativeAOT では riscv64/loongarch64 を除外していた制限を廃止し、統一的に有効化することで、全ビルド構成での非同期機能の動作検証とサポートを強化します。 @@ -295,7 +295,7 @@ cDAC管理側リーダー向けの型付きフィールド拡張メソッドを - 作成者: [@adamperlin](https://github.com/adamperlin) - 作成日時: 2026年04月09日 00:19:08(UTC) - マージ日時: 2026年04月10日 16:54:37(UTC) -- ラベル: area-crossgen +- ラベル: area-crossgen #### 概要 WebAssemblyのR2R (Ready-to-Run) シナリオで使用する新しいリロケーションタイプ `WASM_MEMORY_ADDR_REL_LEB` を追加します。このリロケーションは、イメージベースからの相対オフセットをULEB128エンコードで表現し、メモリロード/ストア命令の `offset` イミディエートとして直接使用できます。 @@ -326,7 +326,7 @@ i32.load align=... offset= - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年04月08日 21:37:55(UTC) - マージ日時: 2026年04月10日 14:26:25(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly RyuJIT のfunclet(例外処理の分離コード)のプロロローグ・エピローグコード生成を修正するものです。`genEmitStartBlock` の呼び出しを funclet prolog IG セットアップ後に遅延させ、エピローグ生成のための BasicBlock をエミッターからコード生成側に戻すようにしました。また、funclet を含むメソッドについて、R2R フェイルオーバーをデフォルト有効化しています(`JitWasmFunclets=1` で無効化可能)。加えて、ノード参照の重複収集を防ぐ修正を含みます。 @@ -355,7 +355,7 @@ WebAssembly RyuJIT のfunclet(例外処理の分離コード)のプロロロ - 作成者: [@T-Gro](https://github.com/T-Gro) - 作成日時: 2026年04月08日 11:24:20(UTC) - マージ日時: 2026年04月10日 08:13:22(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 Microsoft.Extensions.*およびSystem.IO.Compressionライブラリ向けのCopilot agentic assetを追加するPRです。専用のレビューエージェント、書き込みスキル、および複数の拡張機能エリア向けのフォルダスコープ命令ファイルが含まれます。これらは実装ガイダンス、検証ポイント、パフォーマンス・セキュリティに関する推奨事項を提供します。 @@ -390,7 +390,7 @@ Microsoft.Extensions.*およびSystem.IO.Compressionライブラリ向けのCopi - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月08日 08:24:30(UTC) - マージ日時: 2026年04月10日 21:26:00(UTC) -- ラベル: area-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 `ProcessStartInfo.StartDetached` プロパティを新規追加し、親プロセスのセッション/コンソールから独立したプロセスを開始できるようにします。このプロパティはWindows(`DETACHED_PROCESS`フラグ)、macOS(`POSIX_SPAWN_SETSID`)、その他Unix(`setsid()`)で異なるメカニズムを使用して実装されています。 @@ -431,7 +431,7 @@ Process.Start(psi); - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年04月08日 08:22:42(UTC) - マージ日時: 2026年04月10日 07:40:44(UTC) -- ラベル: area-Infrastructure-mono +- ラベル: area-Infrastructure-mono #### 概要 Apple mobile platforms(iOS/tvOS/MacCatalyst)でのテスト失敗に対応するため、Mono AOT IL stripping によって method bodies が変更・削除される環境でのテストをスキップまたは条件付けする変更です。`IsMethodBodySupported` を拡張して aggressively-trimmed builds を検出し、影響を受けるテストを条件付きで実行します。 @@ -457,7 +457,7 @@ Copilot による査読では、テスト条件が `IsNotMonoRuntime` に限定 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月08日 06:08:25(UTC) - マージ日時: 2026年04月10日 10:01:13(UTC) -- ラベル: area-System.Diagnostics.Process test-enhancement +- ラベル: area-System.Diagnostics.Process test-enhancement #### 概要 `ProcessHandlesTests`にファイルハンドル継承動作を検証するテストを追加。`InheritedHandles`を使用して子プロセスを生成する際、ハンドルが継承されたかどうかを確認します。本PR内で検討された他の変更(ネイティブPALエクスポート、`SafeFileHandle`パス解決)は、OSレベルのパス解決がユーザーフレンドリーなパスではなくデバイスパスを返すため、レビュアーのフィードバックに基づいて元に戻されました。 @@ -493,7 +493,7 @@ Copilot による査読では、テスト条件が `IsNotMonoRuntime` に限定 - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年04月06日 17:39:13(UTC) - マージ日時: 2026年04月10日 04:24:11(UTC) -- ラベル: area-VM-coreclr community-contribution +- ラベル: area-VM-coreclr community-contribution #### 概要 Throw と Thread のヘルパーを Unmanaged Calling Origination(UCO)に変換するリファクタリング。マネージドコード側でスロー処理とスレッド操作を管理するための呼び出し規約を統一し、VM(仮想マシン)レイヤーでの実装を簡潔化するもの。優先度3の改善目標(#123864)に貢献します。 @@ -522,7 +522,7 @@ Throw と Thread のヘルパーを Unmanaged Calling Origination(UCO)に変 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月06日 05:45:15(UTC) - マージ日時: 2026年04月10日 23:00:26(UTC) -- ラベル: area-Interop-coreclr +- ラベル: area-Interop-coreclr #### 概要 CoreCLR COM相互運用性のコントラクト違反を修正し、ExtensionPointsテストを再度有効化するPRです。ネイティブCOMのクリーンアップ・割り当てフック中にマネージドコード(管理されたIMallocSpy実装など)に合法的に再入可能なパスに対して、コントラクト違反の適切なアノテーションを追加しました。 @@ -548,7 +548,7 @@ CoreCLR COM相互運用性のコントラクト違反を修正し、ExtensionPoi - 作成者: [@steveisok](https://github.com/steveisok) - 作成日時: 2026年04月03日 18:35:24(UTC) - マージ日時: 2026年04月10日 16:19:03(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 dotnet/hotreload-utils リポジトリのホットリロード・デルタ生成ツールチェーンをランタイムリポジトリに統合し、外部NuGetパッケージ依存を排除しました。`src/tools/hotreload-delta-gen/`に5つのプロジェクト(Generator、Generator.Tasks、Generator.Frontend、Generator.Data、Generator.BuildTool)とその共有コードを追加し、`eng/testing/hotreload-delta-gen.targets`で従来のNuGet `.targets`ファイルを置き換えました。ApplyUpdateテスト、WASMホットリロードテスト、Monoサンプルの3つのコンシューマーを更新しました。 @@ -586,7 +586,7 @@ dotnet/hotreload-utils リポジトリのホットリロード・デルタ生成 - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年04月03日 17:49:28(UTC) - マージ日時: 2026年04月10日 19:45:11(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(CoreCLR Diagnostic Access Component)のコントラクト初期化モデルを、26個の個別ファクトリクラスから登録ベースの `ContractRegistry` API に変更します。これにより、外部ランタイム(NativeAOT、Mono等)の契約サポートを追加する際に、コアリーダーの複数ファイルを修正する必要がなくなります。 @@ -634,7 +634,7 @@ public static void Register(ContractRegistry registry) - 作成者: [@DeagleGross](https://github.com/DeagleGross) - 作成日時: 2026年03月26日 16:51:47(UTC) - マージ日時: 2026年04月10日 16:18:04(UTC) -- ラベル: area-System.Threading +- ラベル: area-System.Threading #### 概要 `ChainedRateLimiter`の`IdleDuration`プロパティとReplenishing RateLimiter統合の問題を修正します。 @@ -665,7 +665,7 @@ public static void Register(ContractRegistry registry) - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年03月26日 16:51:12(UTC) - マージ日時: 2026年04月10日 10:14:08(UTC) -- ラベル: arch-wasm area-Infrastructure-coreclr +- ラベル: arch-wasm area-Infrastructure-coreclr #### 概要 WASM CoreCLR ライブラリテストのHelix キューイング圧力を削減するため、約172個の個別テスト作業項目を約21個のバッチ作業項目にグループ化(**88%削減**)し、総マシン時間を**56%削減**(437分→195分)します。すべてのテスト結果は同一で、失敗はありません。 @@ -701,7 +701,7 @@ WASM CoreCLR ライブラリテストのHelix キューイング圧力を削減 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月20日 19:18:39(UTC) - マージ日時: 2026年04月10日 02:57:15(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 baseline buildの手順を簡略化し、main ブランチへの切り替えを廃止して、working branchで直接baseline buildを実行するよう更新しました。これにより、main とworking branchが分岐している場合の不要な作業を削減できます。 @@ -724,7 +724,7 @@ baseline buildの手順を簡略化し、main ブランチへの切り替えを - 作成者: [@hoyosjs](https://github.com/hoyosjs) - 作成日時: 2026年03月20日 06:03:47(UTC) - マージ日時: 2026年04月10日 04:15:28(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 CoreCLR DAC(デバッグ支援コンポーネント)のスタックウォーキング機能(IXClrDataStackWalk)において、メモリ安全性の問題を修正します。Windows SDK の CONTEXT 構造体にインラインXSTATE(拡張状態)を含めた大きなバッファをcallerが渡した場合、バッファサイズの検証が正しく機能せず、メモリオーバーラン(読み書きの境界外アクセス)が発生する問題を解決します。 @@ -750,7 +750,7 @@ CoreCLR DAC(デバッグ支援コンポーネント)のスタックウォー - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月16日 18:59:52(UTC) - マージ日時: 2026年04月10日 16:49:14(UTC) -- ラベル: linkable-framework area-Tools-ILLink +- ラベル: linkable-framework area-Tools-ILLink #### 概要 MSBuild設定ファイルの`_PrepareTrimConfiguration`タスク内で、`TrimmerSingleWarn`メタデータを適用する際の複雑な交差計算パターンをMSBuildの`Update`機能で直接置き換えることで、コードを簡潔化し、アイテム順序を保持するように改善しました。 @@ -774,7 +774,7 @@ MSBuild設定ファイルの`_PrepareTrimConfiguration`タスク内で、`Trimme - 作成者: [@janvorli](https://github.com/janvorli) - 作成日時: 2026年03月16日 13:46:15(UTC) - マージ日時: 2026年04月10日 17:48:32(UTC) -- ラベル: Servicing-approved area-CodeGen-coreclr +- ラベル: Servicing-approved area-CodeGen-coreclr #### 概要 .NET 10で導入されたリグレッションを修正するPRです。JITコンパイラがref struct型の静的フィールドへの代入時に、write barrier呼び出しを誤って省略していたため、GCヒープ破損を引き起こしていました。静的フィールドは常にGCヒープ上に存在するため、write barierの追加が必要です。この修正により、DOTNET_HeapVerify=1で実行時の致命的エラーが検出されるようになります。 @@ -799,7 +799,7 @@ MSBuild設定ファイルの`_PrepareTrimConfiguration`タスク内で、`Trimme - 作成者: [@Kielek](https://github.com/Kielek) - 作成日時: 2026年02月25日 10:48:25(UTC) - マージ日時: 2026年04月10日 00:31:33(UTC) -- ラベル: area-System.Diagnostics.Activity community-contribution +- ラベル: area-System.Diagnostics.Activity community-contribution #### 概要 W3C Context Propagation Level 2で定義されるRandomTraceIdフラグのサポートを追加します。ActivityTraceFlags列挙型に新しいフラグを追加し、トレースIDがランダムに生成されたかどうかを示せるようになります。 @@ -825,7 +825,7 @@ W3C Context Propagation Level 2で定義されるRandomTraceIdフラグのサポ - 作成者: [@danmoseley](https://github.com/danmoseley) - 作成日時: 2026年02月21日 04:37:17(UTC) - マージ日時: 2026年04月10日 02:37:06(UTC) -- ラベル: area-System.Text.RegularExpressions +- ラベル: area-System.Text.RegularExpressions #### 概要 SYSLIB1045コード修復ツール(Regexコンストラクタ呼び出しをGeneratedRegexに変換)がバッチ処理で部分的なクラス宣言に対して複数の修正を同時適用する際、重複した`MyRegex`プロパティ名を生成していた問題を修正しました。根本原因は、複数のフィクサーが修正前の元のコンパイル状態を参照するため、同一の名前が利用可能と判断されていたためです。 @@ -848,7 +848,7 @@ SYSLIB1045コード修復ツール(Regexコンストラクタ呼び出しをGe - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2025年07月25日 09:55:38(UTC) - マージ日時: 2026年04月10日 08:13:24(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 `DEFAULT_STACK_SIZE` マクロの定義を削除します。このマクロは未使用またはレガシーな定義であり、コードの簡潔化を目的としています。 diff --git a/archives/2026/04/11.md b/archives/2026/04/11.md index 5330a1b..315cc0b 100644 --- a/archives/2026/04/11.md +++ b/archives/2026/04/11.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#126783 Fix code review agent timeouts caused by gpt-5.4](#126783) 2. [#126779 Reduce code-review skill token usage \(~29% smaller\)](#126779) 3. [#126766 Fix result assignment after action execution](#126766) @@ -20,7 +20,7 @@ - 作成者: [@danmoseley](https://github.com/danmoseley) - 作成日時: 2026年04月11日 02:44:04(UTC) - マージ日時: 2026年04月11日 04:30:15(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 dotnet/runtimeのコードレビュー自動化ワークフローで約20%の実行がタイムアウトする問題を修正します。分析結果から、GPT-5.4サブエージェントの無限ハングが93%のタイムアウトの原因であることが判明。SKILL.mdを修正し、GPT-5.4をブロック、GPT-5.3-codexを推奨、サブエージェント数を4から3に削減、レビュー投稿後の即座の終了を実装します。 @@ -54,7 +54,7 @@ dotnet/runtimeのコードレビュー自動化ワークフローで約20%の実 - 作成者: [@danmoseley](https://github.com/danmoseley) - 作成日時: 2026年04月10日 23:52:11(UTC) - マージ日時: 2026年04月11日 02:17:09(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 dotnet/runtimeのコードレビュー自動化スキル(SKILL.md)のトークン使用量を削減するため、低価値なコンテンツを除去し、API承認検証手順を独立ファイルに抽出しました。スキルサイズを約29%削減(68.9KB → 48.7KB)し、20分のタイムアウト問題を緩和します。すべてのレビュールールと手順は保持されます。 @@ -81,7 +81,7 @@ dotnet/runtimeのコードレビュー自動化スキル(SKILL.md)のトー - 作成者: [@AaronRobinsonMSFT](https://github.com/AaronRobinsonMSFT) - 作成日時: 2026年04月10日 21:29:13(UTC) - マージ日時: 2026年04月11日 01:57:12(UTC) -- ラベル: test-bug area-Interop-coreclr +- ラベル: test-bug area-Interop-coreclr #### 概要 STA-thread テストハーネスにおいて、結果がアクション実行後にのみ `TestPassed` に設定されるよう修正しました。以前は、失敗時に結果が誤って上書きされていました。 @@ -104,7 +104,7 @@ STA-thread テストハーネスにおいて、結果がアクション実行後 - 作成者: [@dependabot[bot]](https://github.com/apps/dependabot) - 作成日時: 2026年04月10日 21:23:56(UTC) - マージ日時: 2026年04月11日 23:00:21(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 GitHub Actions のワークフロー内で使用されている `actions/github-script` を v8 から v9 にアップグレードするメジャーバージョン更新です。v9 では ESM-only な `@actions/github` v9 への依存関係が変更され、`getOctokit` がスクリプトコンテキストに直接注入される機能が追加されました。 @@ -134,7 +134,7 @@ v9 では以下の破壊的変更が含まれており、dotnet/runtime のワ - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年04月10日 19:50:34(UTC) - マージ日時: 2026年04月11日 00:21:51(UTC) -- ラベル: area-Infrastructure-libraries +- ラベル: area-Infrastructure-libraries #### 概要 libraries-pgo パイプラインから `instrument_if_optimizing` Helix シナリオを削除し、非常に遅い JIT インストルメンテーションモード(最適化中のインストルメンテーション)がライブラリテストで実行されないようにします。共有シナリオ定義は coreclr テストでは継続して利用可能です。 @@ -155,7 +155,7 @@ libraries-pgo パイプラインから `instrument_if_optimizing` Helix シナ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月10日 19:02:08(UTC) - マージ日時: 2026年04月11日 00:26:13(UTC) -- ラベル: area-AssemblyLoader-coreclr +- ラベル: area-AssemblyLoader-coreclr #### 概要 `AssemblySpecHash`クラスがコードベース内で呼び出されていないため、削除しました。クラス定義を`assemblyspec.hpp`から、メソッド実装(`~AssemblySpecHash`、`CompareSpecs`)を`assemblyspec.cpp`から削除します。`INITIAL_ASM_SPEC_HASH_SIZE`マクロは`AssemblySpecBindingCache`で使用されているため保持されます。 @@ -178,7 +178,7 @@ libraries-pgo パイプラインから `instrument_if_optimizing` Helix シナ - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年04月10日 17:56:52(UTC) - マージ日時: 2026年04月11日 01:10:23(UTC) -- ラベル: Servicing-approved area-Interop-coreclr +- ラベル: Servicing-approved area-Interop-coreclr #### 概要 COM オブジェクトの RCW(Runtime Callable Wrapper)所有権追跡のスローパスにおけるバグ修正。#126731 の release/10.0 へのバックポート。アンマネージドスレッドから COM インターオップを使用する際の COM オブジェクトのライフタイム管理に関する問題を解決します。 @@ -205,7 +205,7 @@ COM オブジェクトの RCW(Runtime Callable Wrapper)所有権追跡のス - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月10日 16:35:06(UTC) - マージ日時: 2026年04月11日 23:05:21(UTC) -- ラベル: area-System.Threading +- ラベル: area-System.Threading #### 概要 dotnet/runtime のリポジトリメンテナンス関連の文書化とリポジトリオートメーション設定を更新するドキュメント変更です。エリアオーナーの整理、エリアラベルの廃止・統合、担当者(Lead)の更新を反映しています。 @@ -235,7 +235,7 @@ dotnet/runtime のリポジトリメンテナンス関連の文書化とリポ - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年04月09日 13:23:19(UTC) - マージ日時: 2026年04月11日 20:23:21(UTC) -- ラベル: area-Infrastructure-libraries +- ラベル: area-Infrastructure-libraries #### 概要 このPRは、dotnet/dotnetリポジトリからのコードフロー更新であり、複数の下流リポジトリ(aspnetcore、efcore、roslyn、sdk等)の変更を取り込むものです。主な変更は、ビルドツール・コンパイラ・依存パッケージの更新、およびMicrosoft.Extensions.*ライブラリのプロジェクトファイル構成の更新です。 @@ -262,7 +262,7 @@ dotnet/runtime のリポジトリメンテナンス関連の文書化とリポ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月09日 11:20:47(UTC) - マージ日時: 2026年04月11日 22:16:46(UTC) -- ラベル: area-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 Windows上で子プロセスが親プロセス終了時に自動的に強制終了される`ProcessStartInfo.KillOnParentExit`プロパティを実装しました。Windows Job Objects (`JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE`)を利用して、プロセス作成時に子プロセスをジョブオブジェクトに割り当てることで実現しています。 @@ -296,7 +296,7 @@ Windows上で子プロセスが親プロセス終了時に自動的に強制終 - 作成者: [@MiYanni](https://github.com/MiYanni) - 作成日時: 2026年04月08日 22:43:56(UTC) - マージ日時: 2026年04月11日 23:03:51(UTC) -- ラベル: area-Setup +- ラベル: area-Setup #### 概要 .NET SDK が OpenTelemetry に移行したことに伴い、dotnet インストーラーの第三者ライセンス通知(THIRD-PARTY-NOTICES.TXT)を更新し、OpenTelemetry .NET の Apache 2.0 ライセンス情報を追加しました。これにより、インストーラーの TPN ファイルが CLI の OpenTelemetry ベースのテレメトリ実装と整合性を持つようになります。 @@ -317,7 +317,7 @@ Windows上で子プロセスが親プロセス終了時に自動的に強制終 - 作成者: [@danmoseley](https://github.com/danmoseley) - 作成日時: 2026年04月08日 20:49:54(UTC) - マージ日時: 2026年04月11日 07:34:52(UTC) -- ラベル: area-System.IO +- ラベル: area-System.IO #### 概要 Windows 11 ARM64 Helix マシン上で `Directory_Delete_MountVolume` と `Directory_ReparsePoints_MountVolume` テストが確定的に失敗する問題を修正します。 @@ -350,7 +350,7 @@ Windows 11 ARM64 Helix マシン上で `Directory_Delete_MountVolume` と `Direc - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年04月07日 23:32:12(UTC) - マージ日時: 2026年04月11日 00:19:32(UTC) -- ラベル: area-System.Reflection +- ラベル: area-System.Reflection #### 概要 Marshal メソッドのマーシャラーキャッシュを `ConditionalWeakTable` から `RuntimeType` の汎用キャッシュインフラに移動し、相互運用パフォーマンスの回帰を改善します([#126608](https://github.com/dotnet/runtime/issues/126608)の修正)。検証処理をキャッシュ作成時に一度だけ実行し、レイアウト検証を毎回繰り返さないようにしています。 @@ -376,7 +376,7 @@ Marshal メソッドのマーシャラーキャッシュを `ConditionalWeakTabl - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年04月06日 23:14:47(UTC) - マージ日時: 2026年04月11日 21:00:04(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDACのスレッド"dead"セマンティクスを修正するPRです。`ThreadState.ReportDead`を列挙と`IsThreadMarkedDead`で"dead"として扱うように改善しながら、`Dead`と`ReportDead`を区別する必要な場合(例:`GetThreadOwningMonitorLock`)では区別できるようにしています。ランタイム状態ビットからコントラクトフラグへの変換が追加され、マネージドスレッドコントラクトも拡張されています。 @@ -402,7 +402,7 @@ cDACのスレッド"dead"セマンティクスを修正するPRです。`ThreadS - 作成者: [@trungnt2910](https://github.com/trungnt2910) - 作成日時: 2025年11月21日 14:26:56(UTC) - マージ日時: 2026年04月11日 07:16:29(UTC) -- ラベル: area-System.Runtime community-contribution os-haiku +- ラベル: area-System.Runtime community-contribution os-haiku #### 概要 Haiku OSのランタイムサポートを追加するPRで、マネージドランタイムライブラリ(`System.Private.CoreLib`)をHaiku向けにビルドするために必要なコードを実装しています。Haiku OS検出、環境情報取得、ネイティブ相互運用層の初期サポートを提供します。 diff --git a/archives/2026/04/12.md b/archives/2026/04/12.md index 3b69e38..c68337f 100644 --- a/archives/2026/04/12.md +++ b/archives/2026/04/12.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#126810 Fix Avx10 detection: cache CPUID bit before later queries overwrite cpuidInfo](#126810) 2. [#126795 Fix NullReferenceException in DestroyStructure for blittable types](#126795) 3. [#126678 Optimize IndexOfAnyAsciiSearcher on Arm64](#126678) @@ -9,7 +9,7 @@ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月12日 16:50:58(UTC) - マージ日時: 2026年04月12日 19:42:23(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 AVX10 CPUID bit検出のバグを修正しました。CPUID leaf 7 sub-leaf 1の結果を読み込んだ後、別のCPUID問い合わせで`cpuidInfo`が上書きされてしまい、AVX10ビット(EDX[19])がスタックデータを読んでいました。修正により、leaf 7 sub-leaf 1が有効な間にAVX10ビットをキャッシュし、後続のleaf 0x24検出でキャッシュされた値を使用するよう変更しました。 @@ -33,7 +33,7 @@ AVX10 CPUID bit検出のバグを修正しました。CPUID leaf 7 sub-leaf 1の - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月11日 19:51:06(UTC) - マージ日時: 2026年04月12日 14:38:41(UTC) -- ラベル: area-Infrastructure-libraries +- ラベル: area-Infrastructure-libraries #### 概要 `BoxedLayoutTypeMarshaler`経由で`DestroyStructure`が呼ばれるblittable型で、無条件に`NativeMemory.Clear`を実行していたため、無効なポインタ(例:`(IntPtr)1`)に対してNullReferenceExceptionが発生していた問題を修正しました。blittable型の場合は`FreeCore`と`NativeMemory.Clear`をスキップ、非blittable型はネストされたクリーンアップ後の二重解放防止のため`NativeMemory.Clear`を実行するよう改善しています。 @@ -56,7 +56,7 @@ AVX10 CPUID bit検出のバグを修正しました。CPUID leaf 7 sub-leaf 1の - 作成者: [@tannergooding](https://github.com/tannergooding) - 作成日時: 2026年04月09日 00:42:03(UTC) - マージ日時: 2026年04月12日 01:50:17(UTC) -- ラベル: area-System.Buffers +- ラベル: area-System.Buffers #### 概要 Arm64プラットフォーム上の `IndexOfAnyAsciiSearcher` の性能を最適化するPRです。`Count`、`IndexOf`、`LastIndexOf` の専用APIのコード生成をArm64向けに改善し、`ExtractMostSignificantBits` の代わりにこれらを使用するように更新しました。`IndexOfAny` スタイルの検索を使用するワークロードで5~50%のパフォーマンス向上が期待できます。 @@ -82,7 +82,7 @@ Arm64プラットフォーム上の `IndexOfAnyAsciiSearcher` の性能を最適 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月03日 15:00:36(UTC) - マージ日時: 2026年04月12日 02:20:28(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 XUnitWrapperGeneratorで、`[Theory]` + `[MemberData]`属性を持つテストが条件付きスキップ属性(`[SkipOnPlatform]`等)でラップされる場合、`ConditionalTest`の`else`分岐で`testArguments`ループ変数がスコープ外になり、コンパイルエラー`CS0103`が発生する問題を修正します。 diff --git a/archives/2026/04/13.md b/archives/2026/04/13.md index c0a67b5..d73292d 100644 --- a/archives/2026/04/13.md +++ b/archives/2026/04/13.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#126832 Set commit message for image pinning from Renovate](#126832) 2. [#126826 Fix race condition in EvictionCount_NotOvercounted_WhenEntryAlreadyRemoved test](#126826) 3. [#126825 Remove TODO for async devirtualization](#126825) @@ -22,7 +22,7 @@ - 作成者: [@mthalman](https://github.com/mthalman) - 作成日時: 2026年04月13日 13:34:01(UTC) - マージ日時: 2026年04月13日 17:36:34(UTC) -- ラベル: area-System.Text.Json +- ラベル: area-System.Text.Json #### 概要 Renovateの設定を更新し、コンテナイメージダイジェストのピニング更新時に、より具体的なコミットメッセージタイトル「Pin container image dependencies」を使用するようにしました。従来の汎用的な「Pin dependencies」から変更されます。 @@ -43,7 +43,7 @@ Renovateの設定を更新し、コンテナイメージダイジェストのピ - 作成者: [@cincuranet](https://github.com/cincuranet) - 作成日時: 2026年04月13日 07:50:37(UTC) - マージ日時: 2026年04月13日 16:58:25(UTC) -- ラベル: area-Extensions-Caching +- ラベル: area-Extensions-Caching #### 概要 `EvictionCount_NotOvercounted_WhenEntryAlreadyRemoved`テストにおける競合状態を修正するPR。バックグラウンドの`ScanForExpiredItems`タスクがテストの明示的な`TryGetValue`および`Compact`操作と競合し、エントリが`ConcurrentDictionary`から削除されても`_accumulatedEvictions`がまだインクリメントされていない状態で`GetCurrentStatistics`が呼ばれることで、エビクション数の過小計測が発生していた問題を解決。`ExpirationScanFrequency`を`TimeSpan.MaxValue`に設定することで、バックグラウンドスキャンを事実上無効化する。 @@ -64,7 +64,7 @@ Renovateの設定を更新し、コンテナイメージダイジェストのピ - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年04月13日 05:11:56(UTC) - マージ日時: 2026年04月13日 21:58:02(UTC) -- ラベル: area-crossgen runtime-async +- ラベル: area-crossgen runtime-async #### 概要 CoreCLR JIT インターフェースのデバッグ時デバーチャライゼーション処理において、非同期バリアントに関する TODO コメントを削除し、対応する仮の例外処理を削除します。非同期デバーチャライゼーションサポートが修正されたため、この例外処理は不要になりました。 @@ -86,7 +86,7 @@ CoreCLR JIT インターフェースのデバッグ時デバーチャライゼ - 作成者: [@danmoseley](https://github.com/danmoseley) - 作成日時: 2026年04月13日 00:18:03(UTC) - マージ日時: 2026年04月13日 15:58:23(UTC) -- ラベル: area-Infrastructure area-skills +- ラベル: area-Infrastructure area-skills #### 概要 dotnet/runtime に GitHub Actions ワークフローを追加し、`.github/skills/` および `.github/agents/` 配下のファイル変更時に `skill-validator check` を実行してスキルとエージェント定義の構造的妥当性を検証します。AOT コンパイル済みバイナリを使用するため .NET ランタイムは不要です。現在 11 個のスキルと 2 個のエージェントが定義されており、マージ前に不正な frontmatter やフィールド欠落などの問題を検出できます。 @@ -117,7 +117,7 @@ dotnet/runtime に GitHub Actions ワークフローを追加し、`.github/skil - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年04月12日 23:42:29(UTC) - マージ日時: 2026年04月13日 18:06:17(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 AOTコンパイラツール(ilc/crossgen2)でスタックトレースの行番号情報を生成できるようにする変更です。共有MSBuildプロパティで`StackTraceLineNumberSupport`を有効化し、デバッグ体験を向上させます。 @@ -138,7 +138,7 @@ AOTコンパイラツール(ilc/crossgen2)でスタックトレースの行 - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年04月12日 20:29:30(UTC) - マージ日時: 2026年04月13日 22:51:11(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITの冗長分岐排除(redundant branch elimination)機能を拡張し、PHI値を使用するブロックを通じたジャンプスレッド化をサポートしました。PHIの使用がスレッド化されるブロックとその直後の後続ブロック内で完全に追跡できる場合に、SSA/VN使用箇所を書き換えて安全にスレッド化を行う機能を実装しています。 @@ -162,7 +162,7 @@ JITの冗長分岐排除(redundant branch elimination)機能を拡張し、P - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月12日 01:23:27(UTC) - マージ日時: 2026年04月13日 04:01:01(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 ARM64 JITコードジェネレータで、`Vector64/Vector128.ToScalar`が64ビット整数型(`long`/`ulong`)を扱う場合、`umov`(ベクトル要素抽出)ではなく`fmov`(ベクトル↔汎用レジスタ間の移動)を発行するように変更しました。他の要素型については既存の動作を保持します。 @@ -185,7 +185,7 @@ ARM64 JITコードジェネレータで、`Vector64/Vector128.ToScalar`が64ビ - 作成者: [@MichalPetryka](https://github.com/MichalPetryka) - 作成日時: 2026年04月11日 20:30:18(UTC) - マージ日時: 2026年04月13日 02:11:07(UTC) -- ラベル: community-contribution area-crossgen2-coreclr +- ラベル: community-contribution area-crossgen2-coreclr #### 概要 HandleToObject メソッドにおいて、ハンドルがnullでないことを確認するアサーションを追加します。この変更により、以前は暗号的な IndexOutOfRangeException が発生していた状況で、より明確なエラー情報を提供するようになります。 @@ -206,7 +206,7 @@ HandleToObject メソッドにおいて、ハンドルがnullでないことを - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月11日 20:06:10(UTC) - マージ日時: 2026年04月13日 14:20:32(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 CoreCLR JITの値番号付けインフラストラクチャから未使用の「shared-static」関数属性を削除し、値番号付け関数メタデータとそれに関連するテーブルを簡略化します。 @@ -229,7 +229,7 @@ CoreCLR JITの値番号付けインフラストラクチャから未使用の「 - 作成者: [@jtschuster](https://github.com/jtschuster) - 作成日時: 2026年04月10日 22:50:13(UTC) - マージ日時: 2026年04月13日 16:43:55(UTC) -- ラベル: area-Infrastructure runtime-async area-crossgen2-coreclr +- ラベル: area-Infrastructure runtime-async area-crossgen2-coreclr #### 概要 crossgen/crossgen2テストの実行時に`async/covariant-return`テストプロジェクトをスキップするための変更。[#126755](https://github.com/dotnet/runtime/issues/126755)でcrossgen2がasync メソッドの共変戻り値型処理に対応するまでの一時的な対応です。 @@ -250,7 +250,7 @@ crossgen/crossgen2テストの実行時に`async/covariant-return`テストプ - 作成者: [@janvorli](https://github.com/janvorli) - 作成日時: 2026年04月10日 21:21:25(UTC) - マージ日時: 2026年04月13日 23:16:41(UTC) -- ラベル: area-GC-coreclr +- ラベル: area-GC-coreclr #### 概要 1024個を超えるCPUを搭載したLinuxマシンでのランタイム初期化失敗に対応するPR。`sched_getaffinity`の固定サイズの`cpu_set_t`を動的に割り当てられたCPUセット構造に変更し、任意の数のCPUをサポート。GCのヒープ上限は1024個に保ったまま、CPU関連のデータ構造を動的化。`MAX_SUPPORTED_CPUS`定数を`MAX_SUPPORTED_HEAPS`に名称変更してコード意図を明確化。 @@ -280,7 +280,7 @@ Copilotレビューで3件の低信頼度コメント指摘: - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年04月10日 08:23:18(UTC) - マージ日時: 2026年04月13日 07:18:06(UTC) -- ラベル: area-Diagnostics-coreclr os-ios +- ラベル: area-Diagnostics-coreclr os-ios #### 概要 iOS デバイス(arm64)CI ジョブを `runtime.yml` の3つの iOS スモークテスト(Mono AOT、NativeAOT、CoreCLR)に復元します。デバイスキューの信頼性の問題により導入されていた `iossimulator_arm64` ワークアラウンドを置き換えます。 @@ -302,7 +302,7 @@ iOS デバイス(arm64)CI ジョブを `runtime.yml` の3つの iOS スモ - 作成者: [@jtschuster](https://github.com/jtschuster) - 作成日時: 2026年04月09日 16:50:00(UTC) - マージ日時: 2026年04月13日 18:21:47(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 .gitignoreを更新し、C# Dev Kit拡張機能が生成するキャッシュファイル(.lscache)とダンプファイルをGitの追跡から除外するパターンを追加します。 @@ -323,7 +323,7 @@ iOS デバイス(arm64)CI ジョブを `runtime.yml` の3つの iOS スモ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月02日 17:58:32(UTC) - マージ日時: 2026年04月13日 14:21:10(UTC) -- ラベル: area-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 MacCatalystにおけるプロセス生成機能を改善し、macOSで利用可能な`posix_spawn`による高速パスを有効化するもの。従来MacCatalystはプロセス生成の実装がなく、初期化されていない`childPid`を返す回帰状態にあった。`posix_spawn`を活用することでパフォーマンス向上とMacCatalyst上での正しい動作を実現する。 @@ -352,7 +352,7 @@ MacCatalystでのプロセス生成実装は、`fork`がカーネル制限で利 - 作成者: [@PranavSenthilnathan](https://github.com/PranavSenthilnathan) - 作成日時: 2026年03月24日 15:59:21(UTC) - マージ日時: 2026年04月13日 19:35:55(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 OpenSSLの非推奨なRSA APIを削除し、EVP_PKEYベースのAPIへの移行を完了します。RSA型とRSA_*メソッドをEVP_PKEYへ置き換え、証明書生成とキー検証パスを更新します。ビルドはOpenSSL 3.0以降で非推奨APIの廃止に対応しています。 @@ -382,7 +382,7 @@ OpenSSLの非推奨なRSA APIを削除し、EVP_PKEYベースのAPIへの移行 - 作成者: [@SingleAccretion](https://github.com/SingleAccretion) - 作成日時: 2026年03月05日 11:22:17(UTC) - マージ日時: 2026年04月13日 12:17:03(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 Call ノードが持つ冗長なフィールド `gtCallAddr` を削除し、すべてのコール型で `gtControlExpr` に統一する変更です。これまで `gtCallAddr` と `gtControlExpr` はコール型ごとに使い分けられていましたが、目的は同じ(コール対象の保持)であったため、これを整理して実装の複雑性を低減します。間接呼び出しでは常に有効ですが、ヘルパー呼び出しとユーザー呼び出しでは `nullptr` となる場合があります。 @@ -410,7 +410,7 @@ Call ノードが持つ冗長なフィールド `gtCallAddr` を削除し、す - 作成者: [@a74nh](https://github.com/a74nh) - 作成日時: 2026年02月20日 12:50:19(UTC) - マージ日時: 2026年04月13日 14:39:51(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 ARM64プロセッサの新しい暗号化命令セット(SHA3、SM4、およびSVE拡張機能のSVE_AES、SVE_SHA3、SVE_SM4)に対する命令セット検出とサポートを追加します。ランタイム、JIT、Ready2Run(R2R)ツールチェーン全体で、これらの機能を一貫して認識・制御できるようにします。 diff --git a/archives/2026/04/14.md b/archives/2026/04/14.md index 0cfecdd..fd836e9 100644 --- a/archives/2026/04/14.md +++ b/archives/2026/04/14.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#126894 Rename area-crossgen2-coreclr to area-ReadyToRun in area ownership docs](#126894) 2. [#126886 Change area lead for System.Formats.Tar](#126886) 3. [#126883 Allow repo traversal from runtime skills](#126883) @@ -35,7 +35,7 @@ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月14日 18:10:16(UTC) - マージ日時: 2026年04月14日 18:28:17(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 ドキュメント内のラベル名を `area-crossgen2-coreclr` から `area-ReadyToRun` に統一するための更新です。エリア所有権管理ドキュメントとIssue自動振り分けのキーワードマッピングを修正し、ラベル名の一貫性を保ちます。 @@ -57,7 +57,7 @@ - 作成者: [@jeffhandley](https://github.com/jeffhandley) - 作成日時: 2026年04月14日 17:16:02(UTC) - マージ日時: 2026年04月14日 17:46:19(UTC) -- ラベル: documentation area-Meta +- ラベル: documentation area-Meta #### 概要 System.Formats.Tar領域のarea leadを変更し、ドキュメントの区域所有権リストを現在の保守担当者と一致させるための更新です。`area-System.Formats.Tar`ラベルのarea leadを@jeffhandleyから@karelzに変更します。 @@ -78,7 +78,7 @@ GitHub team側は既に適切なメンバーが設定されているため、こ - 作成者: [@JanKrivanek](https://github.com/JanKrivanek) - 作成日時: 2026年04月14日 16:00:46(UTC) - マージ日時: 2026年04月14日 18:37:16(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 リポジトリローカルスキル(repo-local skills)が自身のフォルダ外のファイルを参照できるようにするため、skill-validator の検証ワークフローを更新するPR。`--allow-repo-traversal` フラグを追加し、ドキュメントリンクをリポジトリルート相対パスまたは明示的な相対パスに更新しました。 @@ -104,7 +104,7 @@ Copilotからの低信度コメントにより、一部のリンクについて - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年04月14日 14:10:44(UTC) - マージ日時: 2026年04月14日 20:06:04(UTC) -- ラベル: arch-wasm area-System.Runtime.InteropServices.JavaScript os-browser +- ラベル: arch-wasm area-System.Runtime.InteropServices.JavaScript os-browser #### 概要 Release ビルド構成の検出をケース非依存にして、JavaScript のミニフィケーション動作を Release で正しく適用できるようにしました。ビルド時の設定検出ロジックを修正し、`Configuration` 値の大文字小文字を区別せずに比較するようになります。 @@ -125,7 +125,7 @@ Release ビルド構成の検出をケース非依存にして、JavaScript の - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年04月14日 14:08:55(UTC) - マージ日時: 2026年04月14日 17:24:29(UTC) -- ラベル: arch-wasm area-Infrastructure-coreclr +- ラベル: arch-wasm area-Infrastructure-coreclr #### 概要 CoreCLR WebAssemblyビルドに対してWebcil V1形式での出力をデフォルトで有効化します。MSBuildのWebcilバージョン設定をWebcil変換タスクに伝播させることで実現しています。 @@ -149,7 +149,7 @@ CoreCLR WebAssemblyビルドに対してWebcil V1形式での出力をデフォ - 作成者: [@rzikm](https://github.com/rzikm) - 作成日時: 2026年04月14日 09:37:07(UTC) - マージ日時: 2026年04月14日 12:36:49(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 HTTP/3相互運用性テストで使用されている`quic.tech:8443`エンドポイントを削除するPRです。このサーバーがCI環境から一貫してタイムアウトしており、複数のプラットフォーム(AzureLinux、Windows 11、Windows Server 2022/2025)で100%の失敗率を示していたため、テスト対象から除外するものです。 @@ -172,7 +172,7 @@ CI実行時間の改善。該当テストで10秒のタイムアウト待機が - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年04月14日 09:19:33(UTC) - マージ日時: 2026年04月14日 15:19:51(UTC) -- ラベル: arch-wasm area-Infrastructure-coreclr +- ラベル: arch-wasm area-Infrastructure-coreclr #### 概要 WebAssembly(wasm)CoreCLRインタプリタで`System.Runtime.Tests`の44個のテストを有効化するため、不要な`[ActiveIssue]`および`[SkipOnPlatform]`属性を削除しました。マルチスレッド機能を必要とするテストについては、イシュー判定から機能検出(`PlatformDetection.IsMultithreadingSupported`)へ変更しています。 @@ -202,7 +202,7 @@ WebAssembly(wasm)CoreCLRインタプリタで`System.Runtime.Tests`の44個 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月14日 08:01:57(UTC) - マージ日時: 2026年04月14日 21:48:15(UTC) -- ラベル: linkable-framework area-Tools-ILLink +- ラベル: linkable-framework area-Tools-ILLink #### 概要 ILLink Roslyn アナライザーのデータフロー分析が、デフォルトパラメータ値を持つデリゲート型を処理する際に `Debug.Assert` で失敗する問題を修正しました。 @@ -230,7 +230,7 @@ Roslyn がデリゲートのデフォルトパラメータ初期化子の操作 - 作成者: [@tannergooding](https://github.com/tannergooding) - 作成日時: 2026年04月14日 05:11:46(UTC) - マージ日時: 2026年04月14日 23:44:43(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT コンパイラの SIMD/MASK 値に対する「per-element mask」の検証ロジックを強化し、より多くの最適化パスで正しく適用するための修正です。`IsVectorPerElementMask` ヘルパーの拡張により、マスク要素数の不一致を防ぎながら、より安全な最適化を可能にします。 @@ -255,7 +255,7 @@ JIT コンパイラの SIMD/MASK 値に対する「per-element mask」の検証 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月14日 05:02:09(UTC) - マージ日時: 2026年04月14日 18:15:01(UTC) -- ラベル: area-Microsoft.CSharp +- ラベル: area-Microsoft.CSharp #### 概要 `Microsoft.CSharp.Tests.csproj`のMSBuildプロパティ関数呼び出しが閉じ括弧を欠いていたため、修正しました。修正前は`$(Features.Replace('strict', '')`と記述されており、MSBuildがこれをプロパティ関数として解析できず空文字列に評価されていました。その結果、`Directory.Build.props`から継承された`nullablePublicOnly`を含むすべてのコンパイラ機能が意図せず削除されていました。修正後は`$(Features.Replace('strict', ''))`となり、`strict`のみを削除しつつ他の機能を保持するようになります。 @@ -279,7 +279,7 @@ JIT コンパイラの SIMD/MASK 値に対する「per-element mask」の検証 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月14日 00:01:41(UTC) - マージ日時: 2026年04月14日 18:42:52(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT の `BOUNDS_CHECK(0, length)` 削除最適化を改善しました。`BOUNDS_CHECK(0, length)` は `(uint)0 < (uint)length` をチェックし、これは `length != 0` と意味的に等価です。本修正により、支配的な `length != 0` アサーションが live である場合に、この冗長なチェックを削除できるようになります。これは null/empty チェック後の span/array アクセスで一般的なパターンです。 @@ -314,7 +314,7 @@ static bool TryStripFirstChar(ref ReadOnlySpan span, char value) - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年04月13日 23:33:30(UTC) - マージ日時: 2026年04月14日 13:54:56(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 `runtime-diagnostics` パイプラインのcDAC/DACテストレグをSOS(デバッガ拡張機能)テストのみに限定するCI設定変更です。EventPipeモニタリングやdotnet-countersなど、DAC実装に依存しないテストを除外し、パイプラインのブロッキング問題を解決します。 @@ -340,7 +340,7 @@ static bool TryStripFirstChar(ref ReadOnlySpan span, char value) - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月13日 22:12:45(UTC) - マージ日時: 2026年04月14日 06:48:05(UTC) -- ラベル: area-System.Formats.Tar +- ラベル: area-System.Formats.Tar #### 概要 Native AOT環境でのテスト失敗を修正するため、`TarReader_SparseFileTests.WriteSparseEntry`内のリフレクションベースの内部メンバアクセスを`[UnsafeAccessor]`に置き換えました。トリマーがリフレクションメタデータを削除することで発生していた`NullReferenceException`を解決します。 @@ -365,7 +365,7 @@ Native AOT環境でのテスト失敗を修正するため、`TarReader_SparseFi - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年04月12日 00:15:54(UTC) - マージ日時: 2026年04月14日 07:55:24(UTC) -- ラベル: arch-wasm area-Infrastructure-mono +- ラベル: arch-wasm area-Infrastructure-mono #### 概要 WebAssembly テスト用の Chrome ブラウザバージョンを更新します。Linux で 147.0.7727.55、Windows で 147.0.7727.56 にバージョンアップしています。 @@ -387,7 +387,7 @@ WebAssembly テスト用の Chrome ブラウザバージョンを更新します - 作成者: [@noahfalk](https://github.com/noahfalk) - 作成日時: 2026年04月11日 00:17:46(UTC) - マージ日時: 2026年04月14日 12:27:15(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Compact Data Access Component)テストの簡潔化に関するクリーンアップです。BumpAllocatorが自動的にHeapFragmentsを保存するよう改善され、テスト内での二段階プロセス(アドレス計算と別途のAddHeapFragment()呼び出し)が不要になりました。これに伴い、AllocateAndAdd()ヘルパーの統合要求への対応として、テストコード全体から二重呼び出しのパターンを排除しています。 @@ -413,7 +413,7 @@ cDAC(Compact Data Access Component)テストの簡潔化に関するクリ - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年04月10日 21:41:04(UTC) - マージ日時: 2026年04月14日 16:37:45(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT ループクローニングにおいて、ダウンカウントループの条件生成が不十分だったバグを修正します。ダウンカウントループで初期値が配列長と等しい場合、不正に高速パスが実行される可能性がありました。初期値が配列長より**厳密に小さい**ことを常に検証する必要があります。 @@ -436,7 +436,7 @@ JIT内部実装(ループクローニング最適化)の修正であり、 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月09日 16:51:52(UTC) - マージ日時: 2026年04月14日 18:19:59(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 `ComInterfaceGenerator`と`VtableIndexStubGenerator`で、ユーザーが宣言した`[GeneratedComInterface]`インターフェースのメソッドに`partial`または`virtual`修飾子を付与した場合、生成されるスタブコードに無効な修飾子がコピーされていた問題を修正します。生成されたコードから`partial`と`virtual`キーワードをフィルタリングして、有効なC#を生成するようにしました。 @@ -469,7 +469,7 @@ internal partial interface ICalculator - 作成者: [@emilwall](https://github.com/emilwall) - 作成日時: 2026年04月09日 11:59:39(UTC) - マージ日時: 2026年04月14日 14:53:33(UTC) -- ラベル: area-Extensions-HttpClientFactory community-contribution +- ラベル: area-Extensions-HttpClientFactory community-contribution #### 概要 `HttpClientBuilderExtensions.AddTypedClient`のXMLドキュメントコメントに含まれる2つのタイポを修正しました。 @@ -494,7 +494,7 @@ internal partial interface ICalculator - 作成者: [@rzikm](https://github.com/rzikm) - 作成日時: 2026年04月09日 07:47:37(UTC) - マージ日時: 2026年04月14日 07:19:23(UTC) -- ラベル: area-System.Net.Security +- ラベル: area-System.Net.Security #### 概要 Windows Server 2022以前のバージョンにおいて、`ApplyControlToken(SSL_SESSION_DISABLE_RECONNECTS)`がSchannel内部のセッションキャッシュとの競合状態により、TLS再開が無効化されてもセッションIDが`ClientHello`に埋め込まれる問題を修正します。修正後は、セキュリティコンテキストを削除して`InitializeSecurityContext`を再実行し、新しい`ClientHello`を生成することで問題を回避します。この対応はWindows 11未満(ビルド22000未満)に限定されています。 @@ -516,7 +516,7 @@ Windows Server 2022以前では、TLS再開を無効化する際に追加のセ - 作成者: [@rzikm](https://github.com/rzikm) - 作成日時: 2026年04月08日 14:33:29(UTC) - マージ日時: 2026年04月14日 07:21:08(UTC) -- ラベル: area-System.Net.Security +- ラベル: area-System.Net.Security #### 概要 GSSAPI初期化時のstderr ログ出力を削除し、エラーハンドリングを例外ベースに変更するPRです。`libgssapi_krb5.so.2`がオプションまたは利用不可な環境(チゼル化されたコンテナなど)における動作を改善します。 @@ -540,7 +540,7 @@ Copilotのレビューコメント指摘により、静的コンストラクタ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月03日 23:43:29(UTC) - マージ日時: 2026年04月14日 04:57:39(UTC) -- ラベル: area-Infrastructure-libraries +- ラベル: area-Infrastructure-libraries #### 概要 ARM32プラットフォームで`TestStackOverflowLargeFrameMainThread`テストが確実に失敗するため、スキップ条件に`Architecture.Arm`を追加する修正。大フレームメソッド(65KB/フレーム)がARM32で実行される際、JITがスタックページを調査する方法の制限により、ガードページフォルトが実行時の検出ウィンドウ(`signal.cpp`の2ページ)外で発生し、SIGABRT(終了コード134)ではなくSIGSEGV(終了コード139)が生成されることが原因。 @@ -574,7 +574,7 @@ if (((RuntimeInformation.ProcessArchitecture == Architecture.Arm64) || ... || - 作成者: [@bwinsley](https://github.com/bwinsley) - 作成日時: 2026年04月02日 02:49:09(UTC) - マージ日時: 2026年04月14日 12:41:44(UTC) -- ラベル: area-System.IO.Compression community-contribution +- ラベル: area-System.IO.Compression community-contribution #### 概要 ZipArchive.Update モードで既存のZIPを開く際、データディスクリプタ(general purpose bit flag bit 3)を持つエントリが上書きされてアーカイブが破損する問題を修正しました。非シーク可能なストリームで作成されたアーカイブやJavaの`ZipOutputStream`、Azure SDKなどで作成されたアーカイブが影響を受けます。.NET 10で導入された PR #102704 の最適化による回帰です。 @@ -601,7 +601,7 @@ ZipArchive.Update モードで既存のZIPを開く際、データディスク - 作成者: [@rosebyte](https://github.com/rosebyte) - 作成日時: 2026年04月01日 06:25:15(UTC) - マージ日時: 2026年04月14日 16:01:19(UTC) -- ラベル: area-Extensions-Configuration +- ラベル: area-Extensions-Configuration #### 概要 `ConfigurationIgnoreAttribute`を新たに追加し、設定バインディング時に特定のプロパティを明示的にスキップできるようにしました。リフレクションベースのバインダーとソースジェネレータの両方を更新して、無視されたプロパティをバインディング対象から除外します。 @@ -631,7 +631,7 @@ Copilotの指摘: コンストラクタパラメータ/プロパティの名前 - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年03月29日 12:51:29(UTC) - マージ日時: 2026年04月14日 17:18:26(UTC) -- ラベル: linkable-framework area-Tools-ILLink +- ラベル: linkable-framework area-Tools-ILLink #### 概要 5年前のiltrim hackathonで開発されたIL-levelトリマーのプロトタイプをdotnet/runtimeに統合します。ILCompiler.TypeSystem、DependencyAnalysisFramework、System.Reflection.Metadataを活用し、Mono.Linker.Testsインフラストラクチャ上に構築されています。約14,000行から7,000行に削減され、テストの32%が現在パスしています。 @@ -671,7 +671,7 @@ Copilotの指摘: コンストラクタパラメータ/プロパティの名前 - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年03月27日 13:09:01(UTC) - マージ日時: 2026年04月14日 11:26:20(UTC) -- ラベル: os-ios area-CodeGen-Interpreter-coreclr +- ラベル: os-ios area-CodeGen-Interpreter-coreclr #### 概要 インタープリタが開放型仮想デリゲート(open virtual delegate)のコンパイル済みターゲットを呼び出す際のSIGSEGV(セグメンテーション違反)を修正しました。インタープリタの呼び出しハンドラが、解決されたターゲットがコンパイル済み(`targetIp == NULL`)である開放型仮想デリゲートを検出した場合、これまでは汎用パスで`GetTarget()`を呼び出していましたが、開放型デリゲートの場合null が返されて引数スロットが破損していました。修正により、コンパイル済みターゲットを持つ開放型仮想デリゲート用の専用パスが追加され、`memmove`を使ってデリゲートオブジェクトを除去しながら引数をシフトします。V128引数の16バイトアラインメントも保持します。 @@ -698,7 +698,7 @@ Copilotの指摘: コンストラクタパラメータ/プロパティの名前 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月26日 22:37:21(UTC) - マージ日時: 2026年04月14日 18:19:02(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 Crossgen outerloop ビルドにおいて、異なるディレクトリに存在する同名の `.csproj` ファイル(`finally.csproj`と`Target.csproj`)がMergedTestRunner内で重複するアセンブリ名を生成し、MSBuildの競合解決によって参照が静かに削除される問題を修正しました。`MergedTestRunner.targets`において、extern alias とアセンブリ名の導出ロジックを`%(Filename)`から`%(RelativeDir)%(Filename)`(非英数字を`_`で置換)に変更し、ファイルシステム上の位置情報を含めることで一意性を保証します。 @@ -721,7 +721,7 @@ Crossgen outerloop ビルドにおいて、異なるディレクトリに存在 - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年03月25日 17:51:15(UTC) - マージ日時: 2026年04月14日 23:55:59(UTC) -- ラベル: area-ReadyToRun +- ラベル: area-ReadyToRun #### 概要 `ObjectDataInterner`をリファクタリングし、プラグ可能な`IObjectDataDeduplicator`インターフェースを導入することで、デデュプリケーション戦略を抽象化します。これにより、NativeAOT(メソッドボディの折畳み)とReadyToRun(コピーされたメソッドILの折畳み)の両方で統一されたデデュプリケーション基盤を共有できるようになります。 @@ -749,7 +749,7 @@ Crossgen outerloop ビルドにおいて、異なるディレクトリに存在 - 作成者: [@steveisok](https://github.com/steveisok) - 作成日時: 2026年03月20日 14:01:40(UTC) - マージ日時: 2026年04月14日 16:08:19(UTC) -- ラベル: Servicing-approved area-System.Net.Quic +- ラベル: Servicing-approved area-System.Net.Quic #### 概要 release/9.0 stagingブランチの変更をrelease/9ブランチにマージするリリース統合PR。System.Net.WebSocketsのプロトコル検証強化、System.Net.Quicのテスト環境対応、ビルド基盤のアップデートを含みます。 @@ -772,7 +772,7 @@ release/9.0 stagingブランチの変更をrelease/9ブランチにマージす - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年03月05日 18:00:34(UTC) - マージ日時: 2026年04月14日 03:07:32(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 DAC(Debugging Assist Code)の`DefaultCOMImpl`テンプレートクラスにおける2つの参照カウント管理バグを修正し、cDACの互換性回避策を削除するPRです。また、ClrMDを最新版(4.0.0-beta)にバージョンアップし、cDACで`CLRDATA_REQUEST_REVISION`を直接実装しています。 @@ -799,7 +799,7 @@ DAC(Debugging Assist Code)の`DefaultCOMImpl`テンプレートクラスに - 作成者: [@sbomer](https://github.com/sbomer) - 作成日時: 2025年09月06日 00:22:51(UTC) - マージ日時: 2026年04月14日 18:17:09(UTC) -- ラベル: linkable-framework area-Tools-ILLink +- ラベル: linkable-framework area-Tools-ILLink #### 概要 Dynamically Accessed Members (DAM) 注釈の基底型不一致警告を削除します。基底型での警告は不要です。なぜなら派生型の構築時に警告が生成されるため、穴は生じないからです。この変更により、そのような型の静的メソッド使用が可能になります。併せて、ILLink の分岐削除時の IL オフセット追跡バグを修正します。 diff --git a/archives/2026/04/15.md b/archives/2026/04/15.md index 9d94397..07c4b2c 100644 --- a/archives/2026/04/15.md +++ b/archives/2026/04/15.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#126927 Make UCO MethodDesc globals DAC-accessible](#126927) 2. [#126926 Add `MetadataLoadContext.GetLoadContext(Assembly)`.](#126926) 3. [#126923 Add failing ILTrim tests to baseline](#126923) @@ -39,7 +39,7 @@ - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年04月15日 00:27:35(UTC) - マージ日時: 2026年04月15日 19:00:36(UTC) -- ラベル: area-VM-coreclr community-contribution +- ラベル: area-VM-coreclr community-contribution #### 概要 UCO(Unmanaged Code Origin)関連のMethodDesc グローバル変数をDAC(Data Access Component)からアクセス可能にするための変更です。デバッガーのスタックウォーク機能がこれらのグローバル変数に安全にアクセスできるようにするために、dacvars.h に変数の登録を追加し、複数のソースファイルで不要な重複定義を削除しています。 @@ -66,7 +66,7 @@ UCO(Unmanaged Code Origin)関連のMethodDesc グローバル変数をDAC( - 作成者: [@teo-tsirpanis](https://github.com/teo-tsirpanis) - 作成日時: 2026年04月15日 00:08:32(UTC) - マージ日時: 2026年04月15日 13:30:12(UTC) -- ラベル: area-System.Reflection.Metadata community-contribution +- ラベル: area-System.Reflection.Metadata community-contribution #### 概要 `MetadataLoadContext`から読み込まれた`Assembly`オブジェクトに対して、その元の`MetadataLoadContext`を取得するための公開API `MetadataLoadContext.GetLoadContext(Assembly)` を追加します。MLC経由で読み込まれたアセンブリの場合は関連するコンテキストを返し、ランタイム読み込みアセンブリの場合は`null`を返します。 @@ -89,7 +89,7 @@ UCO(Unmanaged Code Origin)関連のMethodDesc グローバル変数をDAC( - 作成者: [@sbomer](https://github.com/sbomer) - 作成日時: 2026年04月14日 23:47:19(UTC) - マージ日時: 2026年04月15日 07:24:07(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 ILTrim テストのうちメインブランチで失敗するテストケースをベースライン(期待値)に追加するパッチです。PR #123040 の影響を受けたテストをカバーしています。 @@ -110,7 +110,7 @@ ILTrim テストのうちメインブランチで失敗するテストケース - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年04月14日 23:23:15(UTC) - マージ日時: 2026年04月15日 12:07:12(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイラのValue Numbering (VN)処理における性能最適化。関数アプリケーション(func-app)VNチャンクのメモリレイアウトにおけるエレメント stride を一度だけコンストラクタで計算・キャッシュし、以降の呼び出しで再計算を避けることで、TP(スループット)を改善します。 @@ -134,7 +134,7 @@ JITコンパイラのValue Numbering (VN)処理における性能最適化。関 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月14日 23:20:33(UTC) - マージ日時: 2026年04月15日 17:35:06(UTC) -- ラベル: area-System.Runtime.InteropServices +- ラベル: area-System.Runtime.InteropServices #### 概要 `area-Host`と`area-System.Runtime.InteropServices`ラベルをdotnet/runtimeリポジトリのエリア所有者ドキュメントとポリシーボット自動化から復元する変更です。これらのラベルは誤って削除されていたため、再度追加することで、これらのラベルが付与されたIssueやPRで適切な通知がトリガーされるようにしています。 @@ -156,7 +156,7 @@ JITコンパイラのValue Numbering (VN)処理における性能最適化。関 - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年04月14日 23:01:13(UTC) - マージ日時: 2026年04月15日 15:32:49(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT コンパイラの assertion-propagation における定数畳み込みを改善するPR。値番号(VN)オペランドが現在のIRオペランドと一致しない場合(前の最適化変換が原因)の範囲情報導出を改善しました。これは [#126907](https://github.com/dotnet/runtime/pull/126907) のフォローアップ修正です。 @@ -180,7 +180,7 @@ JIT コンパイラの assertion-propagation における定数畳み込みを - 作成者: [@tommcdon](https://github.com/tommcdon) - 作成日時: 2026年04月14日 22:20:37(UTC) - マージ日時: 2026年04月15日 19:55:40(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 x86ターゲットにおける非同期フレームのジェネリック型引数トークン読み込みの問題を修正しました。`CordbAsyncFrame::LoadGenericArgs`が`CORDB_ADDRESS`(常に8バイト)を使用して読み込んでいたため、x86の4バイトポインタ読み込み時に隣接メモリのゴミデータを取得し、`EnumerateTypeParameters`が`E_INVALIDARG`エラーを返していました。`SIZE_T`(ターゲットのポインタサイズに合致:x86では4バイト、x64では8バイト)に変更することで解決します。 @@ -204,7 +204,7 @@ x86ターゲットにおける非同期フレームのジェネリック型引 - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年04月14日 22:08:09(UTC) - マージ日時: 2026年04月15日 16:09:07(UTC) -- ラベル: Servicing-approved area-CodeGen-coreclr +- ラベル: Servicing-approved area-CodeGen-coreclr #### 概要 ループクローニング最適化におけるバグ修正。特定の下向きカウントループで不正な境界チェック省略が発生し、配列の範囲外アクセスによるヒープ破損を引き起こす可能性があった問題を修正。 @@ -239,7 +239,7 @@ for (int i = N; i > 0; i--) - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年04月14日 22:07:44(UTC) - マージ日時: 2026年04月15日 16:09:24(UTC) -- ラベル: Servicing-approved area-CodeGen-coreclr +- ラベル: Servicing-approved area-CodeGen-coreclr #### 概要 JITループクローン最適化におけるダウンカウントループ(逆順ループ)のバグ修正。特定の条件下で、配列の範囲外へのアクセスがバウンズチェック省略により許可されてしまい、ヒープ破損につながる問題を解決します。 @@ -273,7 +273,7 @@ for (int i = N; i > 0; i--) - 作成者: [@tannergooding](https://github.com/tannergooding) - 作成日時: 2026年04月14日 21:24:19(UTC) - マージ日時: 2026年04月15日 06:59:06(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 AVX512のマスク関連内部intrinsicsを`HW_Category_Special`から`HW_Category_SimpleSIMD`に再分類し、`HW_Flag_SpecialCodeGen`フラグを追加することで、CSE(Common Subexpression Elimination)とループホイスティングを可能にする変更です。これにより、`ExtractMostSignificantBits`などの操作で不要なEVEX命令の使用を避け、より小さく高速なVEX命令の生成が可能になります。 @@ -296,7 +296,7 @@ AVX512のマスク関連内部intrinsicsを`HW_Category_Special`から`HW_Catego - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年04月14日 19:23:49(UTC) - マージ日時: 2026年04月15日 14:44:41(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 Thread Environment Block (TEB) ポインタをDAC/cDACのThreadデータコントラクトから削除します。消費者(SOS、ClrMDなど)はOS thread IDを介してデバッガのネイティブAPIからTEBを取得するよう変更されます。これはバイナリレイアウト互換性を維持しつつ、TEB参照を廃止化する内部実装の整理です。 @@ -324,7 +324,7 @@ cDAC テスト: 1586/1586 パス、cdb 検証で `!Threads` 出力の一致を - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2026年04月14日 18:58:47(UTC) - マージ日時: 2026年04月15日 03:11:48(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 `SubjectAlternativeNameBuilder`に Registered ID (OID) を追加するための`AddRegisteredId(string)`メソッドを新規実装しました。この変更により、Subject Alternative Name (SAN) の構築時に`registeredID`エントリが必要なシナリオに対応できるようになります。 @@ -348,7 +348,7 @@ cDAC テスト: 1586/1586 パス、cdb 検証で `!Threads` 出力の一致を - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年04月14日 18:55:10(UTC) - マージ日時: 2026年04月15日 20:18:04(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Compact Data Access Compact)ダンプテストのビルド構成をRelease から Checked ランタイムに変更します。これにより CLR ランタイムアサーションが有効になり、ダンプテスト実行時に cDAC データディスクリプタおよびコントラクト実装の問題をより早期に検出できます。ライブラリは Release のまま保持されます。 @@ -372,7 +372,7 @@ Checked ランタイムはアサーション実行によるオーバーヘッド - 作成者: [@vseanreesermsft](https://github.com/vseanreesermsft) - 作成日時: 2026年04月14日 18:49:42(UTC) - マージ日時: 2026年04月15日 02:38:10(UTC) -- ラベル: Servicing-approved area-System.Security +- ラベル: Servicing-approved area-System.Security #### 概要 .NET 8.0向けのセキュリティ強化リリースです。XML暗号化処理における過度な再帰/危険なトランスフォーム、およびメールアドレス解析におけるCR/LF インジェクションに対する防御を実装しています。 @@ -408,7 +408,7 @@ Checked ランタイムはアサーション実行によるオーバーヘッド - 作成者: [@vseanreesermsft](https://github.com/vseanreesermsft) - 作成日時: 2026年04月14日 18:39:55(UTC) - マージ日時: 2026年04月15日 02:38:54(UTC) -- ラベル: Servicing-approved area-System.Security +- ラベル: Servicing-approved area-System.Security #### 概要 このPRは、release/9.0向けのセキュリティ強化アップデートをマージするもので、以下の3つの主要な変更を含みます: 1. `System.Security.Cryptography.Xml`への再帰深度制限機能の追加 @@ -450,7 +450,7 @@ Checked ランタイムはアサーション実行によるオーバーヘッド - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年04月14日 16:40:51(UTC) - マージ日時: 2026年04月15日 22:03:15(UTC) -- ラベル: Servicing-approved area-CodeGen-coreclr +- ラベル: Servicing-approved area-CodeGen-coreclr #### 概要 JITのループクローニング最適化におけるバグを修正しました。下降カウント(down-counting)ループで境界チェックが不正に省略される問題を解決します。 @@ -490,7 +490,7 @@ for (int i = a.Length; i > 0; i--) - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年04月14日 13:50:55(UTC) - マージ日時: 2026年04月15日 11:55:46(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 CoreCLR インタープリターのCI/テストインフラストラクチャの調整を行うPRです。インタープリター実行の遅さに対応するためタイムアウト値を拡大し、macOS x64上でのSwift相互運用性テストを無効化しています。 @@ -516,7 +516,7 @@ CoreCLR インタープリターのCI/テストインフラストラクチャの - 作成者: [@svick](https://github.com/svick) - 作成日時: 2026年04月14日 11:52:01(UTC) - マージ日時: 2026年04月15日 13:49:36(UTC) -- ラベル: area-Extensions-FileSystem +- ラベル: area-Extensions-FileSystem #### 概要 .NET Framework上でのFileSystemWatcher信頼性の問題により、`ResolveFileProvider_WithMissingParentDirectory_WatchTokenFiresWhenFileCreated`テストが不安定になっていた問題に対応しています。本PRでは、このテストを.NET Frameworkでスキップし、タイムアウト実装をモダン化してCI失敗を解決します。 @@ -542,7 +542,7 @@ CoreCLR インタープリターのCI/テストインフラストラクチャの - 作成者: [@steveisok](https://github.com/steveisok) - 作成日時: 2026年04月13日 13:34:31(UTC) - マージ日時: 2026年04月15日 18:42:48(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 iOS/tvOS/MacCatalystプラットフォームの共通する制約条件(静的リンク、fork()廃止、ビルドツール廃止、ハイブリッドグローバライゼーション、コンソール信号廃止など)を統一するため、新しい umbrella変数 `CLR_CMAKE_TARGET_APPLE_MOBILE` を導入しました。これにより、11個のCMakeファイルにおける約30個の重複したプラットフォーム条件判定を削減し、将来的な不整合を防ぎます。また、MacCatalystに対するsendfile除外設定の漏れも修正されています。 @@ -570,7 +570,7 @@ iOS/tvOS/MacCatalystプラットフォームの共通する制約条件(静的 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月12日 09:31:17(UTC) - マージ日時: 2026年04月15日 10:13:17(UTC) -- ラベル: area-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 新しい公開API `Process.ReadAllText()` と `Process.ReadAllBytes()` を実装しました。これらのメソッドはプロセスのstdoutとstderrの両方を同時に読み取り、デッドロックを回避するためにプラットフォーム固有の多重化処理(Windowsはオーバーラップド I/O、Unixはpoll(2))を使用します。タイムアウト制御をサポートしており、両方のストリームがリダイレクトされており、かつ非同期モードでアクセスされていないことが要件です。 @@ -619,7 +619,7 @@ using Process process = Process.Start(startInfo); - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年04月09日 17:20:22(UTC) - マージ日時: 2026年04月15日 12:14:04(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 インタープリター実行時の非同期メソッド戻り値が継続オブジェクトに書き込まれる際、GC書き込みバリアが不正に省略される問題を修正しました。 @@ -645,7 +645,7 @@ System.Text.Json.Tests内でランダムに発生していたGCクラッシュ - 作成者: [@tommcdon](https://github.com/tommcdon) - 作成日時: 2026年04月09日 16:18:50(UTC) - マージ日時: 2026年04月15日 17:24:14(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 x86でランタイム非同期フレーム(runtime async frames)に対して、デバッガに報告されるスタックポインタを調整するバグ修正。`ICorDebugManagedCallback2::Exception`コールバック(特に`DEBUG_EXCEPTION_CATCH_HANDLER_FOUND`通知)で、例外ハンドラ検出時に`ICorDebugFrame`がnullになっていた問題を解決します。 @@ -668,7 +668,7 @@ x86でランタイム非同期フレーム(runtime async frames)に対して - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年04月08日 14:01:41(UTC) - マージ日時: 2026年04月15日 08:16:15(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイラのエイリアス追跡機能を改善し、プロモーション済みローカル変数への書き込みを正しく処理するようにしました。これにより、ARM64での不正なコード生成(#126414で報告)を防ぎます。プロモーション済み構造体フィールドローカルへの書き込みは親のプロモーション済みローカルへの書き込みとして扱われ、親ローカルへの書き込みはすべてのプロモーション済みフィールドローカルへの書き込みとして扱われるようになります。 @@ -692,7 +692,7 @@ JITコンパイラのエイリアス追跡機能を改善し、プロモーシ - 作成者: [@T-Gro](https://github.com/T-Gro) - 作成日時: 2026年04月08日 11:20:26(UTC) - マージ日時: 2026年04月15日 23:45:26(UTC) -- ラベル: NO-MERGE area-System.Net +- ラベル: NO-MERGE area-System.Net #### 概要 dotnet/runtime リポジトリの GitHub Copilot による code review プロセスに System.Net に特化したレビュー機能を追加します。25,366件のエキスパートレビューコメント(5,579個の PR から抽出)に基づいており、System.Net の HTTP、Sockets、Security、QUIC、Common、Interop の 6 つのサブエリアに対応した構造化レビューチェックリストとガイダンスを実装しています。 @@ -718,7 +718,7 @@ dotnet/runtime リポジトリの GitHub Copilot による code review プロセ - 作成者: [@XeronOwO](https://github.com/XeronOwO) - 作成日時: 2026年04月06日 08:20:17(UTC) - マージ日時: 2026年04月15日 10:45:07(UTC) -- ラベル: area-System.Text.Json community-contribution +- ラベル: area-System.Text.Json community-contribution #### 概要 パラメータ化されたコンストラクタを持つクラスのデシリアライゼーション失敗時に、`JsonException`のメッセージに誤った型情報が表示される問題を修正します。修正前は親クラスの型が表示され、修正後は実際に変換に失敗したプロパティの型が正しく表示されるようになります。 @@ -749,7 +749,7 @@ dotnet/runtime リポジトリの GitHub Copilot による code review プロセ - 作成者: [@kg](https://github.com/kg) - 作成日時: 2026年04月03日 20:14:17(UTC) - マージ日時: 2026年04月15日 00:42:10(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly RyuJIT コードジェネレータで、構造体ローカル変数のレジスタ型が直接表現できない場合のアサーション失敗を修正します。`BitConverter.ToBFloat16` と `Vector.op_Multiply` で発生していたコードジェン時のアサーション失敗に対応します。 @@ -771,7 +771,7 @@ WebAssembly RyuJIT コードジェネレータで、構造体ローカル変数 - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年04月02日 13:03:29(UTC) - マージ日時: 2026年04月15日 13:31:47(UTC) -- ラベル: arch-wasm area-Infrastructure-coreclr +- ラベル: arch-wasm area-Infrastructure-coreclr #### 概要 WebAssembly/CoreCLR環境でのテスト実行を改善するPR。browser-wasm/CoreCLR構成に対するテスト除外設定を削除し、以前失敗していた2つのテストスイートの実行を再度有効化します。 @@ -796,7 +796,7 @@ WebAssembly/CoreCLR環境でのテスト実行を改善するPR。browser-wasm/C - 作成者: [@dependabot[bot]](https://github.com/apps/dependabot) - 作成日時: 2026年03月27日 18:36:33(UTC) - マージ日時: 2026年04月15日 16:26:47(UTC) -- ラベル: area-codeflow javascript dependencies +- ラベル: area-codeflow javascript dependencies #### 概要 `/src/native`ディレクトリのNode.js依存関係を更新するPRです。`serialize-javascript`を6.0.2から7.0.5へ、`@rollup/plugin-terser`を0.4.4から1.0.0へ更新しており、これらの依存関係は連携して更新される必要があります。 @@ -823,7 +823,7 @@ serialize-javascript 7.0.5では、特定のオブジェクト構造における - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月27日 04:53:04(UTC) - マージ日時: 2026年04月15日 00:29:15(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/dotnetリポジトリからの定期的なコードフロー更新です。主にビルドツール、コンパイラ、ランタイム関連の依存パッケージが更新されています。このPRはVMR(Virtual Monorepo)からのソースコード変更と依存関係の更新を含みます。 @@ -857,7 +857,7 @@ dotnet/dotnetリポジトリからの定期的なコードフロー更新です - 作成者: [@dependabot[bot]](https://github.com/apps/dependabot) - 作成日時: 2026年03月25日 22:40:17(UTC) - マージ日時: 2026年04月15日 23:40:09(UTC) -- ラベル: area-codeflow javascript dependencies +- ラベル: area-codeflow javascript dependencies #### 概要 dotnet/runtimeのネイティブビルド依存関係である`picomatch`をセキュリティ脆弱性修正のため更新します。picomatch 4.0.3→4.0.4、および2.3.1→2.3.2へ更新され、これらの依存関係は相互依存のため一緒に更新されました。 @@ -882,7 +882,7 @@ dotnet/runtimeのネイティブビルド依存関係である`picomatch`をセ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月17日 19:54:52(UTC) - マージ日時: 2026年04月15日 02:16:06(UTC) -- ラベル: linkable-framework area-Tools-ILLink +- ラベル: linkable-framework area-Tools-ILLink #### 概要 トリミングされた自己完結型ライブラリ形式のアプリ公開時に、SDKが中間アセンブリを常に`RootMode="EntryPoint"`でルート化することで`IL1034`エラーが発生する問題を修正します。ライブラリプロジェクト(`OutputType=Library`)ではエントリーポイントルートを指定しないようにターゲットを更新しました。 @@ -917,7 +917,7 @@ dotnet/runtimeのネイティブビルド依存関係である`picomatch`をセ - 作成者: [@namu-lee](https://github.com/namu-lee) - 作成日時: 2026年03月13日 09:53:48(UTC) - マージ日時: 2026年04月15日 09:02:45(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 RISC-V環境でJITコンパイラのツリーダンプ表示を改善し、`GT_CAST`ノードに対して`GTF_ADDRMODE_NO_CSE`フラグを表示できるようにする変更です。デバッグ時にアドレスモード最適化の詳細を確認しやすくなります。 @@ -947,7 +947,7 @@ RISC-V環境でJITコンパイラのツリーダンプ表示を改善し、`GT_C - 作成者: [@BoyBaykiller](https://github.com/BoyBaykiller) - 作成日時: 2026年03月09日 20:37:34(UTC) - マージ日時: 2026年04月15日 08:59:39(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 JIT のif-conversion 処理を簡略化するゼロ差分変更。Then/Else パスに空のブロックやチェーンされたブロックが存在しないという前提に基づいて、複数ブロックの流れ追跡を単一の直接フロー確認に統合します。 @@ -970,7 +970,7 @@ JIT のif-conversion 処理を簡略化するゼロ差分変更。Then/Else パ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月13日 01:04:14(UTC) - マージ日時: 2026年04月15日 02:42:21(UTC) -- ラベル: area-System.Reflection +- ラベル: area-System.Reflection #### 概要 `CustomReflectionContext` クラスとその全公開/保護メンバーに対して包括的なXML ドキュメンテーションを追加し、IntelliSense サポートを提供するバックポート PR です。dotnet-api-docs から runtime リポジトリへのドキュメンテーション追加であり、ランタイム動作には影響なし。 diff --git a/archives/2026/04/16.md b/archives/2026/04/16.md index 9b4ba45..a565ddb 100644 --- a/archives/2026/04/16.md +++ b/archives/2026/04/16.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#127018 JIT: Fix loongarch64 Windows build](#127018) 2. [#127009 Fix TimeZoneInfo.ConvertTime producing wrong results near DateTime.MinValue/MaxValue](#127009) 3. [#127000 \[release/8.0-staging\] \[QUIC\] Update MsQuic](#127000) @@ -39,7 +39,7 @@ - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年04月16日 17:32:03(UTC) - マージ日時: 2026年04月16日 17:48:50(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 #126938で導入されたLoongArch64 JIT パフォーマンススコア計算のWindows ビルド破損を修正します。`insMemoryAccessKind`に誤ったレイテンシ値が割り当てられていた問題を、正しいメモリアクセス種別の値に修正しました。 @@ -62,7 +62,7 @@ LoongArch64 JITコンパイラのPerf Score計算処理における型安全性 - 作成者: [@tarekgh](https://github.com/tarekgh) - 作成日時: 2026年04月16日 16:00:54(UTC) - マージ日時: 2026年04月16日 23:07:05(UTC) -- ラベル: area-System.DateTime +- ラベル: area-System.DateTime #### 概要 `TimeZoneInfo.ConvertTime`が`DateTime.MinValue`/`DateTime.MaxValue`近傍の日時を正のオフセット/負のオフセットの時間帯間で変換する際に誤った結果を返していた問題を修正しました。 @@ -87,7 +87,7 @@ LoongArch64 JITコンパイラのPerf Score計算処理における型安全性 - 作成者: [@ManickaP](https://github.com/ManickaP) - 作成日時: 2026年04月16日 12:18:15(UTC) - マージ日時: 2026年04月16日 16:34:56(UTC) -- ラベル: Servicing-approved area-System.Net.Quic +- ラベル: Servicing-approved area-System.Net.Quic #### 概要 `release/8.0-staging`ブランチにおいて、`System.Net.Quic`が依存するWindows用MsQuic (SChannel) NuGetパッケージをバージョン2.4.16から2.4.18にマイナーバージョンアップします。本変更は`dotnet/runtime#126945`の同等パッチです。 @@ -111,7 +111,7 @@ LoongArch64 JITコンパイラのPerf Score計算処理における型安全性 - 作成者: [@ManickaP](https://github.com/ManickaP) - 作成日時: 2026年04月16日 12:16:34(UTC) - マージ日時: 2026年04月16日 16:35:48(UTC) -- ラベル: Servicing-approved area-System.Net.Quic +- ラベル: Servicing-approved area-System.Net.Quic #### 概要 release/9.0-stagingブランチにおいて、MsQuic(Schannel)ライブラリのバージョンを2.4.8から2.4.18にアップデートするマイナーバージョン更新です。プロダクトコードの変更はなく、外部ライブラリの依存バージョン更新のみとなります。 @@ -135,7 +135,7 @@ release/9.0-stagingブランチにおいて、MsQuic(Schannel)ライブラ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月16日 08:05:30(UTC) - マージ日時: 2026年04月16日 22:11:58(UTC) -- ラベル: area-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 `System.Diagnostics.Process`に行単位のストリーミング出力APIを追加します。新しい`ProcessOutputLine`値型と`Process.ReadAllLinesAsync`メソッドにより、標準出力と標準エラーを非同期的にインターリーブして反復処理できるようになります。 @@ -171,7 +171,7 @@ await foreach (ProcessOutputLine line in process.ReadAllLinesAsync()) - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年04月16日 06:44:19(UTC) - マージ日時: 2026年04月16日 06:48:00(UTC) -- ラベル: arch-wasm area-Infrastructure-coreclr os-browser +- ラベル: arch-wasm area-Infrastructure-coreclr os-browser #### 概要 前回のコミット(fa5f840e)で導入されたserialize-javascriptと@rollup/plugin-terserのバージョンアップを元に戻すリバート変更です。アップデート後のビルドが失敗していた問題(`crypto is not defined`エラー)を解決するためのリバートです。 @@ -193,7 +193,7 @@ await foreach (ProcessOutputLine line in process.ReadAllLinesAsync()) - 作成者: [@tommcdon](https://github.com/tommcdon) - 作成日時: 2026年04月16日 03:26:05(UTC) - マージ日時: 2026年04月16日 14:37:27(UTC) -- ラベル: area-Diagnostics-coreclr runtime-async +- ラベル: area-Diagnostics-coreclr runtime-async #### 概要 CoreCLR DAC デバッグインターフェイスの `GetObjectFields` メソッドで、実行時に動的に生成される Continuation サブタイプのフィールド列挙時にアクセス違反が発生していた問題を修正します。`TypeHandle` を `UpCastTypeIfNeeded()` でアップキャストしてから `ApproxFieldDescIterator` を構築することで、動的に生成されたタイプを基底クラスに正規化し、AV を回避します。 @@ -214,7 +214,7 @@ CoreCLR DAC デバッグインターフェイスの `GetObjectFields` メソッ - 作成者: [@tarekgh](https://github.com/tarekgh) - 作成日時: 2026年04月15日 18:39:54(UTC) - マージ日時: 2026年04月16日 01:34:46(UTC) -- ラベル: area-System.Diagnostics.Metric +- ラベル: area-System.Diagnostics.Metric #### 概要 `CircularBufferBuckets`の最小容量制限を1から2に引き上げ、防御的なバグ修正を実施します。`capacity == 1`かつインデックス範囲が負から非負にまたがる場合(例:`begin = -1`, `end = 0`)に`CalculateScaleReduction`が無限ループする潜在的な脆弱性を事前に防ぎます。現在の使用箇所では既に`minBuckets >= 2`が強制されており、この変更により将来のコーラーが誤ってこの問題をトリガーできないようにします。 @@ -236,7 +236,7 @@ CoreCLR DAC デバッグインターフェイスの `GetObjectFields` メソッ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月15日 18:02:57(UTC) - マージ日時: 2026年04月16日 02:05:53(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 obsolete(廃止予定)な`IDacDbiInterface` APIを削除し、RCW キャッシュ型クエリパスを簡素化するリファクタリング。具体的にはNGEN/ReJit/従来のRCWインターフェース型列挙に関連する未使用APIを削除し、不要なDAC呼び出しを回避します。 @@ -262,7 +262,7 @@ DAC(デバッグアクセスコンポーネント)への不要な呼び出 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月15日 17:59:11(UTC) - マージ日時: 2026年04月16日 17:20:17(UTC) -- ラベル: area-Interop-coreclr +- ラベル: area-Interop-coreclr #### 概要 Issue トリアージの自動ラベル付けヒューリスティックを更新し、アセンブリ読み込み、ホスト、および相互運用性に関するIssueを正しい`area-*`ラベルへルーティングするようにしました。マークダウンのみの変更です。 @@ -289,7 +289,7 @@ Issue トリアージの自動ラベル付けヒューリスティックを更 - 作成者: [@eiriktsarpalis](https://github.com/eiriktsarpalis) - 作成日時: 2026年04月15日 17:24:02(UTC) - マージ日時: 2026年04月16日 17:12:06(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 `System.Security.Cryptography.Xml`コンポーネントに対して、悪意のある深くネストされたXML構造やXML爆弾攻撃に対する防御を強化する変更です。複数の再帰的コード経路に設定可能な再帰深度制限(デフォルト64)を導入し、`EncryptedXml`で危険な変換アルゴリズムをデフォルトで無効化します。 @@ -318,7 +318,7 @@ Issue トリアージの自動ラベル付けヒューリスティックを更 - 作成者: [@ManickaP](https://github.com/ManickaP) - 作成日時: 2026年04月15日 11:22:07(UTC) - マージ日時: 2026年04月16日 10:14:49(UTC) -- ラベル: area-System.Net.Quic +- ラベル: area-System.Net.Quic #### 概要 System.Net.Quic が使用する MsQuic (Schannel) パッケージのバージョンを 2.4.16 から 2.5.7 に更新します。この変更により、ランタイムと関連テストが MsQuic 2.5.7 を使用するようになります。 @@ -339,7 +339,7 @@ System.Net.Quic が使用する MsQuic (Schannel) パッケージのバージョ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月15日 10:05:40(UTC) - マージ日時: 2026年04月16日 06:20:40(UTC) -- ラベル: area-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 `System.Diagnostics.Process`に非同期API `ReadAllTextAsync(CancellationToken)`と`ReadAllBytesAsync(CancellationToken)`を追加し、stdoutとstderrの完全な非同期多重読み取りを実現します。新しいAPIはストリームベースの非同期読み取りを使用した多重化ヘルパーで実装されています。 @@ -365,7 +365,7 @@ System.Net.Quic が使用する MsQuic (Schannel) パッケージのバージョ - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年04月15日 08:21:46(UTC) - マージ日時: 2026年04月16日 01:26:39(UTC) -- ラベル: Servicing-approved area-CodeGen-coreclr +- ラベル: Servicing-approved area-CodeGen-coreclr #### 概要 JITコンパイラが昇格ローカル変数への書き込みを不正に並べ替える問題を修正しました。arm64の隣接ストア最適化で露顕した不具合ですが、共通ヘルパー関数の問題であるため全ターゲットに影響する可能性があります。`AliasSet::AddNode`関数で並べ替え合法性の判定ロジックを強化しています。 @@ -391,7 +391,7 @@ JITコンパイラが昇格ローカル変数への書き込みを不正に並 - 作成者: [@LuckyXu-HF](https://github.com/LuckyXu-HF) - 作成日時: 2026年04月15日 07:40:46(UTC) - マージ日時: 2026年04月16日 10:46:07(UTC) -- ラベル: area-CodeGen-coreclr community-contribution arch-loongarch64 +- ラベル: area-CodeGen-coreclr community-contribution arch-loongarch64 #### 概要 LoongArch64アーキテクチャにおいて、JITコンパイラの`emitter::getInsExecutionCharacteristics()`メソッドを実装し、命令のレイテンシとスループット情報に基づくパフォーマンススコア(perfscore)の計算をサポートします。3A6000プロセッサの命令レイテンシおよびスループットベンチマークデータに基づいています。 @@ -415,7 +415,7 @@ LoongArch64アーキテクチャにおいて、JITコンパイラの`emitter::ge - 作成者: [@mangod9](https://github.com/mangod9) - 作成日時: 2026年04月15日 01:09:23(UTC) - マージ日時: 2026年04月16日 00:05:06(UTC) -- ラベル: area-GC-coreclr +- ラベル: area-GC-coreclr #### 概要 `GCLargePages` が有効な場合に、誘発された Aggressive GC でのデコミット処理がメモリを実際には解放しないながらも GC ブックキーピングを更新する問題を修正します。影響を受けたメモリを明示的にクリアして、古い参照が後で観察されないようにします。 @@ -438,7 +438,7 @@ LoongArch64アーキテクチャにおいて、JITコンパイラの`emitter::ge - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年04月14日 14:54:06(UTC) - マージ日時: 2026年04月16日 20:15:00(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 AppDomain廃止に伴い、マルチAppDomain対応のレガシーコード(`DomainAssembly`型、関連するDAC/DBIインターフェース、デバッガー実装)を削除し、単一AppDomainモデルに統一するランタイムとデバッグAPI層の大規模リファクタリングです。`DomainAssembly`を削除して`Assembly`/`Module`で直接管理するよう簡素化し、デバッガーとDAC/DBIレイヤーの契約を更新します。 @@ -471,7 +471,7 @@ AppDomain廃止に伴い、マルチAppDomain対応のレガシーコード(`D - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年04月13日 03:22:43(UTC) - マージ日時: 2026年04月16日 15:22:03(UTC) -- ラベル: Servicing-approved area-Infrastructure-libraries +- ラベル: Servicing-approved area-Infrastructure-libraries #### 概要 Native AOTの大規模実行ファイルに関連するAppleリンカーの問題を修正するため、outerloopテストの設定を調整するバックポート。内部で発見されたテスト問題への対応。 @@ -496,7 +496,7 @@ Native AOTの大規模実行ファイルに関連するAppleリンカーの問 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月13日 00:58:37(UTC) - マージ日時: 2026年04月16日 22:33:04(UTC) -- ラベル: Servicing-approved area-System.Globalization +- ラベル: Servicing-approved area-System.Globalization #### 概要 PR #122373で導入されたNativeAOT非互換なリフレクションコードをテストから削除し、Native AOTテストの互換性を復旧するテスト専用の修正です。日本語カレンダーテストの基盤クラス(`CalendarTestBase`)でICU固有の`JapaneseCalendar`最小サポート日付(エラティック)を計算する際のリフレクション使用方法をNativeAOT対応にリファクタリングします。 @@ -521,7 +521,7 @@ PR #122373で導入されたNativeAOT非互換なリフレクションコード - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年04月13日 00:31:22(UTC) - マージ日時: 2026年04月16日 15:22:55(UTC) -- ラベル: Servicing-approved area-NativeAOT-coreclr +- ラベル: Servicing-approved area-NativeAOT-coreclr #### 概要 native AOT環境で失敗していたouterloopテストを修正するバックポート。release/10.0ブランチに#119312の修正内容をポートしており、テストのみの変更です。 @@ -544,7 +544,7 @@ native AOT環境で失敗していたouterloopテストを修正するバック - 作成者: [@kg](https://github.com/kg) - 作成日時: 2026年04月10日 22:26:25(UTC) - マージ日時: 2026年04月16日 23:51:47(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 RyuJITのWASM コードジェン中で、構造体戻り値のtype erasure時にアサーション失敗を引き起こしていた問題を修正しています。mis-sized struct return処理を、実際に戻り値ノードが`TYP_STRUCT`型の場合のみに限定することで、非構造体型の値を構造体型テンポラリに不正に変換する処理を防ぎます。修正前は`GT_IND`(ubyte型)を`TYP_STRUCT`型のローカル変数に格納しようとしていたため失敗していました。 @@ -565,7 +565,7 @@ RyuJITのWASM コードジェン中で、構造体戻り値のtype erasure時に - 作成者: [@bartonjs](https://github.com/bartonjs) - 作成日時: 2026年04月10日 21:50:59(UTC) - マージ日時: 2026年04月16日 23:30:27(UTC) -- ラベル: area-System.DirectoryServices +- ラベル: area-System.DirectoryServices #### 概要 `System.DirectoryServices.Protocols`テストの実行を外部LDAPサーバーに依存しないようにするため、LDAP、LDAP+STARTTLS、LDAPSをサポートする簡易的なインメモリLDAPサーバーを追加しました。既存テストで検証されていた機能に限定した実装となっており、必要に応じて機能拡張が可能です。 @@ -589,7 +589,7 @@ RyuJITのWASM コードジェン中で、構造体戻り値のtype erasure時に - 作成者: [@trungnt2910](https://github.com/trungnt2910) - 作成日時: 2026年04月09日 12:36:57(UTC) - マージ日時: 2026年04月16日 17:11:36(UTC) -- ラベル: area-GC-coreclr community-contribution +- ラベル: area-GC-coreclr community-contribution #### 概要 GCC Release ビルドでの CoreCLR Unix cgroup メモリ使用量コードの失敗を修正しています。`asprintf` に null 文字列を渡すことによる `-Werror=format-overflow=` エラーを防ぐため、`s_memory_cgroup_path` が null の場合の早期リターンガードを追加しました。 @@ -611,7 +611,7 @@ GCC Release ビルドでの CoreCLR Unix cgroup メモリ使用量コードの - 作成者: [@VSadov](https://github.com/VSadov) - 作成日時: 2026年04月07日 23:40:54(UTC) - マージ日時: 2026年04月16日 17:09:12(UTC) -- ラベル: area-VM-coreclr runtime-async +- ラベル: area-VM-coreclr runtime-async #### 概要 `ValueTask`が`IValueTaskSource`で一時停止するたびに新しい`ValueTaskSourceNotifier`ラッパーオブジェクトを割り当てていた問題を解決します。スレッドローカルキャッシュされた`ValueTaskSourceNotifier`インスタンスを再利用することで、await時の割り当てを削減します。 @@ -633,7 +633,7 @@ GC圧力の軽減。`ValueTask`が`IValueTaskSource`で一時停止するたび - 作成者: [@barosiak](https://github.com/barosiak) - 作成日時: 2026年04月07日 01:20:22(UTC) - マージ日時: 2026年04月16日 18:13:58(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Common Data Access Component)で `IXCLRDataModule2.SetJITCompilerFlags` を実装し、Loaderコントラクトの「デバッガー情報ビット」経由でモジュールのトランジェントフラグを更新できるようにしました。これにより、デバッガはJITコンパイラフラグを動的に制御できます。 @@ -662,7 +662,7 @@ cDAC(Common Data Access Component)で `IXCLRDataModule2.SetJITCompilerFlags` - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年04月06日 05:01:45(UTC) - マージ日時: 2026年04月16日 10:31:42(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 dotnet/xharnessの依存パッケージを更新するPull Requestです。Microsoft.DotNet.XHarness.CLI、Microsoft.DotNet.XHarness.TestRunners.Common、Microsoft.DotNet.XHarness.TestRunners.Xunitを11.0.0-prerelease.26174.1から11.0.0-prerelease.26204.1にアップデートしています。 @@ -685,7 +685,7 @@ dotnet/xharnessの依存パッケージを更新するPull Requestです。Micro - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月03日 21:52:23(UTC) - マージ日時: 2026年04月16日 16:11:33(UTC) -- ラベル: linkable-framework area-Tools-ILLink +- ラベル: linkable-framework area-Tools-ILLink #### 概要 ILLinkの型フォワーダー処理を改善し、`link`アクション(トリミング対象)でルート化されたアセンブリが、参照先のフォワーダーアセンブリを不必要に保持しないようにしました。`SweepStep.AssemblyReferencesCorrector`が型参照を実装アセンブリに直接書き直すため、フォワーダーアセンブリの保持は不要です。この修正により、トリミングされた出力のサイズが削減されます。 @@ -716,7 +716,7 @@ ILLinkの型フォワーダー処理を改善し、`link`アクション(ト - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月30日 16:09:47(UTC) - マージ日時: 2026年04月16日 08:08:28(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/xharnessの依存関係を更新するPull Requestです。Microsoft.DotNet.XHarness.CLI、Microsoft.DotNet.XHarness.TestRunners.Common、Microsoft.DotNet.XHarness.TestRunners.Xunitが8.0.0-prerelease.25516.2から11.0.0-prerelease.26180.1にバージョンアップされています。これに伴い、WASM関連のテストランナーやビルドスクリプト、バージョン情報などが更新されています。 @@ -741,7 +741,7 @@ dotnet/xharnessの依存関係を更新するPull Requestです。Microsoft.DotN - 作成者: [@lateralusX](https://github.com/lateralusX) - 作成日時: 2026年03月25日 13:51:05(UTC) - マージ日時: 2026年04月16日 10:17:16(UTC) -- ラベル: area-System.Runtime runtime-async +- ラベル: area-System.Runtime runtime-async #### 概要 PR #123727で導入された`RuntimeAsyncTask::DispatchContinuations`のデバッガ/TPLインストルメンテーション追加による約7%のパフォーマンス低下を回復するため、インストルメンテーション版と非インストルメンテーション版を分離しました。`DispatchContinuations`を2つのメソッド(通常版と計測版)に分割し、メソッド開始時と継続完了後に静的フラグをチェックして必要に応じてインストルメンテーション版に切り替える仕組みを実装しています。 @@ -774,7 +774,7 @@ PR #123727で導入された`RuntimeAsyncTask::DispatchContinuations`のデバ - 作成者: [@JulieLeeMSFT](https://github.com/JulieLeeMSFT) - 作成日時: 2026年03月19日 23:53:59(UTC) - マージ日時: 2026年04月16日 17:47:28(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 Azure DevOps CI パイプラインの監視、テスト失敗の分類、週次レポート生成を自動化する `ci-pipeline-monitor` Copilot CLI スキルを追加しました。現在は20以上のJITパイプラインを監視していますが、今後他のパイプラインへの拡張を予定しています。 @@ -804,7 +804,7 @@ Azure DevOps CI パイプラインの監視、テスト失敗の分類、週次 - 作成者: [@iremyux](https://github.com/iremyux) - 作成日時: 2026年01月13日 18:46:21(UTC) - マージ日時: 2026年04月16日 17:33:05(UTC) -- ラベル: area-System.IO.Compression +- ラベル: area-System.IO.Compression #### 概要 Deflate、ZLib、GZipの圧縮・解凍について、Spanベースのストリームレスな新しいAPIを追加します。`BrotliEncoder`/`BrotliDecoder`のパターンに従い、`DeflateEncoder`/`DeflateDecoder`、`ZLibEncoder`/`ZLibDecoder`、`GZipEncoder`/`GZipDecoder`クラスを導入。インスタンスベースのAPI(`Compress()`、`Decompress()`、`Flush()`)とスタティックのワンショットAPI(`TryCompress()`、`TryDecompress()`)、および`GetMaxCompressedLength()`を提供します。 @@ -833,7 +833,7 @@ Deflate、ZLib、GZipの圧縮・解凍について、Spanベースのストリ - 作成者: [@anthonycanino](https://github.com/anthonycanino) - 作成日時: 2025年12月18日 20:45:27(UTC) - マージ日時: 2026年04月16日 16:01:21(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 `System.Half`型をFP16 ISA(AVX10v1)で加速するためのドラフトPR。JITに新しい`TYP_HALF`型を導入し、`System.Half`の演算・変換・プロパティをAVX10v1スカラー命令にマッピングする。x86/x64アーキテクチャにおいて、`Half`値をXMM浮動小数点レジスタで受け渡しするABI変更を含む。 @@ -875,7 +875,7 @@ Deflate、ZLib、GZipの圧縮・解凍について、Spanベースのストリ - 作成者: [@maraf](https://github.com/maraf) - 作成日時: 2025年12月10日 16:34:49(UTC) - マージ日時: 2026年04月16日 03:49:44(UTC) -- ラベル: Servicing-approved arch-wasm area-Build-mono os-browser +- ラベル: Servicing-approved arch-wasm area-Build-mono os-browser #### 概要 WebAssembly boot configurationの生成時に、キャッシュ検証メカニズムとして使用される`integrity`属性が不足していた問題を修正するバックポート。boot config内のアセット定義で、`integrity`フィールドを正しく`hash`フィールドにリネームします。この修正により、WebAssemblyリソースリクエストの整合性チェックが適切に機能するようになります。 @@ -901,7 +901,7 @@ WebAssembly boot configurationの生成時に、キャッシュ検証メカニ - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2025年10月15日 20:56:23(UTC) - マージ日時: 2026年04月16日 18:07:59(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 OpenSSL 3.0以降でHMAC実装をEVP_MAC APIに移行し、非推奨となったHMAC APIの使用を廃止します。古いOpenSSLバージョンとの互換性を維持しながら、OpenSSL 3.0のネイティブAPIを活用します。 diff --git a/archives/2026/04/17.md b/archives/2026/04/17.md index 93fbccf..b2f5127 100644 --- a/archives/2026/04/17.md +++ b/archives/2026/04/17.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#127062 \[ios-clr\] Fix ErrObjectTests.Clear to set LastPInvokeError](#127062) 2. [#127042 Revert "Accelerate `Half` with FP16 ISA"](#127042) 3. [#127040 Remove DacDbi GetCachedWinRTTypes APIs from native and cDAC](#127040) @@ -38,7 +38,7 @@ - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年04月17日 09:11:17(UTC) - マージ日時: 2026年04月17日 16:10:20(UTC) -- ラベル: area-Microsoft.VisualBasic os-ios +- ラベル: area-Microsoft.VisualBasic os-ios #### 概要 `ErrObjectTests.Clear`テストをiOsを含む全プラットフォームで確定的に実行するよう修正しました。テストがP/Invoke エラー状態に依存していたため、Apple mobileでの予期しないP/Invoke活動により競合状態が発生していた問題を解決します。 @@ -63,7 +63,7 @@ - 作成者: [@tannergooding](https://github.com/tannergooding) - 作成日時: 2026年04月17日 02:03:26(UTC) - マージ日時: 2026年04月17日 06:19:45(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 PR #122649で導入された`System.Half`のFP16/AVX10v1アクセラレーション機能を完全に取り消します。`Half`型の内部実装をFP16ネイティブサポートから従来の「通常の構造体/float経由」の動作に戻し、JIT、VM、CoreLibにおける`Half`固有の特別扱いをすべて削除します。 @@ -90,7 +90,7 @@ PR #122649で導入された`System.Half`のFP16/AVX10v1アクセラレーショ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月17日 00:18:02(UTC) - マージ日時: 2026年04月17日 05:07:55(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 DAC/DBI(デバッガアクセスコンポーネント/デバッガバイナリインターフェース)ネイティブインターフェースから`GetCachedWinRTTypes`と`GetCachedWinRTTypesForIIDs` APIを削除します。これはWinRT型キャッシュ機能の廃止に伴う内部インターフェースのクリーンアップです。 @@ -114,7 +114,7 @@ DAC/DBI(デバッガアクセスコンポーネント/デバッガバイナリ - 作成者: [@danmoseley](https://github.com/danmoseley) - 作成日時: 2026年04月16日 22:52:10(UTC) - マージ日時: 2026年04月17日 19:34:30(UTC) -- ラベル: area-System.Text.RegularExpressions +- ラベル: area-System.Text.RegularExpressions #### 概要 `System.Text.RegularExpressions`の包括的なXMLドキュメンテーションをソースコードに逆ポート(backport)し、コンパイラ生成XMLドキュメントを公式ドキュメントの単一の情報源とします。新しいAPI(`RegexOptions.AnyNewLine`、`NonBacktracking`、`GeneratedRegexAttribute`メンバー)がLearn.microsoft.comで正しく表示されるようにし、dotnet-api-docsリポジトリでの個別パッチ適用を不要にします。 @@ -153,7 +153,7 @@ DAC/DBI(デバッガアクセスコンポーネント/デバッガバイナリ - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年04月16日 21:44:34(UTC) - マージ日時: 2026年04月17日 11:41:40(UTC) -- ラベル: arch-wasm area-Host os-browser +- ラベル: arch-wasm area-Host os-browser #### 概要 ブラウザ向けCoreCLR JavaScriptローダーの2つの問題を修正します: 1. `loadBootResourceCallback`に渡される`integrity`パラメータが常に`undefined`になっていたバグを修正し、代わりにアセットマニフェストから取得した`hash`フィールドを使用 @@ -178,7 +178,7 @@ DAC/DBI(デバッガアクセスコンポーネント/デバッガバイナリ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月16日 21:27:32(UTC) - マージ日時: 2026年04月17日 02:40:23(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 ネイティブ暗号PALの未使用マクロ`HAVE_EVP_MAC`を削除し、同等の条件チェック`g_evpMacHmac != NULL`をその唯一の呼び出し箇所にインライン化する変更です。HMAC作成ロジックは変更されません。 @@ -201,7 +201,7 @@ DAC/DBI(デバッガアクセスコンポーネント/デバッガバイナリ - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年04月16日 18:20:57(UTC) - マージ日時: 2026年04月17日 18:16:59(UTC) -- ラベル: os-windows area-Interop-coreclr +- ラベル: os-windows area-Interop-coreclr #### 概要 CLR→COM late-bound IL stubのキャッシュ方式を変更し、シグネチャのみでなくMethodDescをキーに含める修正です。複数のメソッドが同じシグネチャを持つ場合、DispIdAttributeなどのメタデータに基づいた動作が異なるメソッド間で誤ってstubが再利用される問題を解決します。 @@ -225,7 +225,7 @@ CLR→COM late-bound IL stubのキャッシュ方式を変更し、シグネチ - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年04月16日 17:39:08(UTC) - マージ日時: 2026年04月17日 05:02:07(UTC) -- ラベル: area-Diagnostics-coreclr area-Diagnostics-cdac +- ラベル: area-Diagnostics-coreclr area-Diagnostics-cdac #### 概要 cDAC(Common Data Access Component)の`ContractRegistry`に`TryGetContract`メソッドを追加し、コントラクトが見つからない場合の制御フローを例外に依存しない設計に改善するもの。従来の`GetContract`は見つからない場合に`NotImplementedException`をスローしていたが、一部のAPIでは`S_OK`を返すなど異なる動作が必要なため、呼び出し側が例外ベースではなく戻り値で処理できるようにした。 @@ -262,7 +262,7 @@ else - 作成者: [@steveisok](https://github.com/steveisok) - 作成日時: 2026年04月16日 16:39:37(UTC) - マージ日時: 2026年04月17日 15:40:52(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 browser-wasm CI の カバレッジギャップを修正するPRです。`src/native/package.json` や `package-lock.json` などの npm 設定変更が、実際に `npm run rollup` を実行する browser-wasm CoreCLR ビルドを トリガーしていませんでした。この問題により、Dependabot PR が `serialize-javascript` v7 への更新時に CI を通過してしまい、マージ後に `crypto is not defined` エラーで破損していました。 @@ -294,7 +294,7 @@ browser-wasm CI の カバレッジギャップを修正するPRです。`src/na - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月16日 12:45:29(UTC) - マージ日時: 2026年04月17日 12:28:03(UTC) -- ラベル: area-System.Runtime.CompilerServices +- ラベル: area-System.Runtime.CompilerServices #### 概要 `System.Runtime.CompilerServices`に承認済みのUnion型サポートAPI(`UnionAttribute`と`IUnion`インターフェース)を実装します。コンパイラがUnion型を認識するための属性と、ランタイムでUnionの値にアクセスするためのインターフェースを提供します。 @@ -331,7 +331,7 @@ public struct Pet : IUnion - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年04月16日 08:19:43(UTC) - マージ日時: 2026年04月17日 10:16:59(UTC) -- ラベル: area-Infrastructure-libraries +- ラベル: area-Infrastructure-libraries #### 概要 PR #125673でLibrary出力プロジェクトの`TrimmerRootAssembly`アイテム作成がスキップされたため、tvOSのRelease Library テスト時にILLinkによりテストアセンブリが完全にトリムされてしまう問題を修正します。`RootEntireIntermediateAssembly`ターゲットを変更し、メタデータ更新ではなく`Remove`+`Include`を用いて、SDKが提供しないLibraryプロジェクトでも常に`RootMode=all`の`TrimmerRootAssembly`アイテムが作成されるようにします。 @@ -360,7 +360,7 @@ Test libs were not found (*.Tests.dll was not found in .../AppBundle/...) - 作成者: [@maraf](https://github.com/maraf) - 作成日時: 2026年04月15日 11:28:58(UTC) - マージ日時: 2026年04月17日 09:44:08(UTC) -- ラベル: arch-wasm area-Build-mono os-browser +- ラベル: arch-wasm area-Build-mono os-browser #### 概要 CoreCLR browser-wasm アプリケーション向けの完全なネイティブ再リンク・パイプラインを実装します。これにより、`NativeFileReference` を通じてカスタムネイティブコードを含めながら、CoreCLR 静的ライブラリから `dotnet.native.wasm` を再リンクできるようになります。Emscripten ベースの構築パイプラインで、スタブ的な `WasmBuildApp` / `WasmTriggerPublishApp` ターゲットに置き換わります。 @@ -400,7 +400,7 @@ CoreCLR browser-wasm アプリケーション向けの完全なネイティブ - 作成者: [@barosiak](https://github.com/barosiak) - 作成日時: 2026年04月15日 00:31:32(UTC) - マージ日時: 2026年04月17日 00:18:05(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Common Data Access Component)のRuntimeTypeSystemコントラクトに`RequiresAlign8`フラグの実装を追加しました。このフラグはメソッドテーブルが8バイト境界での配置を必要とするかどうかを示します。実装は既存の`DacDbiImpl`を通じて公開され、DEBUG時には従来のDAC実装との相互検証を行っています。 @@ -426,7 +426,7 @@ cDAC(Common Data Access Component)のRuntimeTypeSystemコントラクトに` - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年04月14日 21:02:36(UTC) - マージ日時: 2026年04月17日 20:24:06(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 クロスプラットフォーム cDAC ダンプテストの命名を改善し、テスト結果にホストプラットフォームとダンプソースプラットフォーム両方が表示されるようにしました。 @@ -457,7 +457,7 @@ Helix ワークアイテム名が `CdacXPlatDumpTests_windows_x64` から `CdacX - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月14日 18:02:19(UTC) - マージ日時: 2026年04月17日 01:51:32(UTC) -- ラベル: area-Infrastructure-libraries +- ラベル: area-Infrastructure-libraries #### 概要 macOS 15以上でNativeAOT ビルドが間欠的に失敗する問題を修正しました。Swift自動リンク ライブラリ(`swift_Builtin_float`など)がXcode SDKパス配下に移動したため、`xcrun --show-sdk-path`で SDK パスを解決し、`-isysroot`によるパス再マッピングを活用することで対応します。これまでmacOS デスクトップターゲットはSDK解決に参加していませんでしたが、iOS系プラットフォームと同じメカニズムを適用することで問題を解決します。 @@ -484,7 +484,7 @@ macOS 15以上でNativeAOT ビルドが間欠的に失敗する問題を修正 - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年04月13日 21:16:45(UTC) - マージ日時: 2026年04月17日 22:02:19(UTC) -- ラベル: area-Interop-coreclr +- ラベル: area-Interop-coreclr #### 概要 COM イベント用の IL スタブが P/Invoke として誤分類されていた問題を修正します。GCStress における P/Invoke の特殊処理が COM イベント スタブに誤って適用されていたため、スタブを専用のタイプとして正しく分類することで対応しました。 @@ -506,7 +506,7 @@ COM イベント用の IL スタブが P/Invoke として誤分類されてい - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月13日 18:44:28(UTC) - マージ日時: 2026年04月17日 00:54:03(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT ランタイムの GC probe hijack フレーム で volatile な引数レジスタを保存・復元するように改善し、GC スタックウォーク時にレジスタが生きた GC 参照を保有している場合の保存位置の喪失を防止します。これにより CrossGen2 の GC promotion 時に発生していた AV を修正します。また JIT の interface lookup ヘルパーのキルセット更新と PHI ベース jump threading の回帰修正も含まれます。 @@ -539,7 +539,7 @@ NativeAOT ランタイムの GC probe hijack フレーム で volatile な引数 - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年04月13日 16:51:14(UTC) - マージ日時: 2026年04月17日 13:16:41(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 Windows上でロングパスサポートが有効になっていない場合、ビルド後半で診断困難なエラーが発生する問題に対して、ビルドスクリプト(`eng/build.ps1`)の早期段階でロングパスサポートを検証するチェック機能を追加するものです。`HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem`レジストリキーを確認し、260文字を超えるパスを作成できるか事前検証を行い、ロングパスサポート未有効な場合は早期終了して対応方法を提示します。 @@ -564,7 +564,7 @@ Windows上でロングパスサポートが有効になっていない場合、 - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年04月13日 10:08:45(UTC) - マージ日時: 2026年04月17日 10:57:41(UTC) -- ラベル: arch-wasm area-Diagnostics-coreclr os-browser +- ラベル: arch-wasm area-Diagnostics-coreclr os-browser #### 概要 Mono から EventPipe 診断サーバーの TypeScript 実装を CoreCLR ブラウザランタイムパスにポートします。ネイティブ EventPipe がブラウザ上の JS/TS 診断サーバーを駆動できるよう、JS トランスポート(直接実行)と WebSocket トランスポート(dotnet-dsrouter 経由)の両方をサポートし、クロスモジュール交換を通じてネイティブコードと統合します。現在の段階ではエンドツーエンド動作は未実装です。 @@ -607,7 +607,7 @@ Mono から EventPipe 診断サーバーの TypeScript 実装を CoreCLR ブラ - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年04月10日 16:15:48(UTC) - マージ日時: 2026年04月17日 20:38:30(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(データアクセスレイヤー)の段階的な実装進捗を測定するため、レガシーDAC へのフォールバックを制御する新しいテスト基盤を導入します。`LegacyFallbackHelper`という粒度の細かい許可リストを実装し、`CDAC_NO_FALLBACK=1`設定下で特定のメソッドのみフォールバックを許可しながら、その他の未実装API はブロックします。runtime-diagnostics CI パイプラインに統合し、すべてのフォールバック試行(許可・ブロック両方)をメソッド名・ファイル・行番号付きで stderr に記録します。 @@ -636,7 +636,7 @@ cDAC(データアクセスレイヤー)の段階的な実装進捗を測定 - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年04月09日 04:09:14(UTC) - マージ日時: 2026年04月17日 14:03:00(UTC) -- ラベル: Servicing-approved area-VM-coreclr +- ラベル: Servicing-approved area-VM-coreclr #### 概要 キャッシュされたインターフェース送出(cached interface dispatch)における競合状態を修正するバックポート。ディスパッチセルの更新時に、メソッドポインタとそのキャッシュデータの形状がミスマッチし、クラッシュを引き起こす可能性がある問題に対応しています。キャッシュ形状が一致しない場合は再送出されるため、リスクは低いとされています。 @@ -664,7 +664,7 @@ cDAC(データアクセスレイヤー)の段階的な実装進捗を測定 - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年04月09日 04:09:05(UTC) - マージ日時: 2026年04月17日 14:02:39(UTC) -- ラベル: Servicing-approved area-VM-coreclr +- ラベル: Servicing-approved area-VM-coreclr #### 概要 ARM64プラットフォームにおけるインターフェース ディスパッチ キャッシュの破れた読み取り(torn read)問題を修正します。MethodTableとコードアドレスのペアが原子的に書き込まれても、読み取りが原子的でないため、ARM64では破れた読み取りが発生し、MethodTableはマッチしても0のコードアドレスを読み取ることがあり、nullディスパッチに至る可能性がありました。 @@ -694,7 +694,7 @@ ARM64プラットフォームにおけるインターフェース ディスパ - 作成者: [@richlander](https://github.com/richlander) - 作成日時: 2026年04月06日 05:58:40(UTC) - マージ日時: 2026年04月17日 06:10:01(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 `update-os-coverage` スキルのドキュメントにおける jq コマンドの例を修正し、コンテナイメージタグの存在確認がより明確で スクリプト化しやすくなるようにしました。欠落タグの場合に明示的に失敗するよう改善されています。 @@ -718,7 +718,7 @@ ARM64プラットフォームにおけるインターフェース ディスパ - 作成者: [@JamieMagee](https://github.com/JamieMagee) - 作成日時: 2026年04月06日 03:21:46(UTC) - マージ日時: 2026年04月17日 09:47:25(UTC) -- ラベル: area-CodeGen-coreclr community-contribution arch-riscv +- ラベル: area-CodeGen-coreclr community-contribution arch-riscv #### 概要 RISC-V JIT コード生成における `instGen_MemoryBarrier` メソッドが、`barrierKind` パラメータを無視して常に `fence rw,rw` (最も重い命令) を生成していた問題を修正しました。RISC-V の fence 命令は先行・後続命令の順序制御(読取、書込、またはその両方)をビット単位で制御可能なため、より細粒度の barrier variant を使用してパフォーマンスを改善します。 @@ -746,7 +746,7 @@ ARM64 が `DMB ISHLD` (load-only) と `DMB ISH` (full) で同様の最適化を - 作成者: [@jtschuster](https://github.com/jtschuster) - 作成日時: 2026年04月02日 19:42:27(UTC) - マージ日時: 2026年04月17日 00:09:49(UTC) -- ラベル: area-ReadyToRun +- ラベル: area-ReadyToRun #### 概要 ReadyToRun(R2R)出力の詳細な単体テストを可能にするため、新しい`ILCompiler.ReadyToRun.Tests`プロジェクトを追加します。このプロジェクトはRoslyn経由でC#ソースをインメモリコンパイル、out-of-procで`crossgen2`を実行し、`ILCompiler.Reflection.ReadyToRun`ライブラリを使用してR2Rイメージのメタデータを検証します。また、R2Rリフレクションライブラリに`CrossModuleInliningInfoSection`を追加し、インライニング情報の解析とメソッド名解決機能を拡張します。 @@ -777,7 +777,7 @@ ReadyToRun(R2R)出力の詳細な単体テストを可能にするため、新 - 作成者: [@ylpoonlg](https://github.com/ylpoonlg) - 作成日時: 2026年04月01日 08:46:12(UTC) - マージ日時: 2026年04月17日 18:53:43(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 ARM64 SVE命令のmov/movprfx処理をコード生成ロジックからemit関数にリファクタリングするもの。埋め込みマスク操作に対して述部付きmovprfx(ゼロイング/マージ)を活用できるようにし、条件付き選択の偽引数情報を新しい`mopt`オプション(デフォルト: `INS_SVE_MOV_OPTS_UNPRED`)経由で`emitInsSve_Mov`ヘルパーに渡すようにしました。 @@ -802,7 +802,7 @@ ARM64 SVE命令のmov/movprfx処理をコード生成ロジックからemit関 - 作成者: [@saucecontrol](https://github.com/saucecontrol) - 作成日時: 2026年03月31日 19:21:56(UTC) - マージ日時: 2026年04月17日 15:42:18(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 JITのx86-64アーキテクチャにおける、SIMD命令の逆アセンブル出力を修正するPRです。レジスタ間のSIMD拡張/縮小命令で、ソースとターゲットのレジスタサイズが誤って表示されていた問題を解決します。例えば、`vpmovsxbw zmm1, zmm1`と表示されていたものを正しく`vpmovsxbw zmm1, ymm1`と表示するようになります。また、埋め込みラウンディング制御(`{rd-sae}`など)が逆アセンブル出力に含まれていなかった箇所も修正します。 @@ -825,7 +825,7 @@ jit-diffでの確認済み。意図された逆アセンブル出力の変更以 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月28日 18:29:50(UTC) - マージ日時: 2026年04月17日 01:29:33(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 `parallelsuperpmi.cpp`のプラットフォーム固有コードをリファクタリングし、分散していた`#ifdef TARGET_UNIX`ガードを削除してコード可読性を向上させました。POSIX経路でのCtrl+C信号処理を実装し、Win32/PAL APIの使用を排除し、代わりにPOSIX標準API(`fork`/`execv`、`waitpid`、`open`/`close`)を使用するように整理しました。 @@ -871,7 +871,7 @@ jit-diffでの確認済み。意図された逆アセンブル出力の変更以 - 作成者: [@teo-tsirpanis](https://github.com/teo-tsirpanis) - 作成日時: 2026年03月26日 02:54:00(UTC) - マージ日時: 2026年04月17日 04:21:06(UTC) -- ラベル: area-System.Reflection community-contribution +- ラベル: area-System.Reflection community-contribution #### 概要 `MetadataLoadContext.CoreAssembly`プロパティのnullability注釈を削除し、非null確定型に変更します。コア アセンブリの解決を`MetadataLoadContext`構築時の前処理として実行し、解決失敗時は例外をスローするように変更することで、このプロパティが常に非nullであることを保証します。 @@ -897,7 +897,7 @@ jit-diffでの確認済み。意図された逆アセンブル出力の変更以 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月25日 08:04:36(UTC) - マージ日時: 2026年04月17日 00:48:31(UTC) -- ラベル: area-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 `Process`クラスに`StartAndForget`静的メソッドの2つのオーバーロードを追加します。プロセスを起動してPIDを取得し、終了を待たずに即座にすべてのリソースを解放する"fire-and-forget"シナリオに対応します。`UseShellExecute`が有効な場合と標準ストリームのリダイレクトが指定された場合は`InvalidOperationException`をスローします。 @@ -930,7 +930,7 @@ int pid = Process.StartAndForget("myapp", args); - 作成者: [@asbjornvad](https://github.com/asbjornvad) - 作成日時: 2026年02月16日 20:26:20(UTC) - マージ日時: 2026年04月17日 15:59:13(UTC) -- ラベル: area-System.Threading community-contribution +- ラベル: area-System.Threading community-contribution #### 概要 `FixedWindowRateLimiter`の`RetryAfter`メタデータが、ウィンドウ全体の期間ではなく次のウィンドウまでの残り時間を正しく返すように修正しました。Issue #92557の対応となります。 ただし、この実装ではキューは考慮されていません。 @@ -954,7 +954,7 @@ int pid = Process.StartAndForget("myapp", args); - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年01月26日 02:01:52(UTC) - マージ日時: 2026年04月17日 17:41:26(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/roslyn-analyzersの依存関係を更新するPull Requestです。Microsoft.CodeAnalysis.AnalyzersとMicrosoft.CodeAnalysis.NetAnalyzersのプレビュー/ベータバージョンをそれぞれ更新しています。 @@ -978,7 +978,7 @@ dotnet/roslyn-analyzersの依存関係を更新するPull Requestです。Micros - 作成者: [@rzikm](https://github.com/rzikm) - 作成日時: 2025年05月26日 13:37:46(UTC) - マージ日時: 2026年04月17日 08:34:43(UTC) -- ラベル: area-System.Net.Security +- ラベル: area-System.Net.Security #### 概要 Linux上のOpenSSL `SslStream`において、証明書検証をハンドシェイク後から**ハンドシェイク中**に移行し、検証失敗時に適切なTLSアラート(`bad_certificate`、`unknown_ca`、`certificate_expired`、`certificate_required`など)を送信するように変更しました。これにより、Windows実装と動作が統一されます。 diff --git a/archives/2026/04/18.md b/archives/2026/04/18.md index 4ff3d63..86624a0 100644 --- a/archives/2026/04/18.md +++ b/archives/2026/04/18.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#127101 Suppress debugger filter notification for UCO entrypoint during EH dispatch](#127101) 2. [#127099 Remove dead TEST_DATA_CONSISTENCY paths and obsolete DacDbi APIs](#127099) 3. [#127094 Add support for utilizing F16C instructions on xarch](#127094) @@ -23,7 +23,7 @@ - 作成者: [@tommcdon](https://github.com/tommcdon) - 作成日時: 2026年04月18日 00:48:04(UTC) - マージ日時: 2026年04月18日 14:57:11(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 PR #126222でアプリケーションエントリポイントをネイティブ`CallDescrWorkerInternal`からマネージド`Environment.CallEntryPoint`(UnmanagedCallersOnly属性付き)に移動した際、例外ハンドリング中のデバッガー通知が不正なタイミングで発生し、ハンドルされない例外の伝播が破損していた問題を修正します。`Environment.CallEntryPoint`のフィルター句についてのみデバッガー通知を抑止し、プロファイラーとETW通知は維持します。 @@ -45,7 +45,7 @@ PR #126222でアプリケーションエントリポイントをネイティブ` - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月17日 23:56:56(UTC) - マージ日時: 2026年04月18日 06:06:25(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 TEST_DATA_CONSISTENCY関連の未使用コードとDacDbi APIの廃止インターフェースを削除し、親フレームチェックをコールサイトにインライン化してランタイムの保守性を向上させます。 @@ -82,7 +82,7 @@ TEST_DATA_CONSISTENCY関連の未使用コードとDacDbi APIの廃止インタ - 作成者: [@tannergooding](https://github.com/tannergooding) - 作成日時: 2026年04月17日 21:36:14(UTC) - マージ日時: 2026年04月18日 14:59:20(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 xarch(x86/x64)プラットフォームでF16C命令を利用した`System.Half` ↔ `float`の明示的変換の最適化を追加します。前回のABI関連問題を解決し、AVX2対応ハードウェアで動作する初期実装です。JITが`Half.op_Explicit`をnamed intrinsicとして認識し、`vcvtph2ps`/`vcvtps2ph`命令に展開することで、関数呼び出しから直接的なHW命令に変換されます。 @@ -120,7 +120,7 @@ AVX2対応ハードウェアで動作する既存環境のほぼすべてで性 - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年04月17日 19:48:28(UTC) - マージ日時: 2026年04月18日 00:53:13(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 `ValueTask.cs`の`ValueTaskSourceNotifier`型のモディファイア順序を修正し、IDE0036スタイルルール違反を解決するビルドエラーを修正しました。 @@ -141,7 +141,7 @@ AVX2対応ハードウェアで動作する既存環境のほぼすべてで性 - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年04月17日 19:08:50(UTC) - マージ日時: 2026年04月18日 02:23:54(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Compact Data Access Component)の`ClrDataModule`に`GetMethodDefinitionByToken`の完全な実装を追加し、従来のDAC(Debugging Access Component)への完全な委譲から脱却させました。これにより、cDACの"no-fallback"カバレッジを拡大し、レガシーDAC依存性を減らします。 @@ -165,7 +165,7 @@ cDAC(Compact Data Access Component)の`ClrDataModule`に`GetMethodDefinition - 作成者: [@hoyosjs](https://github.com/hoyosjs) - 作成日時: 2026年04月17日 10:45:10(UTC) - マージ日時: 2026年04月18日 12:11:48(UTC) -- ラベル: Servicing-approved area-Diagnostics-coreclr +- ラベル: Servicing-approved area-Diagnostics-coreclr #### 概要 createdumpがalternate signal stack(sigaltstack/SA_ONSTACK)上でのクラッシュ時に、ネイティブスタック展開が不完全になる問題を修正します。libunwindの`unw_is_signal_frame`を使用してシグナルトランポリンフレームを検出し、スタックポインタ(SP)の単調性チェックを緩和することで、展開がシグナルトランポリンを越えて元のスタックに戻れるようにします。これにより、ダンプに元のスレッドスタックメモリが完全に含まれるようになります。 @@ -191,7 +191,7 @@ createdumpがalternate signal stack(sigaltstack/SA_ONSTACK)上でのクラ - 作成者: [@hoyosjs](https://github.com/hoyosjs) - 作成日時: 2026年04月17日 09:51:46(UTC) - マージ日時: 2026年04月18日 03:48:39(UTC) -- ラベル: area-PAL-coreclr +- ラベル: area-PAL-coreclr #### 概要 createdumpがalternate signal stack上でのクラッシュ時にネイティブスタックの元のスレッドスタックをキャプチャできない問題を修正しています。信号トランポリンフレームを検出するために`unw_is_signal_frame`を使用し、スタックポインタ(SP)の単一の低下を許容することで、unwinder が元のスタックへ遷移してメモリをダンプに含めることができるようになります。 @@ -216,7 +216,7 @@ createdumpがalternate signal stack上でのクラッシュ時にネイティブ - 作成者: [@hoyosjs](https://github.com/hoyosjs) - 作成日時: 2026年04月17日 09:47:54(UTC) - マージ日時: 2026年04月18日 12:10:28(UTC) -- ラベル: Servicing-approved area-Diagnostics-coreclr +- ラベル: Servicing-approved area-Diagnostics-coreclr #### 概要 createdumpがシグナルハンドラ用の代替スタック(SA_ONSTACK)上で発生したクラッシュの場合、ネイティブスタックアンワインドに失敗する問題を修正します。libunwind の `unw_is_signal_frame` を使用してシグナルトランポリンフレームを検出し、スタックポインタの減少を許容することで、元のスタックへの復帰とメモリ取得を可能にします。 @@ -245,7 +245,7 @@ createdumpがシグナルハンドラ用の代替スタック(SA_ONSTACK)上 - 作成者: [@hoyosjs](https://github.com/hoyosjs) - 作成日時: 2026年04月17日 09:17:53(UTC) - マージ日時: 2026年04月18日 09:19:16(UTC) -- ラベル: Servicing-approved area-Diagnostics-coreclr +- ラベル: Servicing-approved area-Diagnostics-coreclr #### 概要 createdumpがalternate signal stack上でのクラッシュ時に元のスレッドスタックをキャプチャできない問題を修正します。シグナルトランポリンフレーム検出時にスタックポインタ(SP)の単調性チェックを緩和し、元のスタックメモリをダンプに含めることで、minidumpの完全性を確保します。 @@ -271,7 +271,7 @@ createdumpがalternate signal stack上でのクラッシュ時に元のスレッ - 作成者: [@tannergooding](https://github.com/tannergooding) - 作成日時: 2026年04月17日 06:26:01(UTC) - マージ日時: 2026年04月18日 19:08:16(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 xarch(x86/x64)アーキテクチャにおけるSIMDと浮動小数点演算のJIT命令コスティングを現代のコードジェネレーション特性に合わせて更新しました。従来のコスティングは32ビット時代のx87 FPUベースであり、ハードウェア組み込み命令は`costEx=1, costSz=1`で統一されていたため、CSEなどの最適化が働きにくい状況を改善します。大多数の浮動小数点命令は最小4サイクル、多くのSIMD操作は汎用命令より著しく多くのコードジェネレーションバイト数を消費するため、より正確な最適化判定が可能になります。 @@ -297,7 +297,7 @@ JITの最適化判定がより正確になることで、CSEおよびサイズ/ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月16日 22:48:25(UTC) - マージ日時: 2026年04月18日 04:50:36(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Component Data Access)経由でデバッガー関連の4つの新しいDacDbi APIを追加します:`RequestSyncAtEvent`、`SetSendExceptionsOutsideOfJMC`、`GetDebuggerControlBlockAddress`、`EnableGCNotificationEvents`。これらはデバッガー側の簡単な操作と状態照会をサポートし、対応するデータディスクリプタと単体テストも含まれます。 @@ -327,7 +327,7 @@ cDAC(Component Data Access)経由でデバッガー関連の4つの新しい - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年04月16日 17:59:57(UTC) - マージ日時: 2026年04月18日 15:44:06(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(CoreCLR Data Access Contract)のコントラクト バージョン管理スキームを整数型(例:`1`、`2`)から文字列識別子(例:`"c1"`、`"c2"`)に変更します。この変更により、複数のプラットフォームが異なるプレフィックス(例:NativeAOT用の`"n1"`)を使用する際に、整数値の範囲衝突を回避できます。変更はネイティブ記述子生成、ビルドツール、マネージド読み取りパイプライン全体に及びます。 @@ -354,7 +354,7 @@ cDAC(CoreCLR Data Access Contract)のコントラクト バージョン管 - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年04月15日 23:18:57(UTC) - マージ日時: 2026年04月18日 01:31:25(UTC) -- ラベル: area-Diagnostics-coreclr area-Diagnostics-cdac +- ラベル: area-Diagnostics-coreclr area-Diagnostics-cdac #### 概要 cDAC(Compact Data Access Component)の DacDbi レイヤーにおける2つの正確性の問題を修正します。ValueType検出をMethodTableフラグと一致させ、汎用変数チェック(HasTypeParams)の戻り値を厳密なBoolean値に正規化します。 @@ -381,7 +381,7 @@ cDAC(Compact Data Access Component)の DacDbi レイヤーにおける2つ - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年04月14日 19:02:58(UTC) - マージ日時: 2026年04月18日 17:58:26(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 WebAssembly (WASM) における ReadyToRun (R2R) ネイティブエントリポイントと PortableEntryPoint の相互運用性を改善するPRです。R2Rコンパイル済みコードからインタープリタコードへのthunk生成、calling convention調整、スタックウォーク終了処理の実装が主な変更です。 @@ -409,7 +409,7 @@ WebAssembly (WASM) における ReadyToRun (R2R) ネイティブエントリポ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月11日 14:29:52(UTC) - マージ日時: 2026年04月18日 05:52:18(UTC) -- ラベル: area-Build-mono +- ラベル: area-Build-mono #### 概要 WasmTestOnChromeおよび関連するWASM CI ジョブで、`gen-debug-dump-docs.py`が`browser`/`wasi`ターゲットの相関ペイロードに存在しないため、Helix post-commandの実行に失敗していた問題を修正します。非Windows CoreCLRターゲット向けのHelixPostCommand条件に`browser`と`wasi`を除外する条件を追加します。 @@ -442,7 +442,7 @@ WasmTestOnChromeおよび関連するWASM CI ジョブで、`gen-debug-dump-docs - 作成者: [@trungnt2910](https://github.com/trungnt2910) - 作成日時: 2026年04月11日 12:50:21(UTC) - マージ日時: 2026年04月18日 02:43:33(UTC) -- ラベル: NO-SQUASH area-PAL-coreclr community-contribution +- ラベル: NO-SQUASH area-PAL-coreclr community-contribution #### 概要 .NETランタイムがHaiku OSで使用する`setRegister`の呼び出し方式に合わせるため、llvm-libunwindのHaiku固有パッチを適用します。`.NET`では`setRegister`を3引数で呼び出し、最後の引数として"location"(レジスタの位置情報)を渡します。既知の位置情報がない場合は`0`を渡すため、UnwindCursor.hppの最近のHaiku固有呼び出し箇所を更新しました。 @@ -464,7 +464,7 @@ Haiku OSサポートに関する継続的なパッチ適用の一部です。 - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年04月04日 17:43:17(UTC) - マージ日時: 2026年04月18日 13:21:07(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 `CORINFO_HELP_ARRADDR_ST`ヘルパー呼び出しのJITインライン化を再適用し、古い`CastHelpers.WriteBarrier` FCCall実装を、JITが展開可能な新しい管理型の`RuntimeHelpers.WriteBarrier`内在関数に置き換えます。これにより、配列要素の代入時のWrite Barrier操作がより効率的にインライン化されるようになります。 @@ -495,7 +495,7 @@ Write Barrier呼び出しのインライン化により、関数呼び出しオ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月31日 00:43:35(UTC) - マージ日時: 2026年04月18日 16:02:25(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 HTTP/2接続でWindows認証(NTLM/Negotiate)の401チャレンジを受け取った場合、`SocketsHttpHandler`が自動的にHTTP/1.1にダウングレードして認証を再試行する機能を追加しました。ブラウザと同様の挙動を実現し、SignalRやその他のクライアントがHTTP/2でWindows認証を利用できるようになります。 diff --git a/archives/2026/04/19.md b/archives/2026/04/19.md index 0dca98b..11432fe 100644 --- a/archives/2026/04/19.md +++ b/archives/2026/04/19.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#127120 Port `VtableIndexStubGenerator` to string writing](#127120) 2. [#127119 Remove stale comment on ClientWebSocket._state](#127119) 3. [#127118 Skip cross-bitness cDAC dump tests until ClrMD supports it](#127118) @@ -16,7 +16,7 @@ - 作成者: [@DoctorKrolic](https://github.com/DoctorKrolic) - 作成日時: 2026年04月19日 16:19:42(UTC) - マージ日時: 2026年04月19日 19:43:49(UTC) -- ラベル: area-System.Runtime.InteropServices community-contribution +- ラベル: area-System.Runtime.InteropServices community-contribution #### 概要 `VtableIndexStubGenerator`をString Writerパターンに移行するリファクタリング。COM相互運用性コード生成の内部実装を改善し、より保守性の高い文字列生成メカニズムへの段階的な移行に貢献します。 @@ -39,7 +39,7 @@ - 作成者: [@cittaz](https://github.com/cittaz) - 作成日時: 2026年04月19日 14:29:31(UTC) - マージ日時: 2026年04月19日 14:35:41(UTC) -- ラベル: area-System.Net community-contribution +- ラベル: area-System.Net community-contribution #### 概要 ClientWebSocketクラスの`_state`フィールド上の古いXML doc commentを削除しました。このコメントはInterlockedがenum型をサポートしていなかった時代の説明であり、[#104558](https://github.com/dotnet/runtime/issues/104558)でクラス制約が削除され`_state`が`InternalState`型に変更されたため、不要になっていました。 @@ -60,7 +60,7 @@ ClientWebSocketクラスの`_state`フィールド上の古いXML doc commentを - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年04月19日 13:43:06(UTC) - マージ日時: 2026年04月19日 17:20:54(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC dump統合テストにおいて、ホストのポインタサイズとダンプアーキテクチャが異なる場合(クロスビットネス、例:32ビットホストが64ビットダンプを読み込む)のテストをスキップする機能を追加しました。ClrMDの`ClrDataAddress`トランケーション問題(microsoft/clrmd#1423で修正中)がまだサポートしていないため、テスト失敗を回避するものです。 @@ -81,7 +81,7 @@ cDAC dump統合テストにおいて、ホストのポインタサイズとダ - 作成者: [@tannergooding](https://github.com/tannergooding) - 作成日時: 2026年04月18日 21:18:59(UTC) - マージ日時: 2026年04月19日 02:55:50(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 SIMD命令`vcvtps2ph`(単精度浮動小数点を半精度に変換)のエンコーディングをRM(Register-Memory)からMR(Memory-Register)に修正します。これにより、特定のシナリオで発生していた無効な結果の生成を防ぎます。 @@ -104,7 +104,7 @@ SIMD命令`vcvtps2ph`(単精度浮動小数点を半精度に変換)のエ - 作成者: [@tannergooding](https://github.com/tannergooding) - 作成日時: 2026年04月18日 19:36:34(UTC) - マージ日時: 2026年04月19日 20:48:04(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 x86/x64アーキテクチャのJITエミッタにおけるパフォーマンススコア(perfscore)モデリングをクリーンアップ・拡張するPRです。複数の命令でメモリレイテンシーの処理が不完全であった、`EA_64BYTE`などの大きいオペランドサイズへの対応がなかった、SIMD操作の高コストが考慮されていなかった等の問題を修正します。 @@ -130,7 +130,7 @@ JITコンパイル時のコスト推定精度向上により、インストラ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月15日 23:34:28(UTC) - マージ日時: 2026年04月19日 04:29:27(UTC) -- ラベル: area-Diagnostics-coreclr area-Diagnostics-cdac +- ラベル: area-Diagnostics-coreclr area-Diagnostics-cdac #### 概要 cDAC(Compact Data Access)ベースの `DacDbiImpl` に4つのスレッド関連APIを実装します。`GetThreadObject`、`HasUnhandledException`、`GetCurrentCustomDebuggerNotification`、および `GetCurrentException` を Thread コントラクトを使用して実装し、ダンプベースのテストにより新しいAPIがコントラクト提供のスレッド状態と一貫性のある値を返すことを保証します。 @@ -157,7 +157,7 @@ cDAC(Compact Data Access)ベースの `DacDbiImpl` に4つのスレッド関 - 作成者: [@teo-tsirpanis](https://github.com/teo-tsirpanis) - 作成日時: 2026年04月14日 23:54:00(UTC) - マージ日時: 2026年04月19日 15:38:54(UTC) -- ラベル: area-System.Reflection.Metadata community-contribution +- ラベル: area-System.Reflection.Metadata community-contribution #### 概要 `BlobBuilder.ReserveBytes`が返すバイト領域をゼロクリアする修正です。プール再利用されたバッファから古いデータが露出する非決定的な動作とデータリークの可能性を排除します。`Array.Clear`を追加して予約領域を初期化し、呼び出し元が再利用バッファの古いデータを観察しないようにします。 @@ -180,7 +180,7 @@ cDAC(Compact Data Access)ベースの `DacDbiImpl` に4つのスレッド関 - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年03月26日 20:39:42(UTC) - マージ日時: 2026年04月19日 15:06:42(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 PR ビルドにおけるライブラリテストの Helix キュー ファンアウトを削減することで、CI 実行時間を短縮する変更です。複数の OS バージョン/ディストリビューション上でテストを実行していた構成を、PR ビルドでは最小限の OS セットに絞り、追加 OS での検証は定期ビルド(1 日 2 回)で実施するように変更します。 @@ -222,7 +222,7 @@ PR ビルドの Helix 実行時間を大幅に短縮: - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年03月09日 14:02:46(UTC) - マージ日時: 2026年04月19日 08:05:50(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITのLinear Scan Register Allocator (LSRA)で、def-use競合を解決する際にuse側のレジスタ割り当てを変更する慣行を廃止し、代わりに明示的なコピーを挿入する方式に変更します。これにより、LSRAとコード生成間の曖昧な暗黙的契約を排除し、より堅牢な実装にします。同時に、`GT_CATCH_ARG`のコード生成バグとマルチレジスタ定義の問題を修正します。 @@ -250,7 +250,7 @@ JITのLinear Scan Register Allocator (LSRA)で、def-use競合を解決する際 - 作成者: [@prozolic](https://github.com/prozolic) - 作成日時: 2026年02月27日 13:58:19(UTC) - マージ日時: 2026年04月19日 17:18:38(UTC) -- ラベル: area-System.Collections community-contribution +- ラベル: area-System.Collections community-contribution #### 概要 `ImmutableArray`、`ImmutableArray.Builder`、`ImmutableList.Node`の`IndexOf`メソッドにおける上限検証を修正しました。`startIndex`の上限チェックを`< Count`から`<= Count`に変更し、`Array.IndexOf`の動作(`count == 0`の場合に`index == Count`を許可)に合わせました。これは#124560で修正された`LastIndexOf`の同様の問題に続くフォローアップです。 @@ -275,7 +275,7 @@ JITのLinear Scan Register Allocator (LSRA)で、def-use競合を解決する際 - 作成者: [@AlexRadch](https://github.com/AlexRadch) - 作成日時: 2025年01月14日 21:50:40(UTC) - マージ日時: 2026年04月19日 18:43:27(UTC) -- ラベル: area-System.Memory new-api-needs-documentation community-contribution +- ラベル: area-System.Memory new-api-needs-documentation community-contribution #### 概要 `MemoryExtensions`クラスに効率的なホワイトスペース処理メソッドを追加します。新しいメソッド`ContainsAnyWhiteSpace`、`IndexOfAnyWhiteSpace`、`LastIndexOfAnyWhiteSpace`を導入し、`IsWhiteSpace`メソッドを`SearchValues.WhiteSpaces`を利用する形に最適化しました。 diff --git a/archives/2026/04/20.md b/archives/2026/04/20.md index 5a0f6db..d3115a1 100644 --- a/archives/2026/04/20.md +++ b/archives/2026/04/20.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#127167 Ensure that we properly set the morphed flag](#127167) 2. [#127159 Fix mixed CRLF/LF line endings in ImmutableArray_1.cs](#127159) 3. [#127156 Skip CallEntryPoint in debugger single-step to prevent false stop](#127156) @@ -34,7 +34,7 @@ - 作成者: [@tannergooding](https://github.com/tannergooding) - 作成日時: 2026年04月20日 16:06:03(UTC) - マージ日時: 2026年04月20日 22:31:20(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT グローバル morphの処理時に、HWIntrinsic ノードが `fgMorphHWIntrinsic` を通らない場合に morphed フラグが正しく設定されていない問題を修正しました。特に vector↔mask 変換を含む folding やノード変換の処理パスで、明示的に morphed フラグを設定するようになります。 @@ -57,7 +57,7 @@ JIT グローバル morphの処理時に、HWIntrinsic ノードが `fgMorphHWIn - 作成者: [@svick](https://github.com/svick) - 作成日時: 2026年04月20日 13:48:33(UTC) - マージ日時: 2026年04月20日 14:43:06(UTC) -- ラベル: area-System.Collections +- ラベル: area-System.Collections #### 概要 PR #124967で誤ってコミットされたCRLF行末が混在していた`ImmutableArray_1.cs`ファイルを、一貫性のあるLF行末に正規化する修正です。これによりWindows環境(core.autocrlf=true)でファイルが常に変更状態と判定される問題を解決します。 @@ -79,7 +79,7 @@ PR #124967で誤ってコミットされたCRLF行末が混在していた`Immut - 作成者: [@tommcdon](https://github.com/tommcdon) - 作成日時: 2026年04月20日 13:13:48(UTC) - マージ日時: 2026年04月20日 18:38:23(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 デバッガーでMainの最後の行からステップ実行すると、マネージドコードの`Environment.CallEntryPoint`(ソース情報を持たないランタイムヘルパーフレーム)で停止してしまう問題を修正します。`TriggerSingleStep`の既存の`IsInteropStub`チェックを拡張して`g_pEnvironmentCallEntryPointMethodDesc`も認識し、ここでシングルステップを無効化してプロセスを自然に終了させます。 @@ -102,7 +102,7 @@ PR #124967で誤ってコミットされたCRLF行末が混在していた`Immut - 作成者: [@cittaz](https://github.com/cittaz) - 作成日時: 2026年04月20日 07:31:30(UTC) - マージ日時: 2026年04月20日 16:48:35(UTC) -- ラベル: area-System.Net community-contribution +- ラベル: area-System.Net community-contribution #### 概要 `ManagedWebSocket.SendFrameLockAcquiredNonCancelableAsync`で同期完了した書き込みと同期フォルト`FlushAsync`の組み合わせの場合、例外処理の一貫性を修正しました。修正前は生のストリーム例外が呼び出し元に渡されていましたが、修正後は他のエラーパスと同様に`WebSocketException(ConnectionClosedPrematurely)`でラップされるようになります。 @@ -136,7 +136,7 @@ PR #124967で誤ってコミットされたCRLF行末が混在していた`Immut - 作成者: [@cittaz](https://github.com/cittaz) - 作成日時: 2026年04月20日 07:16:14(UTC) - マージ日時: 2026年04月20日 10:13:30(UTC) -- ラベル: area-System.Net community-contribution +- ラベル: area-System.Net community-contribution #### 概要 `System.Net.WebSockets`内の4つの`Enum.HasFlag`呼び出しをビット演算`(value & flag) != 0`に置き換えています。これはリポジトリ全体で使用されている標準的なパターンに統一し、JITの最適化に依存しない実装を採用しています。動作変更なし。 @@ -159,7 +159,7 @@ PR #124967で誤ってコミットされたCRLF行末が混在していた`Immut - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月19日 22:23:28(UTC) - マージ日時: 2026年04月20日 01:31:12(UTC) -- ラベル: area-System.Memory +- ラベル: area-System.Memory #### 概要 `Guid.EatAllWhitespace`のホワイトスペーススキャンを、手動の`for`ループから#111439で追加された新しいベクトル化済みヘルパー`IndexOfAnyWhiteSpace`に置き換えました。パフォーマンス向上が期待できます。 @@ -186,7 +186,7 @@ PR #124967で誤ってコミットされたCRLF行末が混在していた`Immut - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月19日 10:46:32(UTC) - マージ日時: 2026年04月20日 20:26:40(UTC) -- ラベル: area-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 `StartAndForget_StartsProcessAndReturnsValidPid` テストが `useProcessStartInfo: false` の場合に間欠的に失敗していた問題を修正。`RemoteExecutor` が `Arguments` プロパティを設定するのに対し、テストが `ArgumentList` を使用していたため、`dotnet` が不正な引数で起動されていました。`ProcessStartInfo.Arguments` を文字列リストにマッピングして `Process.StartAndForget(string, IList?)` オーバーロードに渡すようになりました。 @@ -212,7 +212,7 @@ PR #124967で誤ってコミットされたCRLF行末が混在していた`Immut - 作成者: [@pumpkin-bit](https://github.com/pumpkin-bit) - 作成日時: 2026年04月18日 07:26:44(UTC) - マージ日時: 2026年04月20日 18:33:19(UTC) -- ラベル: area-System.IO.Compression community-contribution +- ラベル: area-System.IO.Compression community-contribution #### 概要 Zstandard形式のデータ解凍時に、圧縮データが64KBバッファの境界で終了する場合、バッファが満杯になってAvailableSpanが空になり、ファイルからの読み込みが0バイトとなる例外が発生する問題を修正しました。ReadおよびReadAsyncループに`_buffer.EnsureAvailableSpace(1)`の呼び出しチェックを追加し、バッファ内のデータをシフトして新しいデータの読み込み領域を確保します。 @@ -236,7 +236,7 @@ Zstandard形式のデータ解凍時に、圧縮データが64KBバッファの - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年04月18日 02:11:31(UTC) - マージ日時: 2026年04月20日 14:46:21(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITの冗長分岐削除(jump threading)機能を改善し、PHIベースのブロックを通じたジャンプスレッディングを有効にします。PHIの使用箇所がブロックとその直後の後継ブロック内で完全に解決可能な場合、スレッディングを実行します。また、後継ブロックのSSA/VN使用箇所を適切に書き換え、SSA状態の一貫性を保ちます。特に、ローカル変数のフィールド使用に対して正しいVN更新を確保する修正が含まれています。 @@ -263,7 +263,7 @@ JITの冗長分岐削除(jump threading)機能を改善し、PHIベースの - 作成者: [@elringus](https://github.com/elringus) - 作成日時: 2026年04月17日 16:08:09(UTC) - マージ日時: 2026年04月20日 08:12:38(UTC) -- ラベル: arch-wasm area-System.Runtime.InteropServices.JavaScript community-contribution os-browser +- ラベル: arch-wasm area-System.Runtime.InteropServices.JavaScript community-contribution os-browser #### 概要 ブラウザランタイムのTypeScript型定義において、アセット関連の型を公開APIエントリーポイントから適切に再エクスポートする変更です。これまで型定義は存在していましたが、パブリックAPIサーフェスから一貫して再エクスポートされていませんでした。MonoおよびCoreCLRの両ランタイムで、トップレベルの型エクスポートファイル経由でこれらの型が利用可能になります。 @@ -289,7 +289,7 @@ JITの冗長分岐削除(jump threading)機能を改善し、PHIベースの - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年04月17日 13:23:58(UTC) - マージ日時: 2026年04月20日 14:17:41(UTC) -- ラベル: os-android os-ios os-tvos os-maccatalyst agentic-workflows area-System.Runtime.Loader +- ラベル: os-android os-ios os-tvos os-maccatalyst agentic-workflows area-System.Runtime.Loader #### 概要 モバイルプラットフォーム(Android、iOS、tvOS、MacCatalyst)上のAssemblyLoadContextテストの失敗を修正します。モバイル環境では`Assembly.Location`が空文字列を返すため(APK/アプリバンドルから読み込まれるため)、`LoadFromAssemblyPath()`が失敗していました。これを解決するため、該当テストに`PlatformDetection.IsNotMobile`ガードを追加してモバイルプラットフォームでのテストをスキップします。 @@ -314,7 +314,7 @@ JITの冗長分岐削除(jump threading)機能を改善し、PHIベースの - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年04月17日 11:30:37(UTC) - マージ日時: 2026年04月20日 19:13:15(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 libtests(ライブラリテスト)のCI/CDパイプラインを最適化し、Windows実行を削除してinterpmode1での実行に統一することで、パイプライン全体の実行時間を短縮する変更です。STJ.Tests(System.Text.Json Tests)では、interpmode1が約15分で実行可能であるのに対し、interpmode3は1.5時間以上かかるため、より高速なモードでのテスト実行に変更されました。 @@ -340,7 +340,7 @@ libtests(ライブラリテスト)のCI/CDパイプラインを最適化し - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年04月17日 10:50:52(UTC) - マージ日時: 2026年04月20日 05:22:03(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 インタープリタモードでの非同期継続再開時に、GCに報告されていなかったインテリアポインタによるGCホールを修正しました。`AsyncHelpers_ResumeInterpreterContinuationWorker`が受け取るインテリアポインタが正しくGC保護されていなかったため、InterpMode=1での予期しないクラッシュが発生していました。 @@ -362,7 +362,7 @@ libtests(ライブラリテスト)のCI/CDパイプラインを最適化し - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年04月17日 09:15:01(UTC) - マージ日時: 2026年04月20日 13:07:57(UTC) -- ラベル: area-Infrastructure-coreclr os-ios +- ラベル: area-Infrastructure-coreclr os-ios #### 概要 Apple mobile CoreCLRシミュレータ上で失敗する3つのテストプロジェクト(`System.Reflection.Emit.Tests`、`System.Reflection.Emit.ILGeneration.Tests`、`System.Dynamic.Runtime.Tests`)をライブラリテスト実行から除外します。 @@ -383,7 +383,7 @@ Apple mobile CoreCLRシミュレータ上で失敗する3つのテストプロ - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年04月17日 09:07:43(UTC) - マージ日時: 2026年04月20日 06:30:28(UTC) -- ラベル: area-System.ComponentModel linkable-framework os-ios +- ラベル: area-System.ComponentModel linkable-framework os-ios #### 概要 Apple mobile (iOS/tvOS/MacCatalyst) CoreCLR環境における`System.ComponentModel.Composition.Tests` (MEF) の実行をサポートするため、テスト分類を変更し、ILLink descriptorを追加して積極的なトリミング下でも必要なアセンブリが保持されるようにしました。 @@ -409,7 +409,7 @@ Apple mobile (iOS/tvOS/MacCatalyst) CoreCLR環境における`System.ComponentMo - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年04月17日 09:05:17(UTC) - マージ日時: 2026年04月20日 13:16:07(UTC) -- ラベル: area-System.Reflection os-ios +- ラベル: area-System.Reflection os-ios #### 概要 iOS環境のメタデータ更新サポート判定を、NativeAOT条件から積極的なトリミング(Aggressive Trimming)条件に変更します。これにより、Apple モバイルプラットフォームでサポートされていないテストに対して`ActiveIssue`属性の使用を回避できます。 @@ -431,7 +431,7 @@ iOS環境のメタデータ更新サポート判定を、NativeAOT条件から - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年04月17日 09:04:37(UTC) - マージ日時: 2026年04月20日 13:05:21(UTC) -- ラベル: area-Infrastructure os-ios +- ラベル: area-Infrastructure os-ios #### 概要 Apple モバイルプラットフォーム(tvOS、iOSSimulator、MacCatalyst)の Debug CoreCLR Smoke ジョブを無効化し、対応する Release ジョブで `EnableAggressiveTrimming` と `EnableAdditionalTimezoneChecks` を有効化します。これにより、CI が顧客に提供される Trimmed ライブラリビルドパスをテストできるようになります。 @@ -454,7 +454,7 @@ Apple モバイルプラットフォーム(tvOS、iOSSimulator、MacCatalyst - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月17日 07:52:08(UTC) - マージ日時: 2026年04月20日 11:17:57(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 CoreCLR JITコンパイラの終了処理パスから`_DbgBreakCheck`呼び出しを削除します。このWindows固有の「JITデバッガー起動」ダイアログ動作を廃止しますが、`INS_BREAKPOINT`を介した既存の`JitHalt`ブレークポイント出力機能は維持します。 @@ -476,7 +476,7 @@ CoreCLR JITコンパイラの終了処理パスから`_DbgBreakCheck`呼び出 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月16日 09:07:01(UTC) - マージ日時: 2026年04月20日 23:20:19(UTC) -- ラベル: area-Tools-ILLink +- ラベル: area-Tools-ILLink #### 概要 ILTrimが委譲型(delegate)の`BeginInvoke`と`EndInvoke`メソッドペアの追跡に対応しました。.NETランタイムは両メソッドが共存することを要求しますが、ILTrimはこの依存関係を追跡していなかったため、一方のみが呼び出される場合に不正な形式のアセンブリが生成されていました。本修正により、委譲型でいずれかのメソッドが保持される場合、ペアとなるメソッドも自動的に保持されるようになります。 @@ -500,7 +500,7 @@ ILTrimが委譲型(delegate)の`BeginInvoke`と`EndInvoke`メソッドペア - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年04月15日 23:17:50(UTC) - マージ日時: 2026年04月20日 20:57:14(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 WebAssembly (WASM) ReadyToRun import thunkの生成ロジックをInterpreter呼び出し規約と`TransitionBlock`に準拠するよう改善しました。これにより、`DelayLoad_MethodCall`をWASM上で実装でき、スタブ実装から実装へ移行します。主な変更は、ArgumentIteratorとTransitionBlockを用いたオフセット計算、モジュール修復RVAの伝達、WASM32呼び出し規約モデルの更新です。 @@ -526,7 +526,7 @@ WebAssembly (WASM) ReadyToRun import thunkの生成ロジックをInterpreter呼 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月15日 18:41:55(UTC) - マージ日時: 2026年04月20日 13:55:09(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 Linux上のGCメモリリセット処理で、複数の`madvise()`助言フラグをビット演算で結合して単一の呼び出しに渡していた問題を修正しました。`madvise()`はビットマスクではなく単一の定数を期待するため、カーネルバージョンに応じて`EINVAL`エラーが発生するか、意図しない操作(カーネル≥5.18で`MADV_DONTNEED_LOCKED`)が実行されていました。修正により、`MADV_DONTDUMP`と`MADV_FREE`(またはPOSIXフォールバック)を別々の`madvise()`呼び出しで実行するようにしました。 @@ -566,7 +566,7 @@ madvise(address, size, MADV_FREE); - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年04月15日 17:03:07(UTC) - マージ日時: 2026年04月20日 15:05:53(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 モバイルプラットフォーム(iOS、tvOS、MacCatalyst、Android)のビルド失敗を自動検出・分類・修復するGitHub Agentic Workflowを追加します。毎日スケジュール実行され、Azure DevOpsのビルド失敗をトリアージして、インフラ関連はIssueに、コード関連はドラフトPRで報告します。安全性のため、すべての書き込み操作は権限スコープの制限されたsafe-outputsジョブを通じて実行され、PRは最大2個、Issueは最大2個、コメントは最大5個に制限されています。 @@ -597,7 +597,7 @@ madvise(address, size, MADV_FREE); - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月13日 17:27:06(UTC) - マージ日時: 2026年04月20日 05:57:36(UTC) -- ラベル: area-System.IO +- ラベル: area-System.IO #### 概要 PR #125512で導入された`RandomAccess.Read/Write`ベースのI/O実装をリバートし、元の`Interop.Sys.Read/Write`実装に戻します。同時に、stdin/stdoutがシーク可能なファイルにリダイレクトされた場合の動作を検証する回帰テストを追加します。 @@ -625,7 +625,7 @@ PR #125512で導入された`RandomAccess.Read/Write`ベースのI/O実装をリ - 作成者: [@MichalPetryka](https://github.com/MichalPetryka) - 作成日時: 2026年04月11日 13:57:59(UTC) - マージ日時: 2026年04月20日 01:36:38(UTC) -- ラベル: community-contribution area-NativeAOT-coreclr +- ラベル: community-contribution area-NativeAOT-coreclr #### 概要 ILScannerのデバッガメッセージ改善。アサーション時にスキャナーの失敗メッセージとして例外で使用される完全なメッセージをアサートに含めるように変更されました。 @@ -646,7 +646,7 @@ ILScannerのデバッガメッセージ改善。アサーション時にスキ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月10日 01:17:17(UTC) - マージ日時: 2026年04月20日 15:41:48(UTC) -- ラベル: area-PAL-coreclr +- ラベル: area-PAL-coreclr #### 概要 cgroup実装がmacOSおよびFreeBSDなどの非Linuxプラットフォームでコンパイル・リンクされていたため、これらをLinux/Android専用にゲーティングする変更です。cgroupはLinux固有のメカニズムであり、他のプラットフォームでは機能していないデッドコード(返り値が0/false)となっていました。 @@ -670,7 +670,7 @@ macOSおよびFreeBSD上で、不要な cgroup 実装コードのコンパイル - 作成者: [@prozolic](https://github.com/prozolic) - 作成日時: 2026年04月05日 11:25:30(UTC) - マージ日時: 2026年04月20日 06:00:07(UTC) -- ラベル: area-System.Text.Json community-contribution +- ラベル: area-System.Text.Json community-contribution #### 概要 `JsonElement`の4つのメソッド(`GetByte`、`GetSByte`、`GetInt16`、`GetUInt16`)で、インライン例外発行を`ThrowHelper.ThrowFormatException()`に統一する内部コード整備。既存パターン(#61746)との一貫性を確保し、JITコンパイルの最適化を向上させます。 @@ -693,7 +693,7 @@ macOSおよびFreeBSD上で、不要な cgroup 実装コードのコンパイル - 作成者: [@prozolic](https://github.com/prozolic) - 作成日時: 2026年04月01日 14:59:55(UTC) - マージ日時: 2026年04月20日 12:36:04(UTC) -- ラベル: area-System.Collections community-contribution +- ラベル: area-System.Collections community-contribution #### 概要 `SortedSet.TreeSubSet.Clear()`メソッドの性能を最適化するPRです。`BreadthFirstTreeWalk`でアイテム収集時に`List`の初期容量を`Count`に指定してヒープ再割当を削減し、末尾要素の削除を繰り返す`while`ループを逆順のインデックスベースの`for`ループに置き換えています。 @@ -722,7 +722,7 @@ macOSおよびFreeBSD上で、不要な cgroup 実装コードのコンパイル - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月31日 22:41:37(UTC) - マージ日時: 2026年04月20日 05:25:17(UTC) -- ラベル: area-TypeSystem-coreclr linkable-framework +- ラベル: area-TypeSystem-coreclr linkable-framework #### 概要 `PublishTrimmed` および `PublishAot` で、`TypeMap` 属性の trim ターゲットとして配列型(例:`typeof(Foo[])`)を指定した場合のクラッシュと無音削除を修正します。ILLink では `TypeDefinition cannot be resolved from 'Mono.Cecil.ArrayType'` という `NotSupportedException` でクラッシュ、ILCompiler では条件判定ミスにより TypeMap エントリが無音削除されていました。 @@ -763,7 +763,7 @@ macOSおよびFreeBSD上で、不要な cgroup 実装コードのコンパイル - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年02月05日 02:03:16(UTC) - マージ日時: 2026年04月20日 16:46:06(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/icuリポジトリの依存関係を更新するPull Request。Microsoft.NETCore.Runtime.ICU.Transportを9.0.0-rtm.25627.1から9.0.0-rtm.26210.1にアップデートします。 diff --git a/archives/2026/04/21.md b/archives/2026/04/21.md index f09a74c..03fa06c 100644 --- a/archives/2026/04/21.md +++ b/archives/2026/04/21.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#127227 Mark Continuation field accessors as `AggressiveInlining`](#127227) 2. [#127219 JIT: Remove `doesMethodHavePartialCompilationPatchpoints`](#127219) 3. [#127206 Fix map/virtual.cpp on OpenBSD](#127206) @@ -49,7 +49,7 @@ - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年04月21日 15:18:51(UTC) - マージ日時: 2026年04月21日 22:05:38(UTC) -- ラベル: tenet-performance area-VM-coreclr runtime-async +- ラベル: tenet-performance area-VM-coreclr runtime-async #### 概要 `Continuation`クラスの小規模なフィールドアクセッサメソッドに`[MethodImpl(MethodImplOptions.AggressiveInlining)]`属性を追加し、JITインライニング判定を改善するPRです。`Unsafe`操作を含む intrinsic-heavy なコードは見た目は大きく見えますが、実際には数命令しか展開されないため、明示的にアグレッシブインライニング対象とすることで、ホットパスでのパフォーマンスを向上させます。 @@ -73,7 +73,7 @@ Copilot のコメントで、同じパターンの`SetException`メソッドも - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年04月21日 12:33:13(UTC) - マージ日時: 2026年04月21日 22:05:56(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイラのパッチポイント関連コードをリファクタリング。`doesMethodHavePartialCompilationPatchpoints`メソッドを削除し、その機能を`doesMethodHavePatchpoints`に統合。また、`BBF_PATCHPOINT`フラグを`BBF_OSR_PATCHPOINT`に改名してOSR(On-Stack Replacement)パッチポイント専用であることを明確化。 @@ -98,7 +98,7 @@ JITコンパイラのパッチポイント関連コードをリファクタリ - 作成者: [@sethjackson](https://github.com/sethjackson) - 作成日時: 2026年04月21日 07:44:25(UTC) - マージ日時: 2026年04月21日 19:07:27(UTC) -- ラベル: area-PAL-coreclr community-contribution os-openbsd +- ラベル: area-PAL-coreclr community-contribution os-openbsd #### 概要 OpenBSD環境でのメモリリソース制限の取得を修正しました。OpenBSDが`RLIMIT_AS`を持たないため、代わりに`RLIMIT_DATA`を使用するよう変更しました。また、ファイル内の不要なホワイトスペースをクリーンアップしました。 @@ -119,7 +119,7 @@ OpenBSD環境でのPAL(Platform Abstraction Layer)レイヤーのメモリ - 作成者: [@sethjackson](https://github.com/sethjackson) - 作成日時: 2026年04月21日 07:31:20(UTC) - マージ日時: 2026年04月21日 18:15:41(UTC) -- ラベル: area-PAL-coreclr community-contribution os-openbsd +- ラベル: area-PAL-coreclr community-contribution os-openbsd #### 概要 OpenBSD環境でのCoreClrの例外処理(`exception/seh.cpp`)に関連する問題を修正します。#124911に関連した改善となります。 @@ -140,7 +140,7 @@ OpenBSD環境でのCoreClrの例外処理(`exception/seh.cpp`)に関連す - 作成者: [@danmoseley](https://github.com/danmoseley) - 作成日時: 2026年04月21日 05:29:08(UTC) - マージ日時: 2026年04月21日 20:39:17(UTC) -- ラベル: area-System.Diagnostics.Tracing +- ラベル: area-System.Diagnostics.Tracing #### 概要 `CounterSampleCalculator_ElapsedTime` テストの不安定性を修正しました。このテストは QPC(クエリ パフォーマンス カウンター)と `DateTime.Now`(システムクロック)という異なるクロックソースで経過時間を比較していたため、CI 環境の負荷下で 0.3s のトレランスを超える誤差が発生し、稀に失敗していました(0.01%の頻度)。修正により、両方の測定に `Stopwatch` を使用して同じクロックソース(QPC)を共有するようにしました。 @@ -165,7 +165,7 @@ OpenBSD環境でのCoreClrの例外処理(`exception/seh.cpp`)に関連す - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年04月21日 02:05:43(UTC) - マージ日時: 2026年04月21日 13:28:14(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 dotnet/dotnetリポジトリからの定期的なコードフロー更新PRです。主に依存パッケージのバージョン更新とそれに伴う設定ファイルの変更が含まれます。 @@ -196,7 +196,7 @@ dotnet/dotnetリポジトリからの定期的なコードフロー更新PRで - 作成者: [@barosiak](https://github.com/barosiak) - 作成日時: 2026年04月20日 23:36:57(UTC) - マージ日時: 2026年04月21日 17:12:22(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Contracts Data Access Component)の`DacDbiImpl`に`GetCompilerFlags`メソッドを実装しました。`ILoader.GetFlags`を使用してキャッシュされた結果ビット(`JitOptimizationDisabled`、`EditAndContinue`)を読み取り、ネイティブDACの動作と一致させます。 @@ -219,7 +219,7 @@ cDAC(Contracts Data Access Component)の`DacDbiImpl`に`GetCompilerFlags`メ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月20日 23:31:11(UTC) - マージ日時: 2026年04月21日 20:59:15(UTC) -- ラベル: area-Extensions-Hosting +- ラベル: area-Extensions-Hosting #### 概要 .NET 11上でMicrosoft.Extensions.Hosting v2.2.0.0など古い`IHostBuilder`実装を読み込む際に発生する`TypeLoadException`を修正します。v3.0で追加された`UseServiceProviderFactory(Func>)`オーバーロードが古いアセンブリに存在しないため、型ローダーが実装の不完全性を検出していました。 @@ -242,7 +242,7 @@ cDAC(Contracts Data Access Component)の`DacDbiImpl`に`GetCompilerFlags`メ - 作成者: [@adamperlin](https://github.com/adamperlin) - 作成日時: 2026年04月20日 22:22:22(UTC) - マージ日時: 2026年04月21日 23:19:06(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 Wasm RyuJitにおけるReadyToRun(R2R)コンパイルのバグを修正します。最適化コンパイル時にEH(例外処理)を含むメソッドがインライン化され、ホスト側にリロケーションが記録された後、funcletが原因でベイルアウトし、その後のminopts再コンパイルが成功する際に**古いリロケーション情報が残される**問題を解決します。 @@ -265,7 +265,7 @@ funcletベースの`implReadyToRunUnsupported()`呼び出しをコード生成 - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年04月20日 20:27:57(UTC) - マージ日時: 2026年04月21日 04:13:55(UTC) -- ラベル: arch-wasm area-VM-coreclr +- ラベル: arch-wasm area-VM-coreclr #### 概要 WebAssemblyにおけるネイティブリリンクパイプラインの修正。PR #126901で導入されたリリンク生成ソースがWASM固有のcallhelperを適切にアクセスできるようにするため、`TERMINATE_R2R_STACK_WALK`定義をWASM専用ヘッダに移動し、必要なヘルパーマクロ(`NOINLINE`など)をインクルードパスに追加しました。 @@ -290,7 +290,7 @@ WebAssemblyにおけるネイティブリリンクパイプラインの修正。 - 作成者: [@bartonjs](https://github.com/bartonjs) - 作成日時: 2026年04月20日 19:06:27(UTC) - マージ日時: 2026年04月21日 16:36:09(UTC) -- ラベル: area-System.DirectoryServices +- ラベル: area-System.DirectoryServices #### 概要 System.DirectoryServices.Protocols のローカルテストがMono環境で間欠的に失敗する問題に対応するため、当該テストをMono上では無効化し、CoreCLRのみで実行するように制限しました。リソース枯渇が原因と推定されています。 @@ -312,7 +312,7 @@ System.DirectoryServices.Protocols のローカルテストがMono環境で間 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月20日 18:22:39(UTC) - マージ日時: 2026年04月21日 03:07:28(UTC) -- ラベル: area-System.Reflection.Metadata +- ラベル: area-System.Reflection.Metadata #### 概要 `AssemblyNameParser.TryParseProcessorArchitecture`のswitch式に存在する重複した`msil`アームを削除します。第2のアームは到達不可能なデッドコードであり、第1のアームが常にマッチするため、削除しても動作に変化はありません。 @@ -333,7 +333,7 @@ System.DirectoryServices.Protocols のローカルテストがMono環境で間 - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年04月20日 15:02:29(UTC) - マージ日時: 2026年04月21日 10:21:10(UTC) -- ラベル: linkable-framework area-Tools-ILLink +- ラベル: linkable-framework area-Tools-ILLink #### 概要 Browser (WebAssembly) の Debug ビルドにおいて、`MetadataUpdaterSupport` のデフォルト値が誤ってfalseに設定されていた問題を修正します。トリミング有効時(`PublishTrimmed=true`)に、Debug ビルドではメタデータ更新のサポートをデフォルトで有効に保つよう条件を変更します。 @@ -355,7 +355,7 @@ Browser (WebAssembly) の Debug ビルドにおいて、`MetadataUpdaterSupport` - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年04月20日 13:43:42(UTC) - マージ日時: 2026年04月21日 07:55:20(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 x64 JITコンパイラのレジスタアロケータを更新し、パッチポイントを含むメソッドではフローティングポイントカリー保存レジスタの割り当てを禁止します。OSRメソッドではこれらのレジスタが復元されないため、将来のアンワインダーなしの遷移に対応するための変更です。パッチポイントはTier0メソッドにのみ出現するため、パフォーマンスへの影響は限定的です。 @@ -376,7 +376,7 @@ x64 JITコンパイラのレジスタアロケータを更新し、パッチポ - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年04月20日 11:27:09(UTC) - マージ日時: 2026年04月21日 09:49:58(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT コンパイラにおいて、`MakeGenericType` のデータフロー分析時に正規型(`__Canon` / `__UniversalCanon`)を用いた制約検証を正しく処理するように修正します。従来は正規型を通常のジェネリック制約として扱っていたため、制約チェックで不正と判定され、不要にコンパイルがスキップされていました。正規型をワイルドカード的に扱うことで、有効なジェネリック生成を適切にルート化・コンパイルできるようになります。 @@ -402,7 +402,7 @@ NativeAOT コンパイラにおいて、`MakeGenericType` のデータフロー - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年04月20日 07:31:57(UTC) - マージ日時: 2026年04月21日 08:44:12(UTC) -- ラベル: area-System.Net.Sockets os-android agentic-workflows +- ラベル: area-System.Net.Sockets os-android agentic-workflows #### 概要 AndroidプラットフォームでのSocketBlockingModeTransitionTestsの失敗を修正します。Androidでは、TCP Fast Open(TFO)を使用した`sendto`システムコールが、単一操作で接続と送信の両方を完了できるため、非同期完了時でもソケットがブロッキングモードのままになります。このプラットフォーム固有の動作に対応するため、既存のApple platform対応に加えてAndroidを条件に追加します。 @@ -429,7 +429,7 @@ AndroidプラットフォームでのSocketBlockingModeTransitionTestsの失敗 - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年04月19日 04:55:45(UTC) - マージ日時: 2026年04月21日 04:43:46(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Common Data Access Contract)の `ObjectHandle` `IData` 型をリファクタリングしました。従来は `ObjectHandle` フィールドのアドレスではなく、そのアドレスフィールドの値を期待していたため、読み込み時に余分なポインタ読み取りが必要でした。本変更により、`ObjectHandle` コンストラクタパラメータが OBJECTHANDLE フィールドのアドレスになり、他の `IData` と一貫性を持つようになりました。これにより `ObjectHandle` フィールドを強型で宣言でき、`ReadDataField` を直接使用できます。 @@ -455,7 +455,7 @@ cDAC(Common Data Access Contract)の `ObjectHandle` `IData` 型をリファ - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年04月19日 01:25:28(UTC) - マージ日時: 2026年04月21日 01:19:04(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Common Data Access)における COM相互運用性を改善するPR。`StrategyBasedComWrappers`の ad-hoc なインスタンス化を削除し、プロセス全体で単一のシングルトンインスタンスを共有するよう統一。また、`ClrDataAppDomain.IsSameObject`のバグ(常に`S_FALSE`を返していた)を修正。 @@ -487,7 +487,7 @@ cDAC(Common Data Access)における COM相互運用性を改善するPR。` - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年04月18日 02:27:31(UTC) - マージ日時: 2026年04月21日 15:43:47(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Common Data Access Component)の管理レイヤーで `IXCLRDataMethodDefinition` インターフェースの5つのAPI(`GetName`、`HasClassOrMethodInstantiation`、`StartEnumInstances`、`EnumInstance`、`EndEnumInstances`)を実装しました。ネイティブDAC相当の動作をcDACコントラクトを活用して実現し、レガシーDAC互換性検証とメタデータフォールバック機能を備えています。`SetCodeNotification`のみ実装が保留されています。 @@ -514,7 +514,7 @@ cDAC(Common Data Access Component)の管理レイヤーで `IXCLRDataMethodD - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月18日 01:00:21(UTC) - マージ日時: 2026年04月21日 12:21:26(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 dump-based cDAC統合テストにおいて、複数の場所に重複していたランタイムバージョンリスト(`"local"`と`"net10.0"`)を一元管理するためにリファクタリング。`private static readonly string[] RuntimeVersions`フィールドを追加し、`TestConfigurations`と`GetDumpSource()`の両メソッドで共用することで、新しいランタイムバージョンの追加時に編集が必要な箇所を1ヶ所に統一。 @@ -538,7 +538,7 @@ dump-based cDAC統合テストにおいて、複数の場所に重複してい - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月17日 21:26:18(UTC) - マージ日時: 2026年04月21日 16:11:42(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 `EncryptedXml.DecryptDocument()`処理時に`KeyInfo/RetrievalMethod`要素の`URI`属性が欠落している場合、不適切な`NullReferenceException`が発生していた問題を修正。`Utils.ExtractIdFromLocalUri`に null/empty チェックを追加し、適切な`CryptographicException`をスロー(エラーメッセージ: `SR.Cryptography_Xml_UriRequired`)するように変更しました。 @@ -572,7 +572,7 @@ new EncryptedXml(doc).DecryptDocument(); // NullReferenceException が発生 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月17日 18:14:48(UTC) - マージ日時: 2026年04月21日 19:19:37(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT publish時にNuGetパッケージのサテライトアセンブリ(リソースDLL)が公開ディレクトリに漏出し、ILCへの`--satellite:`引数渡しに失敗する問題を修正。SDKが`AssetType='resources'`条件でサテライトを`ResolvedFileToPublish`に配置していたが、タスク側が`PostprocessAssembly=true`メタデータを条件としていたため、サテライト分類ロジックが死コード化していたのが根本原因。 @@ -602,7 +602,7 @@ NativeAOT publish時にNuGetパッケージのサテライトアセンブリ( - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年04月17日 09:12:14(UTC) - マージ日時: 2026年04月21日 12:37:38(UTC) -- ラベル: area-Infrastructure os-ios +- ラベル: area-Infrastructure os-ios #### 概要 Apple mobile CoreCLR(iOS/tvOS/watchOS)上で正常に動作するテストから、`ActiveIssue`属性を削除するクリーンアップを実施。これらの属性は、プラットフォーム固有の既知の問題を記録していましたが、テストが実際には合格しているため、属性が不要になりました。同時に`tests.proj`内の関連する除外設定も削除されています。 @@ -627,7 +627,7 @@ Apple mobile CoreCLR(iOS/tvOS/watchOS)上で正常に動作するテスト - 作成者: [@elinor-fung](https://github.com/elinor-fung) - 作成日時: 2026年04月16日 22:39:21(UTC) - マージ日時: 2026年04月21日 18:37:19(UTC) -- ラベル: area-Host +- ラベル: area-Host #### 概要 .NET 10で静的ライブラリのデッドコード削除により失われた`MetaDataGetDispenser`エクスポートをsinglefilehostで強制的に保持するための修正。Unix/macOSではリンカフラグを追加し、Windowsでは既存の.defファイル設定を活用。エクスポートが存在することを検証するリグレッションテストも追加します。 @@ -651,7 +651,7 @@ Apple mobile CoreCLR(iOS/tvOS/watchOS)上で正常に動作するテスト - 作成者: [@barosiak](https://github.com/barosiak) - 作成日時: 2026年04月16日 22:26:56(UTC) - マージ日時: 2026年04月21日 19:13:18(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(コンテナー化されたDAC)に `IsDiagnosticsHiddenOrLCGMethod` を実装しました。新しく `IRuntimeTypeSystem.IsDiagnosticsHidden` コントラクトAPIを追加し、IL-stub、wrapper-stub、非同期サンク(async-thunk)メソッドの検出をサポートします。これにより、ネイティブVMとの完全な機能パリティが達成されます。 @@ -680,7 +680,7 @@ cDAC(コンテナー化されたDAC)に `IsDiagnosticsHiddenOrLCGMethod` を - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年04月16日 10:38:05(UTC) - マージ日時: 2026年04月21日 15:47:53(UTC) -- ラベル: arch-wasm area-Infrastructure-coreclr +- ラベル: arch-wasm area-Infrastructure-coreclr #### 概要 `browser-wasm` + `CoreCLR`(インタプリタ)環境での12のライブラリテストスイートを有効化するPRです。スイート全体の除外ではなく、個別の失敗テストに`[ActiveIssue]`属性を付与することで、75,272個のテストの実行を実現します。これにより、テストカバレッジの拡大とプラットフォーム固有の問題の可視化が図られています。 @@ -707,7 +707,7 @@ cDAC(コンテナー化されたDAC)に `IsDiagnosticsHiddenOrLCGMethod` を - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月16日 09:24:56(UTC) - マージ日時: 2026年04月21日 09:44:46(UTC) -- ラベル: area-Tools-ILLink +- ラベル: area-Tools-ILLink #### 概要 ILTrim(IL トリミング ツール)のメタデータ保持ロジックを改善し、アクセサーメソッドが到達可能な場合、プロパティおよびイベントのメタデータ行を保持するようにしました。同時に、型が削除されたときの PropertyMap/EventMap テーブル関連付けの誤りを修正しています。これにより ILLink の既存動作との整合性が向上します。 @@ -733,7 +733,7 @@ ILTrim(IL トリミング ツール)のメタデータ保持ロジックを - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年04月15日 15:59:53(UTC) - マージ日時: 2026年04月21日 15:37:07(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 CoreCLRの旧来のセンチネルベースの`SList`実装をNativeAOTスタイルの設計に統一するもの。センチネルノードを廃止し、空リストは`NULL`で表現し、traits-based next-pointerアクセスに変更。CoreCLRとNativeAOTで共有の`src/coreclr/inc/slist.h`を用いる統一実装となる。 @@ -764,7 +764,7 @@ template using SListTail = SList - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年04月15日 03:55:43(UTC) - マージ日時: 2026年04月21日 13:27:09(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 VMR(Virtual Mono Repository)の[dotnet/dotnet](https://github.com/dotnet/dotnet)からのコードフロー更新PR。ビルド20260414.6に基づく複数の依存パッケージのバージョン更新とソースコード同期を含みます。 @@ -803,7 +803,7 @@ VMR(Virtual Mono Repository)の[dotnet/dotnet](https://github.com/dotnet/dot - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年04月14日 21:03:50(UTC) - マージ日時: 2026年04月21日 01:42:00(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 部分的にジャンプスレッディングされたブロックにおいて、残っているすべての前置ブロックが同じSSA定義をPHIにもたらす場合、PHI定義を削除し、そのブロック内のPHI使用に対するSSA/VN情報を更新します。特に、曖昧な前置ブロックが1つだけ残る場合に有効です。 @@ -828,7 +828,7 @@ VMR(Virtual Mono Repository)の[dotnet/dotnet](https://github.com/dotnet/dot - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年04月14日 14:36:59(UTC) - マージ日時: 2026年04月21日 07:54:53(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 ARM64、LoongArch64、RISCV64のOn-Stack Replacement (OSR)機能を改善し、Tier0関数で保存されたCallee-Saveレジスタの値をOSR関数のプロローグで復元する仕様に変更しました。これにより、Tier0からOSRへの遷移時にスタックアンワインドが不要になり、単純なジャンプで実行できるようになります。目標はASP.NETベンチマークで報告されている[#120865](https://github.com/dotnet/runtime/issues/120865)の修正です。また、AltJitが生成したパッチポイント情報のVM保存サポートも追加しました。 @@ -855,7 +855,7 @@ Tier0からOSRへの遷移がアンワインド処理を必要としなくなる - 作成者: [@svick](https://github.com/svick) - 作成日時: 2026年04月14日 14:14:57(UTC) - マージ日時: 2026年04月21日 09:08:48(UTC) -- ラベル: linkable-framework area-Extensions-Configuration +- ラベル: linkable-framework area-Extensions-Configuration #### 概要 ConfigurationBinder ソースジェネレータの診断サプレッサーを修正し、IL2026/IL3050 AOT警告を正確に処理します。2つの問題に対応しています: @@ -883,7 +883,7 @@ ConfigurationBinder ソースジェネレータの診断サプレッサーを修 - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年04月14日 04:45:45(UTC) - マージ日時: 2026年04月21日 09:38:07(UTC) -- ラベル: area-Infrastructure-libraries +- ラベル: area-Infrastructure-libraries #### 概要 Trim/AOT解析器をライブラリテストプロジェクトでデフォルトで有効化し、既存の警告が存在するプロジェクトに対しては一時的にオプトアウト設定を追加する変更です。これは [#126862](https://github.com/dotnet/runtime/issues/126862) への対応です。現在、Trimで19,858件、AOTで12,728件の警告が報告されています(重複カウント含む)。 @@ -912,7 +912,7 @@ Trim/AOT解析器をライブラリテストプロジェクトでデフォルト - 作成者: [@jtschuster](https://github.com/jtschuster) - 作成日時: 2026年04月13日 18:33:15(UTC) - マージ日時: 2026年04月21日 20:55:24(UTC) -- ラベル: area-System.Runtime.InteropServices area-codeflow +- ラベル: area-System.Runtime.InteropServices area-codeflow #### 概要 DNNE (Do Not Name Exports) NuGetパッケージの依存関係をバージョン2.0.5から2.1.1に更新するPull Requestです。この更新により、DNNE 2.1.0で対応されたARM64ビルド失敗の修正([#126673](https://github.com/dotnet/runtime/issues/126673))を取り込みます。 @@ -935,7 +935,7 @@ DNNE (Do Not Name Exports) NuGetパッケージの依存関係をバージョン - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年04月10日 22:47:53(UTC) - マージ日時: 2026年04月21日 04:42:37(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Compact Data Access Contract)を通じて、DacDbi APIの`GetModuleData`および`IsModuleMapped`を実装しました。ILoaderコントラクトを拡張して、DomainAssembly↔Moduleのナビゲーションと"is mapped"クエリをサポートします。これにより、デバッガがモジュールに関する詳細情報を取得できるようになります。 @@ -963,7 +963,7 @@ cDAC(Compact Data Access Contract)を通じて、DacDbi APIの`GetModuleData`お - 作成者: [@eduardo-vp](https://github.com/eduardo-vp) - 作成日時: 2026年04月10日 21:34:20(UTC) - マージ日時: 2026年04月21日 23:01:56(UTC) -- ラベル: area-NativeAOT-coreclr runtime-async +- ラベル: area-NativeAOT-coreclr runtime-async #### 概要 Native AOT環境で、基底メソッドが`Task`を返し派生メソッドが`Task`を返す共変戻り値型のオーバーライドをサポートするための実装です。CoreCLRランタイムの非同期処理修正(#125900)をNative AOTの型システムに統合し、戻り値を破棄する非同期サンク(`ReturnDroppingAsyncThunk`)を導入して仮想/インターフェースメソッド解決に組み込みます。 @@ -988,7 +988,7 @@ Native AOT環境で、基底メソッドが`Task`を返し派生メソッドが` - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年04月08日 18:39:34(UTC) - マージ日時: 2026年04月21日 15:17:44(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 `global.json`の`sdk.paths`機能を利用して、ローカルの.NET SDK(`.dotnet/`ディレクトリ)をSDK解決時に優先させるように設定を更新しました。C# Dev Kitなどのエディタ体験の向上と、ランタイムリポジトリでの開発効率の改善が目的です。ホストSDKへのフォールバックも保持されています。 @@ -1012,7 +1012,7 @@ Native AOT環境で、基底メソッドが`Task`を返し派生メソッドが` - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月07日 19:16:44(UTC) - マージ日時: 2026年04月21日 16:50:18(UTC) -- ラベル: NO-MERGE linkable-framework area-Tools-ILLink +- ラベル: NO-MERGE linkable-framework area-Tools-ILLink #### 概要 `Mono.Linker.Tests`(illink内の最後のMSTestプロジェクト)をxUnitに変換し、dotnet/runtimeの他のテストインフラストラクチャと統一します。プロジェクト設定、テスト属性、アサーション、動的スキップ機構をMSTestからxUnitに移行しました。 @@ -1045,7 +1045,7 @@ Native AOT環境で、基底メソッドが`Task`を返し派生メソッドが` - 作成者: [@elinor-fung](https://github.com/elinor-fung) - 作成日時: 2026年04月07日 02:18:20(UTC) - マージ日時: 2026年04月21日 18:02:58(UTC) -- ラベル: area-Host +- ラベル: area-Host #### 概要 muxerにAOT(Ahead-of-Time)コンパイルされたSDKをネイティブで呼び出すロジックを追加しました。解決されたSDKディレクトリに`dotnet-aot`共有ライブラリが存在する場合、muxerはそれをロードして`dotnet_execute`エントリポイントを呼び出します。AOTライブラリがない場合や期待されるエントリポイントがない場合は、既存のマネージドSDKパスにフォールバックします。 @@ -1071,7 +1071,7 @@ muxerにAOT(Ahead-of-Time)コンパイルされたSDKをネイティブで - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年04月03日 16:42:29(UTC) - マージ日時: 2026年04月21日 00:07:46(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 非可変長引数(non-varargs)P/Invokeの実装方式を、IL stubから一時的IL(transient IL)に変更します。この変更により、P/Invoke毎のDynamicMethodDesc 1個を削除し、ポータブルエントリポイント向けのインタープリター回避策とSwift関連の対応を削除します。P/Invokeメソッドはティアード・コンパイルの対象外のままです。 @@ -1101,7 +1101,7 @@ muxerにAOT(Ahead-of-Time)コンパイルされたSDKをネイティブで - 作成者: [@maraf](https://github.com/maraf) - 作成日時: 2026年04月01日 14:47:15(UTC) - マージ日時: 2026年04月21日 17:45:48(UTC) -- ラベル: arch-wasm area-Build-mono os-browser +- ラベル: arch-wasm area-Build-mono os-browser #### 概要 WebAssemblyアプリケーション構築時にフレームワークアセット(`.wasm`、`.js`ファイル等)を`bin/wwwroot/_framework/`にコピーすることを廃止します。`dotnet run`は静的Webアセットミドルウェアを使用して`obj/`などのソースロケーションからファイルを直接提供するため、物理的なコピーは不要です。変更により、ビルド出力の`_framework/`ディレクトリが約178ファイルから2ファイルに削減されます。 @@ -1129,7 +1129,7 @@ WebAssemblyアプリケーション構築時にフレームワークアセット - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月22日 05:18:46(UTC) - マージ日時: 2026年04月21日 19:08:50(UTC) -- ラベル: area-Serialization +- ラベル: area-Serialization #### 概要 `ObjectToIdCache.RemoveAt()`の後方シフト削除アルゴリズムに、線形探査時の要素移動判定バグを修正。ラップアラウンドした探査チェーン内で削除時に空きスロットを埋めるべき要素が移動されず、次のシリアル化で同じオブジェクトが新しいIDを取得し、`IsReference=true`ラウンドトリップが破綻するバグを解決します。 @@ -1159,7 +1159,7 @@ WebAssemblyアプリケーション構築時にフレームワークアセット - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月03日 17:00:12(UTC) - マージ日時: 2026年04月21日 20:38:45(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Compact Data Access Contract)フレームワークに `ISOSDacInterface13::TraverseLoaderHeap` を実装します。`Loader` コントラクト経由でローダーヒープをトラバースするための新しいデータ型とAPI を追加し、SOS デバッガがコントラクト層からヒープブロックを列挙できるようになります。 @@ -1186,7 +1186,7 @@ cDAC(Compact Data Access Contract)フレームワークに `ISOSDacInterface - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月09日 19:23:25(UTC) - マージ日時: 2026年04月21日 17:00:13(UTC) -- ラベル: linkable-framework area-Tools-ILLink +- ラベル: linkable-framework area-Tools-ILLink #### 概要 Trimming Analyzerがフィールドアクセス式内のメソッド呼び出しに対する診断を報告していない問題を修正しました。例えば、`type.GetInterfaceMap(@interface).TargetMethods`はIL2072警告を出さないのに対し、`type.GetInterfaceMap(@interface)`は正しく警告を出していました。根本原因は`TrimAnalysisVisitor.VisitFieldReference`がフィールドの実例操作をフィールド処理前に訪問していなかったことです。修正により、プロパティ参照やイベント参照と同じ方式で実例を訪問するようになります。 diff --git a/archives/2026/04/22.md b/archives/2026/04/22.md index 3f72902..2b17957 100644 --- a/archives/2026/04/22.md +++ b/archives/2026/04/22.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#127291 Fix copy-paste bugs in PrecodeMachineDescriptor StubPrecode block](#127291) 2. [#127289 \[cDAC\] Add Apple to RuntimeInfoOperatingSystem](#127289) 3. [#127288 Remove passing ILTrim tests from expected failures list](#127288) @@ -32,7 +32,7 @@ - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年04月22日 16:59:48(UTC) - マージ日時: 2026年04月22日 18:54:31(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 `PrecodeMachineDescriptor`の`StubPrecode`ブロック初期化ロジックにおける2つのコピペバグを修正します。契約バージョン3(`PrecodeStubs_3`)が`StubBytes`/`StubIgnoredBytes`フィールドを正しく読み込み・設定し、`Fixup`プリコードデータを破損させないようにします。 @@ -56,7 +56,7 @@ - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年04月22日 16:48:18(UTC) - マージ日時: 2026年04月22日 19:20:48(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Compact Data Access Component)の `RuntimeInfoOperatingSystem` 列挙型に `Apple` 値を追加し、Apple プラットフォーム(macOS/iOS/tvOS/MacCatalyst)を他の Unix ターゲットから区別できるようにしました。これにより、Apple ARM64 の特殊な呼び出し規約(スタック引数のアライメントが Linux ARM64 と異なる)を正しく処理できるようになります。 @@ -86,7 +86,7 @@ cDAC(Compact Data Access Component)の `RuntimeInfoOperatingSystem` 列挙 - 作成者: [@jkotas](https://github.com/jkotas) - 作成日時: 2026年04月22日 16:29:29(UTC) - マージ日時: 2026年04月22日 16:29:52(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 ILTrim テスト基盤のメンテナンス。期待される失敗リストから、現在パスしているテストを削除し、テストスイートの失敗期待値の正確性を保つ。 @@ -109,7 +109,7 @@ ILTrim テスト基盤のメンテナンス。期待される失敗リストか - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年04月22日 15:58:36(UTC) - マージ日時: 2026年04月22日 22:49:00(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 dotnet/runtime リポジトリの CI 分析およびVMRコードフロー分析スキルをローカル実装から `dotnet/arcade-skills` マーケットプレイス プラグインへ移行しました。ローカルの PowerShell スクリプトと参照ドキュメントを削除し、Copilot および Claude の設定を更新して `dotnet-dnceng@dotnet-arcade-skills` プラグインを有効にしました。 @@ -133,7 +133,7 @@ dotnet/runtime リポジトリの CI 分析およびVMRコードフロー分析 - 作成者: [@elinor-fung](https://github.com/elinor-fung) - 作成日時: 2026年04月21日 20:23:15(UTC) - マージ日時: 2026年04月22日 19:02:21(UTC) -- ラベル: area-System.Runtime.InteropServices +- ラベル: area-System.Runtime.InteropServices #### 概要 `ComWrappers.TryGetComInterfaceDispatch`メソッドの論理条件バグを修正しました。OR演算子(`||`)をAND演算子(`&&`)に変更することで、COMオブジェクトのvtableがランタイム提供の`IUnknown`/`IReferenceTrackerTarget`実装と**一致しない**場合にのみ、"tagged interface"フォールバックパスを実行するようにしました。 @@ -158,7 +158,7 @@ dotnet/runtime リポジトリの CI 分析およびVMRコードフロー分析 - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年04月21日 13:19:51(UTC) - マージ日時: 2026年04月22日 01:08:31(UTC) -- ラベル: area-System.IO +- ラベル: area-System.IO #### 概要 複数のテストプロジェクトのトリマビリティ(Trim互換性)を改善するPRです。以前無効化されていたトリミング分析ツール(Trim Analyzer)を再度有効化し、生成された警告に対して標的化された抑制/アノテーションを追加するとともに、トリム非推奨APIをトリム友好的なAPIに置き換えています。主な変更は、`EnableTrimAnalyzer`フラグの有効化、`DynamicallyAccessedMembers`属性の追加、`Enum.GetValues(typeof(T))`から`Enum.GetValues()`への移行です。 @@ -182,7 +182,7 @@ dotnet/runtime リポジトリの CI 分析およびVMRコードフロー分析 - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年04月21日 12:44:06(UTC) - マージ日時: 2026年04月22日 01:02:54(UTC) -- ラベル: area-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 System.Diagnostics.Process テストにおけるトリミング警告を修正するため、トリムアナライザが静的解析できない `obj.GetType().GetField(...)` および `assembly.GetType(...)` パターンを、アナライザが解析可能な `Type.GetType("FullName, AssemblyName")` パターンに置き換えました。併せてテストプロジェクトのトリムアナライザを再有効化します。 @@ -205,7 +205,7 @@ System.Diagnostics.Process テストにおけるトリミング警告を修正 - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年04月21日 12:03:23(UTC) - マージ日時: 2026年04月22日 01:12:53(UTC) -- ラベル: area-Extensions-FileSystem +- ラベル: area-Extensions-FileSystem #### 概要 FileSystemGlobbing テストから未使用の `FileSystemOperationRecorder` を削除するリファクタリング。このユーティリティはリフレクションを使用して匿名オブジェクトを辞書に変換していましたが、収集した Records リストはテストで一度も読まれていませんでした。削除により、トリミング警告(IL2075)を解消し、テストユーティリティコードを簡潔化できます。 @@ -231,7 +231,7 @@ FileSystemGlobbing テストから未使用の `FileSystemOperationRecorder` を - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月21日 08:56:38(UTC) - マージ日時: 2026年04月22日 10:44:26(UTC) -- ラベル: area-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 `Process`クラスに4つの新しい静的APIを実装しました:`Run`、`RunAsync`、`RunAndCaptureText`、`RunAndCaptureTextAsync`。これらは標準出力/標準エラーの自動キャプチャ、タイムアウト、キャンセレーション対応など、一般的なプロセス実行シナリオを簡潔に実装できます。 @@ -287,7 +287,7 @@ Process.Run(psi); - 作成者: [@danmoseley](https://github.com/danmoseley) - 作成日時: 2026年04月21日 03:11:17(UTC) - マージ日時: 2026年04月22日 04:51:38(UTC) -- ラベル: area-Infrastructure-libraries +- ラベル: area-Infrastructure-libraries #### 概要 .NETFramework(NET481)の垂直ビルド時に、PNSE(Platform-Specific Non-Emulated)アセンブリの XML ドキュメント生成処理が失敗する問題を修正します。`UseCompilerGeneratedDocXmlFile`が有効な場合、ローカルターゲティングパック(`FrameworkList.xml`)が存在しない .NET Framework ビルドで `net11.0` の内部ビルドが失敗していました。修正により、ターゲティングパックの存在確認を追加して、その場合は PNSE doc-source の自己参照 ProjectReference をスキップするようにしました。 @@ -310,7 +310,7 @@ Process.Run(psi); - 作成者: [@tommcdon](https://github.com/tommcdon) - 作成日時: 2026年04月21日 02:25:56(UTC) - マージ日時: 2026年04月22日 12:58:10(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 x86アーキテクチャにおけるDAC/DBIスタックウォークの回帰問題を修正しました。Environment.CallEntryPointをUnwindStackWalkFrameでスキップすることで、x86の「1フレーム先行アンワインド」が不正なフレームポインタを計算し、ICorDebugStackWalk列挙が失敗する問題を解決します。フレームはデバッガUIからは`kRuntimeEntryPointFrame`分類とGetFrameWorkerの`S_FALSE`戻り値により非表示のままです。 @@ -331,7 +331,7 @@ x86アーキテクチャにおけるDAC/DBIスタックウォークの回帰問 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月21日 00:34:08(UTC) - マージ日時: 2026年04月22日 22:33:21(UTC) -- ラベル: api-approved area-Extensions-Logging +- ラベル: api-approved area-Extensions-Logging #### 概要 Microsoft.Extensions.Logging.Abstractions アセンブリにおいて、以前のバージョンで利用可能だった `*.Internal` 名前空間の型(`NullScope`、`TypeNameHelper`、`FormattedLogValues`、`LogValuesFormatter`)を `[Obsolete(error: true)]` + `[EditorBrowsable(Never)]` の互換性shimとして復元する変更です。これにより、これらの型に依存する既存のコードが `TypeLoadException` で失敗するシナリオに対応します。新しい非obsoleteなパブリックAPIは追加されません。 @@ -362,7 +362,7 @@ Microsoft.Extensions.Logging.Abstractions アセンブリにおいて、以前 - 作成者: [@PranavSenthilnathan](https://github.com/PranavSenthilnathan) - 作成日時: 2026年04月20日 23:43:38(UTC) - マージ日時: 2026年04月22日 12:27:32(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 OpenSSLの非推奨RSA APIに対するガード条件を削除し、Linux bionic arm64でのMono ビルド失敗を修正するPRです。CMakeの設定時に非推奨APIをプローブする際の検出ロジックを簡略化し、現在のすべてのOpenSSLバージョンで該当APIが存在することを考慮して、ガード条件を安全に削除しました。 @@ -385,7 +385,7 @@ OpenSSLの非推奨RSA APIに対するガード条件を削除し、Linux bionic - 作成者: [@tannergooding](https://github.com/tannergooding) - 作成日時: 2026年04月20日 14:40:20(UTC) - マージ日時: 2026年04月22日 22:34:29(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 Windows SDK v10.0.28000.0以降で`CONTEXT_UNWOUND_TO_CALL`マクロが定義されるようになったため、CoreCLRのクロスコンパイルヘッダで重複定義エラーが発生していた問題を修正します。ARM64クロスコンパイルセクションでのマクロ定義を`#ifndef`でガードすることで、既に定義されている場合の重複を回避します。 @@ -406,7 +406,7 @@ Windows SDK v10.0.28000.0以降で`CONTEXT_UNWOUND_TO_CALL`マクロが定義さ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月20日 12:59:11(UTC) - マージ日時: 2026年04月22日 01:15:09(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT の dataflow 解析で、ローカルメソッド内の `MakeGenericType`/`MakeGenericMethod` 呼び出しが正しく処理されていない問題を修正します。コンパイラが生成したローカルメソッド内の呼び出しは、親メソッドとは異なる型定義を持つため、ランタイム依存関係が正しくマッチングされていません。 @@ -441,7 +441,7 @@ struct Atom; - 作成者: [@maraf](https://github.com/maraf) - 作成日時: 2026年04月20日 11:29:51(UTC) - マージ日時: 2026年04月22日 15:08:58(UTC) -- ラベル: arch-wasm area-Build-mono os-browser +- ラベル: arch-wasm area-Build-mono os-browser #### 概要 Browser + CoreCLRの組み合わせ時に`WasmTriggerPublishApp`未実装により除外されていた6つのテストプロジェクトを再度有効化します。ビルドエラーが解決されたため、exclusionを削除し、プロジェクトレベルではなくテストレベルでスキップを管理するようにしました。 @@ -476,7 +476,7 @@ Browser + CoreCLRの組み合わせ時に`WasmTriggerPublishApp`未実装によ - 作成者: [@mrvoorhe](https://github.com/mrvoorhe) - 作成日時: 2026年04月17日 18:28:28(UTC) - マージ日時: 2026年04月22日 15:49:10(UTC) -- ラベル: linkable-framework community-contribution area-Tools-ILLink +- ラベル: linkable-framework community-contribution area-Tools-ILLink #### 概要 ILLinkerのパイプライン実行順序に関するバグを修正しました。到達不可能なメソッド本体内にのみ存在するアセンブリ参照が、`SweepStep`で保持される一方で参照先アセンブリが削除されるという矛盾が生じていました。`CodeRewriterStep`を`SweepStep`よりも前に実行することで、`SweepStep`が最終的に変換されたメソッド本体を正しく処理するようになりました。 @@ -501,7 +501,7 @@ ILLinkerのパイプライン実行順序に関するバグを修正しました - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年04月17日 12:58:44(UTC) - マージ日時: 2026年04月22日 12:57:31(UTC) -- ラベル: area-System.IO.Compression os-android os-ios +- ラベル: area-System.IO.Compression os-android os-ios #### 概要 モバイルプラットフォーム(Android、iOS、tvOS、MacCatalyst)でのテスト失敗に対応するため、`GetMaxCompressedLength_MatchesNativeCompressBound`テストをモバイルプラットフォームでスキップする変更です。モバイル環境では古い zlib が使用され、デスクトップで使用される zlib-ng の圧縮バウンド計算との結果が異なることが原因です。 @@ -524,7 +524,7 @@ ILLinkerのパイプライン実行順序に関するバグを修正しました - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月17日 07:21:49(UTC) - マージ日時: 2026年04月22日 09:59:15(UTC) -- ラベル: area-Extensions-DependencyInjection +- ラベル: area-Extensions-DependencyInjection #### 概要 Dependency Injectionコンテナの`ValidateScopes`/`ValidateOnBuild`機能において、キー付きシングルトン(`ImplementationInstance`)がキーなしのスコープド登録と誤分類される問題を修正しました。登録順序に依存する誤検出(「Cannot consume scoped service ... from singleton ...」)が発生していました。 @@ -562,7 +562,7 @@ DI(Dependency Injection)ライブラリの内部実装修正です。キー - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月16日 20:18:42(UTC) - マージ日時: 2026年04月22日 03:31:24(UTC) -- ラベル: area-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 `SafeProcessHandle`に5つの新しい公開メソッドを追加します:`WaitForExit`、`TryWaitForExit`、`WaitForExitOrKillOnTimeout`、`WaitForExitAsync`、`WaitForExitOrKillOnCancellationAsync`。これにより、`Process`を経由せず直接`SafeProcessHandle`からプロセス終了を待機できるようになります。Windows/Unix双方で実装され、Unixではプロセス終了シグナル情報も報告されるよう拡張されました。 @@ -605,7 +605,7 @@ await handle.WaitForExitAsync(); - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月16日 08:48:12(UTC) - マージ日時: 2026年04月22日 01:23:41(UTC) -- ラベル: linkable-framework area-Tools-ILLink +- ラベル: linkable-framework area-Tools-ILLink #### 概要 ILTrimで未実装だった`-x`(XMLディスクリプタ)コマンドラインオプションを実装しました。`ILCompiler.Compiler`の`TrimmingDescriptorNode`を再利用し、ILTrim環境用に条件付きコンパイルで適応させています。これにより、XML形式のトリミング設定ファイルがILTrimで処理されるようになります。 @@ -629,7 +629,7 @@ ILTrimで未実装だった`-x`(XMLディスクリプタ)コマンドライ - 作成者: [@NikolaMilosavljevic](https://github.com/NikolaMilosavljevic) - 作成日時: 2026年04月12日 03:53:56(UTC) - マージ日時: 2026年04月22日 15:51:57(UTC) -- ラベル: Servicing-approved area-Build-mono +- ラベル: Servicing-approved area-Build-mono #### 概要 `source-build-reference-packages`リポジトリが`source-build-assets`にリネームされたため、VMR/source-buildシナリオでの参照を更新しました。これに伴い、新しいリポジトリから生成されたパッケージバージョンも更新されています。 @@ -650,7 +650,7 @@ ILTrimで未実装だった`-x`(XMLディスクリプタ)コマンドライ - 作成者: [@eduardo-vp](https://github.com/eduardo-vp) - 作成日時: 2026年03月30日 21:37:59(UTC) - マージ日時: 2026年04月22日 00:21:53(UTC) -- ラベル: Servicing-approved area-VM-coreclr +- ラベル: Servicing-approved area-VM-coreclr #### 概要 Windows x64プラットフォームにおけるアンワインド情報テーブル(UnwindInfoTable)のパフォーマンスを改善するバックポート。エントリをバッファに蓄積してから一括フラッシュすることで、`pRtlAddGrowableFunctionTable`と`pRtlDeleteGrowableFunctionTable`の操作コストを償却し、内部の`RUNTIME_FUNCTION`テーブル作成のオーバーヘッドを削減します。 @@ -675,7 +675,7 @@ Windows x64プラットフォームにおけるアンワインド情報テーブ - 作成者: [@wfurt](https://github.com/wfurt) - 作成日時: 2026年03月29日 17:48:01(UTC) - マージ日時: 2026年04月22日 16:50:12(UTC) -- ラベル: area-System.Net.Security +- ラベル: area-System.Net.Security #### 概要 Kerberos認証フローをテストするため、`NegotiateAuthentication`のEnterpriseテストスイートを追加します。実際のKDC(Key Distribution Center)に対してクライアント/サーバー間の認証ハンドシェイク、保護レベル、wrap/unwrapシナリオをテストする新しいテストケースを実装しています。 @@ -698,7 +698,7 @@ Kerberos認証フローをテストするため、`NegotiateAuthentication`のEn - 作成者: [@hoyosjs](https://github.com/hoyosjs) - 作成日時: 2026年03月28日 10:19:01(UTC) - マージ日時: 2026年04月22日 20:00:32(UTC) -- ラベル: Servicing-approved area-Diagnostics-coreclr +- ラベル: Servicing-approved area-Diagnostics-coreclr #### 概要 ReadyToRun対応アプリケーションをデバッグ時にデバッガハングを引き起こす問題を修正します。`DebuggerController::BindPatch`で`GetCodeRegionInfo`を呼び出す際に、既に利用可能な`DebuggerJitInfo`と`MethodDesc`を渡すことで、不要な`HashMap::LookupValue`ルックアップと連鎖的なGCモード遷移を回避し、キャッシュされた`CodeRegionInfo`をそのまま利用できます。 @@ -721,7 +721,7 @@ ReadyToRun対応アプリケーションをデバッグ時にデバッガハン - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年03月26日 00:24:57(UTC) - マージ日時: 2026年04月22日 17:22:17(UTC) -- ラベル: area-Infrastructure-installer +- ラベル: area-Infrastructure-installer #### 概要 Installer Helix テストの実行条件をスコープ化し、インストーラー関連のパス変更時のみ実行するように変更しました。以前は CoreCLR および Libraries PR で毎回 5 つの Helix ジョブが実行されていましたが、インストーラーテストは JIT・GC・ライブラリコード変更の影響を受けないため、不要な実行を削減します。例外として osx_arm64 は `coreclr.containsChange` も含める条件を保持し、シングルファイル関連の問題検出を強化します。 @@ -749,7 +749,7 @@ Installer Helix テストの実行条件をスコープ化し、インストー - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年03月16日 22:54:16(UTC) - マージ日時: 2026年04月22日 00:24:01(UTC) -- ラベル: Servicing-approved area-NativeAOT-coreclr +- ラベル: Servicing-approved area-NativeAOT-coreclr #### 概要 .NET 9.0でIDynamicInterfaceCastableを使用したキャスト処理におけるキャッシング関連の回帰バグを修正します。不正なキャッシュ結果が返される問題を解決し、型チェックが異なる結果を返すべき場合でも正しく処理されるようにします。 diff --git a/archives/2026/04/23.md b/archives/2026/04/23.md index 7d7057e..e22f263 100644 --- a/archives/2026/04/23.md +++ b/archives/2026/04/23.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#127313 Adopt RuntimeFeature.IsMultithreadingSupported for CoreCLR PlatformDetection](#127313) 2. [#127312 Fix race condition: set _canceled before SignalCore in ProcessWaitState](#127312) 3. [#127307 ignore unreachable preds in optVisitReachingAssertions](#127307) @@ -26,7 +26,7 @@ - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年04月23日 08:23:57(UTC) - マージ日時: 2026年04月23日 21:53:16(UTC) -- ラベル: arch-wasm area-System.Reflection +- ラベル: arch-wasm area-System.Reflection #### 概要 CoreCLR テスト用の `PlatformDetection.cs` で、WASM マルチスレッド検出の反射(リフレクション)ベースの回避策を削除し、SDK 11.0.100-preview.3 で利用可能になった `RuntimeFeature.IsMultithreadingSupported` API を直接使用するように更新しました。 @@ -51,7 +51,7 @@ CoreCLR テスト用の `PlatformDetection.cs` で、WASM マルチスレッド - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月23日 07:33:52(UTC) - マージ日時: 2026年04月23日 19:55:33(UTC) -- ラベル: area-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 `ProcessWaitState`でプロセス終了を待機中にキャンセルが発生した際、`_canceled`フラグの設定とシグナル送信の間にレース条件が存在していた問題を修正しました。`_canceled`を`SignalCore()`呼び出し**前**に設定することで、リーピングスレッドが常に正しいキャンセル状態を観察できるようにします。 @@ -73,7 +73,7 @@ CoreCLR テスト用の `PlatformDetection.cs` で、WASM マルチスレッド - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年04月23日 00:28:13(UTC) - マージ日時: 2026年04月23日 18:46:38(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイラの`optVisitReachingAssertions`メソッドを更新し、到達不可能なブロックに由来するSSA PHI引数を許容するように改善しました。これまで保守的に処理を中止していたケースを回避し、より効率的に解析できるようになります。 @@ -99,7 +99,7 @@ JITコンパイラの`optVisitReachingAssertions`メソッドを更新し、到 - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年04月22日 21:45:12(UTC) - マージ日時: 2026年04月23日 02:04:08(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 PR #127146で導入された「キャスティングロジックにおける正規型(canonical types)の処理」機能を全面的に削除するリバートです。この変更により、正規型に関連する複数のコンポーネントが削除され、NativeAOTコンパイラの型システムがより簡潔な状態に戻されます。 @@ -124,7 +124,7 @@ PR #127146で導入された「キャスティングロジックにおける正 - 作成者: [@maraf](https://github.com/maraf) - 作成日時: 2026年04月22日 16:03:35(UTC) - マージ日時: 2026年04月23日 04:42:28(UTC) -- ラベル: arch-wasm area-Build-mono os-browser +- ラベル: arch-wasm area-Build-mono os-browser #### 概要 Blazor WASM フレームワークアセットの `CopyToOutputDirectory` 動作を MSBuild プロパティで設定可能にする変更です。#126407 での変更によって library-tests が回帰していた問題を解決します。デフォルトは `Never`(static web assets ミドルウェア経由で `obj/fx/` から提供)のままで、テスト環境では `PreserveNewest` に設定することで、`bin/` から直接実行するテストをサポートします。 @@ -146,7 +146,7 @@ Blazor WASM フレームワークアセットの `CopyToOutputDirectory` 動作 - 作成者: [@ManickaP](https://github.com/ManickaP) - 作成日時: 2026年04月22日 09:10:49(UTC) - マージ日時: 2026年04月23日 09:25:10(UTC) -- ラベル: area-System.Net +- ラベル: area-System.Net #### 概要 `System.Net.Mime`名前空間の`MediaTypeNames`クラスに`Video`ネストされたクラスを追加し、一般的なビデオMIMEタイプの定数を提供します。`Mp4`、`Mpeg`、`Ogg`、`QuickTime`、`WebM`の5つのビデオコンテナフォーマット定数が追加されます。これらはWebアプリケーションで最も広く使用されるビデオMIMEタイプです。 @@ -182,7 +182,7 @@ public static class Video - 作成者: [@tommcdon](https://github.com/tommcdon) - 作成日時: 2026年04月21日 22:22:05(UTC) - マージ日時: 2026年04月23日 15:17:09(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 PR #126547でWriteBarrier FCallがネイティブ(FCall)からマネージドコードに変換された後、x64データブレークポイントのデバッガアンウインドロジックが不正な動作をしていました。本修正により、デバッガがCastHelpers.StelemRefのJITヘルパーで停止するのではなく、ユーザーコードまで正常にアンウインドするようになります。 @@ -204,7 +204,7 @@ PR #126547でWriteBarrier FCallがネイティブ(FCall)からマネージ - 作成者: [@barosiak](https://github.com/barosiak) - 作成日時: 2026年04月21日 21:01:55(UTC) - マージ日時: 2026年04月23日 18:53:09(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Compact Data Access Component)の`DacDbiImpl`に`SetCompilerFlags`メソッドを実装し、デバッガアセンブリ制御フラグを設定できるようにします。`ILoader`コントラクトを使用してフラグを更新し、Edit and Continue(EnC)が有効化できない場合は`CORDBG_S_NOT_ALL_BITS_SET`成功HRESULTを返します。 @@ -230,7 +230,7 @@ cDAC(Compact Data Access Component)の`DacDbiImpl`に`SetCompilerFlags`メ - 作成者: [@cincuranet](https://github.com/cincuranet) - 作成日時: 2026年04月21日 19:26:19(UTC) - マージ日時: 2026年04月23日 19:48:17(UTC) -- ラベル: area-System.IO breaking-change needs-breaking-change-doc-created +- ラベル: area-System.IO breaking-change needs-breaking-change-doc-created #### 概要 Unix名前付きパイプ(Unixドメインソケット)のファイルシステム権限を強化するため、`PipeOptions.CurrentUserOnly`使用時にソケットファイルのモードを明示的にユーザーのみ(0600)に設定します。ディスク上のエンドポイント権限を「現在のユーザーのみ」という意図に合わせ、リグレッションテストを追加しています。 @@ -254,7 +254,7 @@ Unix名前付きパイプ(Unixドメインソケット)のファイルシス - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年04月20日 21:17:11(UTC) - マージ日時: 2026年04月23日 21:27:38(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 LSRA(線形スキャン・レジスタアロケータ)でレジスタ割り当て時の競合解決ロジックを修正しました。`BuildDef(tree, SRBM_REG)`が固定レジスタへの定義で、そのレジスタに既存のインターバルが割り当てられている場合、定義レジスタの変更を避けることで、暗黙的なスピルが正しく発生するようにしています。 @@ -279,7 +279,7 @@ LSRA(線形スキャン・レジスタアロケータ)でレジスタ割り - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年04月20日 20:54:22(UTC) - マージ日時: 2026年04月23日 20:30:15(UTC) -- ラベル: area-Interop-coreclr +- ラベル: area-Interop-coreclr #### 概要 IJW(C++/CLI)リバースP/Invokeにおいて、17個以上のby-refパラメータを持つマネージド関数をネイティブコードから呼び出す際に発生していた`OverflowException`を修正しました。 @@ -306,7 +306,7 @@ IJW(C++/CLI)リバースP/Invokeにおいて、17個以上のby-refパラメ - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年04月19日 11:28:59(UTC) - マージ日時: 2026年04月23日 10:32:20(UTC) -- ラベル: area-CodeGen-coreclr reduce-unsafe +- ラベル: area-CodeGen-coreclr reduce-unsafe #### 概要 JITコンパイラのスパン範囲チェック最適化を改善し、ループ内でのSpan操作における冗長な境界チェックを削除します。ループバック辺のPhi引数に対して、追跡されたVNが`ADD(boundVN, cns)`経由でチェック済み境界式と一致する場合の認識を強化することで、ループ内での繰り返される範囲チェックを削除します。 @@ -345,7 +345,7 @@ int Sum(ReadOnlySpan data) - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年04月17日 11:26:57(UTC) - マージ日時: 2026年04月23日 19:41:31(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 Async OSR(On-Stack Replacement)の再開処理を最適化するPRです。従来、OSRメソッド内での再開はパッチポイントヘルパーを経由していましたが、このヘルパーのオーバーヘッドは10~20倍でした。本変更により、Tier0コードから直接OSRコードへのジャンプで再開し、パッチポイントヘルパーを完全に迂回します。 @@ -392,7 +392,7 @@ Async OSR(On-Stack Replacement)の再開処理を最適化するPRです。 - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年04月17日 02:34:22(UTC) - マージ日時: 2026年04月23日 01:12:47(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssemblyのRyuJIT向けに、例外処理(EH)のアンワインド報告とアンワインド可能なフレーム実装を追加しました。Virtual IPスキームを導入して、EH領域と呼び出しサイトに一意のVirtual IP範囲を割り当て、ランタイムのスタックウォーキングと例外処理を可能にするための基盤を構築しています。 @@ -424,7 +424,7 @@ WebAssemblyのRyuJIT向けに、例外処理(EH)のアンワインド報告 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月11日 19:28:10(UTC) - マージ日時: 2026年04月23日 22:11:37(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Common Data Access Context)デバッガー契約に`MarkDebuggerAttachPending`と`MarkDebuggerAttached` APIを実装します。これらのAPIは`g_CORDebuggerControlFlags`へのターゲットメモリ書き込みを通じてデバッガー制御フラグを設定します。また、ファイバーモード関連の不要なコードを削除しています。 @@ -453,7 +453,7 @@ Copilotレビュー時に、`CordbProcess::UnrecoverableError`の挙動変更に - 作成者: [@NikolaMilosavljevic](https://github.com/NikolaMilosavljevic) - 作成日時: 2026年04月11日 18:06:23(UTC) - マージ日時: 2026年04月23日 16:55:54(UTC) -- ラベル: Servicing-approved area-Build-mono +- ラベル: Servicing-approved area-Build-mono #### 概要 `source-build-reference-packages`リポジトリが`source-build-assets`に名称変更されたため、VMR/source-buildシナリオ対応として中間依存関係を更新します。新しいリポジトリから生成された新しいパッケージバージョンに対応するため、バージョンとSHAも更新されます。 @@ -476,7 +476,7 @@ Copilotレビュー時に、`CordbProcess::UnrecoverableError`の挙動変更に - 作成者: [@kzrnm](https://github.com/kzrnm) - 作成日時: 2026年04月04日 16:06:12(UTC) - マージ日時: 2026年04月23日 04:05:11(UTC) -- ラベル: area-System.Runtime.Intrinsics community-contribution +- ラベル: area-System.Runtime.Intrinsics community-contribution #### 概要 `UInt128` の除算アルゴリズムを128ビット値に特化した実装に最適化。BigInteger除算で使用されていた汎用的な処理を廃止し、128ビット範囲に限定した高速な除算ロジックに置き換え。`DivRem`を中核実装として、除算と剰余を同時に計算することで不要な乗算を排除。 @@ -517,7 +517,7 @@ Copilotレビュー時に、`CordbProcess::UnrecoverableError`の挙動変更に - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年03月17日 01:52:06(UTC) - マージ日時: 2026年04月23日 18:13:31(UTC) -- ラベル: area-System.IO +- ラベル: area-System.IO #### 概要 `System.IO.StringParser`の数値解析メソッドからunsafeなポインタベースのコードを削除し、安全なspanベースの`int/long/uint/ulong.Parse`呼び出しに置き換えました。`NumberStyles`と`CultureInfo.InvariantCulture`を使用して、割り当てなしのまま安全性を向上させます。 @@ -549,7 +549,7 @@ Copilotレビュー時に、`CordbProcess::UnrecoverableError`の挙動変更に - 作成者: [@CybCorv](https://github.com/CybCorv) - 作成日時: 2026年03月13日 14:32:42(UTC) - マージ日時: 2026年04月23日 09:11:45(UTC) -- ラベル: area-Extensions-Hosting community-contribution +- ラベル: area-Extensions-Hosting community-contribution #### 概要 `UseSystemd()` が `ProtectProc=invisible` で設定されたサービスで暗黙的に失敗する問題を修正。`$SYSTEMD_EXEC_PID` 環境変数(systemd v248+)を主要な検出方法として使用し、古いsystemdバージョン向けに `/proc/{ppid}/comm` をフォールバックとして保持します。また、`NOTIFY_SOCKET` に基づいて notifier を登録する仕組みを導入し、より堅牢な systemd サービス検出を実現します。 @@ -581,7 +581,7 @@ Copilotレビュー時に、`CordbProcess::UnrecoverableError`の挙動変更に - 作成者: [@tommcdon](https://github.com/tommcdon) - 作成日時: 2026年03月10日 18:33:59(UTC) - マージ日時: 2026年04月23日 22:26:32(UTC) -- ラベル: area-Diagnostics-coreclr runtime-async +- ラベル: area-Diagnostics-coreclr runtime-async #### 概要 Edit-and-Continue (EnC) パスで Async v2 メソッドバリアント対応を実装するもの。`EEClass::AddMethodDesc`/`EEClass::AddMethod` を拡張して、非同期メタデータ(フラグと代替署名)を処理し、EnC メソッド更新ロジックが非同期メソッドバリアントを考慮するようにしました。 @@ -606,7 +606,7 @@ Edit-and-Continue (EnC) パスで Async v2 メソッドバリアント対応を - 作成者: [@reflectronic](https://github.com/reflectronic) - 作成日時: 2025年03月28日 22:49:38(UTC) - マージ日時: 2026年04月23日 23:58:44(UTC) -- ラベル: area-System.ServiceModel.Syndication new-api-needs-documentation linkable-framework community-contribution +- ラベル: area-System.ServiceModel.Syndication new-api-needs-documentation linkable-framework community-contribution #### 概要 System.ServiceModel.Syndication ライブラリを trimming と NativeAOT に対応させるため、外部リンカー抑止ファイルをコード内アノテーションに置き換えます。`Activator.CreateInstance()` が使用される箇所に `DynamicallyAccessedMembers` を追加し、リフレクション依存の API に `RequiresUnreferencedCode` / `RequiresDynamicCode` アノテーションを付与します。 diff --git a/archives/2026/04/24.md b/archives/2026/04/24.md index 7566305..5dac68b 100644 --- a/archives/2026/04/24.md +++ b/archives/2026/04/24.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#127387 Disable trim and AOT analyzers in iOS test project](#127387) 2. [#127386 Use safe Span.Slice loop pattern in CRC32 ARM scalar paths](#127386) 3. [#127382 Use safe Span.Slice loop pattern in HashCode.AddBytes](#127382) @@ -45,7 +45,7 @@ - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年04月24日 13:30:52(UTC) - マージ日時: 2026年04月24日 23:14:50(UTC) -- ラベル: area-System.Numerics +- ラベル: area-System.Numerics #### 概要 iOS/tvOS/MacCatalyst向けのSystem.Runtime ハイブリッドテストプロジェクトで、trim と AOT アナライザーを無効化します。これらのアナライザーは新たに有効化されたものですが、全てのテストがまだ対応していないため、extra-platforms での障害を防ぐための措置です。 @@ -69,7 +69,7 @@ iOS/tvOS/MacCatalyst向けのSystem.Runtime ハイブリッドテストプロジ - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年04月24日 12:58:45(UTC) - マージ日時: 2026年04月24日 17:31:45(UTC) -- ラベル: area-System.IO reduce-unsafe +- ラベル: area-System.IO reduce-unsafe #### 概要 ARM/ARM64スカラーCRC32更新パスを、ポインタベースのループからSpanスライシングループパターンに書き換えました。`BinaryPrimitives.ReadUInt64LittleEndian`/`ReadUInt32LittleEndian`を使用し、JITが自動的に境界チェックを削除できるようにしました。 @@ -103,7 +103,7 @@ while (source.Length >= sizeof(ulong)) - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年04月24日 12:16:11(UTC) - マージ日時: 2026年04月24日 17:31:58(UTC) -- ラベル: area-System.Memory reduce-unsafe +- ラベル: area-System.Memory reduce-unsafe #### 概要 `HashCode.AddBytes`メソッドを、JITが境界チェックを除去できる安全なSpan.Sliceループパターンに書き直しました。従来のUnsafe APIベースのポインタ走査(`Unsafe.ReadUnaligned`、`Unsafe.Add`、`Unsafe.IsAddressLessThan`)を、`BitConverter.ToUInt32`と`ReadOnlySpan.Slice`を用いた安全なループに置き換えています。JITはこのループ形状(`while (data.Length >= CONST) { ...; data = data.Slice(CONST); }`)を認識して自動的に境界チェックを除去するため、生成コードは前の unsafe 実装と同等です。 @@ -142,7 +142,7 @@ while (value.Length >= sizeof(int) * 4) - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年04月24日 12:02:13(UTC) - マージ日時: 2026年04月24日 17:32:19(UTC) -- ラベル: area-System.Numerics reduce-unsafe +- ラベル: area-System.Numerics reduce-unsafe #### 概要 `NumericsHelpers.DangerousMakeOnesComplement`メソッドをリファクタリングし、unsafe操作を排除しつつJITの最適化を活用する安全なSpan.Sliceループパターンに統一しました。`Vector.LoadUnsafe`/`StoreUnsafe`と`Unsafe.Add`を`Vector.Create(span)`と`vector.CopyTo(span)`に置き換え、JITが自動的に境界チェックを削除するループ構造を採用しています。 @@ -176,7 +176,7 @@ JITコンパイラがこの特定のループ形式(`while (data.Length >= CON - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月24日 11:11:43(UTC) - マージ日時: 2026年04月24日 20:26:27(UTC) -- ラベル: arch-wasm area-Build-mono os-browser +- ラベル: arch-wasm area-Build-mono os-browser #### 概要 WebAssembly SDK ビルドロジックから公開 MSBuild プロパティ `WasmWebcilVersion` を削除し、webcil バージョンを常に内部プロパティ `_WasmWebcilVersion` で決定するようにしました。これにより、webcil バージョンの決定ロジックが一元化されます(CoreCLR の場合は `1`、それ以外は `0`)。 @@ -197,7 +197,7 @@ WebAssembly SDK ビルドロジックから公開 MSBuild プロパティ `WasmW - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年04月24日 09:47:30(UTC) - マージ日時: 2026年04月24日 22:03:28(UTC) -- ラベル: community-contribution area-NativeAOT-coreclr +- ラベル: community-contribution area-NativeAOT-coreclr #### 概要 ネイティブコンパイラプロパティを `CppCompilerAndLinker` に正規化する変更。VMR(Version Manifest Resolver)からgccを渡すための対応で、NativeAOT基盤で公開的に使用されている命名規則に統一する。 @@ -223,7 +223,7 @@ WebAssembly SDK ビルドロジックから公開 MSBuild プロパティ `WasmW - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年04月23日 23:12:51(UTC) - マージ日時: 2026年04月24日 19:24:50(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT のプロファイル再構築時に、OSR(On-Stack Replacement)エントリでエッジ数と後続ブロック数の不一致を許容するように改善しました。PGO エッジプロファイルデータを組み込む際、`PropagateOSREntryEdges` がエッジ数の厳密な一致をアサートしていましたが、スパニングツリー走査中に一部の `BBJ_LEAVE` ターゲットが見落とされる場合に失敗していました。この場合、`PropagateEdges` と同様に、等確率ヒューリスティックスにフォールバックするよう修正しました。 @@ -248,7 +248,7 @@ JIT のプロファイル再構築時に、OSR(On-Stack Replacement)エン - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年04月23日 22:39:19(UTC) - マージ日時: 2026年04月24日 20:43:28(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 PGO(Profile Guided Optimization)ストレスモード下でのアサート失敗を修正するため、`fgopt.cpp`のフロー グラフ最適化における3つのプロファイル重み不整合の問題に対処しています。具体的には、ブロック圧縮時の重み不一致検出、条件分岐のマージ後の尤度設定、プロファイル重みのクランプ検出の3つを修正しています。 @@ -273,7 +273,7 @@ PGO(Profile Guided Optimization)ストレスモード下でのアサート - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年04月23日 20:32:03(UTC) - マージ日時: 2026年04月24日 22:14:08(UTC) -- ラベル: Servicing-approved area-Interop-coreclr +- ラベル: Servicing-approved area-Interop-coreclr #### 概要 C++/CLIからマネージドコードへのネイティブ呼び出し時に、17個以上の参照渡しパラメータがある場合にOverflowExceptionでプロセスがクラッシュする問題を修正しました。根本的なバッファ管理の問題を解決する修正を`release/10.0`ブランチにバックポートしています。 @@ -301,7 +301,7 @@ C++/CLIからマネージドコードへのネイティブ呼び出し時に、1 - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年04月23日 20:19:41(UTC) - マージ日時: 2026年04月24日 09:30:22(UTC) -- ラベル: arch-wasm area-System.Runtime.InteropServices.JavaScript os-browser +- ラベル: arch-wasm area-System.Runtime.InteropServices.JavaScript os-browser #### 概要 WebAssembly環境においてDateTime型のマーシャリングがタイムゾーン依存となっていた問題を修正しました。`ToJS(DateTime)`が`new DateTimeOffset(value)`を使用していたため、ローカルタイムゾーンのオフセットが適用されていました。一方、`ToManaged`側は常に`.UtcDateTime`(offset=0)を返すため、ラウンドトリップ時にDateTime値がローカルUTCオフセット分シフトしていました。Emscripten 5.0.6がTZ環境変数を正しく処理するようになったことで、UTC以外のタイムゾーンで問題が露出しました。 @@ -340,7 +340,7 @@ DateTimeOffset型のマーシャリングは、すでに`ToUnixTimeMilliseconds( - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月23日 20:18:23(UTC) - マージ日時: 2026年04月24日 05:37:20(UTC) -- ラベル: area-ILTools-coreclr +- ラベル: area-ILTools-coreclr #### 概要 ilasmパーサーの診断出力を統一し、`AsmParse::error()`が`-ERR`(エラー許容)モード下で`AsmParse::warn()`と同じ動作をするよう修正。エラー出力は常に`stderr`に送られ、`OnErrGo`が有効な場合は診断出力が抑制されます。 @@ -363,7 +363,7 @@ ilasmパーサーの診断出力を統一し、`AsmParse::error()`が`-ERR`( - 作成者: [@thaystg](https://github.com/thaystg) - 作成日時: 2026年04月23日 19:08:58(UTC) - マージ日時: 2026年04月24日 13:02:37(UTC) -- ラベル: area-Debugger-mono +- ラベル: area-Debugger-mono #### 概要 Monoデバッガーのワイヤープロトコルに新しいVM コマンド `CMD_VM_GET_SYSTEM_INFORMATION` を追加します。このコマンドにより、デバッガークライアントがランタイムからプロセッサーアーキテクチャとOSページサイズなどのシステム情報をクエリできるようになります。 @@ -386,7 +386,7 @@ Monoデバッガーのワイヤープロトコルに新しいVM コマンド `CM - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2026年04月23日 18:07:57(UTC) - マージ日時: 2026年04月24日 04:27:47(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 ビルドスクリプト(`eng/build.sh`)において、`comm`コマンドと`sort`コマンドのロケール照合順序を`C`ロケールに固定することで、システムのロケール設定に依存しない一貫した動作を実現します。これにより、Ubuntu 26.04などの新しいディストリビューションで発生する「input is not in sorted order」エラーを防止します。 @@ -407,7 +407,7 @@ Monoデバッガーのワイヤープロトコルに新しいVM コマンド `CM - 作成者: [@hoyosjs](https://github.com/hoyosjs) - 作成日時: 2026年04月23日 13:12:50(UTC) - マージ日時: 2026年04月24日 02:41:37(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 ヒープダンプ生成時のメモリ領域列挙ロジックを簡潔化し、HEAP2パスをデフォルトとします。従来の低速な列挙パスと環境変数ベースの回避策を廃止し、LoaderAllocatorを通じた統一的な領域列挙に統合します。これにより、JitManager、SystemDomain、AppDomain、Assembly、Module、LoaderAllocatorからのメモリ領域が効率的に列挙されます。 @@ -435,7 +435,7 @@ HEAP2パスは従来のパスより高パフォーマンスです。Collectible - 作成者: [@cincuranet](https://github.com/cincuranet) - 作成日時: 2026年04月23日 10:29:50(UTC) - マージ日時: 2026年04月24日 12:27:44(UTC) -- ラベル: area-Extensions-Hosting +- ラベル: area-Extensions-Hosting #### 概要 `SystemdNotifier` コンストラクタから `NOTIFY_SOCKET` 環境変数のクリア処理を削除し、`AddSystemdLifetime` 内の `ISystemdNotifier` DI ファクトリに移動しました。公開パラメータなしコンストラクタが純粋な読み取り操作になり、環境変数はホスティングが実際に構成される場合にのみ更新されるようになります。 @@ -457,7 +457,7 @@ HEAP2パスは従来のパスより高パフォーマンスです。Collectible - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年04月23日 10:07:51(UTC) - マージ日時: 2026年04月24日 11:48:59(UTC) -- ラベル: arch-wasm area-System.Runtime.InteropServices.JavaScript os-browser +- ラベル: arch-wasm area-System.Runtime.InteropServices.JavaScript os-browser #### 概要 CoreCLR browser WASM ローダーにおいて、ユーザー提供の `out`/`err` オーバーライド(`dotnet.withModuleConfig()` 経由)が Emscripten の `print`/`printErr` に橋渡しされていない問題を修正します。Mono ランタイムは既にこの機能を実装していましたが、CoreCLR にはその相当機能がありませんでした。本変更により CoreCLR の動作が Mono と一致するようになります。 @@ -482,7 +482,7 @@ CoreCLR browser WASM ローダーにおいて、ユーザー提供の `out`/`err - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年04月23日 09:01:40(UTC) - マージ日時: 2026年04月24日 12:02:13(UTC) -- ラベル: arch-wasm area-System.Runtime.InteropServices.JavaScript os-browser +- ラベル: arch-wasm area-System.Runtime.InteropServices.JavaScript os-browser #### 概要 ブラウザ環境でのPromise-to-Taskマーシャリング中に発生した例外の処理を改善します。CLR実装が例外を無視していた問題を修正し、Mono実装と同様にランタイムを終了するようにします。例外が発生するとManagedタスクが永遠にハング状態になり、GCHandle/プロキシの状態が破損するため、この修正は重要です。 @@ -506,7 +506,7 @@ CoreCLR browser WASM ローダーにおいて、ユーザー提供の `out`/`err - 作成者: [@teo-tsirpanis](https://github.com/teo-tsirpanis) - 作成日時: 2026年04月23日 00:29:45(UTC) - マージ日時: 2026年04月24日 05:33:23(UTC) -- ラベル: area-System.Reflection.Metadata community-contribution reduce-unsafe +- ラベル: area-System.Reflection.Metadata community-contribution reduce-unsafe #### 概要 `System.Reflection.Metadata`の内部実装を整理するクリーンアップPRです。カスタムUTF-8ヘルパーを`Encoding.UTF8`標準APIに置き換え、未使用の内部API(`Hash.Combine(bool, int)`など)を削除し、PEヘッダ書き込みと埋め込みPDB解凍コードパスを簡素化しています。 @@ -535,7 +535,7 @@ CoreCLR browser WASM ローダーにおいて、ユーザー提供の `out`/`err - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年04月22日 18:13:46(UTC) - マージ日時: 2026年04月24日 06:11:06(UTC) -- ラベル: arch-wasm area-Build-mono os-browser +- ラベル: arch-wasm area-Build-mono os-browser #### 概要 Mono WASM テストアセットの Blazor/AspNetCore パッケージを 11.0.0-preview.4 にアップデートしました。WBT(Web Based Tests)カバレッジをターゲット SDK/ランタイムバージョンに合わせるための変更です。 @@ -561,7 +561,7 @@ Mono WASM テストアセットの Blazor/AspNetCore パッケージを 11.0.0-p - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年04月22日 18:09:30(UTC) - マージ日時: 2026年04月24日 14:47:11(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITの間接呼び出し(`CT_INDIRECT`)処理において、`gtCallMethHnd`フィールドが初期化されずにスタジアムデータを保持することで、`gtIsRecursiveCall()`が誤った正の判定をし、再帰的末尾呼び出しの検出が誤動作する問題を修正します。結果として、無限ループに陥るコード変換が発生していました。 @@ -589,7 +589,7 @@ JITの間接呼び出し(`CT_INDIRECT`)処理において、`gtCallMethHnd` - 作成者: [@ManickaP](https://github.com/ManickaP) - 作成日時: 2026年04月22日 11:57:57(UTC) - マージ日時: 2026年04月24日 08:31:02(UTC) -- ラベル: area-System.Net.Quic +- ラベル: area-System.Net.Quic #### 概要 QUIC ストリームの優先度制御機能を `System.Net.Quic` に追加します。API承認済みの設計(#90281)に基づき、`QuicStream.Priority` プロパティ(`byte`)と `DefaultPriority` 定数(`0x7F`)を実装します。 @@ -622,7 +622,7 @@ GitHub Copilot の支援を受けて作成されました。既存テストと - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2026年04月21日 21:22:36(UTC) - マージ日時: 2026年04月24日 21:50:55(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 X25519 Diffie-Hellman鍵交換の公開APIを実装します。Windows 10+ (CNG)、Apple macOS/iOS/tvOS (CryptoKit)、OpenSSLをサポートします。鍵のインポート/エクスポート(Raw/SPKI/PKCS#8/PEM形式)と共有秘密導出の機能を提供します。 @@ -663,7 +663,7 @@ byte[] sharedSecret = x25519.DeriveRawSharedSecret(otherPartyPublicKey); - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月21日 21:04:35(UTC) - マージ日時: 2026年04月24日 23:17:34(UTC) -- ラベル: area-System.Reflection.Metadata +- ラベル: area-System.Reflection.Metadata #### 概要 `BlobBuilder.LinkSuffix`がリンク済みの接尾辞チェーンを持つ空の宛先ビルダーにリンクされた場合、既にリンクされたコンテンツを失う問題を修正しました。本変更により、接尾辞チェーン全体が保持され、バイト順序と全コンテンツが正しく保持されるようになります。例:`11-22`(修正前は`22-00`になる場合がありました)。 @@ -697,7 +697,7 @@ emptyPrefix.LinkSuffix(element); // 結果: [0x11, 0x22] - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年04月21日 18:39:44(UTC) - マージ日時: 2026年04月24日 16:26:22(UTC) -- ラベル: Servicing-approved area-Host +- ラベル: Servicing-approved area-Host #### 概要 .NET 10でシングルファイル形式にビルドされた場合、ネイティブプロファイラーが使用する`MetaDataGetDispenser`エクスポートが失われていた問題を修正します。linkerフラグを追加して、singlefilehostビルド時に必要なエクスポートを保持するようにします。 @@ -723,7 +723,7 @@ emptyPrefix.LinkSuffix(element); // 結果: [0x11, 0x22] - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年04月20日 20:54:15(UTC) - マージ日時: 2026年04月24日 22:07:47(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイラの冗長分岐最適化を拡張し、Value Number (VN)による論理式簡略化を活用して、支配的分岐の比較演算を削除できるようにしました。支配的述語が被支配述語を直接意味しない場合でも、`(pB AND pA)`をVN空間で簡略化して単一の関係演算子(relop)または定数に変換できれば、被支配側の比較を修正して削除できます。 @@ -749,7 +749,7 @@ JITコンパイル時に追加の簡略化処理が実行されますが、影 - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年04月19日 23:14:39(UTC) - マージ日時: 2026年04月24日 10:18:35(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT のアサーション伝播機能を拡張し、SIMD ベクトル定数(Vector64/128/256/512)の等値性/不等号チェックを認識して、ガード後のコード内でベクトル定数を伝播できるようにしました。これにより、ベクトル定数を使用する一般的なガード・パターンでより多くの定数畳み込み最適化が可能になります。 @@ -778,7 +778,7 @@ if (vec == Vector128.Zero) - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年04月18日 16:14:22(UTC) - マージ日時: 2026年04月24日 18:22:48(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 xplat dump テストの OOM 問題を、Helix ペイロードを分割することで修正します。従来は全プラットフォーム(linux-x64、linux-arm64、windows-x64、windows-x86、windows-arm64)のダンプを単一の `MemoryStream` ベースの ZipArchive に圧縮していたため、合計サイズが `byte[]` の ~2GB 制限を超えて `OutOfMemoryException` が発生していました。 @@ -805,7 +805,7 @@ xplat dump テストの OOM 問題を、Helix ペイロードを分割するこ - 作成者: [@maraf](https://github.com/maraf) - 作成日時: 2026年04月17日 10:59:32(UTC) - マージ日時: 2026年04月24日 08:01:18(UTC) -- ラベル: arch-wasm area-Build-mono os-browser +- ラベル: arch-wasm area-Build-mono os-browser #### 概要 WebAssembly on CoreCLRの`Wasm.Build.Tests`スイートで、ローカルおよびHelix環境での per-app ネイティブリリンク機能を有効化します。CoreCLR WBTレーンが`BrowserWasmApp.CoreCLR.targets`を駆動するためのインフラストラクチャ(テンプレートインストール、EMSDK提供、環境変数ブリッジ、Helixペイロード)を追加し、ネイティブリリンクのエンドツーエンド動作を実現します。 @@ -852,7 +852,7 @@ WebAssembly on CoreCLRの`Wasm.Build.Tests`スイートで、ローカルおよ - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年04月16日 21:44:41(UTC) - マージ日時: 2026年04月24日 18:16:31(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 .NET クラッシュダンプの検査用開発ツール `cdac-dump-inspect` を追加しました。ClrMD と cDAC(契約ベースのデータアクセス)を使用して、WinDbg/SOS なしにダンプから契約記述子、スレッド、スタック情報を検査できます。 @@ -891,7 +891,7 @@ WebAssembly on CoreCLRの`Wasm.Build.Tests`スイートで、ローカルおよ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月15日 18:31:54(UTC) - マージ日時: 2026年04月24日 01:13:56(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Component Data Access Control)バックアップパスにおいて、COM相互運用関連のDacDbi API `GetObjectForCCW` と `IsRcw` の実装を追加します。既存のcDACコントラクトに基づいており、BuiltIn COM と ComWrappers の両シナリオに対応したダンプベースの統合テストも合わせて提供します。 @@ -921,7 +921,7 @@ cDAC(Component Data Access Control)バックアップパスにおいて、CO - 作成者: [@simonrozsival](https://github.com/simonrozsival) - 作成日時: 2026年04月13日 16:01:02(UTC) - マージ日時: 2026年04月24日 16:28:42(UTC) -- ラベル: os-android area-Infrastructure +- ラベル: os-android area-Infrastructure #### 概要 Android向け.NETのランタイムをMonoからCoreCLRへ移行するため、サポート対象のAndroid最小APIレベルを21から24(Android 7.0 Nougat)に引き上げます。このAPIレベル以上が保証されることにより、API 21~23専用の互換性ワークアラウンド実装が削除でき、コードベースが簡潔になります。 @@ -954,7 +954,7 @@ Android向け.NETのランタイムをMonoからCoreCLRへ移行するため、 - 作成者: [@ManickaP](https://github.com/ManickaP) - 作成日時: 2026年04月13日 13:42:11(UTC) - マージ日時: 2026年04月24日 08:54:38(UTC) -- ラベル: area-System.Net.Quic +- ラベル: area-System.Net.Quic #### 概要 SymCrypt 1.9.5のリリースに伴い、Azure Linux 3 VM(AzL3)向けのQUICおよびHTTP/3テストスキップ条件を削除します。これまでMsQuicの互換性問題によりAzL3での実行がゲートされていましたが、更新されたSymCryptイメージにより問題が解決されたため、テスト実行を再度有効化します。 @@ -978,7 +978,7 @@ SymCrypt 1.9.5のリリースに伴い、Azure Linux 3 VM(AzL3)向けのQUIC - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月09日 06:08:33(UTC) - マージ日時: 2026年04月24日 20:01:22(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 `LibraryImportDiagnosticsAnalyzer`と`DownlevelLibraryImportDiagnosticsAnalyzer`が`StringMarshalling`設定時に診断を報告しない回帰を修正。また、生成される内部`[DllImport]`スタブが`StringMarshalling.Utf16`設定時に`CharSet = CharSet.Unicode`を省略し、転送型(例:`StringBuilder`)の実行時マーシャリングが不正になる問題を解決。 @@ -1005,7 +1005,7 @@ SymCrypt 1.9.5のリリースに伴い、Azure Linux 3 VM(AzL3)向けのQUIC - 作成者: [@ManickaP](https://github.com/ManickaP) - 作成日時: 2026年04月02日 14:59:52(UTC) - マージ日時: 2026年04月24日 04:02:12(UTC) -- ラベル: Servicing-approved area-System.Net.Http test-bug +- ラベル: Servicing-approved area-System.Net.Http test-bug #### 概要 System.Net ストレステストの Docker Compose ランナースクリプトをインフラストラクチャ変更に対応させる修正です。最近のイメージ変更による破損を解決するテスト基盤のみの変更で、プロダクトコードへの影響はありません。 @@ -1029,7 +1029,7 @@ System.Net ストレステストの Docker Compose ランナースクリプト - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年03月26日 16:55:39(UTC) - マージ日時: 2026年04月24日 15:25:02(UTC) -- ラベル: area-PAL-coreclr community-contribution +- ラベル: area-PAL-coreclr community-contribution #### 概要 macOSにおけるリモートアンワインド処理で、HP libunwindの`unw_get_proc_info_in_range()`APIを明示的に使用するように修正しました。CMakeの機能検出がシステムlibunwindの能力を報告するため、実際に使用するHP libunwindの能力と不一致が生じていた問題を解決します。 @@ -1051,7 +1051,7 @@ macOSにおけるリモートアンワインド処理で、HP libunwindの`unw_g - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月25日 16:59:37(UTC) - マージ日時: 2026年04月24日 03:09:09(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 `AddGeneratedComClassFixer`コード修正が、クラスを`[GeneratedComClass]`に変換する際に冗長な`[ComVisible(true)]`属性を削除していない問題を修正しました。別ファイルの部分宣言に存在する属性も対象に含まれます。 @@ -1088,7 +1088,7 @@ class C : I { } - 作成者: [@saucecontrol](https://github.com/saucecontrol) - 作成日時: 2026年03月24日 23:11:52(UTC) - マージ日時: 2026年04月24日 11:53:38(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 JIT の `BlendVariableMask` リライト処理におけるエッジケースを修正します。具体的には、インポート時に `BlendVariable` が `BlendVariableMask` にアップグレードされた後、rationalize フェーズで元の形式にダウングレードされる際の問題に対応しています。 @@ -1120,7 +1120,7 @@ JIT の `BlendVariableMask` リライト処理におけるエッジケースを - 作成者: [@jpnurmi](https://github.com/jpnurmi) - 作成日時: 2026年03月20日 14:59:47(UTC) - マージ日時: 2026年04月24日 11:37:26(UTC) -- ラベル: area-Infrastructure-mono community-contribution +- ラベル: area-Infrastructure-mono community-contribution #### 概要 Mono のネイティブクラッシュハンドラが crash chaining 有効時に、事前インストールされたシグナルハンドラを `SIG_DFL` にリセットしてしまう問題を修正しました。この変更により、Sentry などのサードパーティツールが Mono より前にシグナルハンドラをインストールして、ネイティブクラッシュを適切にキャプチャできるようになります。 @@ -1147,7 +1147,7 @@ Mono のネイティブクラッシュハンドラが crash chaining 有効時 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年02月03日 21:48:26(UTC) - マージ日時: 2026年04月24日 03:39:27(UTC) -- ラベル: area-AssemblyLoader-coreclr +- ラベル: area-AssemblyLoader-coreclr #### 概要 アセンブリバージョン競合時の`FileLoadException`メッセージを改善するPR。バインディング失敗時に既にロードされているアセンブリの詳細情報(バージョン、パス)を例外メッセージに含めることで、ユーザーがバージョン不一致の原因をより容易に診断できるようになります。 @@ -1184,7 +1184,7 @@ from 'C:\repos\helloworld\bin\Debug\net10.0\LibA.dll' - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年01月28日 23:23:37(UTC) - マージ日時: 2026年04月24日 18:07:56(UTC) -- ラベル: area-TypeSystem-coreclr +- ラベル: area-TypeSystem-coreclr #### 概要 `SpanArr` インラインアレイ型をIL(`InvalidCSharpInlineArray.il`)からC#(`InlineArrayValid.cs`)に移行するプルリクエストです。C# 12+のインラインアレイ機能を活用して、保守負荷を低減しながら言語進化を実証します。100個の`Span`要素を持つref structとして定義されています。 diff --git a/archives/2026/04/25.md b/archives/2026/04/25.md index 7c8cd53..120e42d 100644 --- a/archives/2026/04/25.md +++ b/archives/2026/04/25.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#127413 Add \[NoInlining\] to Marvin.ComputeHash32OrdinalIgnoreCase](#127413) 2. [#127407 Refactor: use DateTime.UnixEpoch](#127407) 3. [#127402 Allow O2K_CONST_VEC to handle all TYP_SIMD32/64](#127402) @@ -17,7 +17,7 @@ - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年04月24日 22:59:35(UTC) - マージ日時: 2026年04月25日 13:02:48(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 `Marvin.ComputeHash32OrdinalIgnoreCase`メソッドに`[MethodImpl(MethodImplOptions.NoInlining)]`属性を追加します。これにより、JITインラインバジェット増加(#118641)で発生していた部分的なインライン化による性能低下を防ぎます。既に同じ属性が`Marvin.ComputeHash32`に存在しており、OrdinalIgnoreCaseバージョンにも同じ対策が必要でした。 @@ -43,7 +43,7 @@ JITインラインバジェット22では、従来`ComputeHash32OrdinalIgnoreCas - 作成者: [@unsafePtr](https://github.com/unsafePtr) - 作成日時: 2026年04月24日 21:36:15(UTC) - マージ日時: 2026年04月25日 13:10:29(UTC) -- ラベル: area-System.Reflection.Metadata community-contribution +- ラベル: area-System.Reflection.Metadata community-contribution #### 概要 `DateTime.UnixEpoch`を使用する形にコードをリファクタリングしました。Unix エポック(1970年1月1日UTC)を表す定数値の記述を標準化することで、コードの可読性と保守性を向上させています。 @@ -65,7 +65,7 @@ JITインラインバジェット22では、従来`ComputeHash32OrdinalIgnoreCas - 作成者: [@tannergooding](https://github.com/tannergooding) - 作成日時: 2026年04月24日 21:00:52(UTC) - マージ日時: 2026年04月25日 02:51:08(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 SIMD定数処理の改善で、`O2K_CONST_VEC`がTYP_SIMD32/64型の全ての定数に対応するようになりました。TYP_SIMD16より大きい値に対してはヒープ割り当てを行うことで、より多くのSIMD定数シナリオをサポートします。 @@ -92,7 +92,7 @@ SIMD定数処理の改善で、`O2K_CONST_VEC`がTYP_SIMD32/64型の全ての定 - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年04月24日 18:10:46(UTC) - マージ日時: 2026年04月25日 02:38:21(UTC) -- ラベル: area-Meta reduce-unsafe +- ラベル: area-Meta reduce-unsafe #### 概要 Generic `MemoryMarshal.Read/Write/TryRead/TryWrite` APIが将来caller-unsafe属性でマークされるため、プリミティブ型の使用をすべて`BitConverter`スパン相当の安全なAPIに置き換え、ダウンレベルTFM向けの`BitConverter`スパンポリフィルを追加します。これは複数ライブラリとSystem.Private.CoreLibにわたる移行の一環です。 @@ -123,7 +123,7 @@ Generic `MemoryMarshal.Read/Write/TryRead/TryWrite` APIが将来caller-unsafe - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年04月24日 16:39:41(UTC) - マージ日時: 2026年04月25日 16:18:41(UTC) -- ラベル: area-PAL-coreclr community-contribution os-haiku +- ラベル: area-PAL-coreclr community-contribution os-haiku #### 概要 Haiku OSでclang(GNU toolchain付き)を使用したランタイムビルドが可能になります。このPRにより、Haiku固有のGNU toolchainを用いたclangコンパイラでのランタイム構築が実現されました。clang + Haiku GNU toolchainの組み合わせでランタイムビルドが成功することが確認されています。 @@ -152,7 +152,7 @@ Haiku OSでclang(GNU toolchain付き)を使用したランタイムビルド - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月23日 20:44:20(UTC) - マージ日時: 2026年04月25日 01:25:37(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Contract-based Diagnostics Access Component)において、`GetModuleForAssembly`メソッドをレガシー委譲スタブから契約ベースの実装に移植しました。ネイティブC++実装(`dacdbiimpl.cpp`)の`pAssembly->GetModule()`呼び出しに相当する処理を、`ILoader.GetModuleHandleFromAssemblyPtr` → `ILoader.GetModule`を使用して管理コードで実装しています。 @@ -177,7 +177,7 @@ cDAC(Contract-based Diagnostics Access Component)において、`GetModuleForAss - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年04月23日 18:32:39(UTC) - マージ日時: 2026年04月25日 19:45:43(UTC) -- ラベル: area-VM-coreclr runtime-async +- ラベル: area-VM-coreclr runtime-async #### 概要 ランタイムの非同期サスペンド/レジューム機構を最適化するPRです。TLSアクセス回数の削減、書き込みバリアの除去、ホットパスのキャスト削減により、サスペンション負荷の高いベンチマークで約17%のパフォーマンス改善を実現しています。主な最適化は以下の通りです: - `Thread.CurrentThread`をスタック割り当ての`RuntimeAsyncStackState`にキャッシュ @@ -208,7 +208,7 @@ cDAC(Contract-based Diagnostics Access Component)において、`GetModuleForAss - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月23日 16:56:43(UTC) - マージ日時: 2026年04月25日 00:26:04(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 x64 上の浮動小数点 SIMD `Vector256/Vector512.Sum` の JIT IR 生成を最適化し、V128 水平リダクション処理の重複を排除します。フルな SIMD 幅での permute+add シーケンスを実行してから 128-bit レーンを単一の V128 に統合する設計に変更し、コード量を削減しながら機能を保証します。 @@ -237,7 +237,7 @@ x64 上の浮動小数点 SIMD `Vector256/Vector512.Sum` の JIT IR 生成を最 - 作成者: [@danmoseley](https://github.com/danmoseley) - 作成日時: 2026年04月21日 21:06:03(UTC) - マージ日時: 2026年04月25日 06:08:35(UTC) -- ラベル: area-System.ComponentModel.DataAnnotations +- ラベル: area-System.ComponentModel.DataAnnotations #### 概要 `RegularExpressionAttributeTests.Validate_MatchingTimesOut_ThrowsRegexMatchTimeoutException`のフレーキーなタイムアウトテストを修正します。正規表現エンジンのパフォーマンス向上により、1msのタイムアウト内に処理が完了してしまう場合があり、期待される`RegexMatchTimeoutException`ではなく`ValidationException`が発生していました。テスト入力を28文字から100文字に増やすことで、指数関数的なバックトラック(O(2^n))を確実にタイムアウトさせます。 @@ -259,7 +259,7 @@ x64 上の浮動小数点 SIMD `Vector256/Vector512.Sum` の JIT IR 生成を最 - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年04月06日 20:05:11(UTC) - マージ日時: 2026年04月25日 00:44:10(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 ネイティブスタック引数サイズ追跡機能をx86アーキテクチャのみに制限する最適化です。`FEATURE_DYNAMIC_METHOD_HAS_NATIVE_STACK_ARG_SIZE`マクロを廃止し、関連APIと管理フィールドを直接`TARGET_X86`ゲートに変更することで、x86以外のアーキテクチャにおける不要な管理オーバーヘッドを削減します。 @@ -286,7 +286,7 @@ x64 上の浮動小数点 SIMD `Vector256/Vector512.Sum` の JIT IR 生成を最 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月28日 17:56:49(UTC) - マージ日時: 2026年04月25日 00:21:16(UTC) -- ラベル: area-System.Numerics +- ラベル: area-System.Numerics #### 概要 `_bits`が`uint[]`から`nuint[]`に移行した後、`BigInteger`の5つの`IBinaryInteger`メソッド(`LeadingZeroCount`、`PopCount`、`TrailingZeroCount`、`RotateLeft`、`RotateRight`)がプラットフォーム依存の結果を返していた問題を修正します。このPRはプラットフォーム非依存の32ビット語セマンティクスを復元し、`_sign`パスと`_bits`パスの両方に対応します。 @@ -313,7 +313,7 @@ x64 上の浮動小数点 SIMD `Vector256/Vector512.Sum` の JIT IR 生成を最 - 作成者: [@haltandcatchwater](https://github.com/haltandcatchwater) - 作成日時: 2026年03月24日 16:00:58(UTC) - マージ日時: 2026年04月25日 16:37:42(UTC) -- ラベル: area-Serialization community-contribution +- ラベル: area-Serialization community-contribution #### 概要 `ReflectionXmlSerializationReader`のバグを修正し、フィールドバック型の`XxxSpecified`メンバーがデシリアライゼーション時に正しく設定されるようにしました。従来は`GetMethod("set_X")`でプロパティセッターのみを検索していたため、フィールドバック型の`Specified`メンバーはnullとなり、XMLに要素が存在しても`false`のままでした。本修正により、リフレクションパスとILGenパスの動作を統一し、既存のキャッシュデリゲート基盤を活用しています。 diff --git a/archives/2026/04/26.md b/archives/2026/04/26.md index 34bc97f..bada5aa 100644 --- a/archives/2026/04/26.md +++ b/archives/2026/04/26.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#127434 JIT: Use normalized block for comparison in RBO dominator walk](#127434) 2. [#127433 JIT: relax inliner heuristics for callees on \[Intrinsic\] types](#127433) 3. [#127427 Use safe Span.Slice loop pattern in Enumerable.FillIncrementing](#127427) @@ -9,7 +9,7 @@ - 作成者: [@hez2010](https://github.com/hez2010) - 作成日時: 2026年04月26日 14:12:17(UTC) - マージ日時: 2026年04月26日 18:53:58(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 JIT最適化のRBO(Redundant Branch Optimization)ドミネータウォーク処理において、空の`BBJ_ALWAYS`ブロックチェーンの作成後に早期終了してしまうバグを修正しました。比較対象のブロックを正規化(副作用のないブロックをスキップ)することで、不正なブロック比較を防ぎます。その結果、不必要な条件分岐が削除され、コード生成が改善されています。 @@ -34,7 +34,7 @@ JIT最適化のRBO(Redundant Branch Optimization)ドミネータウォーク - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年04月26日 12:26:16(UTC) - マージ日時: 2026年04月26日 17:02:08(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 "unsafe削除"の取り組みで導入される`Span.Slice`や`Vector.Create`など、`[Intrinsic]`属性が付与されたメソッドの呼び出しが、JITインライナーの時間予算に負の影響を与えてコード品質が低下している問題を解決します。本PRは、これらのintrinsic型のメソッドをインラインする際の予算チェックを緩和し、小規模メソッドと同様の扱いをすることで、回帰を防ぎます。 @@ -59,7 +59,7 @@ JIT最適化のRBO(Redundant Branch Optimization)ドミネータウォーク - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年04月25日 17:35:26(UTC) - マージ日時: 2026年04月26日 11:27:22(UTC) -- ラベル: area-System.Linq reduce-unsafe +- ラベル: area-System.Linq reduce-unsafe #### 概要 `Enumerable.FillIncrementing`のベクトル化フィル処理を、安全な`Span.Slice`ループパターンを使用するように書き直しました。`Unsafe.*`および`MemoryMarshal.GetReference`を排除し、JITが境界チェックを削除できる形状を維持しています。 @@ -85,7 +85,7 @@ JIT最適化のRBO(Redundant Branch Optimization)ドミネータウォーク - 作成者: [@maraf](https://github.com/maraf) - 作成日時: 2026年04月22日 15:28:37(UTC) - マージ日時: 2026年04月26日 16:28:59(UTC) -- ラベル: arch-wasm area-System.Diagnostics test-enhancement os-browser +- ラベル: arch-wasm area-System.Diagnostics test-enhancement os-browser #### 概要 ブラウザ(WebAssembly)をターゲットする場合に`System.Diagnostics.StackTrace.Tests`で`StackTraceLineNumberSupport`を有効化し、スタックトレースのファイル/行番号情報をサポートします。これにより、CoreCLR+browserでPDB情報に依存するテストが`[ActiveIssue]`でスキップされずに実行できるようになります。 diff --git a/archives/2026/04/27.md b/archives/2026/04/27.md index 738b1b6..321aeec 100644 --- a/archives/2026/04/27.md +++ b/archives/2026/04/27.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#127451 Handle missing Network.framework peer certificate chain](#127451) 2. [#127430 \[wasm\] Bump chrome for testing - linux: 147.0.7727.116, windows: 148.0.7778.56](#127430) 3. [#127429 Use safe Span.Slice loop pattern in Enumerable.SumSignedIntegersVectorized](#127429) @@ -28,7 +28,7 @@ - 作成者: [@liveans](https://github.com/liveans) - 作成日時: 2026年04月27日 12:25:03(UTC) - マージ日時: 2026年04月27日 16:23:15(UTC) -- ラベル: area-System.Net.Security +- ラベル: area-System.Net.Security #### 概要 Apple Network Frameworkを使用するTLS/WebSocketsシナリオでピア証明書チェーンハンドルが欠落/無効な場合のクラッシュを修正します。`NullReferenceException`を防ぐため、リモート証明書抽出時に安全にnullケースを処理するようにしました。 @@ -49,7 +49,7 @@ Apple Network Frameworkを使用するTLS/WebSocketsシナリオでピア証明 - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年04月26日 00:18:51(UTC) - マージ日時: 2026年04月27日 05:43:01(UTC) -- ラベル: arch-wasm area-Infrastructure-mono +- ラベル: arch-wasm area-Infrastructure-mono #### 概要 WebAssembly テスト環境で使用する Chrome のバージョンを更新します。Linux 環境を 147.0.7727.116 に、Windows 環境を 148.0.7778.56 に引き上げます。 @@ -72,7 +72,7 @@ WebAssembly テスト環境で使用する Chrome のバージョンを更新し - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年04月25日 17:35:52(UTC) - マージ日時: 2026年04月27日 12:40:34(UTC) -- ラベル: area-System.Linq reduce-unsafe +- ラベル: area-System.Linq reduce-unsafe #### 概要 `Enumerable.Sum()`のベクトル化された符号付き整数合計処理において、unsafe ポインタ操作を安全な`Span.Slice`ベースのループパターンに置き換えました。オーバーフロー検査を各イテレーション後ではなく最終段階で実施することで、パフォーマンスを向上させています。オーバーフロー発生は稀であり、発生時の例外コストが大きいため、早期終了より遅延チェックが有効との考えに基づいています。 @@ -106,7 +106,7 @@ WebAssembly テスト環境で使用する Chrome のバージョンを更新し - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年04月24日 22:18:03(UTC) - マージ日時: 2026年04月27日 12:48:00(UTC) -- ラベル: area-System.Numerics reduce-unsafe +- ラベル: area-System.Numerics reduce-unsafe #### 概要 `BigInteger`の右シフト操作(`RightShiftSelf`)をリファクタリングし、unsafe参照演算の代わりにspan slicingと`Vector*.Create`/`CopyTo`を使用する安全なAPIに置き換えました。左シフト操作(`LeftShiftSelf`)も同様に更新されています。 @@ -135,7 +135,7 @@ WebAssembly テスト環境で使用する Chrome のバージョンを更新し - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年04月24日 12:21:46(UTC) - マージ日時: 2026年04月27日 14:30:25(UTC) -- ラベル: arch-wasm area-Host os-browser +- ラベル: arch-wasm area-Host os-browser #### 概要 WebAssembly ローダーの `download()` → `create()` ライフサイクルを修正し、2段階で初期化できるように再構築しました。ダウンロード状態をトラッキングして、`download()` 実行後の `create()` が不要な再初期化を行わない仕様に変更し、HTTP キャッシュのみを使用するプリフェッチモード(`download(true)`)も新たに実装しています。 @@ -159,7 +159,7 @@ WebAssembly ローダーの `download()` → `create()` ライフサイクルを - 作成者: [@maraf](https://github.com/maraf) - 作成日時: 2026年04月24日 09:54:50(UTC) - マージ日時: 2026年04月27日 21:56:04(UTC) -- ラベル: arch-wasm area-Build-mono os-browser +- ラベル: arch-wasm area-Build-mono os-browser #### 概要 WebAssembly SDK パック(`Microsoft.NET.Sdk.WebAssembly.Browser.targets` など)のファイル変更時に、ブラウザライブラリテストが CI で確実にトリガーされるよう、パス評価ルールを修正します。 @@ -182,7 +182,7 @@ WebAssembly SDK パック(`Microsoft.NET.Sdk.WebAssembly.Browser.targets` な - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月23日 16:38:22(UTC) - マージ日時: 2026年04月27日 18:50:14(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 `System.Runtime.Intrinsics.Arm` API を拡張して `nint`/`nuint` オーバーロードを追加する承認提案を実装します。スコープは `ArmBase` + `Crc32` に限定されます。同時に、JIT の `GenTreeHWIntrinsic` の補助型追跡を `CorInfoType` から `var_types` へリファクタリングし、既存の JIT 型プラッシングとの整合性を向上させます。 @@ -221,7 +221,7 @@ WebAssembly SDK パック(`Microsoft.NET.Sdk.WebAssembly.Browser.targets` な - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年04月23日 14:53:38(UTC) - マージ日時: 2026年04月27日 09:53:16(UTC) -- ラベル: arch-wasm area-Build-mono os-browser +- ラベル: arch-wasm area-Build-mono os-browser #### 概要 Emscripten v5へのアップグレードに向けた準備作業。wasm-ldリンカフラグの構文修正、wasm-optの非トラッピング浮動小数点変換サポート追加、LLVM SIMDイントリンシクの標準化、そしてClangの新しい警告への対応を含む。これらはブラウザ/WASI向けネイティブビルドインフラストラクチャとMono WASM実行時を新しいEmscripten/LLVM/wasm-optツールチェーンと互換性を持たせるための内部実装の変更です。 @@ -250,7 +250,7 @@ Emscripten v5へのアップグレードに向けた準備作業。wasm-ldリン - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年04月22日 23:33:20(UTC) - マージ日時: 2026年04月27日 00:24:29(UTC) -- ラベル: linkable-framework area-NativeAOT-coreclr +- ラベル: linkable-framework area-NativeAOT-coreclr #### 概要 `Nullable.GetUnderlyingType(typeof(T))` パターンのtrim/AOT dataflowモデリングを改善し、新しい値の種類 `NullableUnwrappedGenericParameterValue` を導入しました。これにより、nullable型から unwrap されたジェネリックパラメータが正しく追跡され、`typeof(Gen<>).MakeGenericType(Nullable.GetUnderlyingType(typeof(T)))` が不正なジェネリック化を防ぎ、適切なNativeAOT警告(IL3050)を生成するようになります。 @@ -276,7 +276,7 @@ Emscripten v5へのアップグレードに向けた準備作業。wasm-ldリン - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年04月22日 11:12:31(UTC) - マージ日時: 2026年04月27日 08:54:40(UTC) -- ラベル: area-System.Console os-ios os-tvos os-maccatalyst agentic-workflows +- ラベル: area-System.Console os-ios os-tvos os-maccatalyst agentic-workflows #### 概要 MacCatalystプラットフォームにおける`System.Console.Tests`の失敗を修正するPRです。`Console.OpenStandardXXXHandle()`メソッドはモバイルプラットフォーム(iOS、tvOS、Android、MacCatalyst)で`PlatformNotSupportedException`をスローしますが、テストの`[PlatformSpecific]`属性にMacCatalystが未追加だったため、4つのテストが失敗していました。MacCatalystをExclusionリストに追加することで、他のAppleモバイルプラットフォームと同じ挙動に統一します。 @@ -301,7 +301,7 @@ MacCatalystプラットフォームにおける`System.Console.Tests`の失敗 - 作成者: [@89netraM](https://github.com/89netraM) - 作成日時: 2026年04月22日 07:04:52(UTC) - マージ日時: 2026年04月27日 07:59:21(UTC) -- ラベル: area-Extensions-Options community-contribution +- ラベル: area-Extensions-Options community-contribution #### 概要 `OptionsBuilder`に流暢なAPI(fluent API)スタイルの新しい`Validate`オーバーロードを追加します。このオーバーロードは、`IValidateOptions`を実装するバリデータ型を登録し、オプション型の検証を行えます。 @@ -331,7 +331,7 @@ optionsBuilder.Validate(); - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月22日 05:22:06(UTC) - マージ日時: 2026年04月27日 19:56:47(UTC) -- ラベル: area-System.Reflection.Metadata +- ラベル: area-System.Reflection.Metadata #### 概要 `ControlFlowBuilder.CopyCodeAndFixupBranches`のブランチ固定化ロジックにおいて、`InstructionEncoder`オペコードと直接的な`CodeBuilder`オペランド書き込みを混在させた場合に、`BlobBuilder`チャンク境界でバイトをスキップしてしまい、後続のオペランドを破損する問題を修正しました。 @@ -358,7 +358,7 @@ optionsBuilder.Validate(); - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月22日 01:43:25(UTC) - マージ日時: 2026年04月27日 02:56:00(UTC) -- ラベル: linkable-framework area-NativeAOT-coreclr +- ラベル: linkable-framework area-NativeAOT-coreclr #### 概要 `RequiresDynamicCodeAnalyzer`が静的に既知のEnum型に対する`Enum.GetValues(Type)`呼び出しで不要な警告を出しているため、ILCのインtrinsic処理に合わせて修正しました。型引数が`SystemTypeValue`で静的に既知の場合、IL3050警告を抑制します。 @@ -400,7 +400,7 @@ case IntrinsicId.Enum_GetValues: - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月21日 21:02:01(UTC) - マージ日時: 2026年04月27日 15:47:50(UTC) -- ラベル: area-Infrastructure-libraries +- ラベル: area-Infrastructure-libraries #### 概要 PR #124400で追加されたruntime-async crossgen libraries テスト用のパイプラインレグを削除します。runtime-asyncがデフォルトで有効になったため、明示的な`UseRuntimeAsync=true`マトリックスは不要になりました。 @@ -424,7 +424,7 @@ PR #124400で追加されたruntime-async crossgen libraries テスト用のパ - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年04月21日 16:34:09(UTC) - マージ日時: 2026年04月27日 16:38:21(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 WebAssemblyでReadyToRun (R2R)コードの読み込みと実行をサポートするための包括的な実装です。WebCIL v1画像でのR2Rヘッダーディスカバリー、リロケーション処理、ポータブルエントリポイント対応、およびWasm向けランタイム関数テーブルの再ロケーション生成を追加しています。 @@ -458,7 +458,7 @@ Copilotレビューから、`WebcilDecoder::Init()`と`WebcilDecoder::Reset()` - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月20日 05:51:13(UTC) - マージ日時: 2026年04月27日 00:32:33(UTC) -- ラベル: area-TypeSystem-coreclr linkable-framework +- ラベル: area-TypeSystem-coreclr linkable-framework #### 概要 NativeAOTの外部TypeMapトリミングにおいて、配列型トリムターゲットの精度を向上させるため、配列型そのものの到達可能性に基づいて条件付きを行うように改善。従来は`SomeType[]`がトリムターゲットであっても要素型`SomeType`が到達可能なだけでMapエントリが保持されていたが、本変更により配列型自体またはテンプレートベースのランタイム構築可能性に基づいて判定する。 @@ -502,7 +502,7 @@ private static TypeDesc GetEffectiveTrimTargetType(TypeDesc trimmingTargetType) - 作成者: [@prozolic](https://github.com/prozolic) - 作成日時: 2026年04月17日 06:02:06(UTC) - マージ日時: 2026年04月27日 14:35:21(UTC) -- ラベル: area-System.Text.Json community-contribution +- ラベル: area-System.Text.Json community-contribution #### 概要 `Utf8JsonWriter.WriteStringValue`でバッファサイズ計算の誤りによる`IndexOutOfRangeException`を修正しました。非常に大きな文字列(最大166,666,666文字まで)をシリアライズする際に発生していた問題に対応しており、エスケープ時の最大バイト数を事前計算して正確に算出するようにしました。 @@ -526,7 +526,7 @@ private static TypeDesc GetEffectiveTrimTargetType(TypeDesc trimmingTargetType) - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年04月16日 21:18:39(UTC) - マージ日時: 2026年04月27日 20:28:36(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(動的に静的なデータを提供するコンポーネント)のno-fallback mode(レガシーDAC不在時)において、診断ツール(SOS、ClrMD)がメタデータにアクセスできるようにするため、`System.Reflection.Metadata.MetadataReader`を`IMetaDataImport`/`IMetaDataImport2`/`IMetaDataAssemblyImport` COM インターフェースにマッピングする管理コード COM ラッパーを実装しました。レガシー DAC が存在する場合は、実装されていない約45メソッドのフォールバックとデバッグ検証に使用されます。 @@ -558,7 +558,7 @@ cDAC(動的に静的なデータを提供するコンポーネント)のno-f - 作成者: [@dotnet-renovate-bot](https://github.com/dotnet-renovate-bot) - 作成日時: 2026年04月13日 08:14:11(UTC) - マージ日時: 2026年04月27日 16:59:19(UTC) -- ラベル: area-Infrastructure community-contribution +- ラベル: area-Infrastructure community-contribution #### 概要 ビルドツールのコンテナイメージ依存関係(`mcr.microsoft.com/dotnet-buildtools/prereqs`)を特定のダイジェスト値にピン固定する自動更新です。Renovate Botによる定期メンテナンスで、ビルド環境の再現性と安定性を確保するための変更です。 @@ -584,7 +584,7 @@ cDAC(動的に静的なデータを提供するコンポーネント)のno-f - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年04月05日 15:46:05(UTC) - マージ日時: 2026年04月27日 14:29:18(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITの低レベル化時のストア合体(coalescing)ロジックをリファクタリングし、隣接する定数書き込み(`GT_STORE_LCL_FLD`)をINDIRECT/STORE_BLKで使用されていた既存の合体ロジックで処理できるよう拡張する。新機能は`JitEnableStoreLclFldCoalescing`フラグで制御可能(デフォルト有効)。 @@ -614,7 +614,7 @@ JITの低レベル化時のストア合体(coalescing)ロジックをリフ - 作成者: [@giritrivedi](https://github.com/giritrivedi) - 作成日時: 2026年03月26日 07:18:50(UTC) - マージ日時: 2026年04月27日 09:54:26(UTC) -- ラベル: area-VM-meta-mono arch-s390x community-contribution +- ラベル: area-VM-meta-mono arch-s390x community-contribution #### 概要 s390xアーキテクチャのコード生成ヘッダファイルから重複する命令定義を削除し、欠落していたカンマを追加する修正です。 @@ -635,7 +635,7 @@ s390xアーキテクチャのコード生成ヘッダファイルから重複す - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月25日 17:00:26(UTC) - マージ日時: 2026年04月27日 19:58:33(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 クロスアセンブリのvararg P/Invoke呼び出しで、スタブ生成時にメソッド実装フラグ(`PreserveSig`など)を**呼び出し元**モジュールではなく**定義元**モジュールのメタデータから取得するよう修正しました。修正前は`BadImageFormatException`またはスタック破損の原因になっていました。 @@ -669,7 +669,7 @@ _scprintf("%d\n", __arglist(42)); - 作成者: [@clamp03](https://github.com/clamp03) - 作成日時: 2026年02月09日 07:10:00(UTC) - マージ日時: 2026年04月27日 15:20:01(UTC) -- ラベル: arch-arm32 community-contribution area-CodeGen-Interpreter-coreclr +- ラベル: arch-arm32 community-contribution area-CodeGen-Interpreter-coreclr #### 概要 armel(ARM EABI)インタープリタに対してランタイム非同期サポートを追加します。これにより、インタープリタモードで非同期メソッドが正常に動作するようになります。また、armelでの関数呼び出し時のスタックサイズに関する問題も修正しています。 diff --git a/archives/2026/04/28.md b/archives/2026/04/28.md index a41188f..84cf247 100644 --- a/archives/2026/04/28.md +++ b/archives/2026/04/28.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#127488 JIT: eliminate redundant bounds checks for span.Slice\(span.Length - cns\)](#127488) 2. [#127485 Remove unsafe code from IBinaryInteger.TryReadBigEndian implementations](#127485) 3. [#127481 \[cDAC\] Delete GetAssemblyInfo](#127481) @@ -34,7 +34,7 @@ - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年04月28日 01:35:28(UTC) - マージ日時: 2026年04月28日 11:09:47(UTC) -- ラベル: area-CodeGen-coreclr reduce-unsafe +- ラベル: area-CodeGen-coreclr reduce-unsafe #### 概要 JITコンパイラの最適化を強化し、`span.Slice(span.Length - cns)` パターンで発生する冗長な境界チェックを削除します。値番号付け(VN)の恒等式拡張と範囲チェック(RangeCheck)のアサーション推論改善により、`BinaryPrimitives.ReadInt32BigEndian` 内の長さチェックなども折り畳み可能になります。 @@ -65,7 +65,7 @@ JITコンパイラの最適化を強化し、`span.Slice(span.Length - cns)` パ - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年04月28日 00:15:36(UTC) - マージ日時: 2026年04月28日 17:22:40(UTC) -- ラベル: area-System.Numerics reduce-unsafe +- ラベル: area-System.Numerics reduce-unsafe #### 概要 `IBinaryInteger.TryReadBigEndian` の実装から unsafe コードを削除し、安全な同等物に置き換えました。`Unsafe.ReadUnaligned`、`Unsafe.Add`、`MemoryMarshal.GetReference` の使用を `BinaryPrimitives.ReadXxxBigEndian` と span インデックスに置き換えています。JIT は既存の長さチェックにより、結果のバウンズチェックを削除することが期待されます。 @@ -92,7 +92,7 @@ JITコンパイラの最適化を強化し、`span.Slice(span.Length - cns)` パ - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年04月27日 23:37:52(UTC) - マージ日時: 2026年04月28日 13:30:16(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 DAC/DBI(デバッグ)インターフェース内の `IDacDbiInterface::GetAssemblyInfo` API を削除し、単一の `CordbAppDomain` を想定することでデバッガー右側(RS)コードパスを簡潔化します。この変更により、フレーム単位での AppDomain トークン処理が不要になり、キャッシュされた AppDomain を直接使用するようになります。 @@ -115,7 +115,7 @@ DAC/DBI(デバッグ)インターフェース内の `IDacDbiInterface::GetAs - 作成者: [@janvorli](https://github.com/janvorli) - 作成日時: 2026年04月27日 23:32:23(UTC) - マージ日時: 2026年04月28日 13:04:43(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 デバッガのブレークポイント後に実行が再開される際、デバッガが修正したスレッドコンテキスト(IP や SP など)が無視されていた問題を修正します。この変更により、インタープリタはコンテキスト変更を検出し、`ResumeAfterCatchException` を発生させることで、修正されたコンテキストから正しく実行を再開できるようになります。 @@ -137,7 +137,7 @@ DAC/DBI(デバッグ)インターフェース内の `IDacDbiInterface::GetAs - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月27日 22:50:40(UTC) - マージ日時: 2026年04月28日 13:01:41(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 `GenTree::OperConsumesFlags`メソッドが`TARGET_AMD64`でも`GT_CCMP`(条件付きコンパレア)を正しく処理するよう修正しました。従来は`TARGET_ARM64`のみで`GT_CCMP`を処理していましたが、`GT_CCMP`は両アーキテクチャで生成されているため、AMD64での処理を追加します。これにより、フラグ消費ノードとしての正確な認識が可能になり、命令スケジューリングやレジスタ割り当てが改善されます。 @@ -166,7 +166,7 @@ AMD64での`GT_CCMP`ノード周辺の命令スケジューリングおよび依 - 作成者: [@cittaz](https://github.com/cittaz) - 作成日時: 2026年04月27日 20:13:02(UTC) - マージ日時: 2026年04月28日 11:22:38(UTC) -- ラベル: area-System.Net community-contribution +- ラベル: area-System.Net community-contribution #### 概要 `ManagedWebSocket.EnsureBufferContainsAsync`メソッドの不要なコード削除。PR #69272でループが`Stream.ReadAtLeastAsync`に置き換えられた際に放置された死んだブランチと古いコメントを削除するクリーンアップです。動作変更なし。 @@ -190,7 +190,7 @@ AMD64での`GT_CCMP`ノード周辺の命令スケジューリングおよび依 - 作成者: [@tommcdon](https://github.com/tommcdon) - 作成日時: 2026年04月27日 20:12:16(UTC) - マージ日時: 2026年04月28日 18:34:45(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 CoreCLRインタープリタのデバッグ時にスタックウォーク中に不正な行番号が報告される問題を修正します。JITの行番号マッピング方式に合わせるため、以下の改善を実施: 1. IL→ネイティブマッピングデータをILスタックが空の箇所と`nop`命令のみに限定 @@ -214,7 +214,7 @@ CoreCLRインタープリタのデバッグ時にスタックウォーク中に - 作成者: [@tarekgh](https://github.com/tarekgh) - 作成日時: 2026年04月27日 17:55:30(UTC) - マージ日時: 2026年04月28日 17:21:34(UTC) -- ラベル: area-Infrastructure-mono os-ios +- ラベル: area-Infrastructure-mono os-ios #### 概要 iOS/tvOS シミュレータ向けの CoreCLR ビルドで Aggressive Trimming テスト除外ルールが機能していなかった問題を修正。`TargetOS` の明示的リストチェック(`ios`/`tvos`/`maccatalyst`)では `iossimulator`/`tvossimulator` をカバーしていなかったため、Trimming に敏感なテストが実行されて `NullReferenceException` で失敗していました。修正により、既存の `TargetsAppleMobile` プロパティを使用することで、すべての Apple モバイルターゲットに対して一貫したテスト除外を適用します。 @@ -241,7 +241,7 @@ iOS/tvOS シミュレータ向けの CoreCLR ビルドで Aggressive Trimming - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年04月27日 15:10:47(UTC) - マージ日時: 2026年04月28日 17:22:29(UTC) -- ラベル: area-System.IO.Hashing reduce-unsafe +- ラベル: area-System.IO.Hashing reduce-unsafe #### 概要 CRC32/CRC64ベクトル化ヘルパーの安全でないコード(`ref byte` + `Vector128.LoadUnsafe` + `Unsafe.Add`)を、安全なコード(`ReadOnlySpan` + `Vector128.Create(span)` + `Slice`)に置き換えました。最新のJITボーンズチェック除去がこのループパターンの安全性チェックを処理するため、パフォーマンス低下は予想されていません。 @@ -268,7 +268,7 @@ CRC32/CRC64ベクトル化ヘルパーの安全でないコード(`ref byte` + ` - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年04月25日 11:09:04(UTC) - マージ日時: 2026年04月28日 09:05:48(UTC) -- ラベル: area-System.Net os-android agentic-workflows +- ラベル: area-System.Net os-android agentic-workflows #### 概要 Android Helix環境での`DnsGetHostEntry_LocalHost_ReturnsFqdnAndLoopbackIPs`テスト失敗を修正するため、当該テストをAndroidプラットフォームでスキップするようにします。Androidでは"localhost"のDNS解決が、ループバックアドレス(127.0.0.1、::1)に加えて実際のネットワークインターフェース情報も返すため、テストが失敗していました。 @@ -296,7 +296,7 @@ Android Helix環境での`DnsGetHostEntry_LocalHost_ReturnsFqdnAndLoopbackIPs` - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年04月25日 07:17:38(UTC) - マージ日時: 2026年04月28日 21:27:04(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 .NET 11.0 Preview 4リリース向けのVMR(Virtual Monolithic Repository)からのコードフロー更新PRです。Arcade SDK、Roslyn/CodeAnalysis、NuGet、ランタイムツール、Webアセンブリランタイムなど複数の依存パッケージを最新ビルド(20260424.22)に更新しています。ビルド基盤やSBOM生成、ログ検証処理も同時に更新されています。 @@ -334,7 +334,7 @@ Android Helix環境での`DnsGetHostEntry_LocalHost_ReturnsFqdnAndLoopbackIPs` - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年04月24日 20:00:09(UTC) - マージ日時: 2026年04月28日 02:42:25(UTC) -- ラベル: area-Interop-coreclr +- ラベル: area-Interop-coreclr #### 概要 P/Invokeの一時的IL(transient IL)に関連する回帰問題を修正。x86スタック引数のサイジング動作を改善し、`PInvokeImportWorker`がSuppressGCTransition下で協調モード呼び出し元に対応できるようにしました。 @@ -358,7 +358,7 @@ P/Invokeの一時的IL(transient IL)に関連する回帰問題を修正。x - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年04月24日 19:31:25(UTC) - マージ日時: 2026年04月28日 17:16:05(UTC) -- ラベル: area-PAL-coreclr +- ラベル: area-PAL-coreclr #### 概要 ARM64プラットフォームにおいて、SME(Streaming SVE)は搭載されているがSVEは搭載されていない環境(例:macOS Virtualization.FrameworkのApple M4)で発生していたSIGILL(不正命令例外)クラッシュを修正します。 @@ -387,7 +387,7 @@ SME単独プラットフォームでは`sve->vl`が0となるため、SVEレジ - 作成者: [@sbomer](https://github.com/sbomer) - 作成日時: 2026年04月22日 22:38:51(UTC) - マージ日時: 2026年04月28日 17:51:36(UTC) -- ラベル: linkable-framework area-Tools-ILLink +- ラベル: linkable-framework area-Tools-ILLink #### 概要 ILLink の `MemberActionStore` から不要となった `_featureCheckValues` キャッシュを削除するクリーンアップ。`CodeRewriterStep` が `SweepStep` より前に実行されるようになった (#127090) ため、機能属性値を事前にキャッシュしておく必要がなくなりました。属性は `CodeRewriterStep` 処理時にも存在するようになります。 @@ -410,7 +410,7 @@ ILLink の `MemberActionStore` から不要となった `_featureCheckValues` - 作成者: [@cshung](https://github.com/cshung) - 作成日時: 2026年04月22日 16:52:42(UTC) - マージ日時: 2026年04月28日 12:30:26(UTC) -- ラベル: area-GC-coreclr community-contribution +- ラベル: area-GC-coreclr community-contribution #### 概要 大ページ(large pages)を使用する場合の仮想メモリ割り当て解除の処理を改善しました。大ページは部分的な割り当て解除ができないため、割り当て解除をスキップして、代わりにメモリをOSに返却し、メモリ統計の正確性を向上させます。また、大ページコードパスのテストを容易にするため、GCLargePages=2モードを追加し、小ページを使用して大ページの動作を模擬できるようにしました。 @@ -435,7 +435,7 @@ GCLargePages=2モードの追加により、OS上の大ページ設定権限な - 作成者: [@eduardo-vp](https://github.com/eduardo-vp) - 作成日時: 2026年04月22日 00:31:28(UTC) - マージ日時: 2026年04月28日 16:26:49(UTC) -- ラベル: linkable-framework area-NativeAOT-coreclr +- ラベル: linkable-framework area-NativeAOT-coreclr #### 概要 依存関係グラフに`PropertyMetadataNode`と`EventMetadataNode`を追加し、プロパティのアクセッサ(getter、setter)およびイベント(adder、remover、raiser)を複数回分析することで生じていた重複警告を削除します。 @@ -460,7 +460,7 @@ GCLargePages=2モードの追加により、OS上の大ページ設定権限な - 作成者: [@simonrozsival](https://github.com/simonrozsival) - 作成日時: 2026年04月21日 14:18:50(UTC) - マージ日時: 2026年04月28日 00:58:53(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 Android ARM32(armeabi-v7a)向けの CoreCLR ランタイムパック本番サポートを有効にするPRです。最小APIレベルが24に引き上げられたため、ARM アーキテクチャの制限を解除し、CI パイプラインで `android_arm` プラットフォームのサポートを追加します。 @@ -486,7 +486,7 @@ Android ARM32(armeabi-v7a)向けの CoreCLR ランタイムパック本番 - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年04月21日 09:53:48(UTC) - マージ日時: 2026年04月28日 18:16:04(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 On-Stack Replacement (OSR)トランジション時のpatchpointから不要なunwind呼び出しを削除する変更。前のPR(#123645)のフォローアップであり、JITコンパイラのpatchpoint処理を最適化して、OSR遷移時の呼び出しオーバーヘッドを削減します。 @@ -513,7 +513,7 @@ On-Stack Replacement (OSR)トランジション時のpatchpointから不要なun - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年04月21日 00:40:44(UTC) - マージ日時: 2026年04月28日 21:27:01(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Common Data Access Component)と従来のDacDbi APIに新しいスタックウォーク関連API(`IsLeafFrame`と`GetContext`)を追加するPRです。スレッドコンテキストの取得とリーフフレームの判定をサポートし、`GetThreadContext`を実装しないデータターゲットへのネイティブDAC フォールバック動作を削除しています。 @@ -541,7 +541,7 @@ cDAC(Common Data Access Component)と従来のDacDbi APIに新しいスタ - 作成者: [@jtschuster](https://github.com/jtschuster) - 作成日時: 2026年04月20日 22:27:49(UTC) - マージ日時: 2026年04月28日 15:40:25(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 R2R(Ready2Run)コンパイル時に、リターン値の型変換(covariant returns)に関連するサンク(thunk)の生成をスキップしないよう修正しました。これにより、CI内のcovariant return テストが正常に動作するようになります。 @@ -563,7 +563,7 @@ covariant return型は.NETにおいて派生クラスが基底クラスのメソ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月20日 15:51:20(UTC) - マージ日時: 2026年04月28日 18:02:44(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 `HttpHeaders.Remove()`と`HttpHeaders.Contains()`が、そのコレクションに属さないwell-known headerまたは無効なheader名に対して例外をスローする代わりに`false`を返すように動作を変更します。これにより、呼び出し元が事前にどのコレクションを使用すべきかを知らずに、別のheader collectionにフォールバックできるようになります。 @@ -588,7 +588,7 @@ covariant return型は.NETにおいて派生クラスが基底クラスのメソ - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年04月19日 01:33:56(UTC) - マージ日時: 2026年04月28日 13:27:08(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC JIT通知テーブルの新しい契約実装を追加し、レガシーDAC フォールバックを削除しました。新しい `ICodeNotifications` 契約(c1)は、Windows上での遅延割り当て(`ICLRDataTarget2::AllocVirtual`)をサポートし、約24KBのメモリコスト削減を実現します。テーブル容量は1000スロット(コンパイル時定数)で、スロット0に長さ情報を格納します。 @@ -640,7 +640,7 @@ cDAC JIT通知テーブルの新しい契約実装を追加し、レガシーDAC - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年04月17日 17:51:30(UTC) - マージ日時: 2026年04月28日 00:46:23(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 Microsoft.Diagnostics.Runtime (ClrMD) を 4.0.722401 (最初の安定版リリース) に更新しました。この更新により、クロスビットネス環境(32ビットホストで64ビットダンプを読み込む場合など)でのアドレス拡張ハンドリング問題が修正されます。これにより、以前回避されていたクロスビットネスダンプテストを実行できるようになります。 @@ -668,7 +668,7 @@ ClrMD 4.0.722401の修正内容: - 作成者: [@trungnt2910](https://github.com/trungnt2910) - 作成日時: 2026年04月09日 11:50:28(UTC) - マージ日時: 2026年04月28日 16:38:17(UTC) -- ラベル: area-Infrastructure community-contribution os-haiku +- ラベル: area-Infrastructure community-contribution os-haiku #### 概要 Haiku プラットフォームでの .NET ランタイムネイティブコンポーネントのビルド対応。pthread robust-mutex API のフィーチャー検出と Haiku リンカー動作の調整を CMake で実装し、ランタイムが Haiku 環境で正常にビルド・動作するようにします。 @@ -694,7 +694,7 @@ Haiku プラットフォームでの .NET ランタイムネイティブコン - 作成者: [@BoyBaykiller](https://github.com/BoyBaykiller) - 作成日時: 2026年04月04日 00:48:24(UTC) - マージ日時: 2026年04月28日 12:25:10(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 JIT最適化として、`CONST - x`(内部的に`ADD(NEG(x), CONST)`で表現)を、xの範囲情報に基づいて`XOR(x, CONST)`に変換する処理を追加しました。また、アサーション伝播における値番号ベースの畳み込み最適化に`GT_NOT`を対応させています。 @@ -724,7 +724,7 @@ JIT最適化として、`CONST - x`(内部的に`ADD(NEG(x), CONST)`で表現 - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年03月31日 23:44:28(UTC) - マージ日時: 2026年04月28日 04:17:44(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Compact Diagnostic Access Component)のダンプテスト基盤を改善し、フルダンプの代わりにヒープダンプを使用するように切り替えます。ClrMDにシンボルパスを提供することで、System.Private.CoreLibとデバッギープロジェクトのメタデータを解決できるようにし、ダンプ分析の信頼性を向上させます。 @@ -750,7 +750,7 @@ cDAC(Compact Diagnostic Access Component)のダンプテスト基盤を改 - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月26日 13:39:22(UTC) - マージ日時: 2026年04月28日 23:04:35(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 dotnet/emsdkリポジトリの依存関係を更新するための自動PR。Emscripten Workloadおよび関連するランタイムコンポーネント(JIT Tools、Mono LLVM Sdk/Tools)を9.0.15から9.0.16にアップグレード。 @@ -779,7 +779,7 @@ dotnet/emsdkリポジトリの依存関係を更新するための自動PR。Ems - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年03月24日 16:48:18(UTC) - マージ日時: 2026年04月28日 09:20:27(UTC) -- ラベル: area-CodeGen-coreclr runtime-async +- ラベル: area-CodeGen-coreclr runtime-async #### 概要 非同期メソッド実行の一時停止(suspension)時のコンテキスト処理を最適化するため、JIT生成コードからの単一呼び出しで完了する2つのランタイムヘルパー `FinishSuspensionNoContinuationContext` と `FinishSuspensionWithContinuationContext` を追加します。従来は複数の呼び出しでコンテキスト処理を実装していたため、コード生成サイズ削減とパフォーマンス向上を実現します。 @@ -830,7 +830,7 @@ internal static void FinishSuspensionWithContinuationContext( - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月23日 12:51:03(UTC) - マージ日時: 2026年04月28日 22:28:39(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 dotnet/emsdkリポジトリからの依存関係を更新するautomatedな依存性更新PRです。Emscripten関連のNuGetパッケージを8.0.26から8.0.27へアップグレードします。 diff --git a/archives/2026/04/29.md b/archives/2026/04/29.md index 12e3e6d..2e3713f 100644 --- a/archives/2026/04/29.md +++ b/archives/2026/04/29.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#127547 Revert "\[android\] Enable CoreCLR runtime pack production for android-arm \(#127225\)"](#127547) 2. [#127540 \[cDAC\] Implement EnumerateAssembliesInAppDomain for cDAC](#127540) 3. [#127534 X25519DiffieHellmanOpenSsl](#127534) @@ -32,7 +32,7 @@ - 作成者: [@simonrozsival](https://github.com/simonrozsival) - 作成日時: 2026年04月29日 05:47:14(UTC) - マージ日時: 2026年04月29日 10:44:33(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 PR #127225で有効化したandroid-arm向けのCoreCLRランタイムパック生成を無効化するリバート。android-armがCI環境で`System.DateTime.get_Now()`内で`SIGSEGV`クラッシュを発生させているため、根本原因の調査中に変更を取り消します。 @@ -56,7 +56,7 @@ Android ARM32(armeabi-v7a)のCoreCLRサポートは、根本的なクラッ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月29日 00:33:09(UTC) - マージ日時: 2026年04月29日 20:13:35(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Component DAC)の`EnumerateAssembliesInAppDomain`機能をレガシー委譲スタブから管理実装に置き換えました。`ILoader`コントラクトを使用してアセンブリ列挙ロジックを実装し、ネイティブC++実装(dacdbiimpl.cpp)と動作を統一します。 @@ -84,7 +84,7 @@ cDAC(Component DAC)の`EnumerateAssembliesInAppDomain`機能をレガシー - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2026年04月28日 22:06:12(UTC) - マージ日時: 2026年04月29日 15:14:48(UTC) -- ラベル: area-System.Security cryptographic-docs-impact +- ラベル: area-System.Security cryptographic-docs-impact #### 概要 OpenSSL上で動作する`X25519DiffieHellmanOpenSsl`の実装を追加します。既存の`EVP_PKEY`ハンドルをラップし、ハンドルの検証と秘密鍵の有無を判定する機能を提供します。 @@ -111,7 +111,7 @@ OpenSSL上で動作する`X25519DiffieHellmanOpenSsl`の実装を追加します - 作成者: [@ManickaP](https://github.com/ManickaP) - 作成日時: 2026年04月28日 18:59:41(UTC) - マージ日時: 2026年04月29日 08:22:53(UTC) -- ラベル: area-System.Net.Quic +- ラベル: area-System.Net.Quic #### 概要 QUIC ストリームのシャットダウンパスにおいて、不要な例外割り当てを削減するパフォーマンス最適化です。ストリーム開始タスクソース(`_startedTcs`)が既に完了している場合、`OperationAborted` 例外の作成をスキップして、不要なメモリ割り当てと例外処理のオーバーヘッドを回避します。HTTP/3 サーバーシナリオの高頻度シャットダウンイベントパスに対する最適化です。 @@ -135,7 +135,7 @@ QUIC ストリームのシャットダウンパスにおいて、不要な例外 - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年04月28日 18:42:00(UTC) - マージ日時: 2026年04月29日 02:19:21(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 `Compiler::gtNewSimdCvtNode`における非AVX-512経路で、`Vector{128,256,512}.ConvertToInt32(Vector*)`が入力値に対して誤った結果を生成するuse-before-def バグを修正しました。具体的には、`float.MinValue`入力時に部分的なゼロが混在した結果ではなく、正しく飽和値`-2147483648`が返されるようになります。 @@ -165,7 +165,7 @@ QUIC ストリームのシャットダウンパスにおいて、不要な例外 - 作成者: [@jtschuster](https://github.com/jtschuster) - 作成日時: 2026年04月28日 15:46:44(UTC) - マージ日時: 2026年04月29日 09:18:01(UTC) -- ラベル: area-Infrastructure-coreclr +- ラベル: area-Infrastructure-coreclr #### 概要 MSBuildが空のファイルリストに対して`System.IO.File.GetLastWriteTime(...)`を呼び出すのを防ぐ修正です。fresh test run(キャッシュが存在しない新規実行)時にIL-CG2 "done"ファイルがまだ存在しない場合に、テストビルドパイプラインの失敗を回避します。 @@ -186,7 +186,7 @@ MSBuildが空のファイルリストに対して`System.IO.File.GetLastWriteTim - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月27日 23:00:49(UTC) - マージ日時: 2026年04月29日 15:26:11(UTC) -- ラベル: area-System.Threading +- ラベル: area-System.Threading #### 概要 `DeadThreads`テストが高い頻度でスレッドを生成するため、GCストレス実行時に頻繁なGCによって実行が遅延し、OOMまたは過度なページングが発生する問題を解決するため、このテストをGCストレス互換テストセットから除外します。 @@ -208,7 +208,7 @@ GCストレス実行時におけるメモリ不足(OOM)やページング過 - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年04月27日 20:50:47(UTC) - マージ日時: 2026年04月29日 17:40:32(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Compact Debugging Access Component)の MetaDataImportImpl に4つのメタデータ API を新規実装し、デバッガの no-fallback モード対応を実現しました。以下のメソッドを実装: - `EnumTypeDefs` / `EnumMethods`:型定義とメソッドの列挙 @@ -251,7 +251,7 @@ cDAC(Compact Debugging Access Component)の MetaDataImportImpl に4つのメ - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年04月24日 08:49:35(UTC) - マージ日時: 2026年04月29日 06:09:39(UTC) -- ラベル: arch-wasm area-Diagnostics-coreclr +- ラベル: arch-wasm area-Diagnostics-coreclr #### 概要 WASM などのポータブルエントリポイント(`FEATURE_PORTABLE_ENTRYPOINTS`)を使用するプラットフォームで、インタープリタコード解決を有効にする変更です。従来の `InterpreterPrecode` メカニズムに依存していた EventPipe/ETW の IP-to-メソッド解決が WASM で機能しないため、ポータブルエントリポイント経由で解釈メソッドのバイトコードアドレスを解決できるよう汎化しました。これにより、WASM 上のサンプリングプロファイラが管理メソッドに対してサンプルを正確に帰属させられるようになります。 @@ -278,7 +278,7 @@ WASM などのポータブルエントリポイント(`FEATURE_PORTABLE_ENTRYP - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月24日 05:08:36(UTC) - マージ日時: 2026年04月29日 21:19:01(UTC) -- ラベル: area-Tools-ILLink +- ラベル: area-Tools-ILLink #### 概要 ILTrimの複数の`TokenBasedNode`サブクラスがカスタム属性依存関係をマークしていなかったため、トリミング時にメタデータテーブル上のカスタム属性が無視されていました。`ParameterNode`、`GenericParameterNode`、`GenericParameterConstraintNode`、`ManifestResourceNode`に`CustomAttributeNode.AddDependenciesDueToCustomAttributes`の呼び出しを追加し、カスタム属性と参照される型・コンストラクタの依存関係を正しく保持するように修正しました。 @@ -303,7 +303,7 @@ InterfaceImpl、StandAloneSig、TypeSpec、MethodSpec、TypeRef、AssemblyRef、 - 作成者: [@elinor-fung](https://github.com/elinor-fung) - 作成日時: 2026年04月23日 22:20:07(UTC) - マージ日時: 2026年04月29日 20:45:05(UTC) -- ラベル: area-Host +- ラベル: area-Host #### 概要 macOS Apple Silicon上の圧縮された自己完結型単一ファイルアプリで発生する散発的な`AccessViolationException`を修正。問題の原因は、`FlatImageLayout::LoadImageByCopyingParts`で`MAP_JIT`メモリの`RW → RWX`への保護遷移が不可靠だったため。修正では、Apple Siliconで`PAGE_NOACCESS`からリザーブし、各セクションを最終的な実行保護で直接コミットすることで、信頼できない遷移を回避。 @@ -329,7 +329,7 @@ macOS Apple Silicon上の圧縮された自己完結型単一ファイルアプ - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年04月22日 17:55:40(UTC) - マージ日時: 2026年04月29日 07:15:12(UTC) -- ラベル: area-System.Diagnostics +- ラベル: area-System.Diagnostics #### 概要 EventPipeのCPUサンプリング間隔を`DOTNET_EventPipeThreadSamplingRate`環境変数で設定可能にする変更です。デフォルト1msはWASM/ブラウザ環境では速すぎるため、この設定値(ミリ秒単位)でオーバーライド可能にしました。0を設定するとプラットフォームのデフォルト値を使用します。 @@ -356,7 +356,7 @@ WASM/ブラウザ環境でのサンプリング頻度を低下させることで - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月22日 08:44:45(UTC) - マージ日時: 2026年04月29日 08:04:40(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT設定オプション/アクセサの名前を`JitDasmWithAddress`から`JitDisasmWithAddress`に変更し、対応する設定キー文字列も更新する。これは命名の一貫性と正確性を向上させるための変更です。 @@ -379,7 +379,7 @@ JIT設定オプション/アクセサの名前を`JitDasmWithAddress`から`JitD - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年04月21日 12:41:27(UTC) - マージ日時: 2026年04月29日 14:23:55(UTC) -- ラベル: arch-wasm area-CodeGen-Interpreter-coreclr +- ラベル: arch-wasm area-CodeGen-Interpreter-coreclr #### 概要 WASM上のCoreClR インタープリタで `double/float.ConvertToInteger` が正しく動作するように修正。JIT動作と同じ方式でこのメソッドを intrinsic として展開し、マネージドコードの `CreateSaturating` へのフォールバックを回避します。これまで小さい整数型で不正な結果が返される問題が発生していました。 @@ -403,7 +403,7 @@ WASM上のCoreClR インタープリタで `double/float.ConvertToIntegerarea-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT コンパイラのパフォーマンススコア計算において、マクロ定数 `PERFSCORE_MEMORY_*` を強く型付けされた `PerfScoreMemoryAccessKind` enum クラスに置き換えました。`None`、`Read`、`Write`、`ReadWrite` の enum メンバーを定義し、複数のエミッターバックエンド(ARM64、x86/x64、RISC-V、LoongArch64)でメモリアクセス種別の追跡を更新しています。 @@ -432,7 +432,7 @@ JIT コンパイラのパフォーマンススコア計算において、マク - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年04月17日 09:10:00(UTC) - マージ日時: 2026年04月29日 12:32:13(UTC) -- ラベル: area-System.Diagnostics +- ラベル: area-System.Diagnostics #### 概要 Apple mobile(iOS/tvOS)プラットフォームでStackTraceライブラリのテストを有効化するPRです。CoreCLRアプリバンドルにデバッグシンボル(.pdbファイル)を保持することで、スタックトレース情報の取得を改善し、テストスイートを実行可能にします。なお、行番号表示に関する既知の制限は[#124087](https://github.com/dotnet/runtime/issues/124087)で追跡中です。 @@ -457,7 +457,7 @@ Apple mobile(iOS/tvOS)プラットフォームでStackTraceライブラリ - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年04月17日 09:08:46(UTC) - マージ日時: 2026年04月29日 07:54:12(UTC) -- ラベル: area-AssemblyLoader-coreclr linkable-framework os-ios +- ラベル: area-AssemblyLoader-coreclr linkable-framework os-ios #### 概要 Apple mobile プラットフォーム(iOS/tvOS)上の CoreCLR で、テストアセンブリが `.app` バンドル内のファイルとして展開される場合、`ResourceAssemblyLoadContext` が組み込みリソースを見つけられず失敗する問題を解決します。`ResourceAssemblyLoadContext.Load` に `AppContext.BaseDirectory` からのフォールバック読み込み機能を追加し、Apple mobile での `System.Runtime.Loader.Tests` テスト実行を可能にします。 @@ -484,7 +484,7 @@ Apple mobile プラットフォーム(iOS/tvOS)上の CoreCLR で、テス - 作成者: [@Ruihan-Yin](https://github.com/Ruihan-Yin) - 作成日時: 2026年04月16日 22:05:15(UTC) - マージ日時: 2026年04月29日 10:49:06(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 AMD64 APX(Advanced Performance eXtensions)実装のJITコンパイラにおける複数のエンコーディングバグ修正と、機能ゲーティング設計の改善です。IMUL命令のREX2エンコーディング修正、CMOV NDD形式の無効化、条件付きチェーニングの制御の厳格化、DIV/IDIV命令のREX2/EVEXプリフィックス対応不足による無効化を含みます。 @@ -515,7 +515,7 @@ AMD64 APX(Advanced Performance eXtensions)実装のJITコンパイラにお - 作成者: [@ManickaP](https://github.com/ManickaP) - 作成日時: 2026年04月16日 12:05:51(UTC) - マージ日時: 2026年04月29日 22:32:41(UTC) -- ラベル: Servicing-approved area-System.Net.Quic +- ラベル: Servicing-approved area-System.Net.Quic #### 概要 `System.Net.Quic`で使用するMsQuicネイティブライブラリのバージョンをrelease/10.0ブランチで更新します。MicrosoftNativeQuicMsQuicSchannelVersionを2.4.16から2.4.18にアップグレードします。 @@ -540,7 +540,7 @@ AMD64 APX(Advanced Performance eXtensions)実装のJITコンパイラにお - 作成者: [@mangod9](https://github.com/mangod9) - 作成日時: 2026年04月16日 00:23:37(UTC) - マージ日時: 2026年04月29日 18:59:58(UTC) -- ラベル: Servicing-approved area-GC-coreclr +- ラベル: Servicing-approved area-GC-coreclr #### 概要 `DOTNET_GCLargePages=1`が有効な場合のGCヒープ破損問題を修正します。ラージページが有効な場合、GCはOS レベルのデコミットをスキップしていますが、メモリ内容をクリアせずにブックキーピングのみ更新していました。この結果、リージョンが再利用時にゼロ化されず、ヒープ破損が発生していました。修正は、論理的にデコミットされたメモリをクリアすることで、リージョンの適切なゼロ化を保証します。 @@ -566,7 +566,7 @@ AMD64 APX(Advanced Performance eXtensions)実装のJITコンパイラにお - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年04月15日 17:09:36(UTC) - マージ日時: 2026年04月29日 09:09:35(UTC) -- ラベル: area-Diagnostics-coreclr os-ios +- ラベル: area-Diagnostics-coreclr os-ios #### 概要 DAC/DBI(Debugging Access Component/Debugging Breakpoint Interface)がインタープリタコードを指すCONTEXTからStackFrameIteratorを初期化する際に、InterpreterFrameが重複して処理される問題を修正します。ResetRegDisp関数で所有するInterpreterFrame*をCONTEXTの第1引数レジスタから読み込み、ProcessCurrentFrame実行前にm_crawl.pFrameをスキップすることで、ダブルカウントを防ぎます。 @@ -590,7 +590,7 @@ DAC/DBI(Debugging Access Component/Debugging Breakpoint Interface)がイン - 作成者: [@AaronRobinsonMSFT](https://github.com/AaronRobinsonMSFT) - 作成日時: 2026年04月14日 20:57:35(UTC) - マージ日時: 2026年04月29日 05:45:58(UTC) -- ラベル: area-System.Reflection breaking-change +- ラベル: area-System.Reflection breaking-change #### 概要 `Type` サブクラス(例:`MetadataLoadContext` の `RoType`)が `Nullable` を正しく識別できるよう、新しい公開仮想メソッド `Type.GetNullableUnderlyingType()` を追加しました。`Nullable.GetUnderlyingType()` がこの仮想メソッドに委譲されます。`Enum.GetUnderlyingType()` → `Type.GetEnumUnderlyingType()` の既存パターンに従います。 @@ -626,7 +626,7 @@ public virtual Type? GetNullableUnderlyingType() - 作成者: [@eiriktsarpalis](https://github.com/eiriktsarpalis) - 作成日時: 2026年04月08日 15:47:39(UTC) - マージ日時: 2026年04月29日 10:04:04(UTC) -- ラベル: area-System.Linq +- ラベル: area-System.Linq #### 概要 LINQ join convenience overloads(`Join`、`GroupJoin`、`LeftJoin`、`RightJoin`)を復活させ、同時にビルド破損を修正するPRです。以前の先制PR(#121998、#121999)で追加されたこれらのオーバーロードが#126624で削除されたため、本PRで再導入します。System.Linq.AsyncEnumerableのテストビルド破損は、ジェネリック型推論が不十分だったAsync対応のセレクタレスオーバーロード呼び出しを明示的にすることで修正されました。 @@ -653,7 +653,7 @@ LINQ join convenience overloads(`Join`、`GroupJoin`、`LeftJoin`、`RightJoin - 作成者: [@ericstj](https://github.com/ericstj) - 作成日時: 2026年04月07日 15:56:24(UTC) - マージ日時: 2026年04月29日 23:10:23(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 breaking-change-docスキルのワークフロー手順とヘルパースクリプトを改善し、バージョン検出の曖昧性を低減、PRコメントの重複を削除、PR担当者への@メンション通知を追加します。 @@ -675,7 +675,7 @@ breaking-change-docスキルのワークフロー手順とヘルパースクリ - 作成者: [@matouskozak](https://github.com/matouskozak) - 作成日時: 2026年04月06日 12:14:24(UTC) - マージ日時: 2026年04月29日 07:36:07(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 CoreCLRインタープリタで停止しているスレッドに対するデバッガ関数評価(func-eval)サポートを初期実装します。ネイティブコンテキストハイジャッキングを避け、既存の保留中評価ハッシュテーブル(ProcessAnyPendingEvals)に評価要求をキューイングし、InterpBreakpointハンドラから実行します。これにより、インタープリタと例外発生時の評価で共有ディスパッチパスが再利用されます。 @@ -702,7 +702,7 @@ CoreCLRインタープリタで停止しているスレッドに対するデバ - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年03月31日 16:24:10(UTC) - マージ日時: 2026年04月29日 12:35:55(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 複数の await が共通のコンテキスト処理ロジックを持つ場合、JIT が共有ブロックへのジャンプを通じてそのロジックを完全に共有できるようにする最適化です。新しい finish-suspension ヘルパーメソッドを追加し、複数の suspension epilog を共有ブロック経由でルーティングすることで、生成コードサイズを削減します。 @@ -752,7 +752,7 @@ clrjit.dll はわずかに増加 (+1,024 バイト、+0.046%) ですが、全体 - 作成者: [@saucecontrol](https://github.com/saucecontrol) - 作成日時: 2026年03月04日 15:43:15(UTC) - マージ日時: 2026年04月29日 13:06:59(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 x86のJITコンパイラが浮動小数点型からlong/ulong型へのキャストをハードウェアアクセラレーションする機能を追加しました。AVX-512とAVX10.2を活用することで、オーバーフロー発生時以外のすべてのキャストがハードウェア命令で処理されるようになります。これまではCORINFO_HELP_DBL2LNGなどのヘルパー関数呼び出しが必要でしたが、新しい実装により関数呼び出しなしでインライン化された命令列で処理されます。 diff --git a/archives/2026/04/30.md b/archives/2026/04/30.md index 266c914..d6ee827 100644 --- a/archives/2026/04/30.md +++ b/archives/2026/04/30.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#127618 Fix ChaCha20Poly1305 IsSupported test on Azure Linux 4](#127618) 2. [#127612 Change unique stack trace GC flag from 0xF to 0x10](#127612) 3. [#127597 Remove ApplicationContext::GetApplicationName\(\)](#127597) @@ -30,7 +30,7 @@ - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2026年04月30日 18:56:48(UTC) - マージ日時: 2026年04月30日 21:42:59(UTC) -- ラベル: area-System.Security test-enhancement +- ラベル: area-System.Security test-enhancement #### 概要 Azure Linux 4でOpenSSLビルドのChaCha20-Poly1305暗号が再度有効になったことに対応するため、ChaCha20Poly1305の`IsSupported`テスト期待値を更新します。Azure Linux 3では無効のままですが、Azure Linux 4以上では有効となるよう区別します。 @@ -52,7 +52,7 @@ Azure Linux 4でOpenSSLビルドのChaCha20-Poly1305暗号が再度有効にな - 作成者: [@jtschuster](https://github.com/jtschuster) - 作成日時: 2026年04月30日 16:26:56(UTC) - マージ日時: 2026年04月30日 17:50:20(UTC) -- ラベル: area-GC-coreclr +- ラベル: area-GC-coreclr #### 概要 CoreCLR JIT/GC ストレステスト調査ドキュメントにおいて、「ユニーク スタック トレース」GC ストレスフラグ値を誤った `0xF` から正しい `0x10` に修正しました。これにより、ドキュメントと実装の `gcenv.h` で定義されている `GCSTRESS_UNIQUE = 16 (0x10)` の値が一致するようになります。 @@ -73,7 +73,7 @@ CoreCLR JIT/GC ストレステスト調査ドキュメントにおいて、「 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月30日 05:48:16(UTC) - マージ日時: 2026年04月30日 12:42:14(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 .NETランタイムのバインダーコンポーネントから、呼び出されていない不要なコード(`ApplicationContext::GetApplicationName()`メソッドと関連フィールド)を削除するメンテナンス変更です。これらは宣言・定義されていながら、バインダー内のどこからも呼び出されていないデッドコードでした。 @@ -95,7 +95,7 @@ CoreCLR JIT/GC ストレステスト調査ドキュメントにおいて、「 - 作成者: [@jkotas](https://github.com/jkotas) - 作成日時: 2026年04月30日 04:51:47(UTC) - マージ日時: 2026年04月30日 19:06:00(UTC) -- ラベル: area-GC-coreclr +- ラベル: area-GC-coreclr #### 概要 GCのデバッグ検証を強化するPRです。x86プラットフォームでのGCルート報告の穴を塞ぎ、`GCHeap::Promote`におけるデバッグ時の検証を改善しています。オブジェクトポインタが`find_object`ブックキーピング範囲外にある場合でも、インテリアポインタでないルートについて`CObjectHeader::Validate()`を呼び出すことで、メモリ破損の問題をより確定的に再現・診断できるようにしています。 @@ -118,7 +118,7 @@ GCのデバッグ検証を強化するPRです。x86プラットフォームで - 作成者: [@tommcdon](https://github.com/tommcdon) - 作成日時: 2026年04月30日 02:46:47(UTC) - マージ日時: 2026年04月30日 11:33:08(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 Windows x64デバッグにおいて、CET対応ハードウェア上でInterpreterブレークポイントを使用する際のクラッシュを修正します。Interpreterブレークポイントは合成的なソフトウェアコールバックであり、ベクター例外ハンドラー(VEH)コールバックではないため、`fIsVEH=FALSE`を`FirstChanceNativeException`に渡すことで、不要な`SendSetThreadContextNeeded`の発火を防ぎます。 @@ -140,7 +140,7 @@ CET対応ハードウェア上でのデバッグ時における不要なスレ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月30日 00:44:33(UTC) - マージ日時: 2026年04月30日 21:31:12(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 ILCompiler の入力ファイル読み込み時に `BadImageFormatException` を黙って飲み込む長年のハック(corert#2785 対応)を削除し、直接的な割り当てに置き換えています。このワークアラウンドは CoreCLR テストツリーにネイティブ DLL が混在するシナリオに対応していましたが、現在はそのシナリオが存在しないため不要になっています。 @@ -170,7 +170,7 @@ typeSystemContext.InputFilePaths = _command.Result.GetValue(_command.InputFilePa - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月29日 20:58:49(UTC) - マージ日時: 2026年04月30日 16:56:48(UTC) -- ラベル: area-GC-coreclr +- ラベル: area-GC-coreclr #### 概要 `GC/API/GC/GetTotalAllocatedBytes.TestAnotherThread`テストが32ビット環境で`OutOfMemoryException`により断続的に失敗する問題を修正しました。32ビット環境でのスレッド作成負荷を軽減し、ARM上でテストが実行されるようにしました。 @@ -193,7 +193,7 @@ typeSystemContext.InputFilePaths = _command.Result.GetValue(_command.InputFilePa - 作成者: [@eiriktsarpalis](https://github.com/eiriktsarpalis) - 作成日時: 2026年04月29日 15:21:41(UTC) - マージ日時: 2026年04月30日 13:14:49(UTC) -- ラベル: area-System.Text.Json +- ラベル: area-System.Text.Json #### 概要 System.Text.Jsonに4つの新しい公開APIを追加し、`IAsyncEnumerable`をJSON Lines (JSONL)形式で直接シリアル化できるようにします。`topLevelValues`パラメータを`true`に設定することで、従来のJSON配列形式(デフォルト)の代わりにJSONL形式(`\n`区切りの行形式)で出力できます。既存の`DeserializeAsyncEnumerable`と同じAPIパターンを採用しています。 @@ -230,7 +230,7 @@ public static Task SerializeAsyncEnumerable( - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年04月29日 14:01:20(UTC) - マージ日時: 2026年04月30日 20:04:29(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC dump テストのデバッギー アプリケーションが、SDK バンドルの crossgen2 ではなく、ローカルでビルドした crossgen2 を使用して ReadyToRun (R2R) コンパイルされるようにします。ランタイム更新時に型が削除または変更されると、SDK の crossgen2 が存在しない型を参照する R2R サンクを出力し、`TypeLoadException` または実行時の null グローバルを引き起こすという問題を解決します。 @@ -254,7 +254,7 @@ GitHub Copilot の支援で作成されたPRです。クロスビルドシナリ - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年04月28日 23:59:48(UTC) - マージ日時: 2026年04月30日 00:45:43(UTC) -- ラベル: area-Serialization reduce-unsafe +- ラベル: area-Serialization reduce-unsafe #### 概要 DataContractSerialization ライブラリの DCS ユーティリティ(UniqueId、XmlBufferReader)から unsafe コードを削除し、安全なコードに置き換える変更です。JIT 側での最適化により、パフォーマンス改善が期待されています。 @@ -276,7 +276,7 @@ DataContractSerialization ライブラリの DCS ユーティリティ(UniqueI - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年04月28日 21:55:16(UTC) - マージ日時: 2026年04月30日 11:59:13(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITのValue Numbering (VN) レベルで2つの代数的恒等式を追加し、整数型の最適化を強化しています。 - `(a - x) + x == a`(及び可換バリアント) @@ -304,7 +304,7 @@ VN等価性の検出精度向上により、コンパイラが冗長な計算を - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年04月28日 21:53:09(UTC) - マージ日時: 2026年04月30日 20:58:19(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 Wasm32環境の`ArgIterator.ForceSigWalk()`メソッドに関連する2つのバグを修正しました。名前付き引数がなく隠し引数(`this`、`retbuf`、ジェネリックコンテキストなど)のみが存在するメソッドで、引数スタックサイズの計算に誤りがあり、GCRefMapBuilderが0長度のフェイクスタックを生成して`IndexOutOfRangeException`が発生していた問題を解決しています。 @@ -328,7 +328,7 @@ Wasm32環境の`ArgIterator.ForceSigWalk()`メソッドに関連する2つのバ - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年04月28日 17:19:43(UTC) - マージ日時: 2026年04月30日 18:33:52(UTC) -- ラベル: Servicing-approved area-PAL-coreclr +- ラベル: Servicing-approved area-PAL-coreclr #### 概要 ARM64プラットフォームでSME対応だがSVE非対応の環境でSIGILLクラッシュが発生する回帰問題を修正します。特にApple M4ハードウェア上のDockerコンテナでの.NET 10 SDK実行時に、dotnet new、dotnet add package、dotnet buildなどの操作中に「Illegal instruction (core dumped)」エラーで不定期にクラッシュする問題が対象です。修正後、Ubuntu 22.04コンテナ内でのプロジェクト作成が確実に成功するようになりました。 @@ -354,7 +354,7 @@ ARM64プラットフォームでSME対応だがSVE非対応の環境でSIGILLク - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月27日 23:11:38(UTC) - マージ日時: 2026年04月30日 16:44:44(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 CI パイプラインモニタリングスクリプトの `skip_reason` メッセージを改善し、テスト結果がゼロの場合の原因をより明確にしました。最も一般的な原因であるキャンセルされたレグ(cancelled leg)を明示することで、トリアージとレポーティングの効率化を図っています。 @@ -375,7 +375,7 @@ CI パイプラインモニタリングスクリプトの `skip_reason` メッ - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年04月27日 17:26:01(UTC) - マージ日時: 2026年04月30日 13:10:48(UTC) -- ラベル: os-ios area-CodeGen-Interpreter-coreclr +- ラベル: os-ios area-CodeGen-Interpreter-coreclr #### 概要 Apple mobile CoreCLR上で`System.Private.Xml`テストスイートを実行可能にするPRです。テストプロジェクト除外設定を削除して、このライブラリのテストを有効化しました。ローカルテストは全て成功しています。 @@ -400,7 +400,7 @@ Apple mobile CoreCLR上で`System.Private.Xml`テストスイートを実行可 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月25日 08:51:25(UTC) - マージ日時: 2026年04月30日 14:09:37(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Compact Diagnostic Access Component)の RuntimeTypeSystem コントラクトに新しい `GetGCDescSeries` API を追加し、GC ポインタ実行情報を列挙できるようにしました。これにより、動的に作成された continuation 型の pretty-printing が可能になり、WebApp3 テスト失敗の修正につながります。オプションの `numComponents` パラメータで配列型に対応し、通常の GCDesc 配置と value-class 繰り返し配置の両方をサポートします。 @@ -429,7 +429,7 @@ cDAC(Compact Diagnostic Access Component)の RuntimeTypeSystem コントラ - 作成者: [@barosiak](https://github.com/barosiak) - 作成日時: 2026年04月24日 23:18:14(UTC) - マージ日時: 2026年04月30日 23:55:16(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Compact Data Access Contract)の`DacDbiImpl.GetModuleSimpleName`を`ILoader`コントラクトを使用して実装し、レガシーDAC委譲への依存を排除します。モジュール名取得をコントラクトベースのアプローチに統一し、ダンプベースのテストで検証を追加します。 @@ -459,7 +459,7 @@ cDAC(Compact Data Access Contract)の`DacDbiImpl.GetModuleSimpleName`を`ILo - 作成者: [@adamperlin](https://github.com/adamperlin) - 作成日時: 2026年04月24日 22:54:56(UTC) - マージ日時: 2026年04月30日 01:16:28(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 Wasm RyuJIT スタックファイアの LIR セマンティクス修正。スタック化処理中に導入された一時変数が、同じルートツリー内で過度に早く解放・再利用されることで無効な LIR が生成される問題を修正しました。 @@ -488,7 +488,7 @@ Wasm RyuJIT スタックファイアの LIR セマンティクス修正。スタ - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年04月24日 12:42:45(UTC) - マージ日時: 2026年04月30日 11:57:37(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 On-Stack Replacement(OSR)機能に関する設計ドキュメントと実装コメントを、最近の仕様変更に合わせて更新するPRです。パッチポイントヘルパーが継続アドレスを返すようになったこと、Tier0からOSRコードへのジャンプベースエントリ、およびターゲット固有のカリー保存処理の変更を反映しています。 @@ -511,7 +511,7 @@ On-Stack Replacement(OSR)機能に関する設計ドキュメントと実装 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月18日 14:12:17(UTC) - マージ日時: 2026年04月30日 07:21:51(UTC) -- ラベル: area-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 `Process` クラスに新しい同期API `ReadAllLines(TimeSpan? timeout = default)` を追加します。このAPIは、stdout と stderr からインターリーブされた行を同時に読み取り、`ProcessOutputLine` インスタンスをyieldする単一スレッドのマルチプレックス実装で、デッドロックを回避します。 @@ -550,7 +550,7 @@ foreach (ProcessOutputLine line in process.ReadAllLines()) - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年04月17日 22:02:13(UTC) - マージ日時: 2026年04月30日 09:37:39(UTC) -- ラベル: area-ILTools-coreclr +- ラベル: area-ILTools-coreclr #### 概要 ilasm round-trip テストを新しいマネージド ilasm(Core_Root の `managed-ilasm/` サブフォルダに配置)を使用して実行するためのインフラストラクチャを追加します。マネージド ilasm とネイティブ ilasm の両方で round-trip 検証を実行できるようになります。このPRではCI での実行は有効化されていません。 @@ -576,7 +576,7 @@ ilasm round-trip テストを新しいマネージド ilasm(Core_Root の `man - 作成者: [@adamperlin](https://github.com/adamperlin) - 作成日時: 2026年04月10日 23:33:31(UTC) - マージ日時: 2026年04月30日 01:18:13(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 WebAssembly RyuJit コンパイラにおいて、Ready-to-Run (R2R) 形式のマネージド呼び出しを適切に処理するためのコード生成修正。特に、PEP (Portable Entrypoint) 呼び出し規約を使用するマネージド呼び出しで、追加のPEPパラメータを正しく渡すための lowering ロジックの実装と、helper 呼び出しのコード生成修正を含みます。 @@ -607,7 +607,7 @@ lowering 変換では、PEP を保持する一時ローカル変数を導入し - 作成者: [@StephenMolloy](https://github.com/StephenMolloy) - 作成日時: 2026年04月10日 21:26:27(UTC) - マージ日時: 2026年04月30日 19:00:15(UTC) -- ラベル: area-Serialization +- ラベル: area-Serialization #### 概要 XmlSerializerのストリーミングトランスポート経由でのXMLフラグメント逆シリアル化時に、トップレベル終了要素後の不要な読み取りを避ける回避策を実装しました。デフォルト有効の`UseXmlSerializerReadEndElementWorkaround`AppContextスイッチにより、ブロッキングやタイムアウトを防ぎながら、複数ルート要素の逆シリアル化に対応します。 @@ -633,7 +633,7 @@ XmlSerializerのストリーミングトランスポート経由でのXMLフラ - 作成者: [@aw0lid](https://github.com/aw0lid) - 作成日時: 2026年03月30日 11:54:03(UTC) - マージ日時: 2026年04月30日 13:29:01(UTC) -- ラベル: area-System.Collections community-contribution +- ラベル: area-System.Collections community-contribution #### 概要 `ImmutableHashSet.SetEquals`メソッドを最適化し、不要な中間`HashSet`の生成を排除しました。パターンマッチングとカウント事前チェックにより、Count不一致やImmutableHashSet/HashSetの同型比較時にゼロアロケーションを実現します。特に100,000要素規模で最大200万倍のスピードアップを達成しています。 @@ -673,7 +673,7 @@ Count不一致ケース: - 作成者: [@BoyBaykiller](https://github.com/BoyBaykiller) - 作成日時: 2026年02月23日 04:54:28(UTC) - マージ日時: 2026年04月30日 12:46:12(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 JIT の if-conversion フェーズを改善し、明示的な else ブロックがない場合でも、JTRUE ブロック内の無条件ストア操作を else 値として扱うようにしました。これにより、以下の2つのコードパターンが同等の IR を生成され、後続の最適化が有効になります。 diff --git a/archives/2026/05/01.md b/archives/2026/05/01.md index 13b9ca5..f6ed011 100644 --- a/archives/2026/05/01.md +++ b/archives/2026/05/01.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#127653 Fix SIGBUS crash on ARMv7: use Unsafe.ReadUnaligned in Frozen.Hashing](#127653) 2. [#127643 Always add ManagedDataDescriptorProvider to compilationRoots](#127643) 3. [#127638 Fix `!m_RedirectContextInUse` assert in `RestoreContextSimulated` on win-x86](#127638) @@ -28,7 +28,7 @@ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月01日 16:24:03(UTC) - マージ日時: 2026年05月01日 19:38:26(UTC) -- ラベル: area-System.Collections +- ラベル: area-System.Collections #### 概要 ARMv7(Android Unity IL2CPPなど)で`System.Collections.Frozen.Hashing`の`char*`から`uint*`へのキャスト時に発生するアンアライン32ビット読み取りによるSIGBUSクラッシュを修正します。`ToFrozenSet(StringComparer.Ordinal)`を長さ≥4の文字列で呼び出す際の問題を解決します。 @@ -54,7 +54,7 @@ ARMv7(Android Unity IL2CPPなど)で`System.Collections.Frozen.Hashing`の`c - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年05月01日 10:55:31(UTC) - マージ日時: 2026年05月01日 20:43:43(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT ILCompiler でコンパイルエラー(unresolved external symbol `DotNetManagedContractDescriptor`)を解決するため、`ManagedDataDescriptorProvider` を `compilationRoots` に常に追加するように変更しました。これまでは `--debug` オプション有効時のみの追加でしたが、デバッグ情報の有無に関わらず無条件に追加するようにしました。 @@ -76,7 +76,7 @@ NativeAOT ILCompiler でコンパイルエラー(unresolved external symbol `D - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月01日 05:32:22(UTC) - マージ日時: 2026年05月01日 21:47:37(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 Windows x86環境において、`RestoreContextSimulated`内で`HandleThreadAbort()`が呼び出される際に`m_RedirectContextInUse`がまだ`true`のままであるという問題を修正しました。この状態でGC redirectが発火すると`MarkRedirectContextInUse()`がアサーション失敗を引き起こしていました。修正により、x86 SEHパスと`RtlRestoreContext`パスが共通の中止チェックコードパスを共有するようになり、再入可能性ウィンドウが排除されます。 @@ -102,7 +102,7 @@ Windows x86環境において、`RestoreContextSimulated`内で`HandleThreadAbor - 作成者: [@tannergooding](https://github.com/tannergooding) - 作成日時: 2026年05月01日 01:28:21(UTC) - マージ日時: 2026年05月01日 05:46:47(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイラの`GenTree::TryGetUse`メソッドから不要な大規模な`switch`ステートメントを削除するリファクタリング。既存のオペレータ分類ヘルパー(`OperIsLeaf`、`OperIsSpecial`など)を活用して、コードの簡潔性を向上させます。ARM64の`GT_SELECT_{INC,INV,NEG}`ノードを真の条件付き/特殊ノードに再分類しています。 @@ -125,7 +125,7 @@ JITコンパイラの`GenTree::TryGetUse`メソッドから不要な大規模な - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月01日 01:13:12(UTC) - マージ日時: 2026年05月01日 05:54:52(UTC) -- ラベル: area-Tracing-coreclr +- ラベル: area-Tracing-coreclr #### 概要 `FEATURE_AUTO_TRACE`機能を完全に削除するPRです。AutoTraceはEventPipeを経由したDiagnostic Serverの自動ストレステスト用インフラストラクチャであり、環境変数`DOTNET_AutoTrace_N_Tracers`と`DOTNET_AutoTrace_Command`で制御されていました。デフォルトでは有効化されていませんでした。 @@ -159,7 +159,7 @@ JITコンパイラの`GenTree::TryGetUse`メソッドから不要な大規模な - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月30日 23:11:30(UTC) - マージ日時: 2026年05月01日 14:01:45(UTC) -- ラベル: area-AssemblyLoading +- ラベル: area-AssemblyLoading #### 概要 CoreCLR ネイティブアセンブリバインダーおよび `AssemblySpec` から、使用されていない/到達不可能な WinRT `ContentType` プランビングを削除するクリーンアップ。3つのコミットに分割され、各ステップで不要になったコードを段階的に除去しています。 @@ -191,7 +191,7 @@ CoreCLR ネイティブアセンブリバインダーおよび `AssemblySpec` - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月30日 21:59:09(UTC) - マージ日時: 2026年05月01日 17:51:48(UTC) -- ラベル: area-Infrastructure-coreclr +- ラベル: area-Infrastructure-coreclr #### 概要 CI パイプラインモニターの追跡対象パイプライン一覧に `runtime-coreclr jit-cfg`(Control Flow Guard)を追加するドキュメント更新です。 @@ -214,7 +214,7 @@ CI パイプラインモニターの追跡対象パイプライン一覧に `run - 作成者: [@adamperlin](https://github.com/adamperlin) - 作成日時: 2026年04月30日 21:42:03(UTC) - マージ日時: 2026年05月01日 16:55:08(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 R2R(Ready-to-Run)の`needsIndirectionCellArg`条件を判定するifdef チェーンをリファクタリング。条件をより明示的にし、アーキテクチャごとの動作をドキュメント化して可読性を向上。 @@ -238,7 +238,7 @@ JIT(Just-In-Time)コンパイラの内部実装変更。R2R実行可能フ - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年04月30日 20:22:24(UTC) - マージ日時: 2026年05月01日 05:06:13(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Compact Data Access Component)の`GetUserString` DEBUG検証ロジックにおけるアサーション失敗を修正しました。検証ブロックが null 終端に依存した文字列構築を行っていたため、バッファ内の意図的に非 null 終端なデータを誤って読み込んでいました。長さ指定の文字列構築 `new string(char*, 0, length)` に変更することで、バッファの内容に関わらず安全に検証できるようにします。 @@ -262,7 +262,7 @@ cDAC(Compact Data Access Component)の`GetUserString` DEBUG検証ロジッ - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年04月30日 20:04:08(UTC) - マージ日時: 2026年05月01日 02:02:03(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 WebAssembly版RyuJITでレジスタに割り当てられた構造体型ローカル変数を読み込む際のアサーション失敗を修正しました。問題は、ローカル変数の読み込み時に、消費側ノードのIR型ではなくローカル変数のレジスタストレージ型を使用することで解決されます。 @@ -283,7 +283,7 @@ WebAssembly版RyuJITでレジスタに割り当てられた構造体型ローカ - 作成者: [@richlander](https://github.com/richlander) - 作成日時: 2026年04月30日 17:15:44(UTC) - マージ日時: 2026年05月01日 03:54:57(UTC) -- ラベル: area-Infrastructure-libraries +- ラベル: area-Infrastructure-libraries #### 概要 Renovateが生成するコミットメッセージのトピックを「container image dependencies」から「container image digests」に変更し、Docker イメージのピン留め更新に関するPRタイトルをより正確にします。デフォルトのRenovate用語である「dependencies」は曖昧であり、「digests」の方がレビュワーと マージ担当者にとってより明確です。 @@ -304,7 +304,7 @@ Renovateが生成するコミットメッセージのトピックを「container - 作成者: [@cshung](https://github.com/cshung) - 作成日時: 2026年04月29日 16:23:17(UTC) - マージ日時: 2026年05月01日 13:52:09(UTC) -- ラベル: area-GC-coreclr community-contribution +- ラベル: area-GC-coreclr community-contribution #### 概要 CrossGen2がR2R (Ready-to-Run) コンパイル時に6GiBのリージョンを確保することで、テストで設定されている3GiB の GCHeapHardLimit を超過し、GCヒープ初期化に失敗する問題を修正します。Collect_Aggressive_LargePages テストをR2R/CrossGen2 環境では無効化することで問題を回避します。 @@ -326,7 +326,7 @@ CrossGen2がR2R (Ready-to-Run) コンパイル時に6GiBのリージョンを確 - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年04月29日 13:26:21(UTC) - マージ日時: 2026年05月01日 06:00:17(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 インタプリタ内で一時停止したスレッドをスタックウォークする際、`StackFrameIterator::Init`がインタプリタコードを指すIPを含むCONTEXTで初期化できるよう改善します。従来はこの場合にアサーション失敗が発生していましたが、呼び出し側で所有する`InterpreterFrame`をスキップするよう要件を明確化し、その検証をアサーションで強制することで解決します。 @@ -351,7 +351,7 @@ CrossGen2がR2R (Ready-to-Run) コンパイル時に6GiBのリージョンを確 - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年04月29日 07:52:28(UTC) - マージ日時: 2026年05月01日 06:40:57(UTC) -- ラベル: area-System.Runtime.InteropServices community-contribution +- ラベル: area-System.Runtime.InteropServices community-contribution #### 概要 DNNE (C# Native Interop)のバージョンを2.1.1から2.1.2に更新するパッチリリースです。[#127414](https://github.com/dotnet/runtime/issues/127414)の修正に対応しています。 @@ -372,7 +372,7 @@ DNNE (C# Native Interop)のバージョンを2.1.1から2.1.2に更新するパ - 作成者: [@tannergooding](https://github.com/tannergooding) - 作成日時: 2026年04月28日 19:20:18(UTC) - マージ日時: 2026年05月01日 00:25:42(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイラのレジスター定義をアーキテクチャ別に整理し、汎用的なregister.hから各プラットフォーム固有の定義をsplitして個別ファイル化しました。これにより他のプラットフォーム実装との一貫性を向上させています。 @@ -397,7 +397,7 @@ JITコンパイラのレジスター定義をアーキテクチャ別に整理 - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年04月28日 04:24:24(UTC) - マージ日時: 2026年05月01日 18:58:17(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 macOS上でのruntime-diagnosticsパイプラインのcDAC dump-testレグが無効化されていた状況を解決するため、`osx_arm64`と`osx_x64`をデフォルトの`cdacDumpPlatforms`リストに再追加し、macOSのカバレッジを復活させるPRです。 @@ -420,7 +420,7 @@ macOS上でのruntime-diagnosticsパイプラインのcDAC dump-testレグが無 - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年04月28日 03:57:49(UTC) - マージ日時: 2026年05月01日 06:24:14(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Component Data Access)のダンプテスト において、前回のPRで過度にヒープダンプに変換されたいくつかのテストを、フルダンプに戻す修正です。CCW、RCW、BasicThreadsの3つのダンプターゲットがフルダンプに切り替えられました。 @@ -443,7 +443,7 @@ cDAC(Component Data Access)のダンプテスト において、前回のPR - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年04月28日 00:25:17(UTC) - マージ日時: 2026年05月01日 18:54:28(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 GS(Guard Stack)フレームにおいて、マルチレジスタ構造体パラメータのコピー時に、スピル時の狭い幅の書き込みとコピー時の広い幅の書き込みのミスマッチによるストア・フォワード・スタッシュを回避します。SIMD命令を使用した広幅コピーを避け、整数レジスタサイズのコピーを強制することで最適化します。 @@ -467,7 +467,7 @@ GS(Guard Stack)フレームにおいて、マルチレジスタ構造体パ - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年04月24日 18:35:02(UTC) - マージ日時: 2026年05月01日 04:24:34(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Compact Data Access Contract)スタックウォーク機能の第1段階として、GC参照スキャニングとスタックウォーカーの修正を実装します。これにより、遷移フレーム経由のGCルート列挙、GCRefMap/署名ベースのスキャニング、例外フレーム状態追跡が可能になります。本PRは5部構成の予定の第1部です。 @@ -504,7 +504,7 @@ cDAC(Compact Data Access Contract)スタックウォーク機能の第1段 - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年04月22日 21:44:14(UTC) - マージ日時: 2026年05月01日 14:30:41(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 ExInfo構造体の冗長なGCハンドルベースの`m_hThrowable`フィールドを削除し、既存の`m_exception` OBJECTREFフィールドへの直接ポインタの使用に統一します。これにより例外スロー時の割り当て/解放のオーバーヘッド(~5個のインターロック操作)とポインタ間接参照を削減し、NativeAOTのアプローチに合わせます。 @@ -547,7 +547,7 @@ ExInfo構造体の冗長なGCハンドルベースの`m_hThrowable`フィール - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年04月15日 22:50:27(UTC) - マージ日時: 2026年05月01日 05:02:07(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT向けのcDAC(Common Data Access Contract)データディスクリプタインフラストラクチャを追加し、診断ツール(cDAC reader、SOS)がNativeAOTランタイム状態をCoreClRと同じコントラクトベースのメカニズムで検査できるようにします。スレッド情報、MethodTable、メモリアロケーション、GCデータなどのランタイム構造体オフセットと、ILCコンパイル時に生成されるマネージド型レイアウト副記述子により、デバッグツールの相互運用性を実現します。 @@ -577,7 +577,7 @@ NativeAOT向けのcDAC(Common Data Access Contract)データディスクリ - 作成者: [@jkoritzinsky](https://github.com/jkoritzinsky) - 作成日時: 2026年04月14日 21:27:57(UTC) - マージ日時: 2026年05月01日 19:16:35(UTC) -- ラベル: area-Interop-coreclr +- ラベル: area-Interop-coreclr #### 概要 配列マーシャリング(LPArray、固定配列、SAFEARRAYコンテンツ処理)ロジックをネイティブコード(olevariant.h/cpp)から管理コード(StubHelpers.cs)に移行するPRです。これにより`olevariant.cpp`全体をWindows専用化でき、WASMでのマーシャリングロジック削除時の対応が容易になります。併せて、従来のSAFEARRAY向けに設計された`VTHACK_*`定数を削除しています。 @@ -611,7 +611,7 @@ NativeAOT向けのcDAC(Common Data Access Contract)データディスクリ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月19日 19:11:38(UTC) - マージ日時: 2026年05月01日 16:07:27(UTC) -- ラベル: area-AssemblyLoading +- ラベル: area-AssemblyLoading #### 概要 アセンブリロード失敗時の例外診断を改善し、依存関係の欠落や無効性の際に、ロード失敗をトリガーした要求元アセンブリのチェーンを追跡・表示するようにしました。これにより複雑な依存関係のシナリオでも開発者はロード失敗の原因を特定しやすくなります。 diff --git a/archives/2026/05/02.md b/archives/2026/05/02.md index 4daa8c4..462055f 100644 --- a/archives/2026/05/02.md +++ b/archives/2026/05/02.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#127673 Remove DacDbi GetAppDomainObject API from native and cDAC](#127673) 2. [#127661 Update fgMorphSmpOp to canonicalize commutative and compare ops at the start of POST-ORDER](#127661) 3. [#127660 Don't report a interp-\>native transition when it is done from a pinvoke method](#127660) @@ -11,7 +11,7 @@ - 作成者: [@barosiak](https://github.com/barosiak) - 作成日時: 2026年05月01日 22:28:42(UTC) - マージ日時: 2026年05月02日 05:07:45(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 デバッガインターフェース層(DAC/DBI)から未使用の`GetAppDomainObject` APIを削除するクリーンアップPRです。`GetRawExposedObjectHandleForDebugger()`が常にNULLを返していたため、このAPIは実質的にno-opでした。ネイティブCOM契約(IDL + 抽象インターフェース実装)とマネージドcDAC投影層の両方から削除されます。 @@ -37,7 +37,7 @@ - 作成者: [@tannergooding](https://github.com/tannergooding) - 作成日時: 2026年05月01日 20:09:58(UTC) - マージ日時: 2026年05月02日 21:34:13(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 CoreCLR JITの`fgMorphSmpOp`関数を修正し、POST-ORDER処理の開始時に交換可能(commutative)な演算子と比較演算子のオペランド順序を正規化するようにしました。これにより、定数が予測可能な位置に配置され、POST-ORDER最適化の一貫性が向上します。 @@ -60,7 +60,7 @@ CoreCLR JITの`fgMorphSmpOp`関数を修正し、POST-ORDER処理の開始時に - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年05月01日 19:41:11(UTC) - マージ日時: 2026年05月02日 15:26:53(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 インタープリタでP/Invoke呼び出し時に管理↔非管理遷移イベントが二重報告される問題を修正します。#126509によるP/Invoke処理の変更後、transient ILがILStubではなくP/Invokeメソッド自体に属するようになったため、遷移イベントが2回報告されていました。P/Invokeメソッドから遷移を行う場合のプロファイラ通知を抑制することで、regressed profiler testを修正します。 @@ -83,7 +83,7 @@ CoreCLR JITの`fgMorphSmpOp`関数を修正し、POST-ORDER処理の開始時に - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月01日 11:10:52(UTC) - マージ日時: 2026年05月02日 02:57:05(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT の環境変数パーサ(`RhConfig::Environment::TryGetIntegerValue`)が 16 進値の `0x`/`0X` プレフィックスに対応していなかったため、`DOTNET_GCHeapHardLimit=0xC0000000` のような設定値がパースに失敗していた問題を修正します。CoreCLR の `strtoul` 相当の動作に統一し、`Collect_Aggressive_LargePages` テストが NativeAOT で失敗する問題を解決します。 @@ -117,7 +117,7 @@ for (uint32_t i = startIndex; i < cchResult; i++) - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年05月01日 09:16:11(UTC) - マージ日時: 2026年05月02日 01:52:39(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT GC stack walkでユニバーサルトランジション(universal transition)フレームからスタートした場合、スクラッチレジスタが不正にGCルートとして報告される問題を修正しました。フレームのアンワインド後、`ActiveStackFrame`をクリアすることで、管理者フレームのスクラッチレジスタがpost-call GC情報から報告されるのを防ぎます。これにより、古いスタンプ状態(コードポインタなど)がGCオブジェクトとして誤認識される問題を解決します。 @@ -142,7 +142,7 @@ GC root検証エラーの根本原因は、スクラッチレジスタ(RAX) - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年04月30日 00:33:54(UTC) - マージ日時: 2026年05月02日 02:23:27(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 WebAssemblyでのEH(例外処理)サポート向けに、JITがfunclet(例外処理コード)の順序をEHクローズの順序に対応させる変更。これにより、Wasmホストがオフセットデータに依存せずにfuncletをEHクローズと関連付けることが可能になります。フィルタ付きのEHクローズの場合、フィルタfuncletは必ずcatch funcletの前に配置されます。 diff --git a/archives/2026/05/03.md b/archives/2026/05/03.md index 3a38c91..cad5a1a 100644 --- a/archives/2026/05/03.md +++ b/archives/2026/05/03.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#127656 Revert "Simplify TrimmerSingleWarn intermediate assembly update using MSBuild item Update"](#127656) 2. [#127562 \[wasm\]\[coreclr\] Do not use SetCleanupNeededForFinalizedThread](#127562) 3. [#126980 \[cDAC\] DacDbi code-version node APIs for ReJIT/SOS](#126980) @@ -8,7 +8,7 @@ - 作成者: [@sbomer](https://github.com/sbomer) - 作成日時: 2026年05月01日 18:36:00(UTC) - マージ日時: 2026年05月03日 20:13:43(UTC) -- ラベル: linkable-framework area-Tools-ILLink +- ラベル: linkable-framework area-Tools-ILLink #### 概要 PR #125630で導入されたMSBuild item `Update`を使用した簡略化を revert。MSBuildの `Update` がターゲット内で正常に動作しない問題を修正し、依存関係フローの問題を解決します。`ResolvedFileToPublish` と `IntermediateAssembly` の交差を計算して、`TrimmerSingleWarn=false` メタデータを確実に適用します。 @@ -32,7 +32,7 @@ MSBuildの `Update` 属性がターゲット内で予期しない動作をする - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年04月29日 14:07:01(UTC) - マージ日時: 2026年05月03日 20:10:27(UTC) -- ラベル: arch-wasm area-VM-coreclr +- ラベル: arch-wasm area-VM-coreclr #### 概要 WebAssembly環境ではファイナライザーが専用スレッドではなくメインスレッドでインライン実行されるため、`Thread`オブジェクトのファイナライズ時に`SetCleanupNeededForFinalizedThread`の`IsFinalizerThread()`アサーションが誤発火していました。本PRでは、WASM環境での不要な呼び出しをガード化し、同時にWebAssemblyでSystem.Threading.Threadテストを有効化します。 @@ -56,7 +56,7 @@ WebAssembly環境ではファイナライザーが専用スレッドではなく - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月16日 00:39:01(UTC) - マージ日時: 2026年05月03日 06:17:58(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Compact Data Access Contract)の `DacDbiImpl` に対して、ReJIT/SOS向けのコード版ノード検索API 3つを実装しました。既存の `CodeVersions` および `ReJIT` コントラクトを活用し、レガシーDAC DBI APIの機能をcDACで提供します。 diff --git a/archives/2026/05/04.md b/archives/2026/05/04.md index 6ae8623..66a6160 100644 --- a/archives/2026/05/04.md +++ b/archives/2026/05/04.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#127689 Ensure we preserve vn and produce a canonical tree](#127689) 2. [#127677 Hide Environment.CallEntryPoint in unhandled exception message](#127677) 3. [#127648 Fix INT_MIN overflow in RangeCheck::BetweenBounds](#127648) @@ -19,7 +19,7 @@ - 作成者: [@tannergooding](https://github.com/tannergooding) - 作成日時: 2026年05月02日 22:56:41(UTC) - マージ日時: 2026年05月04日 05:23:22(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 CoreCLR JIT morphing処理において、特定のパターン変換時にValue Numbering (VN)を保持し、正規化されたツリー構造を生成するようにしました。具体的には、`MOD->AND`強度削減パターンでVNを保存し、`SUB->ADD`パターンで定数を第2オペランドに配置する正規形を生成します。 @@ -43,7 +43,7 @@ CoreCLR JIT morphing処理において、特定のパターン変換時にValue - 作成者: [@jkotas](https://github.com/jkotas) - 作成日時: 2026年05月02日 01:40:54(UTC) - マージ日時: 2026年05月04日 13:15:46(UTC) -- ラベル: area-ExceptionHandling-coreclr +- ラベル: area-ExceptionHandling-coreclr #### 概要 未処理例外のスタックトレースに表示される`System.Environment.CallEntryPoint`ヘルパーフレームを非表示にするための修正です。前回のIssue #126222で意図された変更が実際には反映されていなかったため、CoreCLRの例外スタックトレース取得ロジックを更新して、CallEntryPointメソッドのフレームをスキップするようにしました。 @@ -64,7 +64,7 @@ CoreCLR JIT morphing処理において、特定のパターン変換時にValue - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年05月01日 13:14:49(UTC) - マージ日時: 2026年05月04日 12:11:39(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT範囲解析(`RangeCheck::BetweenBounds`)における符号付き整数オーバーフロー問題を修正しました。下限定数(`lcns`)が`INT_MIN`の場合、`-lcns`の否定がC++の未定義動作となり、不正な「範囲内」判定とそれに伴う誤った境界チェック除去が発生する問題を解決します。 @@ -88,7 +88,7 @@ JIT範囲解析(`RangeCheck::BetweenBounds`)における符号付き整数 - 作成者: [@aw0lid](https://github.com/aw0lid) - 作成日時: 2026年05月01日 01:40:26(UTC) - マージ日時: 2026年05月04日 12:15:53(UTC) -- ラベル: area-System.Collections community-contribution +- ラベル: area-System.Collections community-contribution #### 概要 `ImmutableHashSet.SetEquals`の正確性の問題を修正します。異なる比較子を持つ2つのセットを比較する際、`Count`チェックが比較子の検証ブロック外に配置されていたため、誤って`false`を返していました。修正により、比較子が異なる場合は最適化パスをバイパスし、適切なセット比較にフォールバックします。 @@ -122,7 +122,7 @@ Console.WriteLine(main.SetEquals(other)); // true が返るべき - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年04月30日 11:11:45(UTC) - マージ日時: 2026年05月04日 12:45:12(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 `TypedReference`を返すメソッドをインタープリタからJIT経由で呼び出す際にクラッシュが発生する問題を修正しました。`TypedReference`を2つの8バイト整数値として特別に扱うことで、戻り値の型分類を正しく処理します。 @@ -147,7 +147,7 @@ Console.WriteLine(main.SetEquals(other)); // true が返るべき - 作成者: [@vitek-karas](https://github.com/vitek-karas) - 作成日時: 2026年04月30日 08:26:42(UTC) - マージ日時: 2026年05月04日 13:31:08(UTC) -- ラベル: area-Infrastructure-mono +- ラベル: area-Infrastructure-mono #### 概要 Android arm32(32ビット)のテスト実行をdotnet/runtimeのCI/CDパイプラインから無効化するPRです。Android arm64(64ビット)のテストカバレッジは引き続き有効のままとなります。 @@ -169,7 +169,7 @@ Android arm32(32ビット)のテスト実行をdotnet/runtimeのCI/CDパイ - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年04月29日 15:21:56(UTC) - マージ日時: 2026年05月04日 13:29:39(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 Mobile Platform Failure Scannerワークフローの改善により、モバイルプラットフォーム障害の処理方法をより明確で予測可能にしました。従来は混在したPR、Issue、重複コメントが生成されていましたが、今後は各障害に対して「テスト属性修正用のドラフトPR」または「製品バグ・ネイティブクラッシュ・インフラ問題用のTracking Issue」のいずれかに統一されます。 @@ -201,7 +201,7 @@ Mobile Platform Failure Scannerワークフローの改善により、モバイ - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年04月29日 10:56:23(UTC) - マージ日時: 2026年05月04日 11:06:43(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 `gtTreeHasLocalStore`がローカル変数の定義をすべて適切に処理できていなかった問題を修正します。特にretbuf定義などを見落としていたため、既存の低レベルヘルパー`VisitLocalDefNodes`を活用して、ローカル定義の検出をより堅牢にします。 @@ -226,7 +226,7 @@ Mobile Platform Failure Scannerワークフローの改善により、モバイ - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年04月28日 14:16:55(UTC) - マージ日時: 2026年05月04日 11:06:09(UTC) -- ラベル: area-VM-coreclr runtime-async +- ラベル: area-VM-coreclr runtime-async #### 概要 非同期メソッド呼び出しの再開時に`ExecutionContext`の復元をJITコード/インタプリタからディスパッチャーに移動するリファクタリング。これにより、再開パス上のTLSアクセスとヘルパー呼び出しが削減され、レジスタ割り当てが改善される。 @@ -273,7 +273,7 @@ Mobile Platform Failure Scannerワークフローの改善により、モバイ - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年04月27日 21:04:04(UTC) - マージ日時: 2026年05月04日 23:38:15(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Common Data Access Component)のLoader契約における内部実装の改善。ローダーヒープを文字列キーの辞書から列挙型キーの辞書に変更し、タイプセーフ性を向上させ、メモリ効率とルックアップパフォーマンスを向上させます。 @@ -300,7 +300,7 @@ cDAC(Common Data Access Component)のLoader契約における内部実装の - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月27日 20:56:01(UTC) - マージ日時: 2026年05月04日 23:19:07(UTC) -- ラベル: area-Meta +- ラベル: area-Meta #### 概要 リポジトリの area label を `area-assemblyloading` から `area-AssemblyLoader` に統一するリネーム変更です。これにより、他の area label(例:`area-AssemblyLoader-mono`)と使用されているケーシング規約に合わせます。 @@ -323,7 +323,7 @@ GitHub のポリシー設定、ドキュメント、自動トリアージスキ - 作成者: [@lateralusX](https://github.com/lateralusX) - 作成日時: 2026年04月21日 19:01:10(UTC) - マージ日時: 2026年05月04日 07:19:12(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 高パフォーマンスな非同期プロファイラーを実装するPRです。Runtime Async (AsyncV2) の非同期メソッド実行を低オーバーヘッドで追跡する新しい `AsyncProfilerBufferedEventSource` を導入し、スレッド単位のバッファード事象送出と集中型フラッシュ調整を活用します。従来のTPLイベントプロファイリングと比較して約4~40倍のパフォーマンス向上を実現し、ETLファイルサイズを約10倍削減します。 @@ -364,7 +364,7 @@ GitHub のポリシー設定、ドキュメント、自動トリアージスキ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月18日 21:57:23(UTC) - マージ日時: 2026年05月04日 22:06:20(UTC) -- ラベル: area-System.Diagnostics.Process os-linux +- ラベル: area-System.Diagnostics.Process os-linux #### 概要 `ProcessStartInfo.KillOnParentExit`をLinuxおよびAndroidに対応させるPRです。LinuxではシステムコールのPR_SET_PDEATHSIGに対応した専用の長時間生存スレッドを使用してfork+execを実行し、親プロセス終了時に子プロセスにSIGKILLを送信する仕組みを実装しています。 @@ -393,7 +393,7 @@ GitHub のポリシー設定、ドキュメント、自動トリアージスキ - 作成者: [@kg](https://github.com/kg) - 作成日時: 2026年04月15日 03:04:19(UTC) - マージ日時: 2026年05月04日 13:43:36(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly(WASM)用RyuJITコンパイラのGC情報エンコーディング/デコーディング機能を有効化するPRです。`EMIT_GENERATE_GCINFO`をWASMで有効にし、GC情報の生成・エンコードをWASM固有の実装で対応させます。これにより、読み取り専用(R2R)リリースの対象となるS.P.CoreLibをWASM向けに正式サポートします。 diff --git a/archives/2026/05/05.md b/archives/2026/05/05.md index 2dc1720..a589cf1 100644 --- a/archives/2026/05/05.md +++ b/archives/2026/05/05.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#127801 Update container image digests](#127801) 2. [#127790 \[mobile\] Skip NonRandomizedToRandomizedUpgrade on aggressive trimming](#127790) 3. [#127779 Use exponential buffer growth in LoopbackServer test helper](#127779) @@ -33,7 +33,7 @@ - 作成者: [@dotnet-renovate-bot](https://github.com/dotnet-renovate-bot) - 作成日時: 2026年05月05日 15:27:47(UTC) - マージ日時: 2026年05月05日 20:26:15(UTC) -- ラベル: area-Infrastructure community-contribution +- ラベル: area-Infrastructure community-contribution #### 概要 ビルドパイプラインで使用されるコンテナイメージ `mcr.microsoft.com/dotnet-buildtools/prereqs` のダイジェスト値を一括更新するPRです。Renovate Botによる自動依存関係更新で、41個のコンテナイメージダイジェストが新しいバージョンに更新されています。 @@ -59,7 +59,7 @@ - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年05月05日 10:48:42(UTC) - マージ日時: 2026年05月05日 19:08:35(UTC) -- ラベル: area-System.Collections +- ラベル: area-System.Collections #### 概要 `ConcurrentDictionary_Generic_Tests.NonRandomizedToRandomizedUpgrade_FunctionsCorrectly`テストが、aggressive trimming設定(NativeAoT、Apple mobile)環境で内部型`ConcurrentDictionary<,>+Tables`へのリフレクションが失敗し、`TypeLoadException`が発生する問題を修正します。テストを`PlatformDetection.IsBuiltWithAggressiveTrimming`でゲートすることで、該当環境でのスキップを実装します。 @@ -80,7 +80,7 @@ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月05日 00:15:58(UTC) - マージ日時: 2026年05月05日 20:56:27(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 `LoopbackServer.Connection`のバッファリサイズ戦略を固定サイズ増加(+4000バイト)から指数関数的増加(×2)に変更し、大規模ペイロード処理時のO(n²)コピーを削減します。`ReadToEndAsync`と`ReadLineBytesAsync`の両メソッドで`Array.Resize`を使用した効率的なバッファ管理を実現します。 @@ -103,7 +103,7 @@ Copilotのレビューコメントで、`dataLength == 0`の場合にバッフ - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年05月04日 21:19:46(UTC) - マージ日時: 2026年05月05日 19:47:56(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly(Wasm)RyuJIT コンパイラの出力パイプラインを更新し、各JIT生成関数/funcletに長さプリフィックスを含めるようにしました。これにより、ホスト側でのコード解析が不要になり、funclet分割がより簡潔になります。 @@ -128,7 +128,7 @@ WebAssembly(Wasm)RyuJIT コンパイラの出力パイプラインを更新 - 作成者: [@jjonescz](https://github.com/jjonescz) - 作成日時: 2026年05月04日 15:13:55(UTC) - マージ日時: 2026年05月05日 18:07:06(UTC) -- ラベル: area-System.Runtime.CompilerServices +- ラベル: area-System.Runtime.CompilerServices #### 概要 新しいコンパイラバージョンに対応するため、System.Private.CoreLibとランタイム内の複数のファイルから`[RequiresUnsafe]`属性の使用を削除しています。新コンパイラでは`[RequiresUnsafe]`属性をソースコードで使用することが禁止され、代わりに`unsafe`修飾子を直接使用する必要があります。 @@ -156,7 +156,7 @@ WebAssembly(Wasm)RyuJIT コンパイラの出力パイプラインを更新 - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年05月04日 13:54:55(UTC) - マージ日時: 2026年05月05日 16:33:14(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 Fuzzlyn週末実行時の障害を自動的にトリアージするGitHub Copilot Skill「fuzzlyn-triage」を追加します。このスキルは障害アーティファクトのダウンロード、SuperPMIを用いた再現可能なコンテキストの抽出、jitdumpの生成、および詳細な分析結果と再現用ファイル(repro.mc、jitdump.txt、issue.md)をzipで出力することで、JIT障害の初期トリアージを自動化します。 @@ -177,7 +177,7 @@ Fuzzlyn週末実行時の障害を自動的にトリアージするGitHub Copilo - 作成者: [@mthalman](https://github.com/mthalman) - 作成日時: 2026年05月04日 13:33:52(UTC) - マージ日時: 2026年05月05日 00:28:38(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 Renovateのコンテナイメージダイジェスト更新を個別のPRではなく、単一のPRにグループ化する設定を追加しました。`groupName`と`groupSlug`をパッケージルールに指定することで、複数のダイジェスト更新を一つの単位で管理できるようになります。 @@ -200,7 +200,7 @@ Renovateのコンテナイメージダイジェスト更新を個別のPRでは - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年05月04日 12:04:21(UTC) - マージ日時: 2026年05月05日 01:10:36(UTC) -- ラベル: area-System.Threading.Tasks +- ラベル: area-System.Threading.Tasks #### 概要 System.Threading.Tasks.Tests を NativeAOT でビルド・実行する際に、AsyncProfilerTests が期待する非同期イベント(EventSource イベント)が正しく発行されないため、テスト失敗が多数発生していた問題に対応します。プロジェクトファイルで `EventSourceSupport` を `true` に設定し、NativeAOT ビルド時に EventPipe サポートを有効化することで、ランタイムの非同期イベント追跡機能を動作させるようにします。 @@ -232,7 +232,7 @@ NativeAOT テスト実行時のみ EventSource サポートが有効化される - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年05月04日 11:35:18(UTC) - マージ日時: 2026年05月05日 10:12:38(UTC) -- ラベル: area-System.Net os-android agentic-workflows +- ラベル: area-System.Net os-android agentic-workflows #### 概要 Android プラットフォームにおいて、`System.Net.NameResolution` の localhost サブドメイン解決テストが失敗するため、該当テストに `ActiveIssue` 属性を追加してスキップするようにします。Android の DNS リゾルバーが RFC 6761 の localhost サブドメインに対してループバック アドレス(127.0.0.1 または ::1)ではなく、リンクローカル IPv6 アドレス(`fe80::/10`)を返すことが原因です。 @@ -257,7 +257,7 @@ Android プラットフォームにおいて、`System.Net.NameResolution` の l - 作成者: [@hoyosjs](https://github.com/hoyosjs) - 作成日時: 2026年05月04日 11:04:06(UTC) - マージ日時: 2026年05月05日 00:09:05(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 #127300でExInfo::m_hThrowableが削除されて以降、アクティブな例外ディスパッチ中にThread::m_LastThrownObjectHandleが更新されなくなり、DACのGetThreadDataが古いハンドルを返していました。この修正により、デバッガがアクティブなディスパッチ中の例外を正しく報告できるようになります。 @@ -283,7 +283,7 @@ Android プラットフォームにおいて、`System.Net.NameResolution` の l - 作成者: [@hoyosjs](https://github.com/hoyosjs) - 作成日時: 2026年05月02日 18:42:05(UTC) - マージ日時: 2026年05月05日 06:12:50(UTC) -- ラベル: area-Extensions-Logging +- ラベル: area-Extensions-Logging #### 概要 `LoggingEventSource`の静的フィールド初期化順序の問題を修正しました。`OnEventCommand`が型初期化中に再入呼び出しされる際、`ParseFilterSpec`がnullセパレータ配列を参照して`FilterSpec`を誤解析する問題を解決しています。静的フィールド`s_semicolon`と`s_colon`の初期化を`Instance`より前に移動することで、再入呼び出し時に確実に初期化済みの状態になるようにしました。 @@ -306,7 +306,7 @@ Android プラットフォームにおいて、`System.Net.NameResolution` の l - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年05月02日 06:19:08(UTC) - マージ日時: 2026年05月05日 06:38:19(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT環境でのGC情報処理において、ハードウェアフォルトスタックウォーク時に`executionAborted`フラグを保持するよう、`GetCodeOffset`デバッグ検証時のMethodInfo変更を回避する修正です。例外ディスパッチ中のGC発生時にGCルート報告が正確に行われるようにします。 @@ -329,7 +329,7 @@ NativeAOT環境でのGC情報処理において、ハードウェアフォルト - 作成者: [@bartonjs](https://github.com/bartonjs) - 作成日時: 2026年04月30日 21:54:12(UTC) - マージ日時: 2026年05月05日 17:00:31(UTC) -- ラベル: Servicing-approved area-System.Security +- ラベル: Servicing-approved area-System.Security #### 概要 Linux上でのCRL(証明書失効リスト)処理時のメモリ問題を軽減するため、OpenSSL CRL処理に境界付きのインメモリMRU(Most Recently Used)キャッシュを導入するバックポート。.NET 11 Preview 3で導入された機能をrelease/8.0-stagingブランチに適用します。 @@ -358,7 +358,7 @@ CRLを繰り返し検証するプロセスで、OpenSSL+glibcの小サイズア - 作成者: [@bartonjs](https://github.com/bartonjs) - 作成日時: 2026年04月30日 21:53:13(UTC) - マージ日時: 2026年05月05日 17:13:15(UTC) -- ラベル: Servicing-approved area-System.Security +- ラベル: Servicing-approved area-System.Security #### 概要 Linux上でのCRL処理による過度なメモリ使用量問題を解決するため、CRL用のメモリ内MRU(Most Recently Used)キャッシュを実装しました。本変更により、リビジョン確認を頻繁に行うプロセスでは同じCRLを繰り返しロードせず、glibc メモリアリーナの断片化による見かけ上のメモリリークを軽減します。.NET 11 Preview 3で導入された本機能をrelease/9.0-stagingにバックポートしたものです。 @@ -386,7 +386,7 @@ Linux上でのCRL処理による過度なメモリ使用量問題を解決する - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年04月30日 11:21:07(UTC) - マージ日時: 2026年05月05日 00:46:31(UTC) -- ラベル: area-Diagnostics-coreclr community-contribution +- ラベル: area-Diagnostics-coreclr community-contribution #### 概要 PAL(Platform Abstraction Layer)から`CreateProcessW`実装を削除するクリーンアップです。`CreateProcessW`はWindows固有のプロセス生成APIであり、.NET Coreでは既に使用されていないため、PAL実装とそれに関連するテストコードを削除しました。この変更により、Windows専用のプロセス管理ロジックが排除されます。 @@ -412,7 +412,7 @@ PAL(Platform Abstraction Layer)から`CreateProcessW`実装を削除する - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年04月29日 17:55:57(UTC) - マージ日時: 2026年05月05日 17:08:57(UTC) -- ラベル: Servicing-approved area-System.Security +- ラベル: Servicing-approved area-System.Security #### 概要 Linuxにおいて、CRL(証明書失効リスト)処理によるメモリ問題を軽減するため、インメモリのMRU(Most Recently Used)キャッシュを導入します。 @@ -441,7 +441,7 @@ Linuxにおいて、CRL(証明書失効リスト)処理によるメモリ問 - 作成者: [@tmds](https://github.com/tmds) - 作成日時: 2026年04月29日 14:48:28(UTC) - マージ日時: 2026年05月05日 10:04:30(UTC) -- ラベル: area-System.Diagnostics.Process community-contribution +- ラベル: area-System.Diagnostics.Process community-contribution #### 概要 シェルスクリプト基盤のテスト(`LongProcessNamesAreSupported`および`ProcessNameMatchesScriptName`)で、孫プロセス(sleep)を含むプロセスツリー全体を適切に終了するよう改善しました。従来はシェルのみを終了しており、睡眠プロセスが残ったままになり、テスト親プロセスの標準出力/標準エラーパイプが開いたままになる問題を修正しています。 @@ -465,7 +465,7 @@ Linuxにおいて、CRL(証明書失効リスト)処理によるメモリ問 - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年04月29日 08:56:00(UTC) - マージ日時: 2026年05月05日 12:34:04(UTC) -- ラベル: arch-wasm area-Host os-browser +- ラベル: arch-wasm area-Host os-browser #### 概要 CoreCLR WASM ランタイムの JS ローダーに実装されていなかった `invokeLibraryInitializers` API を実装しました。この API は Blazor の JS initializer hooks (`beforeStart`/`afterStarted`) を実行するために必要であり、実装がないと CoreCLR WASM 上で Blazor アプリが起動時にクラッシュしていました。 @@ -488,7 +488,7 @@ CoreCLR WASM ランタイムの JS ローダーに実装されていなかった - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月28日 18:27:04(UTC) - マージ日時: 2026年05月05日 10:01:48(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 ReadyToRun(R2R)コンパイル時の非同期再開スタブ(async resumption stub)fixupの処理を修正するPRです。これまで直接コンパイル済みメソッドノードに追加されていたfixupを、既存のprecode fixupパイプラインを通すように変更しました。これにより、fixupの重複排除と失敗したコンパイルパスでの不適切なコミットを防ぎます。 @@ -521,7 +521,7 @@ private void AddResumptionStubFixup(MethodWithGCInfo compiledStubNode) - 作成者: [@unsafePtr](https://github.com/unsafePtr) - 作成日時: 2026年04月22日 22:51:30(UTC) - マージ日時: 2026年05月05日 19:32:52(UTC) -- ラベル: area-System.Diagnostics.Tracing community-contribution +- ラベル: area-System.Diagnostics.Tracing community-contribution #### 概要 `CounterGroup`のタイマー実装を`DateTime.UtcNow`から`Stopwatch`に変更しました。`DateTime.UtcNow`はNTP同期により時刻がジャンプする可能性があり、EventCounter購読者に報告される経過時間が不正確になるため、単調性を持つ`Stopwatch`を使用することで問題を解決します。この変更は`EventCounter`、`PollingCounter`、`IncrementingPollingCounter`、`IncrementingEventCounter`など、`CounterGroup`を間接的に使用するすべてのカウンター型に影響します。 @@ -544,7 +544,7 @@ private void AddResumptionStubFixup(MethodWithGCInfo compiledStubNode) - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月22日 18:38:36(UTC) - マージ日時: 2026年05月05日 19:20:58(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Common Data Access Component)の`TraverseVirtCallStubHeap` SOS API を実装し、ネイティブDAC と同じ動作を実現します。VirtualCallStubManager のローダーヒープ(Indcell / CacheEntry)をトラバースする機能を追加し、既存の`TraverseLoaderHeapCore`ローダーヒープトラバーサル構造を再利用しています。 @@ -567,7 +567,7 @@ cDAC(Common Data Access Component)の`TraverseVirtCallStubHeap` SOS API を - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月20日 20:37:51(UTC) - マージ日時: 2026年05月05日 17:13:08(UTC) -- ラベル: arch-wasm area-GC-coreclr +- ラベル: arch-wasm area-GC-coreclr #### 概要 WebAssembly、iOS、tvOSのCoreClrビルドから、これらのプラットフォームでは使用できない/不要なGCモード(サーバーGCとバックグラウンドGC)を削除することで、バイナリサイズを最適化します。`corerun.wasm`の計測結果では、生バイナリで**7.2%(325,686バイト)**、Brotli圧縮後で**6.2%(82,556バイト)**のサイズ削減を実現しています。 @@ -595,7 +595,7 @@ WebAssembly、iOS、tvOSのCoreClrビルドから、これらのプラットフ - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年04月16日 17:14:06(UTC) - マージ日時: 2026年05月05日 15:37:04(UTC) -- ラベル: arch-wasm area-VM-coreclr +- ラベル: arch-wasm area-VM-coreclr #### 概要 WebAssembly (WASM) 環境における `calli` クッキーの繰り返しの計算を避けるため、キャッシング機構を実装しました。HelloWorld での計測結果、キャッシュは 51.4% のヒット率を達成し、計 35 回のアクセスのうち 18 回がキャッシュから取得されています。 @@ -624,7 +624,7 @@ WebAssembly (WASM) 環境における `calli` クッキーの繰り返しの計 - 作成者: [@rolfbjarne](https://github.com/rolfbjarne) - 作成日時: 2026年04月16日 14:31:45(UTC) - マージ日時: 2026年05月05日 17:09:23(UTC) -- ラベル: linkable-framework area-Tools-ILLink +- ラベル: linkable-framework area-Tools-ILLink #### 概要 ILLinkのTypeMap処理におけるトリミングバグを修正しました。`TypeMapHandler.MarkTypeMapAttribute`が`Annotations.MarkInstantiated`を直接呼び出していたため、完全な処理パイプライン(`ProcessType`および`ProcessInstantiated`)がスキップされ、`TypeMap`および`TypeMapAssociation`エントリが誤ってトリミングされていました。修正により`MarkRequirementsForInstantiatedTypes`を呼び出すことで、全処理パイプラインが実行され、型のインスタンス化順序に関わらず外部の`TypeMap`およびプロキシ`TypeMapAssociation`エントリが適切に保持されるようになります。 @@ -652,7 +652,7 @@ ILLinkのTypeMap処理におけるトリミングバグを修正しました。` - 作成者: [@mdh1418](https://github.com/mdh1418) - 作成日時: 2026年04月14日 22:37:01(UTC) - マージ日時: 2026年05月05日 15:38:10(UTC) -- ラベル: area-Diagnostics-coreclr os-android +- ラベル: area-Diagnostics-coreclr os-android #### 概要 Android CoreCLRにおいて、ネイティブクラッシュ、中止、混合管理/ネイティブ障害の診断を改善するため、opt-inの**in-proc crash reporter**を実装しました。JSON形式のクラッシュレポートを生成し、`createdump`の出力と互換性のあるスキーマを採用しています。レポートは`DOTNET_DbgMiniDumpName`で指定した場所に`*.crashreport.json`ファイルとして出力されます。 @@ -685,7 +685,7 @@ DOTNET_DbgMiniDumpName=/data/data//files/dotnet_crash_%p - 作成者: [@dovydenkovas](https://github.com/dovydenkovas) - 作成日時: 2026年03月23日 15:18:38(UTC) - マージ日時: 2026年05月05日 17:18:32(UTC) -- ラベル: area-VM-meta-mono community-contribution +- ラベル: area-VM-meta-mono community-contribution #### 概要 Mono JITコンパイラのヘルパー関数内で、基本ブロック情報用に作成されたハッシュテーブル(`offset_to_bb_hash`)がメモリ解放されていなかったメモリリークを修正しました。冗長モード(`cfg->verbose_level >= 2`)でのディスアセンブリコード出力時に、ネイティブオフセットと基本ブロック番号のマッピング用ハッシュテーブルに`g_hash_table_destroy`を追加して、確保したメモリを適切に解放します。 @@ -707,7 +707,7 @@ Mono JITコンパイラのヘルパー関数内で、基本ブロック情報用 - 作成者: [@SingleAccretion](https://github.com/SingleAccretion) - 作成日時: 2026年03月14日 11:45:03(UTC) - マージ日時: 2026年05月05日 04:52:44(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 RyuJIT コンパイラの instruction group (IG) 生成を strict な layout order の制約から解放する変更です。現在は `igNum` の順序が linked list の順序(最終的なレイアウト順序)と厳密に一致していますが、本変更により epilog と funclet prolog を表すIGについて、レイアウト順序外での生成を可能にします。これは "before/after [in layout order]" という抽象化API を導入し、実際の順序判定は linked list に委譲することで実現されています。 @@ -738,7 +738,7 @@ RyuJIT コンパイラの instruction group (IG) 生成を strict な layout ord - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月01日 05:02:00(UTC) - マージ日時: 2026年05月05日 15:48:51(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/arcadeの依存関係を更新するロボット的なPull Requestです。Arcade SDKおよび関連ビルドタスク・ツールパッケージを8.0.0-beta.26112.1から8.0.0-beta.26224.3に更新し、.NET SDKバージョンを8.0.126に統一しています。 diff --git a/archives/2026/05/06.md b/archives/2026/05/06.md index 03eb445..88bf31a 100644 --- a/archives/2026/05/06.md +++ b/archives/2026/05/06.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#127878 \[cDAC\] Switch runtime-diagnostics SOS test filter to -method for wildcard support](#127878) 2. [#127842 Add Azure Linux 4 to libraries Helix extra-platforms \(linux_x64\)](#127842) 3. [#127836 Set per-target compile PDB for cDAC descriptor object libraries](#127836) @@ -23,7 +23,7 @@ - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年05月06日 17:50:59(UTC) - マージ日時: 2026年05月06日 19:21:51(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 dotnet/diagnostics PR #5821によるSOS テストクラスの分割に伴い、既存の`classFilter: SOS`がマッチしなくなった問題を修正します。xunit v2の`-class`フィルタはワイルドカード非対応のため、代わりに正規表現対応の`-method`フィルタを使用し、`methodFilter: SOS*`に切り替えることで、SOSプレフィックス付きの全クラスのメソッドにマッチさせます。 @@ -46,7 +46,7 @@ dotnet/diagnostics PR #5821によるSOS テストクラスの分割に伴い、 - 作成者: [@richlander](https://github.com/richlander) - 作成日時: 2026年05月05日 23:36:31(UTC) - マージ日時: 2026年05月06日 22:24:13(UTC) -- ラベル: area-Infrastructure-libraries +- ラベル: area-Infrastructure-libraries #### 概要 Azure Linux 4をライブラリのHelix extra-platforms キューセット(linux_x64)に追加し、CoreCLR内部ループテストの実行対象OSを拡張します。Azure Linux 4はまだGA版ではないため、opt-inカバレッジの拡張に留まり、GA対象プラットフォーム定義には変更を加えていません。 @@ -72,7 +72,7 @@ Azure Linux 4をライブラリのHelix extra-platforms キューセット(lin - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年05月05日 21:00:17(UTC) - マージ日時: 2026年05月06日 02:34:32(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 cDAC記述子オブジェクトライブラリがMSVC でコンパイルする際、デフォルトの `vc140.pdb` ではなく、ターゲット固有の決定的なPDBを生成するように修正しました。これにより、静的ライブラリ(例: `Runtime.ServerGC.lib`)にアーカイブされたオブジェクトファイルが後続のNativeAOT発行時にリンクエラー `LNK4099` を引き起こすことを防ぎます。 @@ -96,7 +96,7 @@ cDAC記述子オブジェクトライブラリがMSVC でコンパイルする - 作成者: [@vseanreesermsft](https://github.com/vseanreesermsft) - 作成日時: 2026年05月05日 20:28:26(UTC) - マージ日時: 2026年05月06日 11:25:15(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 .NET Runtime 9.0のブランディング情報をバージョン9.0.16から9.0.17に更新するパッチリリース用の変更です。中央集約されたバージョン定義ファイルの`ProductVersion`と`PatchVersion`をインクリメントします。 @@ -117,7 +117,7 @@ cDAC記述子オブジェクトライブラリがMSVC でコンパイルする - 作成者: [@vseanreesermsft](https://github.com/vseanreesermsft) - 作成日時: 2026年05月05日 20:27:40(UTC) - マージ日時: 2026年05月06日 11:25:32(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 .NET 8.0.28 サービシングリリースに向けて、リポジトリのバージョンメタデータを更新します。`ProductVersion` を 8.0.27 から 8.0.28 に、`PatchVersion` を 27 から 28 に変更し、ファイルバージョンコンポーネントの一貫性を保ちます。 @@ -138,7 +138,7 @@ cDAC記述子オブジェクトライブラリがMSVC でコンパイルする - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2026年05月05日 20:00:05(UTC) - マージ日時: 2026年05月06日 15:04:54(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 `CryptographicOperations.FixedTimeEquals`に新しいスカラーオーバーロードを追加しました。バッファを単一バイト値と比較する際に、比較用スパンを生成する必要がなくなり、特にWindows X25519の共有秘密ゼロチェックのような定時間比較処理が簡潔になります。 @@ -167,7 +167,7 @@ public static bool FixedTimeEquals(ReadOnlySpan source, byte value) - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年05月05日 19:23:55(UTC) - マージ日時: 2026年05月06日 16:36:33(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 モバイル環境専用のCI失敗スキャンワークフロー(`mobile-scan.md`)をプラットフォーム非依存の汎用CI外部ループ失敗スキャナー(`ci-failure-scan.md`)に置き換えます。複数の外部ループパイプラインをカバーし、失敗分類(ビルド破損 vs テスト失敗 vs インフラ)と対応アクション(追跡Issue、Known Build Error、テストスキップPR、製品修正PR)を拡張します。 @@ -199,7 +199,7 @@ public static bool FixedTimeEquals(ReadOnlySpan source, byte value) - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月05日 19:17:17(UTC) - マージ日時: 2026年05月06日 16:01:20(UTC) -- ラベル: area-System.Runtime +- ラベル: area-System.Runtime #### 概要 `StringBuilder.MoveChunks(StringBuilder source)` という新しい公開APIを追加します。このメソッドは、ソースの`StringBuilder`のチャンク チェーンを新しい`StringBuilder`インスタンスにO(1)で転送し、ソースをドレイン(空)にします。これにより、Roslyn等のコンシューマーがコピーなしで不変ビューを保持しながら、元の`StringBuilder`を解放できます。 @@ -231,7 +231,7 @@ public partial class StringBuilder - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月05日 18:00:42(UTC) - マージ日時: 2026年05月06日 01:27:34(UTC) -- ラベル: area-System.Runtime +- ラベル: area-System.Runtime #### 概要 `string.Format` で `CompositeFormat` を使用する際、フォーマット穴がない場合にブレース エスケープ(`{{` → `{`、`}}` → `}`)が無視される問題を修正しました。高速パスが未解析の元の形式文字列を返していたため、エスケープされたブレースが適切に処理されていませんでした。 @@ -257,7 +257,7 @@ public partial class StringBuilder - 作成者: [@mdh1418](https://github.com/mdh1418) - 作成日時: 2026年05月05日 16:16:53(UTC) - マージ日時: 2026年05月06日 15:56:10(UTC) -- ラベル: area-Diagnostics-coreclr os-ios +- ラベル: area-Diagnostics-coreclr os-ios #### 概要 Android向けに追加されたCoreClrインプロセスJSON形式クラッシュレポーター機能をiOS、tvOS、MacCatalystに拡張します。Apple固有のシステムメタデータ(OSバージョン、システムモデル、システム製造業者)抽出とucontext_tからのレジスタ抽出(x86_64/arm64対応)が追加されます。 @@ -284,7 +284,7 @@ Android向けに追加されたCoreClrインプロセスJSON形式クラッシ - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年05月05日 10:48:39(UTC) - マージ日時: 2026年05月06日 11:11:45(UTC) -- ラベル: area-System.IO.Compression +- ラベル: area-System.IO.Compression #### 概要 `System.IO.Compression` テストスイートの `RoundTrip_AllWindowLogs` テスト(Deflate/ZLib/GZip variants)が、Apple モバイル(iOS/tvOS/MacCatalyst)および Android プラットフォームで常に `OperationStatus.DestinationTooSmall` を返す問題に対応するもの。モバイル CI での問題をブロック解除するため、該当プラットフォーム上でこのテストを一時的にスキップします。 @@ -310,7 +310,7 @@ Android向けに追加されたCoreClrインプロセスJSON形式クラッシ - 作成者: [@tannergooding](https://github.com/tannergooding) - 作成日時: 2026年05月05日 00:35:46(UTC) - マージ日時: 2026年05月06日 06:37:40(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT コンパイラの算術ヘルパー関数を集約・統一し、重複コードを削減する内部リファクタリング。bitset および hashbv 関連の実装を整理し、`bitsetasshortlong.h` に機能を統合しています。 @@ -335,7 +335,7 @@ JIT コンパイラの算術ヘルパー関数を集約・統一し、重複コ - 作成者: [@prozolic](https://github.com/prozolic) - 作成日時: 2026年05月02日 06:18:30(UTC) - マージ日時: 2026年05月06日 11:46:26(UTC) -- ラベル: area-System.Text.Json community-contribution +- ラベル: area-System.Text.Json community-contribution #### 概要 `JsonSerializer.Deserialize`で既存の`Utf8JsonReader`を使用する際、`JsonException`が報告する行番号とバイト位置情報が不正確になる問題を修正します。スコープ付きリーダー作成時に元のリーダーの位置情報(`_lineNumber`と`_bytePositionInLine`)をキャプチャし、トークンタイプごとに値トークンの直前を指すようにリワインドして、`JsonReaderState`経由でスコープ付きリーダーに渡すことで、正確な位置情報の追跡を実現します。 @@ -359,7 +359,7 @@ JIT コンパイラの算術ヘルパー関数を集約・統一し、重複コ - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年05月01日 19:30:58(UTC) - マージ日時: 2026年05月06日 16:33:16(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 `String.FastAllocateString`をJIT intrinsicとしてマークし、RyuJITで最適化を行うPRです。結果を非nullとして追跡し、`ARR_LENGTH(FastAllocateString(len))`を`len`に折り畳み、グローバルアサーション`string.Length(result) == lenArg`を出力します。これにより、文字列連結後のインデックスアクセスなどで不要な境界チェックが削除されます。 @@ -398,7 +398,7 @@ CopilotレビューによるコメントとしてJITテストの追加と、コ - 作成者: [@stephentoub](https://github.com/stephentoub) - 作成日時: 2026年04月27日 17:11:27(UTC) - マージ日時: 2026年05月06日 02:27:25(UTC) -- ラベル: area-System.Runtime +- ラベル: area-System.Runtime #### 概要 `System.Random`に汎用の数値生成API (`NextInteger()`、`NextBinaryFloat()`) を追加します。`IBinaryInteger`と`IBinaryFloatingPointIeee754`を実装する任意の型に対応し、一般的な型には高速パス、その他は棄却サンプリングで対応します。 @@ -429,7 +429,7 @@ double floatValue = random.NextBinaryFloat(); - 作成者: [@lilinus](https://github.com/lilinus) - 作成日時: 2026年04月27日 14:09:54(UTC) - マージ日時: 2026年05月06日 19:34:30(UTC) -- ラベル: area-System.Numerics community-contribution +- ラベル: area-System.Numerics community-contribution #### 概要 `TensorPrimitives.IndexOfMax` および関連メソッドのインデックス計算バグを修正するPRです。特に小さい要素型(byte、ushortなど)において、正しいインデックスが要素型の最大値を超える場合に不正なインデックスが返されていた問題を解決します。新しい `IIndexOfMinMaxOperator` インターフェースを導入し、要素サイズ(1/2/4/8バイト)に応じた専用のベクトル化実装を提供することで、水平集約による正確なインデックス検索を実現しています。 @@ -456,7 +456,7 @@ double floatValue = random.NextBinaryFloat(); - 作成者: [@aw0lid](https://github.com/aw0lid) - 作成日時: 2026年04月04日 18:15:30(UTC) - マージ日時: 2026年05月06日 12:01:22(UTC) -- ラベル: area-System.Collections community-contribution +- ラベル: area-System.Collections community-contribution #### 概要 `ImmutableSortedSet.SetEquals`メソッドを最適化し、不要な中間`SortedSet`の生成を排除してメモリアロケーションとGCプレッシャーを削減しました。パターンマッチングにより互換性のあるソート済みセット間で直接比較を実施し、デュアル列挙子による線形スキャン(O(n))で従来のO(log n)*.Contains()ルックアップを置き換えています。 @@ -502,7 +502,7 @@ double floatValue = random.NextBinaryFloat(); - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月21日 21:13:22(UTC) - マージ日時: 2026年05月06日 20:27:00(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 Objective-C相互運用性の診断に対応する新しい`ObjectiveCMarshal` cDACコントラクトと、`RuntimeTypeSystem`コントラクトへの`IsTrackedReferenceWithFinalizer` APIを追加しました。これにより、追跡参照オブジェクトのタグ付きメモリポインタを取得し、追跡参照とファイナライザーを持つ型を識別できます。 diff --git a/archives/2026/05/07.md b/archives/2026/05/07.md index 07dde74..93a0e04 100644 --- a/archives/2026/05/07.md +++ b/archives/2026/05/07.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#127925 Fix DispatchProxy TypeLoadException for generic type arguments](#127925) 2. [#127913 Reduce Unsafe usage in primitive IBinaryInteger TryRead/TryWrite](#127913) 3. [#127910 JIT: Fix untracked uses of `lvLiveInOutOfHndlr`](#127910) @@ -33,7 +33,7 @@ - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年05月07日 16:51:04(UTC) - マージ日時: 2026年05月07日 22:05:57(UTC) -- ラベル: area-System.Reflection +- ラベル: area-System.Reflection #### 概要 DispatchProxyが汎用型引数を持つインターフェース(例:`IFoo`)をプロキシする際、内部型の汎用引数に対する`IgnoresAccessChecksToAttribute`が不足していたため、`TypeLoadException`が発生する問題を修正しました。`EnsureTypeIsVisible`メソッドを改善して、汎用型引数を再帰的にチェックするようにしました。 @@ -56,7 +56,7 @@ DispatchProxyが汎用型引数を持つインターフェース(例:`IFooarea-System.Numerics reduce-unsafe +- ラベル: area-System.Numerics reduce-unsafe #### 概要 プリミティブ数値型の`IBinaryInteger`実装における`TryRead/TryWrite{Big,Little}Endian`メソッドで、`MemoryMarshal.GetReference`、`Unsafe.ReadUnaligned`、`Unsafe.Add`などの unsafe 操作をSpanのインデクサと`BinaryPrimitives`ヘルパーで置き換えることで、unsafe コードの使用を削減します。 @@ -82,7 +82,7 @@ Span インデクサと`BinaryPrimitives`ヘルパーはコンパイラによっ - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年05月07日 12:35:18(UTC) - マージ日時: 2026年05月07日 19:03:48(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイラにおける `lvLiveInOutOfHndlr` プロパティの不正な使用を修正します。このプロパティに依存する箇所で `lvTracked` チェックを追加し、未追跡(untracked)のローカル変数について正しく保守的に処理するようにします。例外ハンドラのセマンティクスと正確性に関わる修正です。 @@ -106,7 +106,7 @@ JITコンパイラにおける `lvLiveInOutOfHndlr` プロパティの不正な - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月06日 23:55:39(UTC) - マージ日時: 2026年05月07日 13:36:45(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 GCブリッジとNativeAOTランタイム内の静的解析の警告を修正するPRです。メモリ割り当て不一致、null参照解除の可能性、無効なハンドルクリーンアップの3つの問題を修正しています。ランタイム内部の低レベルな実装の改善で、公開APIへの影響はありません。 @@ -132,7 +132,7 @@ GCブリッジとNativeAOTランタイム内の静的解析の警告を修正す - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年05月06日 20:58:38(UTC) - マージ日時: 2026年05月07日 02:53:20(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Compact Debugger Access Component)のレガシーフォールバック機能において、`CDAC_NO_FALLBACK=1`が設定されている際にレガシーDAC(Debugger Access Component)へのフォールバックを許可するAPIのallowlistから3つのメソッドを削除しました。これにより、no-fallback実行時の制限がより厳密になります。 @@ -158,7 +158,7 @@ cDAC(Compact Debugger Access Component)のレガシーフォールバック - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月06日 20:36:41(UTC) - マージ日時: 2026年05月07日 01:08:19(UTC) -- ラベル: area-System.Threading +- ラベル: area-System.Threading #### 概要 `ThreadTasks`(単一エントリの列挙型`TT_CleanupSyncBlock`)を`ThreadState`に統合し、独立した`m_ThreadTasks`フィールドを削除するリファクタリング。`ThreadState`に未使用のビット(`0x00000020`)が存在し、すでに`InterlockedOr`/`InterlockedAnd`による原子的な操作に対応していたため、冗長な実装を整理したもの。 @@ -180,7 +180,7 @@ cDAC(Compact Debugger Access Component)のレガシーフォールバック - 作成者: [@agocke](https://github.com/agocke) - 作成日時: 2026年05月06日 18:58:20(UTC) - マージ日時: 2026年05月07日 18:00:03(UTC) -- ラベル: area-Infrastructure-coreclr +- ラベル: area-Infrastructure-coreclr #### 概要 Linux x64 CoreCLR ネイティブビルドのPRパイプラインに対して、sccacheをコンパイラキャッシュとして導入します。Azure Pipelines Cacheタスクを使用してsccacheのストレージディレクトリをビルド間で永続化し、ビルド後に統計情報を出力することで、PR CI時のビルド時間を短縮できます。 @@ -207,7 +207,7 @@ sccacheはC++コンパイル結果をキャッシュすることで、ビルド - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年05月06日 17:09:02(UTC) - マージ日時: 2026年05月07日 09:53:53(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 PR #127016で導入されたcalli署名キャッシュ機構により、iOS arm64でのCoreClrクラッシュが発生していました。MethodDescの共有キャッシュスロットに対して、インタープリタ-ネイティブ呼び出しパスとIL Stubの新しいコード両方が書き込みを行うことが原因です。修正では`CInterpreterJitInfo::GetCookieForInterpreterCalliSig`のキャッシュ機構を削除し、毎回`GetCookieForCalliSig`で計算するようにPR #127016以前の動作に戻しました。 @@ -229,7 +229,7 @@ PR #127016で導入されたcalli署名キャッシュ機構により、iOS arm6 - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年05月06日 16:18:50(UTC) - マージ日時: 2026年05月07日 03:26:05(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC x-plat dump テストの Helix 送信時に発生する 2 つの問題を修正しています: 1. Helix SDK の `MemoryStream` の 2 GB 上限により、大きなペイロードの ZIP 圧縮でアップロード失敗 @@ -262,7 +262,7 @@ cDAC x-plat dump テストの Helix 送信時に発生する 2 つの問題を - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月06日 13:01:40(UTC) - マージ日時: 2026年05月07日 17:05:36(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 `HttpClient.MaxResponseContentBufferSize`が自動Brotli解凍時に**解凍後**のレスポンスサイズに対して正しく適用されることを検証する機能テストを追加しました。既存のLoopbackサーバーインフラを活用し、高圧縮率のBrotliコンテンツでバッファサイズ制限が実装される動作を確認します。 @@ -285,7 +285,7 @@ cDAC x-plat dump テストの Helix 送信時に発生する 2 つの問題を - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年05月06日 11:36:24(UTC) - マージ日時: 2026年05月07日 10:16:07(UTC) -- ラベル: area-System.Net os-android agentic-workflows +- ラベル: area-System.Net os-android agentic-workflows #### 概要 Android プラットフォーム上で DNS クエリが RFC 6761 の仕様と異なる動作をするため、`DnsGetHostEntry_LocalhostSubdomainWithTrailingDot_ReturnsLoopback` テストをスキップする変更です。Android の DNS リゾルバーは `*.localhost.`(末尾ドット付き)をループバックアドレスに解決せず、実ネットワークアドレスを返すため、既存の issue #126456 と同じ `[ActiveIssue]` 属性を追加して対応しています。 @@ -307,7 +307,7 @@ Android プラットフォーム上で DNS クエリが RFC 6761 の仕様と異 - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年05月06日 11:36:14(UTC) - マージ日時: 2026年05月07日 20:51:59(UTC) -- ラベル: area-System.Collections os-android os-ios os-tvos os-maccatalyst agentic-workflows +- ラベル: area-System.Collections os-android os-ios os-tvos os-maccatalyst agentic-workflows #### 概要 `ConcurrentDictionary_Generic_Tests_string_string.NonRandomizedToRandomizedUpgrade_FunctionsCorrectly`テストがiOS、tvOS、macCatalyst、Androidなどのモバイルプラットフォームで失敗するため、`[SkipOnPlatform]`属性を使用してこれらプラットフォームでのテスト実行をスキップします。 @@ -334,7 +334,7 @@ Android プラットフォーム上で DNS クエリが RFC 6761 の仕様と異 - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年05月06日 00:04:41(UTC) - マージ日時: 2026年05月07日 15:57:16(UTC) -- ラベル: area-System.Collections reduce-unsafe +- ラベル: area-System.Collections reduce-unsafe #### 概要 `System.Collections.BitArray`のコンストラクタから unsafe コードを削除し、`Unsafe.As`による型再解釈を廃止。代わりに`MemoryMarshal.AsBytes`で取得した`ReadOnlySpan`を使用してSIMD操作を行うよう変更しました。 @@ -360,7 +360,7 @@ Android プラットフォーム上で DNS クエリが RFC 6761 の仕様と異 - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年05月06日 00:04:12(UTC) - マージ日時: 2026年05月07日 11:58:30(UTC) -- ラベル: area-System.Linq reduce-unsafe +- ラベル: area-System.Linq reduce-unsafe #### 概要 System.Linq.MaxMinの`unsafe`コードを安全なコードに置き換えるPRです。`LoadUnsafe`と参照操作をspan基準の`Vector*.Create(ReadOnlySpan)`に変更し、Vector256/512をVector128に圧縮することでスカラーループの効率を向上させます。インライナー予算対策として複数の`[AggressiveInlining]`アトリビュートを追加しています。 @@ -387,7 +387,7 @@ arm64(Apple M2)ではほぼ横ばい。小~中規模配列で若干の低 - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年05月05日 16:09:17(UTC) - マージ日時: 2026年05月07日 11:56:56(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT(Just-In-Time)コンパイラの非null アサーション伝播を改善し、PHI(PHI関数)値に到達するエッジアサーションを検査することで、`??=`演算子による統合後の冗長なnullチェックを削除します。 @@ -423,7 +423,7 @@ class Program - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年05月05日 12:47:38(UTC) - マージ日時: 2026年05月07日 03:53:50(UTC) -- ラベル: area-Diagnostics-coreclr community-contribution +- ラベル: area-Diagnostics-coreclr community-contribution #### 概要 UnixプラットフォームにおけるOpenProcess関連APIの使用箇所を削除し、これらのAPIをPAL(Platform Abstraction Layer)から廃止するリファクタリングです。デバッガのリモートデータ取得処理において、OpenProcess/OpenProcessMemoryの呼び出しをインライン化し、PAL抽象化を廃止することで、プラットフォーム固有の実装を削除しています。 @@ -452,7 +452,7 @@ UnixプラットフォームにおけるOpenProcess関連APIの使用箇所を - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年05月05日 10:48:20(UTC) - マージ日時: 2026年05月07日 14:17:34(UTC) -- ラベル: area-Infrastructure-coreclr os-ios +- ラベル: area-Infrastructure-coreclr os-ios #### 概要 xUnitの`[ActiveIssue]`属性は基底クラスから派生クラスに継承されない仕様により、#127464で基底クラス`XsltApiTestCaseBase2`に設定された`[ActiveIssue(IsAppleMobile, IsCoreCLR)]`が機能せず、469個のXSLTテストが依然として実行されて`TypeInitializationException`を発生させていました。このPRは、`[ActiveIssue]`属性を具体的な派生テストクラスに直接設定することで、AppleMobileプラットフォーム上でのテストスキップを正しく機能させます。 @@ -474,7 +474,7 @@ xUnitの`[ActiveIssue]`属性は基底クラスから派生クラスに継承さ - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年05月04日 15:00:30(UTC) - マージ日時: 2026年05月07日 17:37:54(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 Reverse P/Invoke IL スタブの引数イテレーション処理を修正。ArgIterator ではなく PInvokeArgIterator を使用し、構造体マーシャリングのリバースコールバック時の引数解析の正確性を向上させます。 @@ -499,7 +499,7 @@ Reverse P/Invoke IL スタブの引数イテレーション処理を修正。Arg - 作成者: [@kg](https://github.com/kg) - 作成日時: 2026年05月04日 13:49:48(UTC) - マージ日時: 2026年05月07日 15:45:52(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly RyuJIT コードジェネレータで、reverse P/Invoke および `UnmanagedCallersOnly` 属性によるアンマネージドエントリポイントのサポートを追加しました。これにより、WASM shadow スタックポインタが明示的な引数として渡されない場合のプロローグ生成に対応し、以下のようなコードのコンパイルが可能になります: @@ -531,7 +531,7 @@ static int uco () { - 作成者: [@BoyBaykiller](https://github.com/BoyBaykiller) - 作成日時: 2026年04月30日 20:53:30(UTC) - マージ日時: 2026年05月07日 13:21:43(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 JITコンパイラのSELECT最適化をクリーンアップして統一し、将来の変換追加を容易にするためのリファクタリングです。SELECT変換の呼び出しをHIR内の他の箇所からも可能にしています。本PRは機能上の変更はなく(zero-diff)、その後の改善の基盤となることを目指しています。 @@ -556,7 +556,7 @@ JITコンパイラのSELECT最適化をクリーンアップして統一し、 - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年04月29日 22:28:18(UTC) - マージ日時: 2026年05月07日 17:50:43(UTC) -- ラベル: Servicing-approved area-NativeAOT-coreclr +- ラベル: Servicing-approved area-NativeAOT-coreclr #### 概要 TypePreinitのswitch命令ハンドリングにおけるオフバイワンエラーを修正。値がケース数と正確に一致する場合、存在しないジャンプテーブルエントリへのアクセスを試みており、IL読み取りオフセットを破損させてNativeAOT コンパイル時にIndexOutOfRangeExceptionが発生していた問題に対応しています。 @@ -578,7 +578,7 @@ TypePreinitのswitch命令ハンドリングにおけるオフバイワンエラ - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年04月29日 13:19:12(UTC) - マージ日時: 2026年05月07日 12:45:15(UTC) -- ラベル: arch-wasm area-Host os-browser +- ラベル: arch-wasm area-Host os-browser #### 概要 WebAssembly向けcoreCLRローダーにおいて、ダウンロード再試行をデフォルトで有効化し、再試行シーケンスを改善しました。すべての初回ダウンロードがキューに登録されるまで再試行を遅延させることで、起動時の再試行ストームがダウンロードスロットを枯渇させるのを防ぎます。 @@ -607,7 +607,7 @@ WebAssembly向けcoreCLRローダーにおいて、ダウンロード再試行 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月27日 12:17:19(UTC) - マージ日時: 2026年05月07日 11:20:09(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITのIf-conversion最適化フェーズにおいて、EH(例外処理)領域の境界チェックが誤って削除されていた問題を修正します。Fuzzlyn生成のテストケースで、ThenブロックがTry領域の開始地点である場合に `BBF_DONT_REMOVE` アサーション失敗が発生していました。PR #125347 で `IfConvertCheckFlow` が簡略化された際に `BasicBlock::sameEHRegion` チェックが不適切に削除されたため、これを復元します。 @@ -632,7 +632,7 @@ JITのIf-conversion最適化フェーズにおいて、EH(例外処理)領 - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年04月23日 16:55:45(UTC) - マージ日時: 2026年05月07日 06:15:09(UTC) -- ラベル: arch-wasm area-GC-coreclr +- ラベル: arch-wasm area-GC-coreclr #### 概要 WASM環境でのメモリ管理に対応するため、GCのOS抽象化レイヤー(`GCToOSInterface`)をUNIX実装から分離し、WASM専用実装を導入しました。WASMでは仮想メモリ機能(mmap/decommit)が実質的に利用できないため、`posix_memalign`/`free`ベースの実装に切り替え、新たに`never_decommit_p`フラグを導入してdecommit不可の意図をコード上で明確化しています。 @@ -661,7 +661,7 @@ WASM環境でのメモリ管理に対応するため、GCのOS抽象化レイヤ - 作成者: [@cittaz](https://github.com/cittaz) - 作成日時: 2026年04月20日 21:09:40(UTC) - マージ日時: 2026年05月07日 12:59:06(UTC) -- ラベル: area-System.Net community-contribution +- ラベル: area-System.Net community-contribution #### 概要 WebSocketのクローズハンドシェイク中に、HTTP/2上で並行する`ReceiveAsync`と`CloseAsync`の呼び出しによる単一コンシューマー違反を修正しました。RFC 6455 7.1.1の"クライアントがサーバーのTCPクローズを待つ"ステップを`_receiveMutex`の背後で保護することで、同じストリームからの並行読み取りを防止し、`Http2Stream.TryReadFromBuffer`の`Debug.Assert(!_hasWaiter)`失敗を解決します。 @@ -686,7 +686,7 @@ WebSocketのクローズハンドシェイク中に、HTTP/2上で並行する`R - 作成者: [@dhartglassMSFT](https://github.com/dhartglassMSFT) - 作成日時: 2026年04月17日 07:02:24(UTC) - マージ日時: 2026年05月07日 18:49:58(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 bool型のインライン関数が末尾呼び出し(tail call)を含み、戻り値が末尾呼び出しとは別のブロックにある場合、インライナーが挿入する正規化キャスト(int→ubyte→int)を末尾呼び出し検証で適切に処理するよう修正しました。正規化キャストは末尾呼び出しの場合、呼び出し元関数がインライン化されなかった場合にはmorphの後の段階で挿入されるため、安全に無視できます。 @@ -709,7 +709,7 @@ bool型のインライン関数が末尾呼び出し(tail call)を含み、 - 作成者: [@snickolls-arm](https://github.com/snickolls-arm) - 作成日時: 2026年03月12日 12:57:54(UTC) - マージ日時: 2026年05月07日 13:15:07(UTC) -- ラベル: area-CodeGen-coreclr community-contribution arm-sve +- ラベル: area-CodeGen-coreclr community-contribution arm-sve #### 概要 未知サイズのローカル変数(`TYP_SIMD`と`TYP_MASK`型)を処理するための`UnknownSizeFrame`を実装しました。ARM64アーキテクチャでは、x19レジスタをこのフレーム内のローカル変数のアドレッシング用に予約し、SVE メモリ転送命令を更新してベクトル長の倍数(またはマスクの場合はVL/8)に対応させています。 @@ -737,7 +737,7 @@ bool型のインライン関数が末尾呼び出し(tail call)を含み、 - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月02日 17:02:28(UTC) - マージ日時: 2026年05月07日 13:12:03(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/hotreload-utilsからの依存パッケージを更新するPull Requestです。Microsoft.DotNet.HotReload.Utils.Generator.BuildToolを8.0.0-alpha.0.26116.3から8.0.0-alpha.0.26202.2にアップグレードしています。 diff --git a/archives/2026/05/08.md b/archives/2026/05/08.md index 4be8518..997ea06 100644 --- a/archives/2026/05/08.md +++ b/archives/2026/05/08.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#127968 \[cDAC\] fix bug in DacDbi GetTypeHandle](#127968) 2. [#127961 \[ci-failure-scan\] Tighten KBE filing rules and PR-search coverage](#127961) 3. [#127959 JIT: fix value-probing schema index collision with handle histogram](#127959) @@ -20,7 +20,7 @@ - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年05月08日 18:37:14(UTC) - マージ日時: 2026年05月08日 21:43:59(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC DBI実装の`GetTypeHandle`メソッドのバグを修正します。TypeDef/TypeRefの検索がロードされた型に解決されない場合、従来はnull/ゼロのハンドルで成功を返していましたが、今後は`CORDBG_E_CLASS_NOT_LOADED`エラーを返すようネイティブDAC動作に合わせました。 @@ -43,7 +43,7 @@ cDAC DBI実装の`GetTypeHandle`メソッドのバグを修正します。TypeDe - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年05月08日 17:47:30(UTC) - マージ日時: 2026年05月08日 20:10:10(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 CI失敗検知ワークフローのプロンプトを改善し、既知ビルドエラー(KBE)の誤検出や不正なJSON形式を削減することを目的とします。6段階の事前確認フロー、厳密なKBE本体チェック、そしてシグネチャ検証ルールを導入し、過去の実行で見られた以下の問題に対処します: @@ -77,7 +77,7 @@ CI失敗検知ワークフローのプロンプトを改善し、既知ビルド - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年05月08日 15:26:27(UTC) - マージ日時: 2026年05月08日 18:02:58(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT PGO (Profile-Guided Optimization) インストルメンテーションで、ハンドルヒストグラム検査と値検査が同じ `BasicBlock::bbHistogramSchemaIndex` フィールドに書き込みを行い、スキーマインデックスの競合が生じていた問題を修正しました。仮想呼び出しと `SpanHelpers` 特殊な組み込み(`Memmove`、`SequenceEqual` など)が同じ基本ブロックに存在する場合、ハンドルヒストグラム計測が誤ったスキーマエントリを読み込み、DEBUG ビルドではアサーション失敗、リテールビルドでは不正な IR(`nullptr` 子ノードを持つ)が生成されていました。 @@ -99,7 +99,7 @@ JIT PGO (Profile-Guided Optimization) インストルメンテーションで、 - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年05月08日 09:36:33(UTC) - マージ日時: 2026年05月08日 10:25:29(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 `ci-failure-scan` agentic workflow のモデルを `claude-sonnet-4.6` から `claude-opus-4.6` に切り替えました。ワークフロー定義ファイルとそのコンパイル済みロックファイルの両方を更新して、設定を同期させています。 @@ -121,7 +121,7 @@ JIT PGO (Profile-Guided Optimization) インストルメンテーションで、 - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年05月08日 08:58:28(UTC) - マージ日時: 2026年05月08日 13:06:18(UTC) -- ラベル: area-Infrastructure-coreclr os-ios +- ラベル: area-Infrastructure-coreclr os-ios #### 概要 PR #127788で導入されたXSLT APIテストスイートのiOS/CoreCLR向け`[ActiveIssue]`アノテーションの分散配置を元に戻す変更です。複数の派生テストクラスに分散していた個別のアノテーションを削除し、共有基底クラス`XsltApiTestCaseBase2`に一元化します。これにより、テストコードの保守性を向上させます。 @@ -148,7 +148,7 @@ PR #127788で導入されたXSLT APIテストスイートのiOS/CoreCLR向け`[A - 作成者: [@jeffhandley](https://github.com/jeffhandley) - 作成日時: 2026年05月08日 07:31:42(UTC) - マージ日時: 2026年05月08日 19:26:43(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 GitHub Agentic Workflows(agentic-workflows)における Copilot PAT(Personal Access Token)の認証管理を、ワークフロー別のインライン実装から共有ワークフローインポート(`pat_pool.md`)へ移行しました。gh-aw v0.71.5で修正されたバグ(`engine.env`式で参照されるジョブが`needs:`に組み込まれず`COPILOT_PAT_0`が常に選択される問題)に対応し、PAT プール健全性監視ワークフロー(`validate-pat-pool.yml`)も追加しました。 @@ -191,7 +191,7 @@ GitHub Agentic Workflows(agentic-workflows)における Copilot PAT(Person - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年05月08日 03:14:31(UTC) - マージ日時: 2026年05月08日 20:53:38(UTC) -- ラベル: area-Meta +- ラベル: area-Meta #### 概要 dotnet/dotnetリポジトリのVMR(Virtual Monolithic Repository)から最新のソースコード変更と依存関係の更新をruntime部分にマージするコードフロー更新です。ビルド20260507.13(コミット0eae08ed)時点の複数の関連リポジトリの変更を統合します。 @@ -231,7 +231,7 @@ dotnet/dotnetリポジトリのVMR(Virtual Monolithic Repository)から最 - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年05月08日 01:48:46(UTC) - マージ日時: 2026年05月08日 15:39:26(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 CoreCLR debugger IPC event構造体をプラットフォーム中立的にするためのリファクタリングです。ポインタ型フィールド(VMPTR、LsPtr)を64ビットに拡張し、多くのIPC event フィールドを `Portable<>` ラッパーでエンディアン独立性を確保します。同時に、未使用のレガシーIPC event型およびデバッガインターフェースメソッド(ログスイッチ更新、GCハンドル情報、SQLファイバー接続通知など)を削除します。 @@ -261,7 +261,7 @@ CoreCLR debugger IPC event構造体をプラットフォーム中立的にする - 作成者: [@BoyBaykiller](https://github.com/BoyBaykiller) - 作成日時: 2026年05月07日 20:01:58(UTC) - マージ日時: 2026年05月08日 07:13:51(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 JIT コンパイラの SELECT から relop への変換時に、型変更と条件式の評価値(0または1)のチェックに関する問題を修正しました。条件式が整数型の場合、戻り値の型(長整数など)に合わせるため CAST を挿入し、条件式が比較演算の結果でない場合は最適化を適用しないようになります。 @@ -285,7 +285,7 @@ JIT コンパイラの SELECT から relop への変換時に、型変更と条 - 作成者: [@snickolls-arm](https://github.com/snickolls-arm) - 作成日時: 2026年05月07日 15:19:29(UTC) - マージ日時: 2026年05月08日 16:24:11(UTC) -- ラベル: area-CodeGen-coreclr community-contribution arm-sve +- ラベル: area-CodeGen-coreclr community-contribution arm-sve #### 概要 ARM64アーキテクチャで、未知のサイズを持つ型(TYP_SIMDやTYP_MASKなど)のSpillTempsをUnknownSizeFrameに割り当てる機能を実装しました。既存のスロット再利用システムをこれらの特殊な型に対応させています。 @@ -309,7 +309,7 @@ ARM64アーキテクチャで、未知のサイズを持つ型(TYP_SIMDやTYP_ - 作成者: [@barosiak](https://github.com/barosiak) - 作成日時: 2026年05月06日 01:56:31(UTC) - マージ日時: 2026年05月08日 02:32:45(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Component Data Access Contract)で`DacDbiImpl.GetPartialUserState`をネイティブC++実装から管理コード実装に置き換えるPR。IThread契約を使用してスレッド状態フラグを`CorDebugUserState`にマッピングし、デバッガがスレッド状態を正確に把握できるようにします。 @@ -335,7 +335,7 @@ cDAC(Component Data Access Contract)で`DacDbiImpl.GetPartialUserState`を - 作成者: [@maraf](https://github.com/maraf) - 作成日時: 2026年04月29日 09:06:30(UTC) - マージ日時: 2026年05月08日 09:55:13(UTC) -- ラベル: arch-wasm area-Build-mono +- ラベル: arch-wasm area-Build-mono #### 概要 WebAssembly SDK のビルドターゲットで、ディレクトリプロパティの文字列連結をMSBuild の組み込みパス正規化関数に置き換えました。末尾のセパレータの有無に関わらず正しくパスが結合されるようになり、パス構築の堅牢性が向上します。 @@ -358,7 +358,7 @@ WebAssembly SDK のビルドターゲットで、ディレクトリプロパテ - 作成者: [@dhartglassMSFT](https://github.com/dhartglassMSFT) - 作成日時: 2026年04月27日 23:53:57(UTC) - マージ日時: 2026年05月08日 00:27:06(UTC) -- ラベル: area-System.Runtime.Intrinsics +- ラベル: area-System.Runtime.Intrinsics #### 概要 Linux ARM64環境でのハードウェアイントリンシック機能のテストパイプラインを追加します。既存のOSX ARM64パイプラインはSVE(Scalable Vector Extension)をカバーしていないため、新たにLinux ARM64専用のパイプラインを導入。このパイプラインはARM64 JITソースファイルの変更時のみトリガーされ、プレミアムなマシンプール資源の効率的な利用を実現します。 @@ -382,7 +382,7 @@ Linux ARM64環境でのハードウェアイントリンシック機能のテス - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月27日 15:54:56(UTC) - マージ日時: 2026年05月08日 17:45:41(UTC) -- ラベル: area-Meta +- ラベル: area-Meta #### 概要 devcontainerのDockerfileを更新し、ハードコードされた`apt-get install`リストの代わりに、ビルド時にリポジトリの`eng/common/native/install-dependencies.sh`スクリプトをダウンロード・実行して必須パッケージをインストールするよう変更しました。これにより、新しいcodespaceでのランタイムビルドが可能になります。 @@ -407,7 +407,7 @@ devcontainerのDockerfileを更新し、ハードコードされた`apt-get inst - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月15日 16:57:34(UTC) - マージ日時: 2026年05月08日 00:43:38(UTC) -- ラベル: area-Infrastructure-coreclr +- ラベル: area-Infrastructure-coreclr #### 概要 CoreCLRテストビルドスクリプト(`build.cmd`と`build.sh`)のヘルプテキストと使用方法ドキュメントを更新しました。OS対象指定オプション、WASM アーキテクチャ、CoreCLR選択オプションなどの記述が不足していた箇所を補完し、Unixスクリプトのパス例のエスケープ表記を修正しました。 diff --git a/archives/2026/05/09.md b/archives/2026/05/09.md index 8053332..0d178c3 100644 --- a/archives/2026/05/09.md +++ b/archives/2026/05/09.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#127979 Fix EncodeUnsignedInteger for test DSA signer](#127979) 2. [#127974 \[release/10.0\] Optimize Directory.GetFiles by passing safe patterns to NtQueryDirectoryFile](#127974) 3. [#127972 Cleanup VisitOperandUses and GenTreeVisitor to check common kinds rather than be a big switch](#127972) @@ -14,7 +14,7 @@ - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2026年05月08日 23:38:04(UTC) - マージ日時: 2026年05月09日 19:00:46(UTC) -- ラベル: area-System.Security test-bug +- ラベル: area-System.Security test-bug #### 概要 X509 CRLビルダーのDSA署名テストにおいて、手書きのASN.1エンコーディングを廃止し、フレームワークの標準APIを使用するよう改善したPRです。`EncodeUnsignedInteger`のバグ(先頭ゼロと高ビットが設定されたバイトがある場合のエンコーディング不正)を修正し、代わりに`AsnWriter`と`DSASignatureFormat.Rfc3279DerSequence`を活用することで、Android環境でのテスト失敗率(~0.46%)を排除します。 @@ -38,7 +38,7 @@ X509 CRLビルダーのDSA署名テストにおいて、手書きのASN.1エン - 作成者: [@jeffhandley](https://github.com/jeffhandley) - 作成日時: 2026年05月08日 22:14:55(UTC) - マージ日時: 2026年05月09日 02:07:29(UTC) -- ラベル: Servicing-approved area-System.IO +- ラベル: Servicing-approved area-System.IO #### 概要 `Directory.GetFiles`などのディレクトリ列挙API(Windows版)を最適化し、ワイルドカードパターンを`NtQueryDirectoryFile`に直接渡すことで、マネージド側でのフィルタリング処理を削減します。大規模ディレクトリで選別的なパターンマッチを行う場合、例えば140,000ファイルから"A14881*.jpg"に該当する4ファイルを検索する際、従来は全ファイル列挙が必要でしたが、この変更により4~10エントリのみの処理に削減されます。 @@ -69,7 +69,7 @@ X509 CRLビルダーのDSA署名テストにおいて、手書きのASN.1エン - 作成者: [@tannergooding](https://github.com/tannergooding) - 作成日時: 2026年05月08日 21:24:59(UTC) - マージ日時: 2026年05月09日 15:17:15(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイラの`VisitOperandUses`と`GenTreeVisitor`をリファクタリングし、大規模なswitch文をオペランドの種類(リーフ/単項/二項/特殊)の高速チェックに置き換えました。これにより`GT_LZCNT`など以前処理されていなかったノードの処理漏れが解決され、新しいノード種が導入される際の堅牢性が向上します。 @@ -99,7 +99,7 @@ Copilotによる指摘として、ARM64条件付きノード(`GT_SELECT_INC`/` - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2026年05月07日 16:32:36(UTC) - マージ日時: 2026年05月09日 15:08:10(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 Windows環境でCNG(Cryptography Next Generation)キープロバイダと相互運用するための`X25519DiffieHellmanCng`実装を追加します。Curve25519/CNG blob処理の共有ロジックを`X25519WindowsHelpers`として抽出し、コード重複を削減しながらCNGベースの楕円曲線暗号操作を実現します。 @@ -128,7 +128,7 @@ Windows環境でCNG(Cryptography Next Generation)キープロバイダと相 - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年05月07日 08:10:50(UTC) - マージ日時: 2026年05月09日 10:04:47(UTC) -- ラベル: arch-wasm area-Host os-browser +- ラベル: arch-wasm area-Host os-browser #### 概要 ブラウザ環境でのWebAssembly(WASM)実行時における初期メモリフットプリントを削減するための変更です。CoreCLRランタイムのビルド設定とネイティブホストの構成を最適化しています。 @@ -150,7 +150,7 @@ Windows環境でCNG(Cryptography Next Generation)キープロバイダと相 - 作成者: [@unsafePtr](https://github.com/unsafePtr) - 作成日時: 2026年05月06日 20:44:59(UTC) - マージ日時: 2026年05月09日 18:19:34(UTC) -- ラベル: area-System.Diagnostics.Tracing community-contribution +- ラベル: area-System.Diagnostics.Tracing community-contribution #### 概要 `CounterGroup.OnTimer`メソッドでの毎回のポーリング時に新規割り当てされていた`DiagnosticCounter[]`スナップショットバッファの再利用を実装しました。カウンターセットはEventSource構築時に固定されることが多いため、インスタンス毎のバッファを再利用し、必要に応じて動的に拡張し、破棄されたカウンターのスロットをクリアします。 @@ -175,7 +175,7 @@ Windows環境でCNG(Cryptography Next Generation)キープロバイダと相 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月06日 17:48:40(UTC) - マージ日時: 2026年05月09日 15:34:56(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Component Data Access Contract)側の `DacDbi` 型/配列レイアウト API を実装し、このために必要な `RuntimeTypeSystem` 分類 API を追加しました。具体的には `IsObjRef()` および `GetInternalCorElementType()` メソッドの実装を含みます。 @@ -211,7 +211,7 @@ cDAC(Component Data Access Contract)側の `DacDbi` 型/配列レイアウ - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年05月02日 16:52:55(UTC) - マージ日時: 2026年05月09日 04:56:09(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT morphing処理の`MorphAddrContext`スレッドスルーハックを削除し、未morphification状態のアドレスツリーに対する`fgMarkAddrModeForFieldAddr`プリウォークで置き換えました。新たに`GTF_FLD_TGT_NONFAULTING`フラグを導入し、null-check省略判定を明示的に処理することでコード生成の意図を一層明確にします。 @@ -234,7 +234,7 @@ SPMI asmdiffsで測定可能な差分なし。 - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年04月23日 11:54:39(UTC) - マージ日時: 2026年05月09日 15:03:37(UTC) -- ラベル: linkable-framework area-Tools-ILLink +- ラベル: linkable-framework area-Tools-ILLink #### 概要 ILLink trimmerおよびNativeAOT compiler、Roslyn analyzerに`typeof(T).Assembly.GetType(string)`パターンの理解を追加しました。このパターンを解析することで、対象型を解決でき、偽の警告を回避できます。特にライブラリテストで一般的なパターンです。 diff --git a/archives/2026/05/10.md b/archives/2026/05/10.md index 03c687a..2f55e2b 100644 --- a/archives/2026/05/10.md +++ b/archives/2026/05/10.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#128004 Fix flaky AsyncContinuation cDAC dump test on osx-arm64 by using Task.Yield](#128004) 2. [#127999 Fix CS9361 stackalloc unsafe context in X25519DiffieHellmanCng](#127999) 3. [#127997 Remove buildConfig from sccache cache key to share across PR/rolling builds](#127997) @@ -10,7 +10,7 @@ - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年05月10日 02:31:36(UTC) - マージ日時: 2026年05月10日 23:56:35(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 osx-arm64プラットフォームの高速マシン上で、非同期継続のcDAC(Compact Data Access Component)ダンプテストが不安定に失敗する問題を修正します。`Task.Delay(1)`をawait時に使用していたため、タイマーが継続チェック前に発火してしまい、`AsyncDispatcherInfo`型がロードされないまま進行していました。`Task.Yield()`に変更することで、マシン速度に関わらず確実に非同期サスペンションを保証します。 @@ -33,7 +33,7 @@ osx-arm64プラットフォームの高速マシン上で、非同期継続のcD - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月09日 21:29:03(UTC) - マージ日時: 2026年05月10日 04:03:54(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 新しいRoslyn 5.7.0で導入されたコンパイラエラーCS9361に対応するため、`X25519DiffieHellmanCng.DeriveRawSecretAgreementCore`メソッドの`stackalloc`式を修正しました。アセンブリ全体に`[SkipLocalsInit]`が設定されている環境では、初期化されていない`stackalloc`は`unsafe`コンテキストが必須となります。メソッド全体をunsafeにするのではなく、`stackalloc`の割り当てだけを最小限の`unsafe`ブロックでラップし、`scoped`修飾子で参照安全性を保持します。 @@ -64,7 +64,7 @@ unsafe - 作成者: [@agocke](https://github.com/agocke) - 作成日時: 2026年05月09日 18:37:20(UTC) - マージ日時: 2026年05月10日 08:31:55(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 sccache のAzure Pipelines キャッシュキーから `buildConfig` (Debug/Release) を削除し、PR ビルドがローリングビルドのキャッシュを再利用できるようにしました。これにより、PR のネイティブコンパイルレッグで **33-46% のビルド時間削減** が期待されます。 @@ -89,7 +89,7 @@ sccache のAzure Pipelines キャッシュキーから `buildConfig` (Debug/Rele - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年05月09日 16:46:36(UTC) - マージ日時: 2026年05月10日 14:15:30(UTC) -- ラベル: area-System.Linq +- ラベル: area-System.Linq #### 概要 `Enumerable.Min/Max`のベクトル化実装における最終的な還元処理を最適化しました。`Vector128`アキュムレータをスカラループから**シャッフルベースの水平還元**に変更することで、特に小さい要素型(byte/short)で大幅な性能向上を実現しています。 @@ -129,7 +129,7 @@ larger型(int/long)は既に最適化されていたため影響は限定的で - 作成者: [@BoyBaykiller](https://github.com/BoyBaykiller) - 作成日時: 2026年04月30日 17:39:21(UTC) - マージ日時: 2026年05月10日 19:26:56(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 JITコンパイラの`GenTree::IsPow2`関連関数における符号拡張の問題を修正しました。`IsIntegralConstUnsignedPow2`が符号拡張された値を渡していたため、実際には符号なし整数として機能していませんでした(例:`1 << 31`がpow2として認識されない)。新たに`UnsignedIntegralValue`メソッドを追加してゼロ拡張リテラルを提供し、複数の関数で使用することで修正しました。 diff --git a/archives/2026/05/11.md b/archives/2026/05/11.md index 176dfd1..1fbc4f0 100644 --- a/archives/2026/05/11.md +++ b/archives/2026/05/11.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#128048 Limit sccache cache size to 3.5 GB to reduce transfer overhead](#128048) 2. [#127963 \[ci-scan\] Skip AsyncProfilerTests on Android, iOS, tvOS, and MacCatalyst \(refs #127951\)](#127963) 3. [#127950 Fold more branches via O1K_VN \ O2K_VN comparisons](#127950) @@ -19,7 +19,7 @@ - 作成者: [@agocke](https://github.com/agocke) - 作成日時: 2026年05月11日 18:02:47(UTC) - マージ日時: 2026年05月11日 21:41:49(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 CoreCLR パイプラインの sccache ローカルキャッシュサイズを3.5GBに制限し、ローリングビルド時のキャッシュ復元・保存のオーバーヘッドを削減します。デフォルトの10GB制限では、古いエントリが蓄積して6~7GBまで増加し、キャッシュの転送に約3分のオーバーヘッドが発生していました。LRU削除により、作業セットサイズ(~3GB)に近い状態を維持します。 @@ -48,7 +48,7 @@ CoreCLR パイプラインの sccache ローカルキャッシュサイズを3.5 - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年05月08日 18:27:35(UTC) - マージ日時: 2026年05月11日 20:05:22(UTC) -- ラベル: area-Infrastructure-mono agentic-workflows +- ラベル: area-Infrastructure-mono agentic-workflows #### 概要 `AsyncProfilerTests`クラスはEventPipeベースの非同期プロファイリング(RuntimeAsync イベント)をテストしていますが、モバイルプラットフォーム(Android、iOS、tvOS、MacCatalyst)でEventPipeランタイムイベントが一貫して発火しないため、テスト失敗が発生します。これはプロダクトバグではなくテスト環境の制限です。クラスレベルに`[ActiveIssue]`属性を追加することで、当該プラットフォームでのテストをスキップします。 @@ -74,7 +74,7 @@ CoreCLR パイプラインの sccache ローカルキャッシュサイズを3.5 - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年05月08日 12:26:48(UTC) - マージ日時: 2026年05月11日 17:02:13(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 CoreCLR JIT コンパイラの大域的アサーション伝播と範囲解析を拡張し、両方のオペランドが任意の値番号(VN)である符号付き比較(VN VN)に対応します。これにより、リレーショナルファクトをチェーン化することで追加的なブランチ折畳みが可能になります。 @@ -100,7 +100,7 @@ CoreCLR JIT コンパイラの大域的アサーション伝播と範囲解析 - 作成者: [@MihaZupan](https://github.com/MihaZupan) - 作成日時: 2026年05月08日 00:54:07(UTC) - マージ日時: 2026年05月11日 11:47:34(UTC) -- ラベル: area-System.Runtime tenet-performance +- ラベル: area-System.Runtime tenet-performance #### 概要 `string`型のRune関連ヘルパーメソッドのパフォーマンスを向上。BMP(Basic Multilingual Plane)Rune入力に対してはchar オーバーロードへの委譲、非BMP Runeに対しては直接UTF-16サロゲートペア比較を実装。`Trim`関連メソッドも`TrimHelper`を用いて最適化。 @@ -130,7 +130,7 @@ CoreCLR JIT コンパイラの大域的アサーション伝播と範囲解析 - 作成者: [@adamperlin](https://github.com/adamperlin) - 作成日時: 2026年05月08日 00:20:04(UTC) - マージ日時: 2026年05月11日 16:01:12(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 Wasm AOT コンパイル(Crossgen2)において、関数本体の ULEB128 長プレフィックスを `ObjectData` に直接エンコードする仕組みに統一しました。従来は `SectionWriter`/`ObjectWriter` で動的に長プレフィックスを挿入していましたが、これを廃止し、JIT と同じ方式([#127773](https://github.com/dotnet/runtime/issues/127773) で導入)に合わせています。 @@ -155,7 +155,7 @@ Wasm AOT コンパイル(Crossgen2)において、関数本体の ULEB128 - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年05月07日 19:00:38(UTC) - マージ日時: 2026年05月11日 16:08:04(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 非同期呼び出し時の継続状態キャプチャにおいて、戻り値変数がライブローカル変数として継続オブジェクトに保存されていた問題を修正。これにより未初期化データがコピーされ、GCの不整合クラッシュを引き起こしていた。戻り値メタデータを専用に追跡し、再開パスで明示的に復元することで解決。 @@ -178,7 +178,7 @@ Wasm AOT コンパイル(Crossgen2)において、関数本体の ULEB128 - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年05月07日 16:52:19(UTC) - マージ日時: 2026年05月11日 14:48:09(UTC) -- ラベル: arch-wasm area-Infrastructure-libraries +- ラベル: arch-wasm area-Infrastructure-libraries #### 概要 WebAssembly(Browser)上のCoreClrランタイムでSystem.Linq.Expressions.Testsが実行されるようになります。このテストスイートは以前は無効化されていましたが、調査により5,670件のテストすべてがRelease CoreClrで成功することが確認されたため、再度有効化するものです。 @@ -202,7 +202,7 @@ WebAssembly(Browser)上のCoreClrランタイムでSystem.Linq.Expressions.T - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年05月07日 15:50:59(UTC) - マージ日時: 2026年05月11日 15:11:52(UTC) -- ラベル: area-System.Numerics reduce-unsafe +- ラベル: area-System.Numerics reduce-unsafe #### 概要 `TryWriteSignificand`および`TryHash`ヘルパーメソッドにおいて、安全でないコード(`unsafe`)の使用を削減するリファクタリング。型安全性を向上させながら同等の機能を維持する変更。 @@ -228,7 +228,7 @@ WebAssembly(Browser)上のCoreClrランタイムでSystem.Linq.Expressions.T - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月07日 12:55:39(UTC) - マージ日時: 2026年05月11日 14:53:58(UTC) -- ラベル: area-PAL-coreclr +- ラベル: area-PAL-coreclr #### 概要 `SList`がMSVCにおいて空ベースクラス最適化を受けていないために2ポインタサイズの容量を無駄に消費していた問題を修正。`EMPTY_BASES_DECL`マクロをminipalに一元化し、CoreCLRとNativeAOT両者で共通利用できるようにしました。これにより`SList`のメモリフットプリント(特にヘッドのみのリスト)が削減されます。 @@ -253,7 +253,7 @@ WebAssembly(Browser)上のCoreClrランタイムでSystem.Linq.Expressions.T - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年05月07日 08:04:20(UTC) - マージ日時: 2026年05月11日 15:22:12(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 CoreCLRの`GetOsPageSize()`ラッパーを削除し、すべてのコールサイトを#127328で導入された標準API`minipal_getpagesize()`に統一するPR。WASMの16KBページサイズなど、プラットフォーム間でのページサイズ意味論の一貫性を確保します。 @@ -280,7 +280,7 @@ CoreCLRの`GetOsPageSize()`ラッパーを削除し、すべてのコールサ - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年05月05日 10:48:06(UTC) - マージ日時: 2026年05月11日 15:14:56(UTC) -- ラベル: area-Codegen-JIT-mono +- ラベル: area-Codegen-JIT-mono #### 概要 Mono AOT コンパイル時に `nint`/`nuint` 型のオーバーロードを持つ `Crc32` と `ArmBase` 組み込み関数のディスパッチが失敗する問題を修正します。`simd-intrinsics.c` の型チェックロジックを改善し、`MONO_TYPE_I/U` に対応させることで、tvos-arm64 での `System.Private.CoreLib.dll` AOT プリコンパイルをブロック解除します。 @@ -306,7 +306,7 @@ Mono AOT コンパイル時に `nint`/`nuint` 型のオーバーロードを持 - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年05月01日 04:27:56(UTC) - マージ日時: 2026年05月11日 14:53:37(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(CoreCLR Diagnostic Data Access Contract)の署名デコーディング統一化の第2段階。`RuntimeSignatureDecoder`を導入し、System.Reflection.Metadata の `SignatureDecoder` に合わせた API を提供しつつ、CoreCLR 固有の内部署名要素型(`ELEMENT_TYPE_INTERNAL` / `ELEMENT_TYPE_CMOD_INTERNAL`)に対応。Signature契約と StackWalk契約(GC参照スキャン)で統一的に署名をデコードするようにリファクタリング。 @@ -345,7 +345,7 @@ cDAC(CoreCLR Diagnostic Data Access Contract)の署名デコーディング - 作成者: [@dhartglassMSFT](https://github.com/dhartglassMSFT) - 作成日時: 2026年04月28日 23:44:12(UTC) - マージ日時: 2026年05月11日 22:29:18(UTC) -- ラベル: area-System.Runtime.Intrinsics +- ラベル: area-System.Runtime.Intrinsics #### 概要 Arm64 SVE2命令セットに対応した新しいハードウェア組み込み関数を追加します。`CreateWhileGreaterThan*`(ベクトルの末尾から始まるマスクビット)と`CreateWhileReadAfterWrite*`(ポインタ値に基づくマスク生成)の2つのイントリンシクファミリーを実装します。これらは既存の`CreateWhileLess*`イントリンシクをベースにしており、Linux-arm64でjitstressテストに合格しています。 @@ -380,7 +380,7 @@ Arm64 SVE2命令セットに対応した新しいハードウェア組み込み - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年04月28日 00:01:45(UTC) - マージ日時: 2026年05月11日 20:41:41(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 WebAssembly上のReadyToRun (R2R) イメージにおいて、文字列キーによるプリジェネレーテッドコード thunk の検出を可能にする end-to-end インフラストラクチャを追加します。新しいR2R fixup `READYTORUN_FIXUP_InjectStringThunks` (0x39) により、R2R コンパイル済みコードと WASM インタープリタ間の相互運用性を実現します。 diff --git a/archives/2026/05/12.md b/archives/2026/05/12.md index 5cba406..960f5a0 100644 --- a/archives/2026/05/12.md +++ b/archives/2026/05/12.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#128099 Turn CRLF -\> LF in CorInfoImpl.ReadyToRun.cs and fix a build break](#128099) 2. [#128071 Fix ArgumentOutOfRangeException in Deflate64](#128071) 3. [#128069 Fix runtime initialization on linux with cpu hotplug enabled](#128069) @@ -35,7 +35,7 @@ - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年05月12日 20:51:09(UTC) - マージ日時: 2026年05月12日 21:55:53(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 CorInfoImpl.ReadyToRun.csファイルのCRLF改行をLFに統一し、#126904で導入されたビルド破壊を修正するPRです。CRLFによるチェックアウト時の不要な変更報告を防ぎます。 @@ -57,7 +57,7 @@ CorInfoImpl.ReadyToRun.csファイルのCRLF改行をLFに統一し、#126904で - 作成者: [@rzikm](https://github.com/rzikm) - 作成日時: 2026年05月12日 11:28:01(UTC) - マージ日時: 2026年05月12日 18:24:52(UTC) -- ラベル: area-System.IO.Compression +- ラベル: area-System.IO.Compression #### 概要 Deflate64Fuzzerによる検査で発見された`ArgumentOutOfRangeException`の修正。System.IO.Compressionライブラリの圧縮解凍処理において、不正な入力データに対する境界値チェックを改善し、エッジケースでの予期しない例外発生を防止します。 @@ -81,7 +81,7 @@ Deflate64Fuzzerによる検査で発見された`ArgumentOutOfRangeException`の - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年05月12日 10:11:21(UTC) - マージ日時: 2026年05月12日 23:35:37(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 Linux上でCPUホットプラグが有効な場合、ランタイム初期化時に`sched_getaffinity`用の`cpu_set_t`メモリ割り当てが失敗する問題を修正しました。現在のCPU数ではなく、システムで許容される最大CPU数に基づいてアフィニティマスクを適切にサイズすることで対応しています。 @@ -111,7 +111,7 @@ minipalに`minipal_get_cpu_max_possible_count()`ヘルパー関数を追加し - 作成者: [@agocke](https://github.com/agocke) - 作成日時: 2026年05月11日 20:45:51(UTC) - マージ日時: 2026年05月12日 07:21:03(UTC) -- ラベル: area-Infrastructure-coreclr +- ラベル: area-Infrastructure-coreclr #### 概要 Azure Pipelines の `Cache@2` タスクがディスク容量不足でキャッシュアップロード時に失敗する問題を対応します。sccache キャッシュはパフォーマンス最適化のため、失敗時にビルド全体が失敗しないように `continueOnError: true` を設定して、エラーを警告に変更します。 @@ -136,7 +136,7 @@ Azure Pipelines の `Cache@2` タスクがディスク容量不足でキャッ - 作成者: [@agocke](https://github.com/agocke) - 作成日時: 2026年05月11日 19:59:34(UTC) - マージ日時: 2026年05月12日 07:22:16(UTC) -- ラベル: area-Infrastructure-coreclr +- ラベル: area-Infrastructure-coreclr #### 概要 linux-musl-x64 coreclr buildにおいてsccacheコンパイラキャッシングを有効化するCI設定変更。linux-x64での実績(約9分/leg短縮、ヒット率97.59%)と同等の高速化を目指す。sccacheはmusl/glibc両対応の静的リンク済みバイナリであり、キャッシュキーに`osSubgroup`を含めることでmusl/glibc間のキャッシュ分離を実現。 @@ -163,7 +163,7 @@ linux-x64での実績に基づき、linux-musl-x64ビルドでも同等の改善 - 作成者: [@snickolls-arm](https://github.com/snickolls-arm) - 作成日時: 2026年05月11日 14:08:57(UTC) - マージ日時: 2026年05月12日 22:56:03(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 ARM64でスタックに割り当てられたベクトルとマスクのロード/ストア命令生成時に、アドレッシングがスタックポインタベースの場合に失敗していた問題を修正しました。フレームポインタベースのアドレッシングのみを想定していたアサーションを削除し、コードジェネレーションで適切なレジスタを選択するように改善しました。 @@ -185,7 +185,7 @@ ARM64ランタイムのJITコンパイラ内部実装の修正です。スタッ - 作成者: [@tannergooding](https://github.com/tannergooding) - 作成日時: 2026年05月11日 13:21:51(UTC) - マージ日時: 2026年05月12日 13:47:37(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 CoreCLR JITインポートロジックの未完成なクリーンアップ。`impAppendStmt`と`impStoreStruct`関数から、戻りバッファ(retbuf)処理に関連する到達不可能/デッドコードを削除します。これは[#105023](https://github.com/dotnet/runtime/pull/105023)からの残件対応です。 @@ -208,7 +208,7 @@ CoreCLR JITインポートロジックの未完成なクリーンアップ。`im - 作成者: [@akoeplinger](https://github.com/akoeplinger) - 作成日時: 2026年05月11日 11:27:07(UTC) - マージ日時: 2026年05月12日 13:26:18(UTC) -- ラベル: area-Infrastructure-coreclr +- ラベル: area-Infrastructure-coreclr #### 概要 CoreCLR ビルドパイプラインの sccache NuGet パッケージ取得方法を変更します。MSBuild の PackageDownload アイテムから明示的な `dotnet package download` コマンドへの移行により、パイプライン設定をより自己完結させ、MSBuild restore フェーズへの依存を排除します。 @@ -231,7 +231,7 @@ CoreCLR ビルドパイプラインの sccache NuGet パッケージ取得方法 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月11日 00:22:28(UTC) - マージ日時: 2026年05月12日 01:07:21(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 DAC/DBI インターフェースから使用されていない2つのメソッド `AreGCStructuresValid` と `IsWinRTModule` を削除します。両メソッドは単純な定数値を返すのみで、実装価値がなく、呼び出し箇所も最小限であるため削除対象としました。 @@ -258,7 +258,7 @@ DAC/DBI インターフェースから使用されていない2つのメソッ - 作成者: [@tannergooding](https://github.com/tannergooding) - 作成日時: 2026年05月10日 23:52:58(UTC) - マージ日時: 2026年05月12日 16:27:21(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 `Compiler::gtInitializeStoreNode`メソッドが、SIMD/Maskローカルストア操作をすべてのプラットフォームで一貫して処理するように改善されました。これまではx86でのみ特別な処理が行われており、x64ではマスクストアが意図通りに処理されていませんでした。 @@ -282,7 +282,7 @@ JIT(Just-In-Time)コンパイラの内部実装(gentree.cpp)の変更で - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年05月09日 13:08:31(UTC) - マージ日時: 2026年05月12日 07:27:14(UTC) -- ラベル: area-System.Net.Sockets os-android agentic-workflows agentic-threat-detected +- ラベル: area-System.Net.Sockets os-android agentic-workflows agentic-threat-detected #### 概要 Android エミュレータが IPv6 ループバック(::1)に対応していないため、DualMode IPv6 ソケットテストが失敗する問題に対応したテスト修正です。`[ActiveIssue]` 属性を追加して、Android プラットフォームでのテスト実行をスキップします。 @@ -307,7 +307,7 @@ Android エミュレータが IPv6 ループバック(::1)に対応してい - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年05月09日 13:08:21(UTC) - マージ日時: 2026年05月12日 19:16:15(UTC) -- ラベル: area-System.Net.Http agentic-workflows agentic-threat-detected +- ラベル: area-System.Net.Http agentic-workflows agentic-threat-detected #### 概要 Windows x64 環境で `WinHttpException : Error 12030`(接続異常終了)により失敗する `PlatformHandlerTest_Cookies_Http2` テストをスキップするための `[ActiveIssue]` 属性をクラスレベルで追加します。この変更により、関連する既知の問題(#126867)が解決されるまでの間、CI 失敗を抑止します。 @@ -334,7 +334,7 @@ Windows x64 環境で `WinHttpException : Error 12030`(接続異常終了) - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年05月09日 01:31:23(UTC) - マージ日時: 2026年05月12日 07:39:39(UTC) -- ラベル: area-Infrastructure agentic-workflows agentic-threat-detected +- ラベル: area-Infrastructure agentic-workflows agentic-threat-detected #### 概要 Android エミュレータの DNS リゾルバの動作差により、`DnsGetHostAddresses_LocalhostSubdomainWithTrailingDot_ReturnsLoopback` テストが失敗するため、このテストを Android プラットフォーム向けに `[ActiveIssue]` アノテーションで抑制します。Android の DNS リゾルバが `.localhost` サブドメイン クエリ(`foo.localhost.`、`bar.test.localhost.` など)に対してループバック アドレスの代わりにリンクローカルおよびグローバルルーティング可能な IPv6 アドレスを返す為、これはプラットフォーム動作差であり .NET の製品バグではありません。 @@ -358,7 +358,7 @@ Android エミュレータの DNS リゾルバの動作差により、`DnsGetHos - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年05月09日 00:02:00(UTC) - マージ日時: 2026年05月12日 09:44:13(UTC) -- ラベル: area-System.Threading +- ラベル: area-System.Threading #### 概要 `ThreadPool.UnsafeQueueUserWorkItem`に対してruntime asyncの特殊化ケースを追加し、`IValueTaskSource.OnCompleted`に渡された継続をスレッドプールに転送する際にワークアイテムの追加割り当てを避けるための最適化を実装しました。これによりASP.NET platform-jsonプラットフォームにおいてasync1とruntime asyncの間のRPSギャップを削減します。 @@ -382,7 +382,7 @@ Copilotのレビュー時に、`ExecuteDirectly`メソッドのコメントに - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年05月08日 23:04:56(UTC) - マージ日時: 2026年05月12日 13:22:15(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 CoreCLR デバッグスタックウォーク経路から未使用の `CHAIN_ENTER_MANAGED` チェーン機構と関連フィールドを削除するクリーンアップです。IPC スタックウォークフレームデータから chain ペイロードと `quicklyUnwound` フィールドを除去し、シムスタックウォークロジックを簡素化しました。 @@ -409,7 +409,7 @@ CoreCLR デバッグスタックウォーク経路から未使用の `CHAIN_ENTE - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月08日 19:35:52(UTC) - マージ日時: 2026年05月12日 16:11:15(UTC) -- ラベル: area-System.Threading +- ラベル: area-System.Threading #### 概要 `docs/design/specs/Memory-model.md`内の不正確な名前空間参照を修正するドキュメント修正です。`System.Thread`の誤記を正しい`System.Threading.Thread`に修正しました。 @@ -437,7 +437,7 @@ CoreCLR デバッグスタックウォーク経路から未使用の `CHAIN_ENTE - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年05月08日 18:27:53(UTC) - マージ日時: 2026年05月12日 19:19:20(UTC) -- ラベル: area-CodeGen-coreclr agentic-workflows +- ラベル: area-CodeGen-coreclr agentic-workflows #### 概要 `Vector3Interop`テストが`GCStress=0xC`(マーク・フェーズおよび圧縮ストレス)+ `JitStress=2` + `TieredCompilation=0`の組み合わせで動作中に、PALシグナルハンドラでネイティブSIGSEGV(終了コード22)クラッシュが発生するため、`[ActiveIssue]`属性を使用してテストをスキップする修正です。関連Issue [#127827](https://github.com/dotnet/runtime/issues/127827)の解決後に属性を削除できるよう設計されています。 @@ -461,7 +461,7 @@ CoreCLR デバッグスタックウォーク経路から未使用の `CHAIN_ENTE - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年05月07日 15:44:57(UTC) - マージ日時: 2026年05月12日 18:48:53(UTC) -- ラベル: community-contribution arch-riscv area-CodeGen-Interpreter-coreclr +- ラベル: community-contribution arch-riscv area-CodeGen-Interpreter-coreclr #### 概要 linux-riscv64 プラットフォームのインタプリタテスト実行時に発生していた問題を修正するPRです。clang-21のデフォルト設定変更に対応し、RISC-V命令セット拡張を明示的に制限するとともに、プロログオフセット計算の符号エラーと不適切なアサーションを修正しました。 @@ -484,7 +484,7 @@ linux-riscv64 プラットフォームのインタプリタテスト実行時に - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年05月06日 20:44:27(UTC) - マージ日時: 2026年05月12日 19:07:13(UTC) -- ラベル: arch-wasm area-ReadyToRun +- ラベル: arch-wasm area-ReadyToRun #### 概要 R2RDump ツールに Webcil (WebAssembly-wrapped .NET assemblies) ファイルの読み込みと解析機能を追加します。同時に WebAssembly バイトコード完全ディスアセンブラ (`WasmDisassembler`) を実装し、メタデータ抽象化を改善して PE ファイルに依存しないセクション読み込みに対応しました。 @@ -514,7 +514,7 @@ R2RDump ツールに Webcil (WebAssembly-wrapped .NET assemblies) ファイル - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年05月04日 14:21:26(UTC) - マージ日時: 2026年05月12日 14:18:50(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 CLRインタープリタのデバッガ統合における2つのアサーション失敗を修正しました。`DispatchMethodEnter`でのコントローラーカウント処理とインタープリタの`INTOP_DEBUG_METHOD_ENTER`命令の検証を改善し、スレッドアフィニティなMethodEnterコントローラーやデバッガブレークポイント設定時のテスト失敗を解決します。 @@ -540,7 +540,7 @@ CLRインタープリタのデバッガ統合における2つのアサーショ - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年05月01日 20:13:33(UTC) - マージ日時: 2026年05月12日 17:14:43(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 runtime-async非同期デバッガーのタイムスタンプ計測を修正し、新たに作成されたcontinuation チェーンが、現在実行中のcontinuationのタイムスタンプを継承せず、中断時に新しいタイムスタンプを取得するようにしました。これにより、async チェーン内のすべてのタイムスタンプが同じになる問題を解決しています。 @@ -566,7 +566,7 @@ runtime-async非同期デバッガーのタイムスタンプ計測を修正し - 作成者: [@iremyux](https://github.com/iremyux) - 作成日時: 2026年04月30日 11:08:14(UTC) - マージ日時: 2026年05月12日 15:13:58(UTC) -- ラベル: area-System.Formats.Tar +- ラベル: area-System.Formats.Tar #### 概要 TAR アーカイブ読み込み時のセキュリティを強化するため、PAX拡張属性ブロックおよびGNU LongPath/LongLink データセクションの最大サイズを1MBに制限します。これにより、不正形式のアーカイブからの過度なメモリ割り当てやDoS攻撃を軽減します。 @@ -591,7 +591,7 @@ Copilot レビュアーからは、例外メッセージの改善に関する提 - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年04月26日 19:31:55(UTC) - マージ日時: 2026年05月12日 14:58:49(UTC) -- ラベル: arch-wasm area-Infrastructure-coreclr +- ラベル: arch-wasm area-Infrastructure-coreclr #### 概要 WebAssemblyの`browser_wasm`プラットフォームにおいて、CoreCLR outerloop CI での Priority1 ランタイムテスト実行を有効化します。マルチスレッド機能を持たないブラウザ環境やインタープリタの制限により失敗するテストを条件付きスキップまたは除外して、テストを安定化させます。 @@ -620,7 +620,7 @@ WebAssemblyの`browser_wasm`プラットフォームにおいて、CoreCLR outer - 作成者: [@VSadov](https://github.com/VSadov) - 作成日時: 2026年04月22日 01:08:07(UTC) - マージ日時: 2026年05月12日 13:04:09(UTC) -- ラベル: area-System.Threading +- ラベル: area-System.Threading #### 概要 `AsyncOperation`と`ManualResetValueTaskSourceCore`の完了シグナリングメカニズムを改善し、理論的なレース条件を排除して保持されるオブジェクト参照を削減します。完了検出をセンチネル値ベースに統一し、キャプチャしたコンテキストと状態をより早期にクリアすることで、メモリリークやオブジェクト参照の長期保持を防止します。 @@ -653,7 +653,7 @@ WebAssemblyの`browser_wasm`プラットフォームにおいて、CoreCLR outer - 作成者: [@eduardo-vp](https://github.com/eduardo-vp) - 作成日時: 2026年04月21日 01:21:25(UTC) - マージ日時: 2026年05月12日 22:04:56(UTC) -- ラベル: area-System.Net.Sockets +- ラベル: area-System.Net.Sockets #### 概要 Android プラットフォームでの TCP 接続失敗に起因するテストの不安定性を解決するため、`SelectPoll_InfiniteTimeSpan_Ok` テストを UDP ソケットを使用するように変更しました。テストの目的である "infinite timeout" 引数の妥当性検証は保持したままです。 @@ -676,7 +676,7 @@ Android プラットフォームでの TCP 接続失敗に起因するテスト - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年04月20日 05:49:01(UTC) - マージ日時: 2026年05月12日 17:35:33(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 このPRはcDAC(Component Data Access Contract)を介して`IXCLRDataProcess::GetRuntimeNameByAddress`を実装し、スタブの種類分類(StubKind)と名前解決機能を追加します。スタブ(CallCountingStub、VSD_DispatchStubなど)にアノテーションを付与し、Precodeスタブの解決にも対応します。 @@ -717,7 +717,7 @@ Android プラットフォームでの TCP 接続失敗に起因するテスト - 作成者: [@jtschuster](https://github.com/jtschuster) - 作成日時: 2026年04月14日 20:26:30(UTC) - マージ日時: 2026年05月12日 19:41:27(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 Composite BuildモードでのReadyToRun(R2R)コンパイル時に、非同期サンク(async thunks)とレジューメーション スタブのコンパイルを有効化します。問題は、Composite Imageの型を参照するMutableModuleトークンを発行していたが、MutableModuleトークンがCoreLib以外を参照することが明示的にブロックされていたこと。解決策として、ExternalReferenceTokenManagerを使用して必要なトークンをMutableModuleに追加し、ILStubとしてサンク(thunk)をコンパイルします。ジェネリック メソッドの署名発出時の問題も修正しており、インスタンス化情報がストリップされた場合に所有型を強制的にエンコードするようになりました。 @@ -746,7 +746,7 @@ Composite BuildモードでのReadyToRun(R2R)コンパイル時に、非同期 - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年03月31日 11:41:54(UTC) - マージ日時: 2026年05月12日 05:14:55(UTC) -- ラベル: area-ReadyToRun +- ラベル: area-ReadyToRun #### 概要 crossgen2での静的仮想インターフェイスメソッド呼び出し時に、制約付き型での実装解決に失敗した場合、デフォルトインターフェイスメソッド(DIM)の実装をインターフェイス上で検索するフォールバック処理を追加しました。これにより、Perf_DateTimeCultureInfo.ToStringテストで約25倍の高速化が実現されています。 @@ -770,7 +770,7 @@ crossgen2での静的仮想インターフェイスメソッド呼び出し時 - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月03日 02:04:27(UTC) - マージ日時: 2026年05月12日 12:37:12(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/arcadeリポジトリの依存関係を更新するPull Requestです。release/9.0ブランチのビルド20260511.1に基づいて、19個のarcadeツール・SDK関連パッケージとXUnitアサーション関連パッケージを更新しています。 @@ -800,7 +800,7 @@ dotnet/arcadeリポジトリの依存関係を更新するPull Requestです。r - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年02月14日 01:24:49(UTC) - マージ日時: 2026年05月12日 12:33:26(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITの範囲チェック最適化パスにおいて、キャスト操作を通じたより正確な範囲伝播を実現するための改善です。GetRangeFromAssertions内でのキャスト処理をより正確にし、GetRangeFromTypeにTYP_INTサポートを追加することで、範囲解析の精度を向上させています。 diff --git a/archives/2026/05/13.md b/archives/2026/05/13.md index f9e1fe8..6349061 100644 --- a/archives/2026/05/13.md +++ b/archives/2026/05/13.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#128153 \[automated\] Merge branch 'release/9.0' =\> 'release/9.0-staging'](#128153) 2. [#128119 \[cdac\] Move DataType from Abstractions to Contracts](#128119) 3. [#128118 Fix NativeAOT dependent handle secondary access with standalone GC](#128118) @@ -40,7 +40,7 @@ - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年05月13日 16:42:59(UTC) - マージ日時: 2026年05月13日 19:06:08(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 release/9.0ブランチからrelease/9.0-stagingブランチへの自動マージPRです。6人のコントリビューターによる変更(バージョン更新、依存関係の更新、System.Formats.Tar関連の修正を含む)をマージします。 @@ -64,7 +64,7 @@ release/9.0ブランチからrelease/9.0-stagingブランチへの自動マー - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年05月13日 05:42:28(UTC) - マージ日時: 2026年05月13日 23:41:39(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Common Data Access Component)の型メタデータ処理を再構築するもので、`DataType` enum を Abstractions から Contracts アセンブリに移動し、`Target.GetTypeInfo()` の API を `DataType` ベースから文字列ベースに変更します。これにより、型記述子スキーマを Contracts に集約し、Abstractions は抽象 Target API に専念できるようになります。 @@ -97,7 +97,7 @@ cDAC(Common Data Access Component)の型メタデータ処理を再構築す - 作成者: [@jbevain](https://github.com/jbevain) - 作成日時: 2026年05月13日 05:01:08(UTC) - マージ日時: 2026年05月13日 14:40:18(UTC) -- ラベル: community-contribution area-NativeAOT-coreclr +- ラベル: community-contribution area-NativeAOT-coreclr #### 概要 NativeAOT環境下で、dependent handle(従属ハンドル)のセカンダリオブジェクトへのアクセスを、CoreCLRのグローバルヘルパー関数から`IGCHandleManager`インターフェース経由に変更しました。これにより、standalone GC有効時にハンドルマネージャーの抽象化を一貫して使用できるようになり、ハンドルの所有者がstandalone GCの場合でも正確にセカンダリオブジェクトにアクセスできます。 @@ -120,7 +120,7 @@ NativeAOT環境下で、dependent handle(従属ハンドル)のセカンダ - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2026年05月13日 03:08:48(UTC) - マージ日時: 2026年05月13日 19:35:32(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 PKCS#8秘密鍵エクスポート時のバッファリサイズロジックの修正。`MLKem`、`MLDsa`、`SlhDsa`、`X25519DiffieHellman`クラスで、`CryptoPool.Rent`がリクエストサイズより大きなバッファを返した場合に、次の再試行で実際に取得したバッファサイズに基づいてリサイズするように修正。これにより、`TryExportPkcs8PrivateKeyCore`に毎回同じサイズのバッファが渡される問題を解決します。 @@ -143,7 +143,7 @@ PKCS#8秘密鍵エクスポート時のバッファリサイズロジックの - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年05月13日 01:49:04(UTC) - マージ日時: 2026年05月13日 19:24:27(UTC) -- ラベル: area-System.Formats.Nrbf agentic-workflows agentic-threat-detected +- ラベル: area-System.Formats.Nrbf agentic-workflows agentic-threat-detected #### 概要 `System.Formats.Nrbf.Tests` テストアセンブリが Mono CI で一貫してタイムアウトするため、Mono ランタイムでの CI 実行から除外する設定を追加します。Windows x64 Release ビルドの Mono (MonoJIT/MonoInterpreter) 環境での実行をスキップします。 @@ -166,7 +166,7 @@ PKCS#8秘密鍵エクスポート時のバッファリサイズロジックの - 作成者: [@AaronRobinsonMSFT](https://github.com/AaronRobinsonMSFT) - 作成日時: 2026年05月12日 22:13:50(UTC) - マージ日時: 2026年05月13日 05:51:46(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 CoreCLR内部のリソース管理パターンを、レガシーな`Holder`/`Wrapper`/`SpecializedWrapper`から統一された`LifetimeHolder`パターンへ移行するPR。`HModuleHolder`、`ResetPointerHolder`、`CoTaskMemHolder`、`StubHolder`、`ExceptionHolder`の5つのホルダーを新パターンに移植し、対応するコールサイトをそれぞれ更新。例外処理マクロ(`EX_RETHROW`、`GET_EXCEPTION`など)のセマンティクスも新パターンに統一。 @@ -201,7 +201,7 @@ CoreCLR内部のリソース管理パターンを、レガシーな`Holder`/`Wra - 作成者: [@vseanreesermsft](https://github.com/vseanreesermsft) - 作成日時: 2026年05月12日 19:52:35(UTC) - マージ日時: 2026年05月13日 02:01:16(UTC) -- ラベル: Servicing-approved area-Infrastructure +- ラベル: Servicing-approved area-Infrastructure #### 概要 release/8.0ブランチの内部コミットをマージするPRです。`System.Formats.Tar`の抽出処理のセキュリティを強化し、Windows上でのシンボリックリンク検証とPAX拡張属性の負の値チェックを追加、MsQuic Schannel依存関係をバージョンアップします。 @@ -225,7 +225,7 @@ release/8.0ブランチの内部コミットをマージするPRです。`System - 作成者: [@vseanreesermsft](https://github.com/vseanreesermsft) - 作成日時: 2026年05月12日 19:47:53(UTC) - マージ日時: 2026年05月13日 11:42:26(UTC) -- ラベル: Servicing-approved area-System.Formats.Tar +- ラベル: Servicing-approved area-System.Formats.Tar #### 概要 `.NET 9.0`向けのセキュリティ強化PRです。`System.Formats.Tar`の圧縮ファイル抽出時に、Windowsのシンボリックリンクターゲット検証とPAX拡張属性のサイズ検証を厳格化し、パストラバーサル攻撃を防ぎます。あわせてMsQuic Schannel依存関係をバージョンアップします。 @@ -251,7 +251,7 @@ release/8.0ブランチの内部コミットをマージするPRです。`System - 作成者: [@wfurt](https://github.com/wfurt) - 作成日時: 2026年05月12日 16:48:42(UTC) - マージ日時: 2026年05月13日 04:11:40(UTC) -- ラベル: documentation area-System.Net +- ラベル: documentation area-System.Net #### 概要 HttpListenerのTLS実装に関する説明コメントを追加するドキュメント更新です。管理対象のHttpListener TLSコードパスが現在実質的に到達不可能である理由と、CA5359の抑制理由を明確化するコメントを追加しました。 @@ -273,7 +273,7 @@ HttpListenerのTLS実装に関する説明コメントを追加するドキュ - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年05月12日 12:17:27(UTC) - マージ日時: 2026年05月13日 07:58:14(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 NativeAOTにおけるTLSアクセスの最適化で、リンカーによる命令の再最適化(リラクゼーション)とJIT GC状態管理の不一致を修正します。JITが遅延的にGC状態を更新する仕様が、リンカーが予定より早くレジスタを上書きする場合に不正な動作を引き起こしていたため、特定の命令パターンでGC状態を先制的に更新するよう改めます。linux-x64とlinux-arm64に対応します。 @@ -300,7 +300,7 @@ NativeAOTにおけるTLSアクセスの最適化で、リンカーによる命 - 作成者: [@steveisok](https://github.com/steveisok) - 作成日時: 2026年05月12日 00:48:56(UTC) - マージ日時: 2026年05月13日 02:32:29(UTC) -- ラベル: area-System.Reflection +- ラベル: area-System.Reflection #### 概要 `ConstructorInfo.GetGenericArguments()`の動作を修正しました。CLRではコンストラクタはジェネリックメソッドではないため、このメソッドは常に空配列を返すべきですが、以前は`NotSupportedException`をスローしていました。抽象基底クラス`ConstructorInfo`にオーバーライドを追加することで、すべてのサブクラス(CoreCLR、Mono、NativeAOT、MetadataLoadContextなど)に統一的に対応しました。 @@ -325,7 +325,7 @@ NativeAOTにおけるTLSアクセスの最適化で、リンカーによる命 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月11日 15:41:57(UTC) - マージ日時: 2026年05月13日 17:21:02(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 未使用であった `ICorDebugProcess11` インターフェースとその関連型(`ICorDebugMemoryRangeEnum`、`COR_MEMORY_RANGE`)を削除します。このインターフェースの唯一のメソッド `EnumerateLoaderHeapMemoryRegions` は使用されていなかったため、デバッグAPI表面を簡潔にするための整理です。 @@ -353,7 +353,7 @@ NativeAOTにおけるTLSアクセスの最適化で、リンカーによる命 - 作成者: [@hoyosjs](https://github.com/hoyosjs) - 作成日時: 2026年05月11日 07:51:24(UTC) - マージ日時: 2026年05月13日 00:41:42(UTC) -- ラベル: Servicing-approved area-Diagnostics-coreclr +- ラベル: Servicing-approved area-Diagnostics-coreclr #### 概要 minidump収集パフォーマンス向上のための3つのDAC改善をrelease/10.0にバックポートします。DACインスタンスキャッシュの実装変更(SHashへの置き換え)、デバッガパッチキャッシュの追加、およびオプトイン環境変数`DOTNET_EnableFastHeapDumps`によるHEAP2列挙パスの有効化により、大規模.NETアプリケーション(多数のスレッド・深いスタック)でのダンプ収集時間を大幅に短縮します(測定値:SHash導入で約9.5倍高速化、パッチキャッシュで55s→7s削減)。 @@ -381,7 +381,7 @@ minidump収集パフォーマンス向上のための3つのDAC改善をrelease/ - 作成者: [@hoyosjs](https://github.com/hoyosjs) - 作成日時: 2026年05月11日 07:44:11(UTC) - マージ日時: 2026年05月13日 00:40:39(UTC) -- ラベル: Servicing-approved area-Diagnostics-coreclr +- ラベル: Servicing-approved area-Diagnostics-coreclr #### 概要 大規模な.NETアプリケーション(多数のスレッド、深いスタック)のミニダンプ収集パフォーマンスを改善する3つのDAC最適化をbackportします。`DacInstanceManager`のハッシュテーブル実装をSHashに置き換え、デバッガパッチのキャッシング機能を追加し、環境変数`DOTNET_EnableFastHeapDumps`により高速ヒープダンプ列挙を有効化します。測定結果として、深いスタック(2.5k フレーム)の50スレッド環境でミニダンプ収集が約9.5倍高速化、ヒープダンプが55秒から約7秒に短縮されました。 @@ -411,7 +411,7 @@ minidump収集パフォーマンス向上のための3つのDAC改善をrelease/ - 作成者: [@eduardo-vp](https://github.com/eduardo-vp) - 作成日時: 2026年05月11日 02:57:06(UTC) - マージ日時: 2026年05月13日 21:49:04(UTC) -- ラベル: area-Meta +- ラベル: area-Meta #### 概要 Native AOT関連のドキュメントを更新し、初心者にとって理解しやすくするための改善を実施しました。メタデータの概要章を新規追加し、既存の設計ドキュメント間のクロスリンク強化、デバッグワークフローの説明拡充などが含まれています。 @@ -437,7 +437,7 @@ Native AOT関連のドキュメントを更新し、初心者にとって理解 - 作成者: [@elinor-fung](https://github.com/elinor-fung) - 作成日時: 2026年05月08日 17:59:55(UTC) - マージ日時: 2026年05月13日 23:40:01(UTC) -- ラベル: area-Host +- ラベル: area-Host #### 概要 Single-File Bundle機能に対して、実際にバンドルを生成せずにバンドルに含まれるファイルと除外されるファイルを事前計算するための新しい公開API `Bundler.ComputeBundleContents()` を追加しました。これにより、SDKはビルド段階でバンドル メンバーシップを事前に判定でき、ビルド増分性をサポートできるようになります。 @@ -477,7 +477,7 @@ public class Bundler - 作成者: [@SwapnilGaikwad](https://github.com/SwapnilGaikwad) - 作成日時: 2026年05月08日 09:40:35(UTC) - マージ日時: 2026年05月13日 06:34:55(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 ARM64向けのPointer Authentication Code (PAC) Return (RET)命令エンコーディングを追加するPRです。AUTIB、PACIB、RETAA、RETABなど12種類のPAC関連命令のエンコーディングを実装し、セキュリティ機能の強化に対応しています。 @@ -504,7 +504,7 @@ ARM64向けのPointer Authentication Code (PAC) Return (RET)命令エンコー - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年05月07日 23:38:15(UTC) - マージ日時: 2026年05月13日 23:51:39(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 WebAssembly(browser)ターゲット向けのクロスプラットフォームビルドを有効化し、`build.cmd clr+libs -os browser`でwasm JIT (`clrjit_universal_wasm_*`)、crossgen2、およびSystem.Private.CoreLibのwasm形式R2R出力を生成できるようにする変更です。 @@ -535,7 +535,7 @@ WebAssembly(browser)ターゲット向けのクロスプラットフォームビ - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年05月07日 02:04:11(UTC) - マージ日時: 2026年05月13日 10:44:45(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/icuリポジトリからの依存関係を更新するPull Requestです。Microsoft.NETCore.Runtime.ICU.Transportパッケージを9.0.0-rtm.26210.1から9.0.0-rtm.26261.1にアップデートしています。 @@ -558,7 +558,7 @@ dotnet/icuリポジトリからの依存関係を更新するPull Requestです - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年05月06日 23:00:09(UTC) - マージ日時: 2026年05月13日 14:49:43(UTC) -- ラベル: area-Infrastructure community-contribution +- ラベル: area-Infrastructure community-contribution #### 概要 GCC(GNU Compiler Collection)のバージョンをv15からv16にアップデートする変更です。ドキュメント、パイプライン設定、およびテストファイルが更新されています。 @@ -582,7 +582,7 @@ GCC v16へのアップグレードに伴い、CIパイプラインやビルド - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年05月05日 23:58:22(UTC) - マージ日時: 2026年05月13日 18:30:46(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 スレッドローカルスタティック変数初期化時の競合状態を修正するPRです。TLSインデックスメタデータとTLSIndex→MethodTableマップの更新時に、`VolatileStore`を使用して発行/可視性保証を強化し、複数スレッドからの並行アクセス時に部分的に発行された状態が観測されないようにします。これはmacOS arm64での`GetThreadLocalStaticBase`クラッシュの問題に対応しています。 @@ -605,7 +605,7 @@ GCC v16へのアップグレードに伴い、CIパイプラインやビルド - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年05月05日 21:35:35(UTC) - マージ日時: 2026年05月13日 01:12:09(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/emsdkからの依存関係を更新するPull Request。release/9.0ブランチに対して、EmscriptenワークロードマニフェストとJIT Tools、LLVM関連ツールのバージョンを最新化しています。 @@ -633,7 +633,7 @@ dotnet/emsdkからの依存関係を更新するPull Request。release/9.0ブラ - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年05月05日 20:58:57(UTC) - マージ日時: 2026年05月13日 01:13:24(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/emsdkからの依存関係を更新するPull Requestです。Emscripten関連のNuGetパッケージをrelease/8.0ブランチで更新しています。 @@ -660,7 +660,7 @@ dotnet/emsdkからの依存関係を更新するPull Requestです。Emscripten - 作成者: [@barosiak](https://github.com/barosiak) - 作成日時: 2026年05月05日 00:10:50(UTC) - マージ日時: 2026年05月13日 04:02:49(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Compact Data Access Component)デバッガ機能に`SetDebugState`を実装します。デバッガ制御スレッド状態を`ThreadStateNoConcurrency`から新しい`Volatile`フィールドに分離し、読み取り-修正-書き込みレースを回避しながらThread契約を通じて公開します。 @@ -687,7 +687,7 @@ cDAC(Compact Data Access Component)デバッガ機能に`SetDebugState`を - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年05月04日 14:54:42(UTC) - マージ日時: 2026年05月13日 11:25:07(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 インタープリタで実行される非同期メソッドがawaitで中断された際に、デバッガが局所変数と引数の値を取得できるようにします。従来、JIT経路でのみ対応していた非同期デバッグ情報の報告をインタープリタ経路にも実装し、`ICorDebugAsyncFrame::GetArgument`がインタープリタフレームで`CORDBG_E_IL_VAR_NOT_AVAILABLE`を返す問題を解決します。 @@ -720,7 +720,7 @@ cDAC(Compact Data Access Component)デバッガ機能に`SetDebugState`を - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年05月04日 14:27:52(UTC) - マージ日時: 2026年05月13日 15:05:20(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 Unix環境(デスクトップインタプリタ)で静的な`DbgTransportTarget`インスタンスが破棄される際、`mscordbi.dylib`に対して`DbgDllMain(DLL_PROCESS_DETACH)`が呼び出されないため、埋め込まれた`RSLock`が初期化されたままとなり、デバッグビルドで破棄アサーションが失敗していた問題を修正します。新しい`cLockAllowLeak`属性を導入し、シャットダウンパスが保証されない静的ライフタイムロックのアサーションをバイパスする仕様に変更します。 @@ -745,7 +745,7 @@ Unix環境(デスクトップインタプリタ)で静的な`DbgTransportTar - 作成者: [@janvorli](https://github.com/janvorli) - 作成日時: 2026年04月29日 16:43:02(UTC) - マージ日時: 2026年05月13日 11:11:46(UTC) -- ラベル: area-GC-coreclr +- ラベル: area-GC-coreclr #### 概要 1024を超えるCPUを搭載したUnixシステムにおいて、スレッドアフィニティ設定時の未対応ケースを修正します。前回のPRで見落とされていた箇所を補完し、`GCToOSInterface::SetThreadAffinity()`で動的割り当てされたCPUセットを使用するように更新します。 @@ -770,7 +770,7 @@ Unix環境(デスクトップインタプリタ)で静的な`DbgTransportTar - 作成者: [@elinor-fung](https://github.com/elinor-fung) - 作成日時: 2026年04月11日 02:29:11(UTC) - マージ日時: 2026年05月13日 21:38:21(UTC) -- ラベル: area-AssemblyLoader +- ラベル: area-AssemblyLoader #### 概要 TPA(Trusted Platform Assembly)アセンブリの読み込み失敗時に、実際のエラー情報(ファイルパス、エラーコード、原因)を`FileNotFoundException.FusionLog`プロパティに格納するよう改善しました。これまでは「ファイルが見つかりません」という汎用メッセージのみで、具体的な失敗原因が不明でした。 @@ -805,7 +805,7 @@ TPA(Trusted Platform Assembly)アセンブリの読み込み失敗時に、 - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年04月03日 21:59:19(UTC) - マージ日時: 2026年05月13日 17:26:48(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(契約ベースのデータアクセスコンポーネント)にインタープリタ実行サポートを追加し、診断ツールがインタープリタフレームを含むスタックの正確なウォーク、インタープリタプリコードの解決、解釈メソッドのメソッド情報取得、およびレガシーSOS DAC インターフェイス経由でのインタープリタコード公開を可能にします。 @@ -834,7 +834,7 @@ cDAC(契約ベースのデータアクセスコンポーネント)にイン - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年03月25日 23:51:35(UTC) - マージ日時: 2026年05月13日 15:06:58(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 release/9.0ブランチからrelease/9.0-stagingブランチへの自動マージPRです。vseanreesermsftによってrelease/9.0に加えられた変更を、release/9.0-stagingに取り込みます。マージ時はマージコミット(squashやrebaseではなく)で実施する必要があります。 @@ -864,7 +864,7 @@ release/9.0ブランチからrelease/9.0-stagingブランチへの自動マー - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年03月24日 22:27:20(UTC) - マージ日時: 2026年05月13日 10:54:40(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 release/8.0ブランチからrelease/8.0-stagingブランチへの自動マージPRです。richlander によるコミットを含む変更を統合します。このPRはGitHub Actionsによる自動生成で、手動でマージコミットを作成して統合する必要があります。 @@ -893,7 +893,7 @@ release/8.0ブランチからrelease/8.0-stagingブランチへの自動マー - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月23日 05:03:32(UTC) - マージ日時: 2026年05月13日 11:02:20(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/xharnessの依存関係を更新するPull Requestです。Microsoft.DotNet.XHarness関連パッケージを11.0.0-prerelease.26168.1から11.0.0-prerelease.26230.4にアップデートしています。 @@ -921,7 +921,7 @@ dotnet/xharnessの依存関係を更新するPull Requestです。Microsoft.DotN - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月18日 02:02:08(UTC) - マージ日時: 2026年05月13日 10:42:47(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/icu リポジトリの依存関係を更新するPull Requestです。Microsoft.NETCore.Runtime.ICU.Transport パッケージを 8.0.0-rtm.26152.3 から 8.0.0-rtm.26256.1 へ更新しています。 @@ -945,7 +945,7 @@ dotnet/icu リポジトリの依存関係を更新するPull Requestです。Mic - 作成者: [@simonrozsival](https://github.com/simonrozsival) - 作成日時: 2026年03月12日 08:29:37(UTC) - マージ日時: 2026年05月13日 09:30:33(UTC) -- ラベル: area-System.Net os-android +- ラベル: area-System.Net os-android #### 概要 AndroidでIPv6を使用した`localhost`サブドメインの名前解決が失敗する問題を修正しました。Androidのデフォルト`/etc/hosts`が`::1`を`ip6-localhost`にマップしているため、RFC 6761フォールバック時に`"localhost"`のIPv6解決に失敗していました。修正により、IPv6解決失敗時に`"ip6-localhost"`への再試行を追加し、Androidで正常に動作するようになりました。 @@ -969,7 +969,7 @@ AndroidでIPv6を使用した`localhost`サブドメインの名前解決が失 - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月03日 02:04:43(UTC) - マージ日時: 2026年05月13日 11:43:09(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/icu リポジトリからの依存パッケージを更新するPull Requestです。Microsoft.NETCore.Runtime.ICU.Transport パッケージを 10.0.0-rtm.26104.1 から 10.0.0-rtm.26202.1 へアップデートしています。 diff --git a/archives/2026/05/14.md b/archives/2026/05/14.md index dadfd3b..e35de23 100644 --- a/archives/2026/05/14.md +++ b/archives/2026/05/14.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#128213 \[release/8.0\] Disable crypto.xml package generation](#128213) 2. [#128191 Fix integer overflow in string.IndexOf range validation](#128191) 3. [#128183 \[manual\] Merge release/9.0-staging into release/9.0](#128183) @@ -31,7 +31,7 @@ - 作成者: [@hoyosjs](https://github.com/hoyosjs) - 作成日時: 2026年05月14日 17:55:51(UTC) - マージ日時: 2026年05月14日 17:58:00(UTC) -- ラベル: Servicing-approved area-System.Security +- ラベル: Servicing-approved area-System.Security #### 概要 release/8.0ブランチで`System.Security.Cryptography.Xml`パッケージの自動生成を無効化します。これは他のサービシング/パッケージプロジェクトと揃えるもので、プロジェクトはパッケージ化可能なままですが、ビルド時に自動的にパッケージを生成しなくなります。 @@ -52,7 +52,7 @@ release/8.0ブランチで`System.Security.Cryptography.Xml`パッケージの - 作成者: [@prozolic](https://github.com/prozolic) - 作成日時: 2026年05月14日 12:27:19(UTC) - マージ日時: 2026年05月14日 17:00:32(UTC) -- ラベル: area-System.Runtime community-contribution +- ラベル: area-System.Runtime community-contribution #### 概要 `string.IndexOf` メソッドの範囲検証ロジックを修正し、整数オーバーフローを防止します。従来の `count + startIndex > Length` という検証式を `count > Length - startIndex` に変更することで、`startIndex + count` が `int.MaxValue` を超える場合でも正しく `ArgumentOutOfRangeException` をスローするようにしました。同様の修正を `IndexOf(Rune, int, int, StringComparison)` にも適用しています。 @@ -74,7 +74,7 @@ release/8.0ブランチで`System.Security.Cryptography.Xml`パッケージの - 作成者: [@svick](https://github.com/svick) - 作成日時: 2026年05月14日 09:03:02(UTC) - マージ日時: 2026年05月14日 18:04:23(UTC) -- ラベル: NO-SQUASH Servicing-approved area-codeflow +- ラベル: NO-SQUASH Servicing-approved area-codeflow #### 概要 release/9.0-stagingからrelease/9.0へのマージPRです。依存関係の更新、WebAssemblyデバッガーテストパイプラインの削除、JITループクローニングの修正とリグレッション対策、Unix環境でのX509チェーンハンドリング用CRLキャッシュの改善が含まれます。 @@ -114,7 +114,7 @@ release/9.0-stagingからrelease/9.0へのマージPRです。依存関係の更 - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年05月13日 23:30:15(UTC) - マージ日時: 2026年05月14日 18:22:15(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 R2Rコンパイル済みメソッドがジェネリック インスタンス化引数を使用して呼び出される際、署名キー計算がジェネリック コンテキスト引数を考慮していなかったバグを修正します。`HasGenericContextArg()`チェックを追加し、署名キーに隠し引数を含めることで、マネージコードからR2Rコード経由での呼び出し時の署名不一致を解決します。 @@ -137,7 +137,7 @@ R2Rコンパイル済みメソッドがジェネリック インスタンス化 - 作成者: [@kg](https://github.com/kg) - 作成日時: 2026年05月13日 21:33:32(UTC) - マージ日時: 2026年05月14日 17:54:56(UTC) -- ラベル: arch-wasm area-Host +- ラベル: arch-wasm area-Host #### 概要 WebAssembly環境のcorerun.jsにおいて、R2R/Webcilモジュール読み込み時のエラー検出を改善します。`__stack_pointer`が利用不可の場合に明示的なチェックを追加し、インスタンス化失敗時にwasmパスとエラーメッセージをログ出力するようにしました。リリースビルドのcorerun.jsを使用してR2Rモジュールを読み込もうとした際の失敗モードが改善されます。 @@ -161,7 +161,7 @@ WebAssembly環境のcorerun.jsにおいて、R2R/Webcilモジュール読み込 - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年05月13日 19:35:20(UTC) - マージ日時: 2026年05月14日 01:48:38(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 Linux上でインタープリタが動作している際のヒープダンプ生成時にcreatedumpがSIGSEGVで異常終了する問題を修正します。`Thread::m_pInterpThreadContext`フィールドをDAC(Debugger Assist Code)対応ポインタ型に変更し、ターゲットプロセスのアドレスをホストアドレスとして誤読する問題を解決します。 @@ -187,7 +187,7 @@ Linux上でインタープリタが動作している際のヒープダンプ生 - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年05月13日 19:22:52(UTC) - マージ日時: 2026年05月14日 14:06:57(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC と legacy DAC の HRESULT 不一致時の DEBUG アサーション出力を改善するPR です。`Debug.ValidateHResult` で不一致を検出した際に、HRESULTs の値のみでなく、その原因となった例外の詳細情報(型・メッセージ・スタックトレース)を表示できるようにしました。これにより、デバッグ時の問題の根本原因を容易に特定できます。 @@ -214,7 +214,7 @@ cDAC と legacy DAC の HRESULT 不一致時の DEBUG アサーション出力 - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年05月13日 18:23:04(UTC) - マージ日時: 2026年05月14日 18:55:20(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 このPRはWebAssemblyターゲットでのReadyToRun (R2R) / Crossgen2テスト実行をサポートするため、テストハーネスとツール群を更新しています。主な目的は、Wasmターゲット特有の出力形式(`.wasm`ファイル)の処理、テスト実行フローの改善、およびNode.js実行環境のデフォルト化です。 @@ -251,7 +251,7 @@ export RunCrossGen2=1 - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年05月13日 17:06:15(UTC) - マージ日時: 2026年05月14日 18:04:07(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 tiered compilation環境で、古いtier層のフレームスタック上に存在する場合に`DebugInfo_2.GetMethodVarInfo`が誤ったIP-to-codeOffsetオフセット計算を行う不具合を修正します。修正前は`MethodDesc.NativeCode`(最新コンパイルtier)を基準としていたため、変数位置情報が空リストになっていました。修正後は`ICodeVersions`コントラクト経由で特定NativeCodeVersionを解決し、legacy DAC動作(`ExecutionManager::GetNativeCodeVersion(address).GetNativeCode()`)と一致させます。 @@ -280,7 +280,7 @@ ARM32・x64で検証済み。cDACテストスイート 2133/2133 パス確認。 - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年05月13日 13:47:38(UTC) - マージ日時: 2026年05月14日 21:33:47(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT の範囲解析でロジカル右シフト(`GT_RSZ`)に対する型ベースの上限境界の復元。範囲チェック排除の最適化機会が喪失する回帰を修正しました。 ```csharp @@ -310,7 +310,7 @@ public static int M(int i) - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月13日 12:32:43(UTC) - マージ日時: 2026年05月14日 08:53:02(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 Mono MiniFullAOT ビルドにおいて、AOT モジュール `badendfinally.dll.so` が生成されないまま `badendfinally` テストがスケジュールされ、`aot-only` モードでのクラッシュが発生していた問題を修正します。既存の AOT 非互換テストパターンを適用して、Mono `minifullaot` ビルド時にこのプロジェクトがビルドされないようにします。 @@ -332,7 +332,7 @@ Mono MiniFullAOT ビルドにおいて、AOT モジュール `badendfinally.dll. - 作成者: [@akoeplinger](https://github.com/akoeplinger) - 作成日時: 2026年05月13日 11:23:44(UTC) - マージ日時: 2026年05月14日 08:54:34(UTC) -- ラベル: Servicing-approved area-Debugger-mono +- ラベル: Servicing-approved area-Debugger-mono #### 概要 release/8.0ブランチにおいて、Mono WebAssemblyデバッガーテストスイートのCI実行を無効化するPRをバックポートしたものです。Azure PipelinesのジョブやHelixの送信パイプラインを削除することで、CI不安定性の問題([#128130](https://github.com/dotnet/runtime/issues/128130))を解決します。 @@ -367,7 +367,7 @@ release/8.0ブランチにおいて、Mono WebAssemblyデバッガーテスト - 作成者: [@akoeplinger](https://github.com/akoeplinger) - 作成日時: 2026年05月13日 11:09:53(UTC) - マージ日時: 2026年05月14日 08:54:30(UTC) -- ラベル: Servicing-approved area-Debugger-mono +- ラベル: Servicing-approved area-Debugger-mono #### 概要 release/9.0ブランチへのバックポート。Mono WASM/ブラウザデバッガーテストをCI から無効化・削除する変更。環境やICU差分によるCI失敗に対応するため、デバッガーテストのHelix投入・ビルド・パイプライン統合を完全に廃止します。 @@ -392,7 +392,7 @@ release/9.0ブランチへのバックポート。Mono WASM/ブラウザデバ - 作成者: [@steveisok](https://github.com/steveisok) - 作成日時: 2026年05月13日 10:56:10(UTC) - マージ日時: 2026年05月14日 18:13:20(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 `release/8.0-staging`から`release/8.0`へのマージにより、CoreCLR(DAC/デバッグ、JIT)、暗号化ライブラリ(OpenSSL CRL キャッシング)、テストインフラストラクチャ、および依存関係のサービシング更新をもたらします。主な改善はデバッグ/DAC診断の高速化、OpenSSL CRLのメモリ内MRUキャッシング、テストツール/インフラの刷新です。 @@ -421,7 +421,7 @@ release/9.0ブランチへのバックポート。Mono WASM/ブラウザデバ - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年05月13日 08:28:13(UTC) - マージ日時: 2026年05月14日 09:20:07(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 CI Outer-Loop Failure Scannerのワークフローとプロンプトをリファクタリングし、セキュリティスキャン認証エラーを修正するとともに、Issue/PRの生成フローを決定的で一貫性のあるプロセスに改善しました。 @@ -446,7 +446,7 @@ CI Outer-Loop Failure Scannerのワークフローとプロンプトをリファ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月13日 07:34:54(UTC) - マージ日時: 2026年05月14日 00:54:53(UTC) -- ラベル: area-Infrastructure linkable-framework +- ラベル: area-Infrastructure linkable-framework #### 概要 NativeAOTのILC(Intermediate Language Compiler)が、XML記述子で指定されたジェネリック型のメソッドシグネチャを解決できなかった問題を修正します。例えば `System.Void Method(T)` のような型パラメータを参照するシグネチャをILLinkと同様に正しく処理できるようになります。 @@ -478,7 +478,7 @@ NativeAOTのILC(Intermediate Language Compiler)が、XML記述子で指定 - 作成者: [@tannergooding](https://github.com/tannergooding) - 作成日時: 2026年05月13日 04:59:38(UTC) - マージ日時: 2026年05月14日 08:53:47(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイラの`GenTree`ヘルパー関数におけるマルチレジスタ処理の最適化。重複するマルチレジスタ分類チェックを削除し、`GetRegisterDstCount()`を直接的に既知のマルチレジ形状(呼び出し、コピー/リロード、HW組み込み、マルチレジスタローカル)を処理するように リファクタリング。ARM64でのスループット向上を期待できます。 @@ -500,7 +500,7 @@ ARM64プラットフォームでスループット(TP)の向上が期待さ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月12日 23:27:42(UTC) - マージ日時: 2026年05月14日 23:57:23(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDACシグネチャ契約を拡張し、vararg cookie(可変長引数クッキー)のデコーディングをサポートする新しいDacDbi APIを追加します。`GetVarArgArgsBase`と`GetVarArgSignature`メソッドにより、varargシグネチャの引数ベースアドレスと生シグネチャポインタ/長さを取得できるようになります。 @@ -528,7 +528,7 @@ cDACシグネチャ契約を拡張し、vararg cookie(可変長引数クッキ - 作成者: [@kg](https://github.com/kg) - 作成日時: 2026年05月12日 22:58:56(UTC) - マージ日時: 2026年05月14日 15:56:58(UTC) -- ラベル: arch-wasm area-crossgen2-coreclr +- ラベル: arch-wasm area-crossgen2-coreclr #### 概要 WebAssemblyインポートサンク内で構造体の戻り値に必要な隠れた返却バッファ引数が不足していたバグを修正しました。ReadyToRun AOTツールチェーンの間接呼び出しで無効なWasmコードが生成される問題を解決しています。 @@ -553,7 +553,7 @@ WebAssemblyインポートサンク内で構造体の戻り値に必要な隠れ - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2026年05月12日 16:52:49(UTC) - マージ日時: 2026年05月14日 22:06:05(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 X25519DiffieHellman に対して、他方の公開鍵をバイト列として受け取る `DeriveRawSecretAgreement` メソッドを追加します。これにより、X25519DiffieHellman インスタンスを作成する必要がなくなり、一般的な利用シーンでのメモリ割り当てを削減できます。 @@ -584,7 +584,7 @@ public int DeriveRawSecretAgreement(ReadOnlySpan otherPartyPublicKey, Span - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年05月11日 11:46:27(UTC) - マージ日時: 2026年05月14日 00:44:12(UTC) -- ラベル: linkable-framework area-Tools-ILLink +- ラベル: linkable-framework area-Tools-ILLink #### 概要 Roslyn アナライザーが関数ポインタ型(`delegate*<...>`)に対して `null` (Top) を返していた問題を修正し、NativeAOT の動作に合わせて `SystemTypeValue` としてモデル化するようにしました。これにより、`Type.get_Assembly` の短絡評価を防ぎ、適切な警告が発行されるようになります。 @@ -606,7 +606,7 @@ Roslyn アナライザーが関数ポインタ型(`delegate*<...>`)に対し - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月11日 01:56:02(UTC) - マージ日時: 2026年05月14日 03:07:15(UTC) -- ラベル: area-System.Runtime.InteropServices linkable-framework +- ラベル: area-System.Runtime.InteropServices linkable-framework #### 概要 illink(IL Trimmer)がstatic virtual実装を誤ってトリミングする問題に対応するPRです。`System.Private.CoreLib`のトリミングルートを更新し、`System.Runtime.InteropServices`にトリミング回帰テストを追加して、`Marshal.StructureToPtr` / `Marshal.DestroyStructure`で`[MarshalAs(UnmanagedType.ByValArray)] DateTime[]`を含む構造体を扱う際のトリミング後の検証失敗を防ぎます。 @@ -630,7 +630,7 @@ illink(IL Trimmer)がstatic virtual実装を誤ってトリミングする - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年05月10日 00:23:50(UTC) - マージ日時: 2026年05月14日 17:38:41(UTC) -- ラベル: arch-wasm area-Infrastructure-mono +- ラベル: arch-wasm area-Infrastructure-mono #### 概要 WebAssembly(WASM)テスト環境で使用するChrome for Testingのバージョンを更新するPull Requestです。Linux環境を148.0.7778.96に、Windows環境を148.0.7778.97に更新しています。 @@ -653,7 +653,7 @@ WebAssembly(WASM)テスト環境で使用するChrome for Testingのバージョ - 作成者: [@eduardo-vp](https://github.com/eduardo-vp) - 作成日時: 2026年05月05日 01:48:17(UTC) - マージ日時: 2026年05月14日 02:57:01(UTC) -- ラベル: area-NativeAOT-coreclr runtime-async +- ラベル: area-NativeAOT-coreclr runtime-async #### 概要 ILC(Intermediate Language Compiler)が汎用型上のランタイム非同期メソッドをコンパイルする際にクラッシュする問題(#127179)のテストを追加します。非同期汎用メソッドが非同期汎用メソッドを呼び出す場合、ILCスキャナーが生成した情報とJITの期待値がミスマッチする問題を検証するリグレッションテストです。 @@ -675,7 +675,7 @@ ILC(Intermediate Language Compiler)が汎用型上のランタイム非同 - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年04月25日 02:25:30(UTC) - マージ日時: 2026年05月14日 19:23:08(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITのmorph処理において、`GT_FIELD_ADDR`の暗黙的なnullチェックを親のstore命令に折り畳む際に、store値のside effectsが不正に再順序化される問題を修正しました。store値にside effectがある場合、base objectが明らかにnull-safeでない限り、nullチェックの折り畳みを拒否するようにしました。これにより、例外やグローバル書き込みなどのside effectが正しい順序で実行されるようになります。 @@ -699,7 +699,7 @@ JITのmorph処理において、`GT_FIELD_ADDR`の暗黙的なnullチェック - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月23日 17:37:31(UTC) - マージ日時: 2026年05月14日 00:41:01(UTC) -- ラベル: area-System.Numerics +- ラベル: area-System.Numerics #### 概要 `Complex`汎用構造体を新たに実装し、既存の非ジェネリック`Complex`の完全なAPI表面をミラーリングします。制約は`IFloatingPointIeee754, IMinMaxValue`です。`Complex`と`Complex`間の双方向変換、パース・フォーマット、数学関数(三角関数、対数、べき乗など)、汎用数値インターフェース実装を含みます。コード重複を避けるため、`Complex`の長いメソッドは`Complex`に委譲します。 diff --git a/archives/2026/05/15.md b/archives/2026/05/15.md index cd76af0..bed8d54 100644 --- a/archives/2026/05/15.md +++ b/archives/2026/05/15.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#128215 \[cDAC\] Reparse pending sub-descriptors on Flush](#128215) 2. [#128202 Fix build, modifier order](#128202) 3. [#128172 \[Wasm RyuJIT\] Fix: Use passed in ig when possible for IF_CODE_SIZE in emitDispIns\(\)](#128172) @@ -14,7 +14,7 @@ - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年05月14日 17:57:07(UTC) - マージ日時: 2026年05月15日 22:18:15(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Compact Diagnostic Access Component)がランタイム起動時に早期にアタッチされた場合、サブモジュール(特にGC)の契約記述子アドレスがまだnullであるため、初期スキャンで見落とされる問題を修正します。`Flush()` メソッド時にペンディング中のサブ記述子を再解析し、動的に設定されたサブ記述子を取得できるようにします。 @@ -42,7 +42,7 @@ cDAC(Compact Diagnostic Access Component)がランタイム起動時に早 - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年05月14日 15:20:46(UTC) - マージ日時: 2026年05月15日 00:15:37(UTC) -- ラベル: area-System.Buffers +- ラベル: area-System.Buffers #### 概要 IDE0036ルール違反(修飾子の順序が正しくない)を修正しました。C#のコーディング標準に従い、修飾子の順序を適切に並べ替えています。 @@ -64,7 +64,7 @@ IDE0036ルール違反(修飾子の順序が正しくない)を修正しま - 作成者: [@adamperlin](https://github.com/adamperlin) - 作成日時: 2026年05月14日 00:28:21(UTC) - マージ日時: 2026年05月15日 01:35:10(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 Wasm RyuJITにおいて、`emitDispIns()`が呼び出される際に`emitCurIG`に依存する代わりに、渡されたパラメータの`ig`を優先して使用するように修正しました。コードジェネレーション完了後に`emitDispIns()`が呼び出されるシナリオで、`emitCurIG`が設定されていない可能性があるため、より堅牢な実装に改善しています。 @@ -85,7 +85,7 @@ Wasm RyuJITにおいて、`emitDispIns()`が呼び出される際に`emitCurIG` - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年05月13日 13:35:55(UTC) - マージ日時: 2026年05月15日 12:02:26(UTC) -- ラベル: area-System.Diagnostics.Process os-windows agentic-workflows agentic-threat-detected +- ラベル: area-System.Diagnostics.Process os-windows agentic-workflows agentic-threat-detected #### 概要 Windows上で`StartDetached_GrandchildSurvivesSignalingParent`テストが継続的に不安定になっているため、`[ActiveIssue]`属性を追加してWindows環境でのテスト実行をスキップする変更。過去1ヶ月間に23回、過去7日間に5回の失敗が記録されており、根本原因の調査が進むまでCI環境を安定させるための一時的な対応。 @@ -108,7 +108,7 @@ Windows上で`StartDetached_GrandchildSurvivesSignalingParent`テストが継続 - 作成者: [@eduardo-vp](https://github.com/eduardo-vp) - 作成日時: 2026年05月13日 01:48:08(UTC) - マージ日時: 2026年05月15日 04:38:51(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 IL Scannerが Runtime async メソッド内で async バリアント(サンク)のみをレポートしていた問題を修正。async バリアントが thunk である場合、JIT は元の task 返却バリアントに切り替える可能性があるため、両バリアントをレポートするよう変更し、JIT がコンパイル時に最適なバリアントを選択できるようにします。 @@ -130,7 +130,7 @@ NativeAOT コンパイラの内部実装変更です。公開 API への影響 - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年05月12日 08:20:21(UTC) - マージ日時: 2026年05月15日 12:03:26(UTC) -- ラベル: area-CodeGen-coreclr community-contribution arch-riscv runtime-async +- ラベル: area-CodeGen-coreclr community-contribution arch-riscv runtime-async #### 概要 RISC-V64アーキテクチャでReady2Run (R2R)コンパイルを使用する際に発生していたランタイムエラー(SIGSEGV、NRE)を修正します。AUIPC命令の即値フィールドを置換する処理を、既存の値にOR演算を行う方式から置換方式に変更することで、リロケーション処理を正確に行うようにしました。 @@ -154,7 +154,7 @@ RISC-V64アーキテクチャでReady2Run (R2R)コンパイルを使用する際 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月08日 04:25:17(UTC) - マージ日時: 2026年05月15日 03:26:00(UTC) -- ラベル: area-AssemblyLoader +- ラベル: area-AssemblyLoader #### 概要 例外の要求元アセンブリチェーンがネイティブコードで構築される際に、プラットフォーム固有の改行コード(Windows: `\r\n`、Unix: `\n`)を使用するように変更しました。これにより、マネージド側の`ToString()`オーバーライドで`ReplaceLineEndings()`呼び出しが不要になります。 @@ -180,7 +180,7 @@ RISC-V64アーキテクチャでReady2Run (R2R)コンパイルを使用する際 - 作成者: [@simonrozsival](https://github.com/simonrozsival) - 作成日時: 2026年03月12日 09:10:53(UTC) - マージ日時: 2026年05月15日 08:22:15(UTC) -- ラベル: area-System.Net os-android +- ラベル: area-System.Net os-android #### 概要 Android CoreCLRで無効化されていた`System.Net.Http.Functional.Tests`を再度有効化するPR。テストはAndroid Helix キュー(x64-linux、arm64-win)で合格し、30分のデフォルトタイムアウト内に完了することを確認。ただし以前と比べてテスト実行速度が低下しており、根本原因は未特定の状態。 @@ -202,7 +202,7 @@ Copilot Reviewerの概要では、Android Helix work itemのタイムアウト - 作成者: [@maraf](https://github.com/maraf) - 作成日時: 2026年03月10日 08:17:58(UTC) - マージ日時: 2026年05月15日 12:32:52(UTC) -- ラベル: arch-wasm area-Build-mono os-browser +- ラベル: arch-wasm area-Build-mono os-browser #### 概要 WebAssembly Browser SDK のビルドターゲットにおける MSBuild インクリメンタルビルド対応を改善しました。`ConvertDllsToWebcil` と `GenerateWasmBootJson` タスクを複数のより小さなターゲットに分割し、`Inputs`/`Outputs` メカニズムを適用することで、入力に変更がないノーオプリビルド時にこれらの高コストな処理をスキップできるようになりました。 diff --git a/archives/2026/05/16.md b/archives/2026/05/16.md index 19b7ca5..35ed926 100644 --- a/archives/2026/05/16.md +++ b/archives/2026/05/16.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#128263 Implement DacDbi cDAC APIs and simplify generic type context APIs](#128263) 2. [#128230 Delete unused WBF_NoBarrier_CheckNotHeapInDebug and CORINFO_HELP_ASSIGN_REF_ENSURE_NONHEAP](#128230) 3. [#128187 Move the folding of double not/neg to gtFoldExpr](#128187) @@ -11,7 +11,7 @@ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月15日 17:09:48(UTC) - マージ日時: 2026年05月16日 05:38:35(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 DacDbi APIの4つの実装をマネージドcDACに追加します。`GetSimpleType`、`ResolveAssembly`、`ResolveExactGenericArgsToken`、`GetGenericArgTokenIndex`をRuntimeTypeSystemコントラクト経由で実装し、ジェネリック型コンテキストAPI処理を簡素化します。各実装は既存の`#if DEBUG`レガシークロスチェックパターンでゲートされています。 @@ -40,7 +40,7 @@ DacDbi APIの4つの実装をマネージドcDACに追加します。`GetSimpleT - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月14日 22:09:58(UTC) - マージ日時: 2026年05月16日 16:14:42(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 未使用の書き込みバリア形式 `WBF_NoBarrier_CheckNotHeapInDebug` と対応するJITヘルパー `CORINFO_HELP_ASSIGN_REF_ENSURE_NONHEAP` を削除する変更です。このヘルパーは `gcIsWriteBarrierCandidate` によって生成されることがなく、すべてのコンシューマーが到達不可能なデッドコードパスであるため、削除しても機能に影響はありません。 @@ -67,7 +67,7 @@ DacDbi APIの4つの実装をマネージドcDACに追加します。`GetSimpleT - 作成者: [@tannergooding](https://github.com/tannergooding) - 作成日時: 2026年05月14日 10:05:01(UTC) - マージ日時: 2026年05月16日 15:24:58(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT コンパイラの式の畳み込み処理をリファクタリングし、二重 NOT/NEG 演算の最適化を `fgMorphSmpOp` から `gtFoldExpr` に移動しました。これにより不要なノードの早期削除が可能になり、測定可能なスループット改善が得られます。`gtFoldExpr` を単項/二項ノード向けのヘルパー関数に分割し、最適化ロジックを一元化しています。 @@ -90,7 +90,7 @@ JIT コンパイラの式の畳み込み処理をリファクタリングし、 - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年05月13日 20:57:45(UTC) - マージ日時: 2026年05月16日 00:30:35(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイラの値番号(Value Numbering)管理において、`O2K_CHECKED_BOUND_ADD_CNS`と`O2K_VN_ADD_CNS`の2つの演算子を統合しました。`O2K_VN_ADD_CNS`は「X+CNS」の形式を、Xの値番号とCNS定数に分解して表現するようにし、アサーション伝播時のホットループ処理を効率化しています。 @@ -114,7 +114,7 @@ JITコンパイラの値番号(Value Numbering)管理において、`O2K_CHE - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月11日 20:53:22(UTC) - マージ日時: 2026年05月16日 17:11:21(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 ヒープセグメント取得APIをメモリ割り当てを回避するために、`GetHeapSegments`(配列を返す)から`EnumerateHeapSegments`(コールバック経由で列挙)へ再設計しました。DAC/DBI、cDAC、契約サポートおよびテストを含む実装を追加しています。 @@ -139,7 +139,7 @@ JITコンパイラの値番号(Value Numbering)管理において、`O2K_CHE - 作成者: [@maraf](https://github.com/maraf) - 作成日時: 2025年12月17日 13:36:10(UTC) - マージ日時: 2026年05月16日 18:42:25(UTC) -- ラベル: arch-wasm area-Build-mono os-browser +- ラベル: arch-wasm area-Build-mono os-browser #### 概要 WebAssembly ライブラリモード(`RID=browser-wasm`、`OutputType=Library`)のビルドで、WASM ワークロードのインストールを不要にする変更。ライブラリプロジェクトは `SelfContained` や `PublishTrimmed` をデフォルトで有効にすべきではないという設計方針に基づいている。 diff --git a/archives/2026/05/17.md b/archives/2026/05/17.md index 79d4efc..6ac0693 100644 --- a/archives/2026/05/17.md +++ b/archives/2026/05/17.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#128242 \[Wasm/Ryujit\] Fix if stack depth; fix pep call ordering](#128242) --- @@ -6,7 +6,7 @@ - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年05月15日 02:25:56(UTC) - マージ日時: 2026年05月17日 14:49:52(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly RyuJIT バックエンドにおける制御フロー深度の計算と Portable Entry Point (PEP) 呼び出しの引数評価順序を修正します。`if/end` ブロック生成時に追加される制御フロー深度をカウントするヘルパーを導入し、PEP 呼び出しでは PEP を最後の引数として評価してから関数インデックスをロードするよう修正しています。 diff --git a/archives/2026/05/18.md b/archives/2026/05/18.md index 19bb82d..d2f3c2e 100644 --- a/archives/2026/05/18.md +++ b/archives/2026/05/18.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#128337 Remove Attributes.BoxedValues from ILTrim expected failures](#128337) 2. [#128315 Remove stale test analyzer suppressions](#128315) 3. [#128288 \[cDAC\] Implement DacDbi GetCollectibleTypeStaticAddress](#128288) @@ -34,7 +34,7 @@ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月18日 20:15:57(UTC) - マージ日時: 2026年05月18日 21:24:54(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 ILTrim テストの `Attributes.BoxedValues` テストケースが予期せず成功するようになったため、期待失敗リストから削除するPRです。テストハーネスは期待失敗リストに登録されているが実際には成功するテストに対してエラーを発生させます。 @@ -55,7 +55,7 @@ ILTrim テストの `Attributes.BoxedValues` テストケースが予期せず - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年05月18日 08:44:23(UTC) - マージ日時: 2026年05月18日 21:48:08(UTC) -- ラベル: area-Infrastructure-libraries +- ラベル: area-Infrastructure-libraries #### 概要 複数のテストプロジェクト(.csproj)から不要になったアナライザー抑制(suppressions)を削除するPRです。Arcade修正と追加の分析により、これらの抑制は不要になったとのことです。 @@ -82,7 +82,7 @@ ILTrim テストの `Attributes.BoxedValues` テストケースが予期せず - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月16日 17:41:18(UTC) - マージ日時: 2026年05月18日 23:20:19(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC RuntimeTypeSystemコントラクトを拡張し、`GetFieldDescStaticAddress`と`GetFieldDescThreadStaticAddress`に`unboxValueTypes`パラメータを追加しました。これにより、値型の静的フィールド/スレッド静的フィールドのアドレス計算時に、ボックス化された値をアンボックスするかどうかを呼び出し側で選択できるようになります。この機能を使用して、非レガシーパスで`DacDbiImpl.GetCollectibleTypeStaticAddress`を実装します。 @@ -106,7 +106,7 @@ cDAC RuntimeTypeSystemコントラクトを拡張し、`GetFieldDescStaticAddres - 作成者: [@elinor-fung](https://github.com/elinor-fung) - 作成日時: 2026年05月16日 02:41:04(UTC) - マージ日時: 2026年05月18日 20:21:46(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 自己完結型単一ファイルアプリ(`IncludeAllContentForSelfExtract=true`で公開)の`System.Private.CoreLib.dll`バインディング処理を最適化しました。システムディレクトリでの検索失敗時、`TRUSTED_PLATFORM_ASSEMBLIES`(TPA)全体をスキャンする代わりに、バンドル抽出ディレクトリを直接参照するよう変更。これにより、スタートアップ時のメモリ割り当てを削減します。 @@ -137,7 +137,7 @@ cDAC RuntimeTypeSystemコントラクトを拡張し、`GetFieldDescStaticAddres - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年05月15日 22:50:22(UTC) - マージ日時: 2026年05月18日 21:51:56(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 ボックス化されたインターフェース呼び出しをデバーチャル化する際、JITが一時的なスタックローカルコピーを作成していた問題を修正します。`UnscopedRef`などを介して内部マネージドポインタを返すメソッドの場合、返却されたbyrefが一時コピーにエイリアスされ、フレーム終了後にダングリングポインタになる安全性上の問題がありました。修正後は常にヒープボックスを保持し、ボックス+MTサイズのアドレスでアンボックス化されたエントリを呼び出すよう変更します。オブジェクトのスタック割り当て最適化によって、非エスケープなヒープボックスは既にスタックに昇格されるため、前の最適化は安全なケースで復元されます。 @@ -161,7 +161,7 @@ cDAC RuntimeTypeSystemコントラクトを拡張し、`GetFieldDescStaticAddres - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年05月15日 14:00:01(UTC) - マージ日時: 2026年05月18日 12:46:52(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 #126509で導入されたトランジェント-IL P/Invokeの呼び出し規約検出を修正するPR。Swift呼び出し規約を使用するトランジェント-IL P/Invokeでは、`MethodDesc::IsILStub()`がfalseを返すため、コンテキストMDが渡されず、Swift呼び出し規約検出に失敗していた問題を解決します。 @@ -187,7 +187,7 @@ cDAC RuntimeTypeSystemコントラクトを拡張し、`GetFieldDescStaticAddres - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年05月15日 11:07:59(UTC) - マージ日時: 2026年05月18日 15:12:54(UTC) -- ラベル: area-CodeGen-coreclr runtime-async +- ラベル: area-CodeGen-coreclr runtime-async #### 概要 JIT の async state machine lowering において、不変ノード(invariant nodes)と `LCL_VAR` が async 呼び出しを跨いでリフトされないよう最適化します。これらのノードを使用箇所の直前に移動することで、spill locals の生成を削減し、`LCL_ADDR` defs がリフトされないことを保証します(#128152 の前提条件)。 @@ -211,7 +211,7 @@ JIT の async state machine lowering において、不変ノード(invariant - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年05月15日 09:31:11(UTC) - マージ日時: 2026年05月18日 15:21:42(UTC) -- ラベル: arch-wasm area-Infrastructure-coreclr +- ラベル: arch-wasm area-Infrastructure-coreclr #### 概要 WebAssembly/coreclrのビルド構成を変更し、生成されたcallhelper実装ファイル(callhelpers-interp-to-managed.cpp、callhelpers-reverse.cpp、callhelpers-pinvoke.cpp)を新しい`libcoreclr_gen_static`静的ライブラリに分離しました。これにより、coreclr全体を再構築することなく、libcoreclr_staticと新しく生成されたcallhelperソースのみでの再リンクが可能になります。 @@ -238,7 +238,7 @@ WebAssembly/coreclrのビルド構成を変更し、生成されたcallhelper実 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月15日 03:38:15(UTC) - マージ日時: 2026年05月18日 22:38:05(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 CoreCLR JIT/EE インターフェースの `CorInfoType` 列挙型から、レガシーな `CORINFO_TYPE_STRING`、`CORINFO_TYPE_REFANY`、`CORINFO_TYPE_VAR` を削除し、文字列を `CLASS`、型付き参照を `VALUECLASS` として再分類するクリーンアップです。JIT/EE版GUID も更新されています。 @@ -271,7 +271,7 @@ CoreCLR JIT/EE インターフェースの `CorInfoType` 列挙型から、レ - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年05月15日 00:17:50(UTC) - マージ日時: 2026年05月18日 19:04:15(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイラの書き込みバリア除去最適化を`GT_STORE_BLK`ノードに拡張しました。これまで`GT_STOREIND`のみだった最適化を`STORE_BLK`にも適用し、VN/アサーション解析によってブロック書き込み先がGCヒープ上にないことが証明できた場合、`GTF_IND_TGT_NOT_HEAP`フラグを設定して高速な`CpObj`/SIMD InitBlkパスを有効化します。 @@ -294,7 +294,7 @@ JITコンパイラの書き込みバリア除去最適化を`GT_STORE_BLK`ノー - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年05月14日 18:49:46(UTC) - マージ日時: 2026年05月18日 17:34:17(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly JITコンパイラでfunclet(例外処理などの独立したコード断片)へのポインタ生成とfuncletのインデックス呼び出しをサポートする機能を追加します。リロケーションアディテンド機構を活用してfuncletを親メソッドのシンボルからのオフセットで識別し、WasmObjectWriterでこのアディテンドを処理することで、funcletに順序付きインデックスを割り当てる対応を実現します。 @@ -321,7 +321,7 @@ WebAssembly JITコンパイラでfunclet(例外処理などの独立したコ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月14日 18:34:45(UTC) - マージ日時: 2026年05月18日 00:08:06(UTC) -- ラベル: area-System.Net.Security +- ラベル: area-System.Net.Security #### 概要 `TlsFrameHelper.cs`のdotnet/yarpでの修正内容をruntime側に同期するPRです。内部的な識別子とコメントのタイプ修正のみが対象で、パーサーの動作は変わりません。 @@ -352,7 +352,7 @@ WebAssembly JITコンパイラでfunclet(例外処理などの独立したコ - 作成者: [@cshung](https://github.com/cshung) - 作成日時: 2026年05月14日 18:10:06(UTC) - マージ日時: 2026年05月18日 19:34:30(UTC) -- ラベル: area-GC-coreclr community-contribution +- ラベル: area-GC-coreclr community-contribution #### 概要 ガベージコレクション(GC)のコンパクション後に`heap_segment_used`ウォーターマークが古い状態のままになり、ヒープ破損につながる問題を修正します。`compact_phase`終了時に、`heap_segment_used`を`max(used, plan_allocated)`に更新することで、後続のGCサイクルでメモリ破損を防ぎます。 @@ -378,7 +378,7 @@ GCテストスイート全体でリグレッションなし:Windows x64およ - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年05月14日 14:12:14(UTC) - マージ日時: 2026年05月18日 10:49:04(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 このPull Requestはdotnet/dotnetのVMR(Virtual Monorepo)からのコードフロー更新です。複数の依存関係の更新と、**System.Net.Mail**と**System.Security.Cryptography.Xml**ライブラリの機能改善・セキュリティ強化が含まれています。特にXML暗号化・復号化処理とメールアドレス解析の改善が主要な変更点です。 @@ -418,7 +418,7 @@ GCテストスイート全体でリグレッションなし:Windows x64およ - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年05月14日 11:50:24(UTC) - マージ日時: 2026年05月18日 13:06:37(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 CI失敗スキャン機能において、既知のビルドエラー(KBE: Known Build Error)の重複検出ロジックを拡張し、KBE JSONスキーマの厳密化を実施しています。異なるプラットフォームまたはランタイム変種で同一テストクラスに対して報告された既知ビルドエラー、およびKBEラベルを欠いた既存のエリアチーム追跡者を適切に検出できるようにします。 @@ -444,7 +444,7 @@ CI失敗スキャン機能において、既知のビルドエラー(KBE: Know - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年05月14日 11:10:05(UTC) - マージ日時: 2026年05月18日 12:43:24(UTC) -- ラベル: area-Infrastructure-mono +- ラベル: area-Infrastructure-mono #### 概要 Mono の `--full-aot` モードにおいて、`MonoAotIncompatible` マークされたテストが minifullaot/llvmfullaot ビルドで DLL を読み込む際にプロセスを中止させる問題を修正。`MonoAotIncompatible=true` なプロジェクトを自動的に除外する規則を `src/tests/Directory.Build.targets` に一元化し、複数のプロジェクトファイルの重複コードを排除。 @@ -468,7 +468,7 @@ Mono の `--full-aot` モードにおいて、`MonoAotIncompatible` マークさ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月13日 12:27:24(UTC) - マージ日時: 2026年05月18日 12:59:48(UTC) -- ラベル: area-AssemblyLoader +- ラベル: area-AssemblyLoader #### 概要 System.Runtime.Loader.Tests が Apple mobile simulator/macCatalyst の CoreCLR ビルドで失敗していた問題を解決するため、プロジェクト参照の条件を `TargetOS == ios/tvos` から `TargetsAppleMobile` に変更しました。これにより、ILLink がアグレッシブなトリミング中に `System.Runtime.Loader.Test.Assembly*` を正しく解決できるようになります。 @@ -498,7 +498,7 @@ System.Runtime.Loader.Tests が Apple mobile simulator/macCatalyst の CoreCLR - 作成者: [@rzikm](https://github.com/rzikm) - 作成日時: 2026年05月12日 12:31:45(UTC) - マージ日時: 2026年05月18日 09:39:37(UTC) -- ラベル: area-System.IO.Compression +- ラベル: area-System.IO.Compression #### 概要 ZIP および TAR リーダーで使用される `SubReadStream` の実装を強化し、`startPosition + maxLength` が `long.MaxValue` を超える場合のオーバーフロー時に例外をスローするようにしました。従来は静かにラップアラウンドが発生していた問題を修正します。 @@ -522,7 +522,7 @@ ZIP および TAR リーダーで使用される `SubReadStream` の実装を強 - 作成者: [@unsafePtr](https://github.com/unsafePtr) - 作成日時: 2026年05月11日 14:53:11(UTC) - マージ日時: 2026年05月18日 16:02:12(UTC) -- ラベル: area-System.Diagnostics.Metric community-contribution +- ラベル: area-System.Diagnostics.Metric community-contribution #### 概要 `ObservableCounter`、`ObservableGauge`、`ObservableUpDownCounter`における単一値コールバック呼び出し時の配列割り当てを排除するパフォーマンス最適化。`ObservableInstrument.Observe(MeterListener)`がパターンマッチングを使用して組み込み型の`_callback`に直接アクセスし、単一値コールバックを配列ラッパーをスキップして`MeterListener.NotifyMeasurement`に直接ディスパッチします。 @@ -550,7 +550,7 @@ ZIP および TAR リーダーで使用される `SubReadStream` の実装を強 - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年05月08日 21:41:21(UTC) - マージ日時: 2026年05月18日 07:31:04(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 `IValueTaskSource` でバックされた `ValueTask` が runtime async callable thunk を通して呼び出されるときのメモリ割り当てを削減します。従来は `ValueTask` が中断した場合に毎回割り当てが発生していましたが、キャッシュされた `ValueTaskContinuation` インスタンスを再利用することで、中断時の割り当てを排除します。 @@ -582,7 +582,7 @@ ZIP および TAR リーダーで使用される `SubReadStream` の実装を強 - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年05月07日 19:15:53(UTC) - マージ日時: 2026年05月18日 09:55:53(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT のコンパイラにおいて、ローカル変数の "DoNotEnregister" (DNER) フラグの設定をliveness解析から分離し、LSRA(Linear Scan Register Allocation)と lowering フェーズに移行するリファクタリング。これにより、liveness の複数実行時における sticky な DNER の問題を解決し、特に非同期関数における不要な DNER マーク付けを削減します。 @@ -610,7 +610,7 @@ JIT のコンパイラにおいて、ローカル変数の "DoNotEnregister" (DN - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月30日 05:21:33(UTC) - マージ日時: 2026年05月18日 00:15:39(UTC) -- ラベル: area-Tools-ILLink +- ラベル: area-Tools-ILLink #### 概要 ILTrimのカスタム属性処理を強化する変更です。`CustomAttributeNode`がカスタム属性値blobをデコードして依存関係を検出し、型名文字列を再エンコードして古い型フォワーダー参照を正規化します。これにより、トリミング後の陳腐化した型名を防ぎます。 @@ -643,7 +643,7 @@ ILTrimのカスタム属性処理を強化する変更です。`CustomAttributeN - 作成者: [@Ruihan-Yin](https://github.com/Ruihan-Yin) - 作成日時: 2026年04月28日 22:56:12(UTC) - マージ日時: 2026年05月18日 19:17:36(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 AMD64 APX(Advanced Performance Extensions)の新しい条件付き命令 `CTESTcc` と `CFCMOVcc` をJITコンパイラに導入します。これらの命令により、`CCMP reg, 0` を1バイト小さい `CTEST reg, reg` に最適化できます。CFCMOVはJIT段階での最適化は未実装です。 @@ -669,7 +669,7 @@ Copilot のレビューで `emitIns_C_I` 関数が `instOptions` パラメータ - 作成者: [@eiriktsarpalis](https://github.com/eiriktsarpalis) - 作成日時: 2026年04月21日 18:35:50(UTC) - マージ日時: 2026年05月18日 16:31:52(UTC) -- ラベル: area-System.Linq +- ラベル: area-System.Linq #### 概要 LINQ に `FullJoin` オペレータを追加する実装です。`Enumerable`、`Queryable`、`AsyncEnumerable` に対応し、承認済みのAPI形状(単一のオプション `IEqualityComparer? comparer = null` パラメータ)を使用しています。Full outer join セマンティクスを .NET の LINQ 表面積でサポートします。 @@ -696,7 +696,7 @@ LINQ に `FullJoin` オペレータを追加する実装です。`Enumerable`、 - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年04月16日 13:38:33(UTC) - マージ日時: 2026年05月18日 18:10:37(UTC) -- ラベル: Servicing-approved area-CodeGen-coreclr +- ラベル: Servicing-approved area-CodeGen-coreclr #### 概要 JITコンパイラが`switch`文の`default:`ケースに関する変数の値域についての不正な仮定を行い、不正な定数畳み込みと分岐削除を引き起こしていたバグを修正します。このバグはPR #113998で導入された最適化に起因するもので、release/10.0ブランチへのバックポートです。 @@ -722,7 +722,7 @@ JITコンパイラが`switch`文の`default:`ケースに関する変数の値 - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年04月06日 05:02:01(UTC) - マージ日時: 2026年05月18日 12:33:06(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 dotnet/runtimeの依存関係を自動更新するPull Requestです。dotnet/hotreload-utils、dotnet/runtime-assets、dotnet/icuの3つのリポジトリから複数のパッケージがアップデートされています。 @@ -751,7 +751,7 @@ dotnet/runtimeの依存関係を自動更新するPull Requestです。dotnet/ho - 作成者: [@weitzhandler](https://github.com/weitzhandler) - 作成日時: 2026年03月01日 05:57:45(UTC) - マージ日時: 2026年05月18日 16:50:34(UTC) -- ラベル: area-System.Collections community-contribution +- ラベル: area-System.Collections community-contribution #### 概要 `EqualityComparer`に新しいファクトリメソッド`Create`オーバーロードを追加し、キーセレクタとオプショナルなキーコンパラーを指定して等値比較器を構築できるようにしました。プロパティ値による比較など一般的なシナリオに対応します。 @@ -781,7 +781,7 @@ var comparer2 = EqualityComparer.Create(p => p.Age, EqualityComparerarea-Tools-ILVerification +- ラベル: area-Tools-ILVerification #### 概要 ILVerifyが不正形式の例外処理(EH)句を処理する際に発生していた`IndexOutOfRangeException`を修正します。診断ツールは例外をスローするのではなく、意味のある検証エラーを報告すべきという原則に基づいています。EH句の境界値が無効な場合、新しい`EHClauseOutOfRange`検証エラーを報告するようになりました。 @@ -809,7 +809,7 @@ ILVerifyが不正形式の例外処理(EH)句を処理する際に発生して - 作成者: [@ashaurtaev](https://github.com/ashaurtaev) - 作成日時: 2024年11月15日 12:40:41(UTC) - マージ日時: 2026年05月18日 15:03:11(UTC) -- ラベル: area-GC-coreclr community-contribution +- ラベル: area-GC-coreclr community-contribution #### 概要 GC トリミング時に最若世代(youngest generation)に保持する割合を制御する新しい設定オプション `GCTrimYoungestKeepPercent` を追加します。メモリフットプリント最適化のための GC レイテンシーレベルと起動時間のバランスを取ることが目的です。 diff --git a/archives/2026/05/19.md b/archives/2026/05/19.md index 5a3ff5e..929151b 100644 --- a/archives/2026/05/19.md +++ b/archives/2026/05/19.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#128380 Lay out resumption stubs next to async method variants](#128380) 2. [#128361 \[browser\] Skip boot json generation in nested publish](#128361) 3. [#128359 Override ProcessOutputLine.ToString\(\) to return Content](#128359) @@ -37,7 +37,7 @@ - 作成者: [@jtschuster](https://github.com/jtschuster) - 作成日時: 2026年05月19日 18:11:39(UTC) - マージ日時: 2026年05月19日 22:30:45(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 ARM32など大規模なコンポジット コンパイルで、async メソッドと resumation stub が離れすぎて reloc のオフセットが収まらなくなる問題を解決します。ReadyToRun (crossgen2) コード レイアウト時に resumation stub を対応する async メソッド直後に配置し、オフセットを小さく保つことで、reloc の失敗を防ぎ、iキャッシュの局所性を向上させます。 @@ -63,7 +63,7 @@ ARM32など大規模なコンポジット コンパイルで、async メソッ - 作成者: [@maraf](https://github.com/maraf) - 作成日時: 2026年05月19日 10:04:41(UTC) - マージ日時: 2026年05月19日 13:29:03(UTC) -- ラベル: arch-wasm area-Build-mono os-browser +- ラベル: arch-wasm area-Build-mono os-browser #### 概要 WASM Browser SDK MSBuildターゲットにおいて、ネストされた発行(nested publish)時のboot JSON生成をスキップするための修正。ネストされた発行でVFSコンテンツエントリを含まないboot JSONが生成され、その後の外側のビルドでインクリメンタルビルドが誤作動してVFSコンテンツを含まないJSON状態のままになることで`DirectoryNotFoundException`が発生していた問題を解決。 @@ -86,7 +86,7 @@ WASM Browser SDK MSBuildターゲットにおいて、ネストされた発行 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月19日 08:27:54(UTC) - マージ日時: 2026年05月19日 17:33:17(UTC) -- ラベル: area-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 `ProcessOutputLine.ToString()` が型名を返していた問題を修正し、`Content` プロパティの内容を返すようにしました。これにより `Console.WriteLine(line)` などでの出力が期待通りになります。デフォルト初期化されたstruct の場合は `string.Empty` を返し、`null` を返さないようにしています。 @@ -116,7 +116,7 @@ await foreach (var line in process!.ReadAllLinesAsync()) - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年05月19日 00:21:06(UTC) - マージ日時: 2026年05月19日 14:27:14(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 WebAssembly RyuJIT コンパイラの finally ブロック呼び出しコード生成を実装しました。これまで未実装だった `BBJ_CALLFINALLY` ブロックの処理を、finally funclet への間接呼び出しを行う実装に置き換えています。finally が正常系で呼び出される必要がある場合に使用されます。 @@ -143,7 +143,7 @@ WebAssembly RyuJIT コンパイラの finally ブロック呼び出しコード - 作成者: [@hoyosjs](https://github.com/hoyosjs) - 作成日時: 2026年05月18日 23:16:36(UTC) - マージ日時: 2026年05月19日 23:23:26(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 .NET 10.0のリリースブランチにおいて、dotnet-optimizationの依存関係をLKG(Last Known Good)バージョンにダウングレードします。サービシングブランチではoptimizationデータパッケージが生成されないため、意図しない場所へbitが流れていた問題を解決します。ダウングレード対象は.NET 10.0.0で使用されていた安定版です。 @@ -167,7 +167,7 @@ WebAssembly RyuJIT コンパイラの finally ブロック呼び出しコード - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年05月18日 22:49:50(UTC) - マージ日時: 2026年05月19日 01:29:01(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 System.Text.Jsonテストをプロジェクト除外対象に追加する変更です。outerloopsテストの実行を正常化するために必要な対応となります。 @@ -188,7 +188,7 @@ ILC(Intermediate Language Compiler)関連チームへの通知が含まれ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月18日 22:04:39(UTC) - マージ日時: 2026年05月19日 22:41:37(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 DAC/DBI インターフェースの RCW キャッシュ済みインターフェースポインタ照会 API をコールバック ベースの列挙 API に変換します。`GetRcwCachedInterfacePointers`(配列を返す)から`EnumerateRcwCachedInterfacePointers`(コールバック型)に切り替え、cDAC 実装パスを追加します。 @@ -214,7 +214,7 @@ DAC/DBI インターフェースの RCW キャッシュ済みインターフェ - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年05月18日 10:53:00(UTC) - マージ日時: 2026年05月19日 04:30:34(UTC) -- ラベル: area-VM-meta-mono +- ラベル: area-VM-meta-mono #### 概要 Mono AOT プロファイラーのバッファリサイズ処理におけるバグを修正。必要なサイズが現在のサイズの2倍を超える場合、1回の倍化では不足するため、必要なサイズに達するまでループでバッファサイズを倍化する処理に変更しました。 @@ -235,7 +235,7 @@ Mono AOT プロファイラーのバッファリサイズ処理におけるバ - 作成者: [@tannergooding](https://github.com/tannergooding) - 作成日時: 2026年05月18日 01:11:40(UTC) - マージ日時: 2026年05月19日 00:42:44(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイラの定数畳み込み(constant folding)ロジックをリファクタリングし、巨大な`gtFoldExprConst`メソッドを複数の小さな専門化されたヘルパー関数に分割します。動作は変わらず(32ビットxarchの軽微な修正を除く)、コード可読性の向上とネイティブコンパイラのインライン最適化の改善を目指しています。 @@ -259,7 +259,7 @@ JITコンパイラの定数畳み込み(constant folding)ロジックをリ - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年05月17日 18:52:18(UTC) - マージ日時: 2026年05月19日 20:33:57(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT ループ正規化処理を拡張し、複数のバックエッジを持つ自然ループに対して単一の「ラッチ」ブロックを作成する機能を追加します。このラッチブロックはループヘッダーへの無条件分岐となり、すべてのバックエッジソースがここを経由するようにリダイレクトされます。これにより、ダウンストリーム最適化が単一の正規バックエッジ形状に依存できるようになります。 @@ -283,7 +283,7 @@ JIT ループ正規化処理を拡張し、複数のバックエッジを持つ - 作成者: [@AndrewP-GH](https://github.com/AndrewP-GH) - 作成日時: 2026年05月17日 14:28:56(UTC) - マージ日時: 2026年05月19日 22:28:00(UTC) -- ラベル: area-System.Collections community-contribution +- ラベル: area-System.Collections community-contribution #### 概要 `ToFrozenDictionary`で中間`Dictionary<,>`を構築する際、ソースコレクションのカウント情報を利用して事前にサイズを設定することで、不要なリサイズと再ハッシュを削減します。これにより、`ConcurrentDictionary<,>`、`SortedDictionary<,>`、`ImmutableDictionary<,>`、`ReadOnlyDictionary<,>`、配列、`List`などのソースから`FrozenDictionary`を構築する際のパフォーマンスが向上します。 @@ -311,7 +311,7 @@ JIT ループ正規化処理を拡張し、複数のバックエッジを持つ - 作成者: [@simonrozsival](https://github.com/simonrozsival) - 作成日時: 2026年05月16日 13:01:15(UTC) - マージ日時: 2026年05月19日 21:10:05(UTC) -- ラベル: area-System.Net.Security os-android +- ラベル: area-System.Net.Security os-android #### 概要 Android の X509 チェーン PAL における JNI グローバルリファレンス(GREF)のメモリリークを修正します。`AndroidCryptoNative_X509ChainGetCertificates` が返すグローバルリファレンスが、マネージド証明書の構築後に解放されていなかったため、try/finally ブロックで確実に解放するようにしました。 @@ -335,7 +335,7 @@ Android の X509 チェーン PAL における JNI グローバルリファレ - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年05月16日 00:20:18(UTC) - マージ日時: 2026年05月19日 17:17:39(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 R2R(Ready2Run)生成時のレイアウト問題を2つ修正します。 @@ -367,7 +367,7 @@ R2R(Ready2Run)生成時のレイアウト問題を2つ修正します。 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月15日 21:56:32(UTC) - マージ日時: 2026年05月19日 20:04:19(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 win-x86レグでのOOM問題を解決するため、composite mode時のCrossGen2並列度を制御する新しいMSBuildプロパティを追加しました。HugeArray、HugeFieldなどの大規模メソッドがparallel compilationで過度なネイティブメモリを消費していたため、jit64_3テストではcomposite mode時のみparallelismを2に制限することで、ビルド時間への影響を最小限に抑えながら問題を解決しています。 @@ -391,7 +391,7 @@ Pull Request作成者の概要では、スコープをさらに32ビットプラ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月15日 13:39:36(UTC) - マージ日時: 2026年05月19日 04:27:14(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 managed cDAC/DacDbi API の `GetSymbolsBuffer` メソッドを実装し、モジュールからメモリ内シンボルストリームを取得する機能を追加しました。Loader コントラクトを利用して PDB バイト情報を管理し、ダンプデバッグ時のシンボル取得をサポートします。 @@ -418,7 +418,7 @@ managed cDAC/DacDbi API の `GetSymbolsBuffer` メソッドを実装し、モジ - 作成者: [@wfurt](https://github.com/wfurt) - 作成日時: 2026年05月15日 04:24:53(UTC) - マージ日時: 2026年05月19日 14:27:40(UTC) -- ラベル: area-System.Net.Security +- ラベル: area-System.Net.Security #### 概要 `SslStream`のサーバー側ClientHello処理を改善し、`ServerOptionsSelectionCallback`デリゲートが`supported_versions`拡張機能を通じて広告されているTLSバージョン(特にTLS 1.3)を正確に受け取れるようにします。これにより、SNI選択時にクライアントがサポートするすべてのプロトコルバージョンが正しく処理されます。 @@ -442,7 +442,7 @@ Copilotのレビュー指摘により、`TryGetSupportedVersionsFromExtension` - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月15日 02:21:21(UTC) - マージ日時: 2026年05月19日 14:00:40(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 デバッガーのスタックウォーク機能をcDAC(Compact DAC)で実装するPRです。レガシーなIPC構造体(`DebuggerIPCE_*`)を新しい`Debugger_*`に名前変更・再構成し、`Frame::GetStubFrameType()`を追加することで、`GetCountOfInternalFrames`/`EnumerateInternalFrames`の実装を可能にします。cDAC側に`IStackWalk`の3つの新メソッド(`GetFrames`、`IsExceptionHandlingHelperInlinedCallFrame`、`GetDebuggerEvalData`)を実装し、テストを伴う形で提供されます。 @@ -469,7 +469,7 @@ Copilotのレビュー指摘により、`TryGetSupportedVersionsFromExtension` - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年05月14日 23:45:08(UTC) - マージ日時: 2026年05月19日 17:18:29(UTC) -- ラベル: area-R2RDump-coreclr +- ラベル: area-R2RDump-coreclr #### 概要 R2Rdump(Ready2Run形式のダンプツール)を32ビットプラットフォームおよびWebAssembly対応で修正するPRです。32ビット環境でのfixupオフセット識別の不具合を解決し、WebAssembly環境でCoreDisToolsを不要に読み込まないようにします。また、WasmファイルのR2Rシンボル逆アセンブリにおいてシンボリック検索機能を追加します。 @@ -495,7 +495,7 @@ R2Rdump(Ready2Run形式のダンプツール)を32ビットプラットフ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月14日 17:56:29(UTC) - マージ日時: 2026年05月19日 05:20:58(UTC) -- ラベル: area-System.Runtime.InteropServices +- ラベル: area-System.Runtime.InteropServices #### 概要 COM source-generatorが`[MarshalAs(UnmanagedType.Interface)] out object`パラメータの`IidParameterIndex`属性を無視していた問題を修正しました。この変更により、実行時IIDを使用した`QueryInterface`呼び出しによって、ネイティブ呼び出し側に正しいインターフェースポインタを返すようになります。 @@ -539,7 +539,7 @@ partial interface IActivationFactory - 作成者: [@jtschuster](https://github.com/jtschuster) - 作成日時: 2026年05月13日 21:50:24(UTC) - マージ日時: 2026年05月19日 20:37:45(UTC) -- ラベル: area-ReadyToRun +- ラベル: area-ReadyToRun #### 概要 ARM/ARM64アーキテクチャのR2Rイメージ生成時、`Relocation.GetSize`メソッドに2つのリロケーションタイプ(`THUMB_BRANCH24`と`ARM64_BRANCH26`)の処理が欠落していたため、`NotSupportedException`が発生していた問題を修正しました。これらのリロケーションタイプは`ReadValue`/`WriteValue`では既に対応していましたが、`GetSize`に追加することで、PEObjectWriterがリロケーション解決時に正しいサイズを報告できるようになります。 @@ -562,7 +562,7 @@ ARM/ARM64アーキテクチャのR2Rイメージ生成時、`Relocation.GetSize` - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年05月13日 15:56:08(UTC) - マージ日時: 2026年05月19日 10:33:14(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 CoreCLR インタープリタの float/double から u1(uint8)/u2(uint16)への変換動作を JIT コンパイラの動作と一致させるパッチです。負の値の変換時に、これまでは uint32_t を経由して飽和変換(saturation conversion)を行っていましたが、int32_t を経由する署名付き変換に変更することで、正しい値に変換されるようになります。 @@ -589,7 +589,7 @@ CoreCLR インタープリタの float/double から u1(uint8)/u2(uint16 - 作成者: [@rzikm](https://github.com/rzikm) - 作成日時: 2026年05月12日 08:24:24(UTC) - マージ日時: 2026年05月19日 15:17:58(UTC) -- ラベル: area-System.Net.Security +- ラベル: area-System.Net.Security #### 概要 NegotiateStream.ReadAsync で、フレームボディの読み込み失敗時に内部バッファ状態が不整合のままになり、後続の Read 呼び出しが stale(ゼロ埋めされた)バッファ内容を返す不具合を修正。フレームヘッダ読み込み後、ボディ読み込み前に `_readBufferCount` が割り当てられていたため、ReadAllAsync で例外が発生した場合、後続の呼び出しがバッファ内の 0 を EOF と区別できずに返していた。 @@ -612,7 +612,7 @@ NegotiateStream.ReadAsync で、フレームボディの読み込み失敗時に - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年05月11日 19:55:59(UTC) - マージ日時: 2026年05月19日 20:08:41(UTC) -- ラベル: area-System.Xml +- ラベル: area-System.Xml #### 概要 Apple mobile + CoreCLR環境でXSLT APIテストが失敗する問題を解決するため、`[ConditionalClass]`属性を使用してテストをスキップする仕組みに変更しました。基底クラス`XsltApiTestCaseBase2`の静的コンストラクタが読み取り専用のアプリバンドルデータに書き込みを試みることで発生していた問題に対応しています。 @@ -637,7 +637,7 @@ Apple mobile + CoreCLR環境でXSLT APIテストが失敗する問題を解決 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月10日 01:09:49(UTC) - マージ日時: 2026年05月19日 02:55:23(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Common Diagnostics Access Component)の DacDbi API を拡張し、型ハンドルまたはオブジェクトアドレスから `DebuggerIPCE_ExpandedTypeData` を生成する `TypeHandleToExpandedTypeInfo` および `GetObjectExpandedTypeInfo` を実装します。また、`System.Object` メソッドテーブルを認識する `IRuntimeTypeSystem.IsObject()` コントラクトヘルパーを追加し、`ELEMENT_TYPE_OBJECT` と `ELEMENT_TYPE_CLASS` を区別できるようにします。 @@ -665,7 +665,7 @@ cDAC(Common Diagnostics Access Component)の DacDbi API を拡張し、型 - 作成者: [@SwapnilGaikwad](https://github.com/SwapnilGaikwad) - 作成日時: 2026年05月05日 21:35:41(UTC) - マージ日時: 2026年05月19日 07:02:34(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 Arm64プロセッサにおけるPointer Authentication (PAC)のJIT支援を実装するPRです。PAC(Armv8.3+)はReturn-Oriented Programming (ROP)攻撃を軽減するセキュリティ機能で、リターンアドレスを暗号学的に署名することで制御フローを保護します。本実装ではプロローグで`paciasp`を使用してリンクレジスタ(LR)を署名し、エピローグで`autiasp`を使用して認証します。無効な署名は`SIGILL`で実行を失敗させます。デフォルトでは無効ですが、`DOTNET_JitPacEnabled=1`で有効化できます。 @@ -695,7 +695,7 @@ Arm64プロセッサにおけるPointer Authentication (PAC)のJIT支援を実 - 作成者: [@tommcdon](https://github.com/tommcdon) - 作成日時: 2026年05月02日 14:54:33(UTC) - マージ日時: 2026年05月19日 03:02:16(UTC) -- ラベル: area-ExceptionHandling-coreclr +- ラベル: area-ExceptionHandling-coreclr #### 概要 デバッガ通知の回帰バグを修正したPull Requestです。例外処理のPass 1終了後、StackFrameIteratorの状態が古くなっており、`NotifyExceptionPassStarted`でFuncEvalFrame/DebuggerU2MCatchHandlerFrameの検出が失敗していました。修正では、マネージフレームから明示的フレームへの遷移時に挿入されるNATIVE_MARKER_FRAMEをスキップして次のフレームに進め、NotifyOfCHFFilter通知が正しく発火するようにしました。 @@ -721,7 +721,7 @@ Arm64プロセッサにおけるPointer Authentication (PAC)のJIT支援を実 - 作成者: [@simonrozsival](https://github.com/simonrozsival) - 作成日時: 2026年04月29日 18:40:27(UTC) - マージ日時: 2026年05月19日 21:48:23(UTC) -- ラベル: os-android area-Infrastructure +- ラベル: os-android area-Infrastructure #### 概要 Android ARM(armeabi-v7a)のCoreCALRサポートを再有効化し、softfp ABI呼び出し規約に対応させるプルリクエストです。Android ARMはfloating-point引数と戻り値をコアレジスタ/スタック経由で渡す必要があるため、`ARM_SOFTFP`定義を追加し、NativeAOT/Crossgen2のAndroid ARM32ビルド時に`armel` ABI を適用するようにしました。また、Crossgen2とILCompilerのAndroid target引数を一元化し、`--targetos:android --targetarch:arm`から自動的にsoftfp(armel)ABI に正規化される仕組みを実装しました。 @@ -752,7 +752,7 @@ Android ARM(armeabi-v7a)のCoreCALRサポートを再有効化し、softfp A - 作成者: [@janvorli](https://github.com/janvorli) - 作成日時: 2026年04月29日 17:20:11(UTC) - マージ日時: 2026年05月19日 21:16:37(UTC) -- ラベル: Servicing-approved area-GC-coreclr +- ラベル: Servicing-approved area-GC-coreclr #### 概要 .NET 10で導入されたGCヒープサイズ回帰の修正を release/10.0 ブランチに復元するバックポート。重いピンニングシナリオでのリージョンベースGCのパフォーマンス低下を改善しながら、大きなプラグの再配置時にフロントパディングが無限ループを引き起こす問題を修正しています。 @@ -777,7 +777,7 @@ Android ARM(armeabi-v7a)のCoreCALRサポートを再有効化し、softfp A - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月28日 09:50:36(UTC) - マージ日時: 2026年05月19日 17:27:07(UTC) -- ラベル: area-Infrastructure-coreclr os-ios +- ラベル: area-Infrastructure-coreclr os-ios #### 概要 CoreCLR Apple mobile環境において、`System.Text.Json.Tests`と`System.Collections.Concurrent.Tests`をテスト実行対象に復活させるPRです。プロジェクトレベルの除外設定を削除し、既知の失敗テストには`[ActiveIssue]`アノテーションを追加して対応しています。 @@ -799,7 +799,7 @@ CoreCLR Apple mobile環境において、`System.Text.Json.Tests`と`System.Coll - 作成者: [@SingleAccretion](https://github.com/SingleAccretion) - 作成日時: 2026年04月04日 19:41:50(UTC) - マージ日時: 2026年05月19日 16:14:32(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 RyuJITコンパイラから単一IG(Instruction Group)制限を削除し、JITコード生成の柔軟性を向上させるPRです。主な変更は:(1) IG番号の順序外比較をIG リストの走査により改善、(2) 単一IG制限の回避のためだけに使用されていた相対ジャンプ(`+/- `でエンコード)を削除します。 @@ -824,7 +824,7 @@ RyuJITコンパイラから単一IG(Instruction Group)制限を削除し、J - 作成者: [@snickolls-arm](https://github.com/snickolls-arm) - 作成日時: 2026年03月18日 14:16:11(UTC) - マージ日時: 2026年05月19日 09:20:22(UTC) -- ラベル: area-CodeGen-coreclr community-contribution arm-sve +- ラベル: area-CodeGen-coreclr community-contribution arm-sve #### 概要 SVE(Scalable Vector Extension)命令セットが利用可能な場合、`Vector`を参照渡しで扱うように変更し、128ビットHFA(Homogeneous Float Aggregate)として扱われることを防ぎます。同時にHFA認識ロジックを改善し、固定サイズ型のHFAタイプ判定を集約化した中央関数で一元管理するようにリファクタリングされています。 @@ -854,7 +854,7 @@ SVE(Scalable Vector Extension)命令セットが利用可能な場合、`Vec - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年01月16日 08:50:02(UTC) - マージ日時: 2026年05月19日 11:22:03(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 インターフェース メソッド ディスパッチの実装を、キャッシュベースのセルから汎用のディスパッチ ヘルパー呼び出しに移行します。NativeAOT環境において、インターフェース ディスパッチ セルを2ポインタ構造(キャッシュされたMethodTable+ターゲットメソッドアドレス)に統一し、メタデータ(インターフェース型とスロット情報)をアウトオブライン化します。初回のディスパッチでは遅延解決ヘルパー(`RhpResolveInterfaceMethodFast`)が呼ばれ、セル内に結果をキャッシュします。異なる`this`でのディスパッチはグローバルハッシュテーブルにキャッシュされます。 diff --git a/archives/2026/05/20.md b/archives/2026/05/20.md index dbe4da4..da1a28e 100644 --- a/archives/2026/05/20.md +++ b/archives/2026/05/20.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#128395 Don't pessimize available registers for key GT_INTRINSIC](#128395) 2. [#128381 \[release/8.0-staging\] Fix loop hoist memory-dependence tracking](#128381) 3. [#128379 Clarify Marshal AccessViolationException compatibility comments](#128379) @@ -29,7 +29,7 @@ - 作成者: [@tannergooding](https://github.com/tannergooding) - 作成日時: 2026年05月20日 06:09:55(UTC) - マージ日時: 2026年05月20日 21:49:39(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 xarch JITにおいて、`GT_INTRINSIC`で表現される`System.Math`組み込み関数がEVEXレジスタを利用できるよう、不必要なレジスタ制限を削除しました。また、`Math.Abs`をSIMDノード経由で表現するよう改善し、マスクのCSE機会を増やしています。 @@ -57,7 +57,7 @@ xarch JITにおいて、`GT_INTRINSIC`で表現される`System.Math`組み込 - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年05月19日 18:22:35(UTC) - マージ日時: 2026年05月20日 21:43:24(UTC) -- ラベル: Servicing-approved area-CodeGen-coreclr +- ラベル: Servicing-approved area-CodeGen-coreclr #### 概要 ループ不変式コード移動(LICM)の際にメモリ依存性の追跡に誤りがあり、ループ不変ではない式が誤ってループ外にホイストされてしまう問題を修正しました。これは無声の不正な機械語コード生成につながる可能性があります。問題は二重ループ構造で、値番号付けは不変だがメモリ依存性がある式が内側ループの下にある場合に発生します。 @@ -82,7 +82,7 @@ xarch JITにおいて、`GT_INTRINSIC`で表現される`System.Math`組み込 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月19日 18:00:17(UTC) - マージ日時: 2026年05月20日 06:00:23(UTC) -- ラベル: area-System.Runtime.InteropServices +- ラベル: area-System.Runtime.InteropServices #### 概要 Marshal interop ヘルパーの `AccessViolationException` に関するコメントを明確化するドキュメント更新。従来の誤解を招く表現を修正し、互換性動作を正確に説明するよう改善しました。 @@ -106,7 +106,7 @@ Marshal interop ヘルパーの `AccessViolationException` に関するコメン - 作成者: [@iremyux](https://github.com/iremyux) - 作成日時: 2026年05月19日 13:24:15(UTC) - マージ日時: 2026年05月20日 09:51:14(UTC) -- ラベル: area-System.Formats.Tar +- ラベル: area-System.Formats.Tar #### 概要 TAR アーカイブ解析時の PAX 拡張属性の検証を強化。`PAX` メタデータから読み込まれるサイズ値が負の値である場合、`InvalidDataException` をスローするように変更。これにより、不正な TAR アーカイブが受け入れられるのを防ぎます。 @@ -130,7 +130,7 @@ TAR アーカイブ解析時の PAX 拡張属性の検証を強化。`PAX` メ - 作成者: [@alinpahontu2912](https://github.com/alinpahontu2912) - 作成日時: 2026年05月19日 13:09:54(UTC) - マージ日時: 2026年05月20日 08:10:07(UTC) -- ラベル: area-System.Formats.Tar +- ラベル: area-System.Formats.Tar #### 概要 Windows環境でのTarファイル処理におけるシンボリックリンク関連のバグを修正します。System.Formats.Tarライブラリの内部実装を改善し、Windows固有のパス処理問題に対応しています。 @@ -154,7 +154,7 @@ Windows環境でのTarファイル処理におけるシンボリックリンク - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月19日 12:29:10(UTC) - マージ日時: 2026年05月20日 13:06:49(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT実行時にCOMインターフェースパラメータの`MarshalAs`メタデータ内の`IidParameterIndex`の解析に失敗し、marshaldescriptorブロブに未読バイトが残ってアサーション例外が発生する問題を修正します。パーサーが`IUnknown`、`IDispatch`、`Interface`型に対するオプショナルな`IidParameterIndex`ペイロードを適切に消費するようにします。 @@ -180,7 +180,7 @@ NativeAOT実行時にCOMインターフェースパラメータの`MarshalAs`メ - 作成者: [@tannergooding](https://github.com/tannergooding) - 作成日時: 2026年05月19日 00:37:59(UTC) - マージ日時: 2026年05月20日 08:51:44(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 xarch JITコンパイラのFMA(積和演算)およびAVX-512 TernaryLogic命令について、不要な遅延フリー(delay-free)マーキングを削除する変更です。これらの命令は完全に並べ替え可能(fully reorderable)であるため、特殊なシナリオを除いて遅延フリー制約は不要です。 @@ -202,7 +202,7 @@ xarch JITコンパイラのFMA(積和演算)およびAVX-512 TernaryLogic命 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月19日 00:33:17(UTC) - マージ日時: 2026年05月20日 22:42:09(UTC) -- ラベル: area-Tools-ILLink +- ラベル: area-Tools-ILLink #### 概要 ILLink単体テストおよびトリミングテストの実行時に、Debug構成のツールを使用するようにAzure Pipelines定義を修正します。これにより、ILLink内部のアサーション(assert)を有効にしてテストを実行できるようになります。 @@ -225,7 +225,7 @@ Debug構成のツールを使用するため、ILLinkの実行速度がやや低 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月19日 00:19:09(UTC) - マージ日時: 2026年05月20日 21:23:59(UTC) -- ラベル: area-Extensions-Logging +- ラベル: area-Extensions-Logging #### 概要 `EventSourceLoggerTest`のTrim/AOT安全性を実現するため、`JsonConvert.SerializeObject`による複雑なペイロードのシリアライゼーションを`JsonTextWriter`ベースの手動実装に置き換えました。これにより反射ベースのJSON生成を排除し、IL2026抑制を削除できます。 @@ -248,7 +248,7 @@ Debug構成のツールを使用するため、ILLinkの実行速度がやや低 - 作成者: [@janvorli](https://github.com/janvorli) - 作成日時: 2026年05月18日 22:25:06(UTC) - マージ日時: 2026年05月20日 15:36:32(UTC) -- ラベル: Servicing-approved area-GC-coreclr +- ラベル: Servicing-approved area-GC-coreclr #### 概要 GC regions + large pages有効時のメモリ破損バグを修正するバックポート。コンパクション後に`heap_segment_used`ウォーターマークが古い値のままだと、`decommit_region`が不足した範囲しかクリアせず、ダーティメモリが再利用されてヒープ破損/クラッシュが発生する問題に対応しています。 @@ -275,7 +275,7 @@ GC regions + large pages有効時のメモリ破損バグを修正するバッ - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年05月18日 12:23:03(UTC) - マージ日時: 2026年05月20日 22:04:59(UTC) -- ラベル: area-System.Threading.Tasks runtime-async +- ラベル: area-System.Threading.Tasks runtime-async #### 概要 `ValueTaskContinuation`が ExecutionContext の保存・復元を不要とするよう最適化しました。将来的には JIT がコンテキスト参照がないことを証明した場合、continuations が保存・復元をスキップできるようにする基盤を整備しています。 @@ -297,7 +297,7 @@ GC regions + large pages有効時のメモリ破損バグを修正するバッ - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年05月15日 23:32:06(UTC) - マージ日時: 2026年05月20日 14:58:21(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 CoreCLR JITの`IndirectCallTransformer`実装内部フィールドをリネームするリファクタリングです。主にコンパイラとトランスフォーマー関連のフィールドに`m_`プリフィックスを付与し、命名規則の一貫性を向上させました。また複数のメンバーをコンストラクタ初期化からクラス内デフォルト初期化に変更しています。 @@ -320,7 +320,7 @@ CoreCLR JITの`IndirectCallTransformer`実装内部フィールドをリネー - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年05月15日 22:54:11(UTC) - マージ日時: 2026年05月20日 14:51:56(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 clrjit プロジェクトに対して、コンパイラの警告抑制フラグ (`-Wno-unused-function`, `-Wno-tautological-compare`, `-Wno-unused-value`) を削除し、コードの警告を修正する変更。JIT 関連の複数のファイルで未使用の変数・関数や冗長な比較に対する警告を明示的に対応して、コード品質を向上させることが目的。 @@ -347,7 +347,7 @@ clrjit プロジェクトに対して、コンパイラの警告抑制フラグ - 作成者: [@akoeplinger](https://github.com/akoeplinger) - 作成日時: 2026年05月15日 16:44:06(UTC) - マージ日時: 2026年05月20日 16:27:33(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 EmsdkPackageVersionのハードコード化された値を廃止し、依存関係フロー(dependency flow)から自動更新されるプロパティ値に変更します。以前のビルド問題の回避策として硬直的に設定されていた値(10.0.0)を、MicrosoftDotNetApiCompatTaskPackageVersionプロパティから動的に取得するようにします。 @@ -368,7 +368,7 @@ EmsdkPackageVersionのハードコード化された値を廃止し、依存関 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月14日 22:26:05(UTC) - マージ日時: 2026年05月20日 14:32:03(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 Unix(Linux、macOS、BSD等)プラットフォームにおいて、リンク時のデッドコード排除を全体的に有効化するため、ネイティブビルド設定を更新しました。既に使用されていた `-ffunction-sections` に加えて `-fdata-sections` を追加し、リンカフラグ(Apple向けは `-Wl,-dead_strip`、他のELF形式向けは `-Wl,--gc-sections`)を Release / Checked / RelWithDebInfo ビルドに設定することで、未参照のコードセクションだけでなくデータセクションも排除できるようにしました。Debug ビルドはシンボル保持とインクリメンタルリンクのため変更を避けています。 @@ -393,7 +393,7 @@ Unix(Linux、macOS、BSD等)プラットフォームにおいて、リンク - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年05月14日 18:46:51(UTC) - マージ日時: 2026年05月20日 16:57:19(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Common Data Access Component)のHelix テスト環境において、debuggeeプロジェクトの参照DLLがシンボル検索パスにコピーされていないため、クロスプラットフォームのWindows dumpでメタデータ読み込みが失敗する問題を修正します。従来は`.dll`のみをコピーしていましたが、`ProjectReference`から生成されたDLL(例:`Trampoline.dll`)も対象に含めます。 @@ -419,7 +419,7 @@ cDAC(Common Data Access Component)のHelix テスト環境において、debugge - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月14日 14:41:16(UTC) - マージ日時: 2026年05月20日 01:12:21(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 ARMV7L(32-bit ARM)固有のCMakeプリプロセッサ定義を削除します。廃止予定のホスト/ターゲットプラットフォーム定義を整理し、CMakeビルド構成をシンプル化します。 @@ -443,7 +443,7 @@ ARMV7L(32-bit ARM)固有のCMakeプリプロセッサ定義を削除しま - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月14日 14:37:02(UTC) - マージ日時: 2026年05月20日 12:09:38(UTC) -- ラベル: area-System.ServiceProcess +- ラベル: area-System.ServiceProcess #### 概要 組み込みDIサービス(`IServiceProvider`、`IServiceScopeFactory`、`IServiceProviderIsService`、`IServiceProviderIsKeyedService`)のキー付きサービス検査動作を修正しました。これらのサービスは`null`キーに対してのみ利用可能と扱われるようになり、キー付き解決(keyed resolution)の実際の動作と一致させました。 @@ -468,7 +468,7 @@ ARMV7L(32-bit ARM)固有のCMakeプリプロセッサ定義を削除しま - 作成者: [@svick](https://github.com/svick) - 作成日時: 2026年05月12日 12:16:26(UTC) - マージ日時: 2026年05月20日 13:24:25(UTC) -- ラベル: area-Extensions-FileSystem +- ラベル: area-Extensions-FileSystem #### 概要 `PhysicalFilesWatcher`で`FileSystemWatcher`の`IncludeSubdirectories`を無条件に有効化していた問題を修正しました。Linuxでは不要な再帰監視がinotify watch descriptorの過剰消費につながるため、実際にサブディレクトリ参照が必要な場合のみ有効化するよう改善します。これにより、systemdから起動されたアプリケーションなど、ルートが`/`の場合のパフォーマンス低下を防ぎます。 @@ -497,7 +497,7 @@ ARMV7L(32-bit ARM)固有のCMakeプリプロセッサ定義を削除しま - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年05月12日 08:54:31(UTC) - マージ日時: 2026年05月20日 13:14:45(UTC) -- ラベル: area-System.Net +- ラベル: area-System.Net #### 概要 Android(およびiOS/tvOS/MacCatalyst)において、`*.localhost`サブドメインのDNS解決時にbionic `getaddrinfo`がループバック以外のアドレス(link-local IPv6やグローバルルーティング可能なIPv6)を返す問題を修正しました。RFC 6761 §6.3に基づき、OSリゾルバーが非ループバックアドレスのみを返す場合に、プレーンな`localhost`へのフォールバック動作を追加実装しました。同期・非同期両方の解決パスで対応しています。 @@ -530,7 +530,7 @@ Android(およびiOS/tvOS/MacCatalyst)において、`*.localhost`サブド - 作成者: [@kg](https://github.com/kg) - 作成日時: 2026年05月07日 18:43:18(UTC) - マージ日時: 2026年05月20日 21:51:50(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 CI パイプラインモニタースキルのデータベース内の失敗情報から GitHub Issue やコメントを自動生成するための Python スクリプトを追加します。デフォルトはドライラン mode で動作し、`--go` フラグを明示的に渡すことで実際の `gh` コマンドを実行します。ビルド ID ごとにスタンプファイルを生成して重複コメント投稿を防止します。 @@ -555,7 +555,7 @@ CI パイプラインモニタースキルのデータベース内の失敗情 - 作成者: [@BoyBaykiller](https://github.com/BoyBaykiller) - 作成日時: 2026年05月07日 13:47:00(UTC) - マージ日時: 2026年05月20日 12:32:23(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 JITコンパイラの条件式最適化を改善し、`SELECT(cond, cns, cns)`パターン(条件は異なるが真偽両ケースで同じ定数値を返す)を直接その定数値に変換します。これにより、不要な条件分岐と比較演算を削除し、生成されるアセンブリコードを簡潔化します。 @@ -583,7 +583,7 @@ JITコンパイラの条件式最適化を改善し、`SELECT(cond, cns, cns)` - 作成者: [@svick](https://github.com/svick) - 作成日時: 2026年04月28日 12:54:46(UTC) - マージ日時: 2026年05月20日 23:46:13(UTC) -- ラベル: area-Extensions-Configuration +- ラベル: area-Extensions-Configuration #### 概要 環境変数の設定キー変換をカスタマイズできる機能を追加します。デフォルトではアンダースコア2つ(`__`)をコロン(`:`)に変換しますが、新たに`VariableNameTransformation`デリゲートで任意の変換ロジックを指定できるようになります。また、ドット(`.`)を含むキーを環境変数から設定する場合用に`ColonAndDotTransformation`プリセットが提供されます。 @@ -621,7 +621,7 @@ builder.AddEnvironmentVariables("Logging__", - 作成者: [@BoyBaykiller](https://github.com/BoyBaykiller) - 作成日時: 2026年03月08日 00:11:23(UTC) - マージ日時: 2026年05月20日 12:30:48(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 JITコンパイラの中間表現(IR)一貫性チェックを強化し、`GT_RETURN`ノードが正しく配置されていることを検証するデバッグアサーションを追加します。`GT_RETURN`は`BBJ_RETURN`ブロックにのみ存在し、かつそのブロック内の最後のステートメントである必要があります。 diff --git a/archives/2026/05/21.md b/archives/2026/05/21.md index 7cd0fc9..bb34317 100644 --- a/archives/2026/05/21.md +++ b/archives/2026/05/21.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#128447 JIT: Disallow CSE of multireg nodes](#128447) 2. [#128434 Socket: fix infinite release spin-wait when Socket gets closed after handle was invalidated.](#128434) 3. [#128433 Socket: set Socket.Blocking from handle when constructing from SafeSocketHandle.](#128433) @@ -17,7 +17,7 @@ - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年05月21日 12:24:42(UTC) - マージ日時: 2026年05月21日 22:34:06(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT の Common Subexpression Elimination (CSE) ロジックを修正し、マルチレジスタ値を持つ非SIMD構造体型の式について CSE を禁止します。これらの値は常にスピルされ、正確性のためには既存のストア先を DNER(Do Not Eliminate Register)として扱う必要があるため。 @@ -39,7 +39,7 @@ JIT の Common Subexpression Elimination (CSE) ロジックを修正し、マル - 作成者: [@tmds](https://github.com/tmds) - 作成日時: 2026年05月21日 08:46:46(UTC) - マージ日時: 2026年05月21日 17:01:39(UTC) -- ラベル: area-System.Net.Sockets community-contribution +- ラベル: area-System.Net.Sockets community-contribution #### 概要 Socket が無効化されたハンドルの後に閉じられる場合に発生する無限のリリーススピンウェイトを修正します。SafeSocketHandle でハンドル無効化後の状態遷移ロジックを改善し、不要なスピンウェイトを削減します。 @@ -61,7 +61,7 @@ System.Net.Sockets内部実装(SafeSocketHandle)の修正です。 - 作成者: [@tmds](https://github.com/tmds) - 作成日時: 2026年05月21日 07:56:44(UTC) - マージ日時: 2026年05月21日 15:23:33(UTC) -- ラベル: area-System.Net.Sockets community-contribution +- ラベル: area-System.Net.Sockets community-contribution #### 概要 `SafeSocketHandle`からSocketを構築する際に、ハンドルの実際のブロッキング状態を読み取って`Socket.Blocking`プロパティを正しく初期化するように変更しました。これにより、既存のソケットハンドルからSocketオブジェクトを作成する場合の状態不整合を防ぎます。 @@ -83,7 +83,7 @@ System.Net.Sockets内部実装(SafeSocketHandle)の修正です。 - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年05月20日 13:25:06(UTC) - マージ日時: 2026年05月21日 10:16:02(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 CLR インタープリターの非同期メソッド呼び出しで、戻り値が使用されない場合の継続処理の復帰時に、ライブ変数を誤って上書きするバグを修正します。戻り値が未使用の場合、スタックオフセットが他のテンポラリ変数と共有されることがあり、復帰時に継続戻り値を書き込む際に既存のライブ値が破壊される問題を解決します。 @@ -105,7 +105,7 @@ CLR インタープリターの非同期メソッド呼び出しで、戻り値 - 作成者: [@VSadov](https://github.com/VSadov) - 作成日時: 2026年05月20日 11:38:18(UTC) - マージ日時: 2026年05月21日 11:22:19(UTC) -- ラベル: area-VM-coreclr runtime-async +- ラベル: area-VM-coreclr runtime-async #### 概要 `ValueTaskSource`ベースの`ValueTask`を待機する際に、キャッシュされた継続(continuation)を再利用することでメモリ割り当てを削減する変更です。[#127973](https://github.com/dotnet/runtime/issues/127973)の考え方を、thunkではなく実際の`Await`が使用される場合に適用します。実測値として、ベンチマークでGen0 GC回数が15/secから2/secまで削減されました。 @@ -135,7 +135,7 @@ var result = await flushTask; // ここで再利用可能な継続がキャッ - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年05月20日 00:26:21(UTC) - マージ日時: 2026年05月21日 19:40:07(UTC) -- ラベル: area-Meta reduce-unsafe +- ラベル: area-Meta reduce-unsafe #### 概要 非常に小さい `stackalloc` バッファを C# collection expressions(`[0, 0, 0, 0]` など)に置き換え、それらの `stackalloc` のためだけに必要だった `unsafe` 修飾子を削除するリファクタリングです。スタックベースのバッファ動作は維持しながら、コード安全性を向上させます。 @@ -177,7 +177,7 @@ void Example() - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年05月19日 13:29:28(UTC) - マージ日時: 2026年05月21日 09:24:06(UTC) -- ラベル: area-ReadyToRun +- ラベル: area-ReadyToRun #### 概要 ReadyToRun(R2R)コンパイラの依存関係分析を拡張し、ジェネリック仮想メソッド(GVM)呼び出しの実装を動的に発見・コンパイルする機能を追加します。`GVMDependenciesNode`をNativeAOTから共有ソースに移動し、ReadyToRunでも利用可能にします。型マーカーノード(`InheritedVirtualMethodsNode`)を導入し、アプリケーションで使用される型に対するGVM実装の解決を行います。 @@ -205,7 +205,7 @@ ReadyToRun(R2R)コンパイラの依存関係分析を拡張し、ジェネ - 作成者: [@maraf](https://github.com/maraf) - 作成日時: 2026年05月17日 08:11:46(UTC) - マージ日時: 2026年05月21日 10:24:03(UTC) -- ラベル: arch-wasm test-enhancement area-Build-mono os-browser +- ラベル: arch-wasm test-enhancement area-Build-mono os-browser #### 概要 CoreCLR-on-WASM「ノーワークロード」モードにおいて、公開時のネイティブ再リンク機能をエンドツーエンドで実装し、`Wasm.Build.Tests`の追加テストカバレッジをCoreCLRで有効化するもの。ランタイムパックのペイロード調整、ビルドパイプラインの再設計、テスト基盤の拡張を含む。 @@ -240,7 +240,7 @@ CoreCLR-on-WASM「ノーワークロード」モードにおいて、公開時 - 作成者: [@eiriktsarpalis](https://github.com/eiriktsarpalis) - 作成日時: 2026年05月13日 19:34:05(UTC) - マージ日時: 2026年05月21日 06:10:50(UTC) -- ラベル: area-System.Text.Json +- ラベル: area-System.Text.Json #### 概要 System.Text.JsonにC#の共用体型(union-like shapes)のサポートを追加します。ユニオン型のシリアライゼーション/デシリアライゼーション、カスタム分類器API、ソース生成対応を実装しています。新しいメタデータ、属性、コンバーターインフラストラクチャを導入し、リフレクションとソース生成の両方で対応します。 @@ -285,7 +285,7 @@ System.Text.JsonにC#の共用体型(union-like shapes)のサポートを追 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月07日 00:33:27(UTC) - マージ日時: 2026年05月21日 17:15:11(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 プリミティブ値型の概念を削除し、JIT/TypedReference/arglistの関連実装をクリーンアップするランタイム内部の大規模リファクタリングです。`GetVerifierCorElementType`を廃止して`GetInternalCorElementType`に統一し、列挙型とプリミティブ型を明確に区別するようにMethodTableのカテゴリフラグを再構成します。`TypedReference`は通常のbyref様値型として扱われ、`CEE_ARGLIST`はJITで実際の`RuntimeArgumentHandle`構造体を生成するようになります。 @@ -315,7 +315,7 @@ System.Text.JsonにC#の共用体型(union-like shapes)のサポートを追 - 作成者: [@BoyBaykiller](https://github.com/BoyBaykiller) - 作成日時: 2026年05月06日 20:35:07(UTC) - マージ日時: 2026年05月21日 01:28:50(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 JITコンパイラの比較演算最適化ロジックを統合する変更です。複数の後順序(post-order)比較変換をまとめて`fgOptimizeRelationalComparison`関数で一元化し、コード構造を簡潔にします。変更はゼロディフ(生成されるコードに影響なし)です。 @@ -338,7 +338,7 @@ JITコンパイラの比較演算最適化ロジックを統合する変更で - 作成者: [@Daniel-Svensson](https://github.com/Daniel-Svensson) - 作成日時: 2025年07月03日 09:36:39(UTC) - マージ日時: 2026年05月21日 03:37:26(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 x64プラットフォームにおいて`Math.BigMul`のパフォーマンスを改善するPRです。JITコンパイラがx64固有の乗算命令を活用して、より効率的なコード生成を行うようにします。mulxサポートを含まないバージョンとして提出されており、AVX2非対応ハードウェアでの動作確認が目的です。 diff --git a/archives/2026/05/22.md b/archives/2026/05/22.md index 3293c33..20a51fa 100644 --- a/archives/2026/05/22.md +++ b/archives/2026/05/22.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#128493 \[Android\] Remove unnecessary X509Chain memory leak test](#128493) 2. [#128486 Remove redundant `#if`/`#else` blocks with identical branches](#128486) 3. [#128485 JIT: Propagate class handle when split tree](#128485) @@ -27,7 +27,7 @@ - 作成者: [@simonrozsival](https://github.com/simonrozsival) - 作成日時: 2026年05月22日 16:26:44(UTC) - マージ日時: 2026年05月22日 20:00:57(UTC) -- ラベル: area-System.Security os-android +- ラベル: area-System.Security os-android #### 概要 Android固有の長時間実行X509Chain単体テストを削除するフォローアップPRです。#128284で追加された不要なAndroid専用ストレステスト `BuildChainRepeatedly_DoesNotExhaustGlobalReferences` をテストスイートから削除します。 @@ -49,7 +49,7 @@ Android固有の長時間実行X509Chain単体テストを削除するフォロ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月22日 14:17:13(UTC) - マージ日時: 2026年05月22日 22:20:29(UTC) -- ラベル: area-Meta +- ラベル: area-Meta #### 概要 #128464で特定されたパターンに従い、同一の分岐内容を持つ冗長な`#if`/`#else`プリプロセッサブロックを削除するコードクリーンアップです。複数のC++ヘッダーファイルとC#ソースファイル全体で、条件分岐の両側が同じコードを持つ`#if`/`#else`/`#endif`構造を除去しています。 @@ -78,7 +78,7 @@ Android固有の長時間実行X509Chain単体テストを削除するフォロ - 作成者: [@hez2010](https://github.com/hez2010) - 作成日時: 2026年05月22日 14:07:14(UTC) - マージ日時: 2026年05月22日 23:06:59(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 JIT コンパイラの`gtSplitTree`関数を改善し、ツリー分割時に生成される一時ローカル変数により正確なクラスハンドルメタデータを伝播させることで、後続のdevirtualization最適化がより正確な型情報を利用できるようにします。結果として、不要な仮想呼び出しが排除され、生成コードサイズが削減されます。 @@ -105,7 +105,7 @@ Copilot レビュアーによる懸念事項として、以下の点が指摘さ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月22日 08:20:41(UTC) - マージ日時: 2026年05月22日 11:01:52(UTC) -- ラベル: area-ExceptionHandling-coreclr +- ラベル: area-ExceptionHandling-coreclr #### 概要 Wasm CoreCLR環境で失敗する`ExpressionsUnwrapeExternallyThrownRuntimeWrappedException`テストをスキップするため、`[ActiveIssue]`属性を追加しました。`PlatformDetection.IsBrowser`と`PlatformDetection.IsCoreCLR`の条件ゲートを使用して、ブラウザ環境のCoreCLR実行時のみテストを無効化します。 @@ -133,7 +133,7 @@ public void ExpressionsUnwrapeExternallyThrownRuntimeWrappedException(bool useIn - 作成者: [@kg](https://github.com/kg) - 作成日時: 2026年05月22日 04:51:50(UTC) - マージ日時: 2026年05月22日 18:14:47(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssemblyのRyuJITコード生成で、`GT_BITCAST`ノードの被演算子がcontained状態の場合の処理を実装しました。これにより、スタックローカル変数のbitcastを独立した演算子ノードなしで直接生成できるようになります。 @@ -155,7 +155,7 @@ WebAssemblyのRyuJITコード生成で、`GT_BITCAST`ノードの被演算子が - 作成者: [@iikuzmychov](https://github.com/iikuzmychov) - 作成日時: 2026年05月22日 00:36:15(UTC) - マージ日時: 2026年05月22日 13:32:08(UTC) -- ラベル: area-System.Collections community-contribution +- ラベル: area-System.Collections community-contribution #### 概要 `CollectionHelpers.ValidateCopyToArguments`メソッドの冗長な条件付きコンパイル指令を削除しました。両方の分岐で同じ`ArgumentNullException.ThrowIfNull(array);`呼び出しが存在していたため、`#if NET / #else / #endif`ディレクティブを削除して処理を統一しました。 @@ -178,7 +178,7 @@ WebAssemblyのRyuJITコード生成で、`GT_BITCAST`ノードの被演算子が - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月21日 22:27:45(UTC) - マージ日時: 2026年05月22日 06:58:12(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 PR #127644で`0x`/`0X`プレフィックスのサポートが追加されましたが、`CONFIG_VAL_MAXLEN`が16のままだったため、`0xFFFFFFFFFFFFFFFF`のような18文字のフル幅64ビット16進値が拒否されていました。このPRは定数を18に増やし、プレフィックス+16桁の16進数値を受け入れるよう修正します。 @@ -207,7 +207,7 @@ PR #127644で`0x`/`0X`プレフィックスのサポートが追加されまし - 作成者: [@jtschuster](https://github.com/jtschuster) - 作成日時: 2026年05月21日 22:26:50(UTC) - マージ日時: 2026年05月22日 20:55:00(UTC) -- ラベル: linkable-framework area-Tools-ILLink +- ラベル: linkable-framework area-Tools-ILLink #### 概要 ILLinkのMarkStepにおいて、Debug builds/testsで `DependencyKind.DisablePrivateReflectionRequirement` がアサーション失敗の原因となっていた問題を修正します。このDependencyKindを型およびメソッドマーキングの許可リスト(`_typeReasons`、`_methodReasons`)に追加し、linkerが `DisablePrivateReflectionAttribute` をroot化する際にDEBUG検証をスキップさせないようにします。 @@ -229,7 +229,7 @@ ILLinkのMarkStepにおいて、Debug builds/testsで `DependencyKind.DisablePri - 作成者: [@barosiak](https://github.com/barosiak) - 作成日時: 2026年05月21日 18:23:20(UTC) - マージ日時: 2026年05月22日 23:34:25(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Compact Diagnostic Access Component)の RuntimeTypeSystem コントラクトを拡張し、`DacDbiImpl.IsValidObject` メソッドを実装しました。新しいグローバルポインタ `ContinuationSingletonEEClass` を追加し、MethodTable/EEClass クエリ用の新しいAPI(`GetClassPointer`、`IsCanonicalMethodTable`、`IsContinuationWithoutMetadata`)を IRuntimeTypeSystem コントラクトに追加しています。これにより、デバッガがランタイムオブジェクトの有効性を適切に検証できるようになります。 @@ -257,7 +257,7 @@ cDAC(Compact Diagnostic Access Component)の RuntimeTypeSystem コントラ - 作成者: [@tannergooding](https://github.com/tannergooding) - 作成日時: 2026年05月21日 15:23:13(UTC) - マージ日時: 2026年05月22日 14:47:07(UTC) -- ラベル: area-System.Runtime.Intrinsics +- ラベル: area-System.Runtime.Intrinsics #### 概要 SIMD内在関数のフォールバック実装をリファクタリングし、スカラー型分類ロジックを`Scalar`に集約化します。`Shuffle`/`ShuffleNative`実装を統一し、コード重複を削減し、新しい型(`char`、`Half`)やベクトル幅(`nint`/`nuint`シャッフルオーバーロード)の追加を容易にします。 @@ -284,7 +284,7 @@ SIMD内在関数のフォールバック実装をリファクタリングし、 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月21日 06:56:24(UTC) - マージ日時: 2026年05月22日 20:33:26(UTC) -- ラベル: area-NativeAOT-coreclr runtime-async +- ラベル: area-NativeAOT-coreclr runtime-async #### 概要 NativeAOT TypeLoaderの`RuntimeMethodHandle`キャッシュが、async-variant bitをキーに含めていなかったため、同じメソッドのasync/non-async変種が同じキャッシュエントリにエイリアスされ、誤ったメソッド変種が解決される問題を修正します。async-variant bitをハンドル識別に含めることで、キャッシュの誤りを防ぎます。 @@ -325,7 +325,7 @@ RuntimeMethodHandleKey key = new RuntimeMethodHandleKey(declaringTypeHandle, han - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年05月21日 04:14:58(UTC) - マージ日時: 2026年05月22日 16:02:23(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/dotnetリポジトリからのコードフロー更新です。VMRの最新コミット(f7a0202)に基づいており、複数のビルドツール、コンパイラ、フレームワークパッケージおよび関連依存パッケージの更新が含まれています。release/10.0.1xxブランチの同期です。 @@ -362,7 +362,7 @@ dotnet/dotnetリポジトリからのコードフロー更新です。VMRの最 - 作成者: [@dhartglassMSFT](https://github.com/dhartglassMSFT) - 作成日時: 2026年05月20日 22:50:19(UTC) - マージ日時: 2026年05月22日 00:04:15(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 SVE scatter テストのセットアップロジックで、生成されたインデックス値がoutput bufferの長さを超えることによるIndex Out of Bounds例外を修正するテスト修正です。`SveScatterVectorBases.template`の`MakeDistinct`メソッドにおいて、重複排除時のインデックス調整処理を修正し、インデックス値を常に配列の有効範囲`[0, OutElementCount)`内に保つようにしました。 @@ -385,7 +385,7 @@ SVE scatter テストのセットアップロジックで、生成されたイ - 作成者: [@jtschuster](https://github.com/jtschuster) - 作成日時: 2026年05月20日 18:15:09(UTC) - マージ日時: 2026年05月22日 21:48:50(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 ReadyToRunテストプロジェクトにcrossgen2プロジェクトへのプロジェクト参照を追加し、ローカルでのビルド・実行時に最新のcrossgen2の変更が確実に反映されるようにしました。 @@ -406,7 +406,7 @@ ReadyToRunテストプロジェクトにcrossgen2プロジェクトへのプロ - 作成者: [@ericstj](https://github.com/ericstj) - 作成日時: 2026年05月20日 17:11:06(UTC) - マージ日時: 2026年05月22日 14:30:13(UTC) -- ラベル: area-Infrastructure-libraries +- ラベル: area-Infrastructure-libraries #### 概要 プラットフォーム固有のTFM(例:`net11.0-windows`)を対象とするライブラリで、コンパイラ生成ドキュメントXMLを使用する場合、XMLドキュメントコメントの配置が一貫していないことを検出・修正するRoslyn アナライザ「PlatformDocAnalyzer」を追加します。このアナライザは、部分的なソースファイルに分割された型のドキュメント配置規約を強制し、プラットフォーム非依存ビルドの規定ドキュメントとの一貫性を検証します。 @@ -435,7 +435,7 @@ ReadyToRunテストプロジェクトにcrossgen2プロジェクトへのプロ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月20日 00:17:12(UTC) - マージ日時: 2026年05月22日 21:14:30(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Common Data Access Contract)Thread契約にOSスレッドハンドルを追加し、レガシDacDbi実装で`IDacDbiInterface::GetThreadHandle`と`GetThreadAllocInfo`をcDAC対応データを使用して実装しました。新しい公開契約は導入されていません。 @@ -464,7 +464,7 @@ cDAC(Common Data Access Contract)Thread契約にOSスレッドハンドル - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年05月19日 21:15:42(UTC) - マージ日時: 2026年05月22日 16:17:39(UTC) -- ラベル: Servicing-approved area-System.Security +- ラベル: Servicing-approved area-System.Security #### 概要 Android プラットフォームにおいて、X509Chain クラスの JNI グローバル参照テーブルオーバーフローに起因するメモリリークを修正するバックポートです。 @@ -490,7 +490,7 @@ X509Chain の証明書チェーンビルド処理でグローバル参照が適 - 作成者: [@adamperlin](https://github.com/adamperlin) - 作成日時: 2026年05月14日 21:32:44(UTC) - マージ日時: 2026年05月22日 21:06:16(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly RyuJIT バックエンドの Packed SIMD (v128/0xFD-prefix) 命令セットに対するエミッター レベルのサポートを追加します。SIMD 命令テーブル、新しい命令フォーマット (`IF_V128`/`IF_LANE`/`IF_MEMARG_LANE`) および対応する記述子型を実装し、DEBUG のみのエミッター ユニット テストで新しいエンコーディング パスの動作検証を可能にします。 @@ -519,7 +519,7 @@ WebAssembly RyuJIT バックエンドの Packed SIMD (v128/0xFD-prefix) 命令 - 作成者: [@kg](https://github.com/kg) - 作成日時: 2026年05月14日 20:11:15(UTC) - マージ日時: 2026年05月22日 03:06:26(UTC) -- ラベル: arch-wasm area-VM-coreclr +- ラベル: arch-wasm area-VM-coreclr #### 概要 WebAssemblyターゲットにおいて、メモリ管理の正確性を確保するため、ライトバリア機構を実装しました。JITが期待する呼び出し規約の不一致を修正し、新たに`FCDECL2_RAW`/`FCIMPL2_RAW`マクロを導入してWasm用のインラインアセンブリでライトバリア処理を実装しています。 @@ -548,7 +548,7 @@ WebAssemblyターゲットにおいて、メモリ管理の正確性を確保す - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月14日 04:46:23(UTC) - マージ日時: 2026年05月22日 17:59:09(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC DAC-DBI層で`GetObjectFields`を実装し、ネイティブインターフェースの署名を`COR_TYPEID`から`UINT64`(メソッドテーブルポインタ)に変更しました。`RuntimeTypeSystem`コントラクトとECMAメタデータデコーディングを使用してフィールドオフセットとフィールド型の解決を行います。 @@ -576,7 +576,7 @@ cDAC DAC-DBI層で`GetObjectFields`を実装し、ネイティブインターフ - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年05月12日 00:44:56(UTC) - マージ日時: 2026年05月22日 18:00:45(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 PR #127943による副作用として、`VMPTR`がIPC層だけでなくDBI/DAC/EE全体で little-endian として伝播されていた問題を修正します。`VMPTR`を host endianness のラッパーに変更し、IPC層では`Portable`として little-endian をワイヤ上で保持しながら、アクセス時に host endianness に変換する設計に改めます。 @@ -601,7 +601,7 @@ PR #127943による副作用として、`VMPTR`がIPC層だけでなくDBI/DAC/E - 作成者: [@DrewScoggins](https://github.com/DrewScoggins) - 作成日時: 2026年05月05日 18:00:07(UTC) - マージ日時: 2026年05月22日 01:11:46(UTC) -- ラベル: area-TypeSystem-coreclr +- ラベル: area-TypeSystem-coreclr #### 概要 dotnet-pgo のトレース処理において、Reflection.Emit や IL スタブキャッシュで使用される "minimal" MethodTables が生成する BulkType ETW イベントを適切に処理できるようにする変更です。これまで無効な TypeDef トークン(rid 0 など)が有効なものとして扱われ、メタデータアクセス時に `BadImageFormatException` が発生していた問題を修正します。 diff --git a/archives/2026/05/23.md b/archives/2026/05/23.md index b0e3f66..b90abe9 100644 --- a/archives/2026/05/23.md +++ b/archives/2026/05/23.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#128503 \[cDAC\] Implement CheckContext for cDAC](#128503) 2. [#128500 JIT: fold isinst using reaching VNs and compareTypesForCast](#128500) 3. [#128499 Restore E_NOTIMPL fallback in DacDbiInterfaceImpl::GetContext](#128499) @@ -11,7 +11,7 @@ - 作成者: [@barosiak](https://github.com/barosiak) - 作成日時: 2026年05月22日 21:20:12(UTC) - マージ日時: 2026年05月23日 00:38:10(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Compact Data Access Components)の管理側実装に`CheckContext`機能を実装し、スタックポインタの範囲検証をサポートします。同時にネイティブDAC側から`DbgSkipStackCheck`設定による検証スキップ機能を削除し、セキュリティと一貫性を向上させます。 @@ -38,7 +38,7 @@ cDAC(Compact Data Access Components)の管理側実装に`CheckContext`機 - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年05月22日 18:45:27(UTC) - マージ日時: 2026年05月23日 11:30:25(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITの全局アサーション伝播機能を強化し、PHIノードと値番号(VN)を活用して、常にtrueになる`isinst`/`chkcast`キャストをコンパイル時に折り畳むことを可能にしました。複数の分岐で異なる型のオブジェクトを生成していても、すべてが共通の基底クラスを継承している場合、冗長なキャストチェックを削除します。 @@ -83,7 +83,7 @@ static void Test(int len) - 作成者: [@tommcdon](https://github.com/tommcdon) - 作成日時: 2026年05月22日 18:37:02(UTC) - マージ日時: 2026年05月23日 20:24:07(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 マネージドデバッグのスタックウォーク機能が非Windows platforms で正常に動作するよう、`DacDbiInterfaceImpl::GetContext` に `E_NOTIMPL` フォールバック機能を復元しました。`ICorDebugDataTarget::GetThreadContext` が `E_NOTIMPL` を返すプラットフォームで、Thread の Frame chain をウォークして REGDISPLAY から レジスタコンテキストを再構築します。 @@ -112,7 +112,7 @@ static void Test(int len) - 作成者: [@tommcdon](https://github.com/tommcdon) - 作成日時: 2026年05月22日 17:55:51(UTC) - マージ日時: 2026年05月23日 00:54:54(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 CoreCLRデバッガーの非同期スタックウォーク機能において、`CordbAsyncStackWalk::PopulateFrame()`がnull DiagnosticIPを持つcontinuation(例:#127973で導入されたValueTaskContinuation)に遭遇した際のクラッシュを修正します。DiagnosticIPがnullのcontinuationをスキップするようにすることで、null アドレスに対する`GetNativeCodeInfoForAddr`呼び出しを回避します。 @@ -133,7 +133,7 @@ CoreCLRデバッガーの非同期スタックウォーク機能において、` - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年05月18日 19:00:52(UTC) - マージ日時: 2026年05月23日 13:42:54(UTC) -- ラベル: area-System.Threading +- ラベル: area-System.Threading #### 概要 STRESS_TAILCALLモードでJIT importerが名前付きintrinsicを明示的なテイルコールとしてマークすることにより、GT_KEEPALIVE等の非CALL IRにインポートされるintrinsicで不正な状態が発生する問題を修正しました。この状態により後続の「GC Polls挿入」フェーズでアサートが発生していました。修正内容は、呼び出し先がCORINFO_FLG_INTRINSICフラグを持つ場合、stress-tailcall昇格をスキップすることです。 @@ -156,7 +156,7 @@ STRESS_TAILCALLモードでJIT importerが名前付きintrinsicを明示的な - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月10日 21:24:47(UTC) - マージ日時: 2026年05月23日 00:54:24(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 dotnet-optimization内部リポジトリからの依存関係を更新します。MIBC(Microsoft Intermediate Bytecode)ランタイム最適化データとPGO(Profile-Guided Optimization)CoreCLRパッケージを、バージョン1.0.0-prerelease.26080.1から1.0.0-prerelease.26180.1に更新します。これらはランタイムのJITコンパイル最適化に使用されます。 diff --git a/archives/2026/05/24.md b/archives/2026/05/24.md index 7c107ec..06517de 100644 --- a/archives/2026/05/24.md +++ b/archives/2026/05/24.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#128527 Update public-signing.md with NGEN details](#128527) 2. [#127889 JIT: Avoid TLS access when restoring async contexts](#127889) @@ -7,7 +7,7 @@ - 作成者: [@KirillOsenkov](https://github.com/KirillOsenkov) - 作成日時: 2026年05月23日 21:50:26(UTC) - マージ日時: 2026年05月24日 19:10:18(UTC) -- ラベル: area-Meta +- ラベル: area-Meta #### 概要 .NET Frameworkにおけるアセンブリの遅延署名(delay-signed)とパブリック署名(public-signed)に関するNGEN(Native Image Generator)の動作の違いを明確化するドキュメント更新です。NGEN がこれらのアセンブリをどのように処理するかについての既知問題を追加しています。 @@ -28,7 +28,7 @@ - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年05月06日 21:42:22(UTC) - マージ日時: 2026年05月24日 07:37:35(UTC) -- ラベル: area-CodeGen-coreclr runtime-async +- ラベル: area-CodeGen-coreclr runtime-async #### 概要 非同期関数の終了時にスレッドローカルストレージ(TLS)アクセスを回避するため、非同期コンテキストの復元パスでキャプチャされた`Thread`オブジェクトをローカル変数として使用するよう変更しました。JITと言語ランタイムの非同期ヘルパー呼び出し機構を拡張し、同期復元時のTLSアクセスを排除することで、将来的なスレッドアクセスの最適化を可能にします。 diff --git a/archives/2026/05/25.md b/archives/2026/05/25.md index 0918818..8741628 100644 --- a/archives/2026/05/25.md +++ b/archives/2026/05/25.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#128561 Add jit.instructions.md for JIT folder](#128561) 2. [#128551 Improve allocation of buffer when obtaining TCP/UDP connection/listeners](#128551) 3. [#128548 \[clrinterp\] Remove wrong assertion](#128548) @@ -15,7 +15,7 @@ - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年05月25日 14:59:29(UTC) - マージ日時: 2026年05月25日 19:33:47(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 CoreCLR JITフォルダ(`src/coreclr/jit/**`)向けのGitHub Copilot指示ファイルを追加し、JIT PRのレビューガイダンスをカスタマイズするもの。JIT改善のPRに対して不要なテスト追加の要求を削減することを目的としています。 @@ -41,7 +41,7 @@ CoreCLR JITフォルダ(`src/coreclr/jit/**`)向けのGitHub Copilot指示 - 作成者: [@mrek-msft](https://github.com/mrek-msft) - 作成日時: 2026年05月25日 09:17:45(UTC) - マージ日時: 2026年05月25日 13:49:14(UTC) -- ラベル: area-System.Net +- ラベル: area-System.Net #### 概要 BSD sysctl呼び出しでTCP/UDP接続情報を取得する際のバッファ割り当てロジックを改善しました。リトライ時に`estimatedSize`ではなく、倍にされた`tmpEstimatedSize`を使用することで、バッファサイズと実際に必要なサイズのミスマッチを防ぎます。 @@ -64,7 +64,7 @@ BSD sysctl呼び出しでTCP/UDP接続情報を取得する際のバッファ割 - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年05月25日 06:27:41(UTC) - マージ日時: 2026年05月25日 10:46:18(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 CoreCLRインタープリタコンパイラの非同期サスペンドデータ修正ロジックにおいて、非同期呼び出しの戻り値が後でグローバル変数に昇格される可能性を考慮し、不正なアサーションを削除しました。PR #128403で誤って追加されたアサーションを修正します。 @@ -87,7 +87,7 @@ CoreCLRインタープリタコンパイラの非同期サスペンドデータ - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年05月24日 10:17:02(UTC) - マージ日時: 2026年05月25日 08:12:53(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT Methodical テスト (`refany/lcs.il`) が無効なILを出力していた問題を修正します。テスト内で整数値(`ceq`の結果)とオブジェクト参照(`System.Type`)を誤って比較していたため、JIT内部で無効なIRが生成されていました。 @@ -110,7 +110,7 @@ JIT Methodical テスト (`refany/lcs.il`) が無効なILを出力していた - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年05月24日 00:27:25(UTC) - マージ日時: 2026年05月25日 09:28:03(UTC) -- ラベル: arch-wasm area-Infrastructure-mono +- ラベル: arch-wasm area-Infrastructure-mono #### 概要 WebAssembly (WASM) テスト環境で使用する Chrome for Testing のバージョンをアップデートしています。Linux環境では148.0.7778.178に、Windows環境では149.0.7827.22にバンプされています。 @@ -133,7 +133,7 @@ WebAssembly (WASM) テスト環境で使用する Chrome for Testing のバー - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年05月23日 19:20:17(UTC) - マージ日時: 2026年05月25日 20:33:54(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Compact Data Access Component)のメソッドテーブルユニットテストから、無効な状態を構築していたテストケースを削除し、有効なテストケースを修正するものです。グローバルシングルトンのContinuation EEClassがnullまたはゼロである状態で非メタデータContinuation MethodTableを検証しようとするテストは、矛盾した無効なMethodTableを構築するため、削除またはシングルtonEEClassを追加して修正されました。 @@ -154,7 +154,7 @@ cDAC(Compact Data Access Component)のメソッドテーブルユニット - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月23日 05:34:26(UTC) - マージ日時: 2026年05月25日 05:55:24(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Compact Data Access Component)の `Thread.GetContext` メソッドに Frame-walk フォールバック機能を復元しました。データターゲットが `GetThreadContext` を実装していない場合、スレッドの Frame チェーンをウォークしてスレッドコンテキストを導出します。これは以前削除されたネイティブ側の実装と同等の処理を cDAC に取り込むものです。 @@ -182,7 +182,7 @@ cDAC(Compact Data Access Component)の `Thread.GetContext` メソッドに F - 作成者: [@liveans](https://github.com/liveans) - 作成日時: 2026年05月18日 13:12:58(UTC) - マージ日時: 2026年05月25日 21:18:04(UTC) -- ラベル: area-System.Net.Security +- ラベル: area-System.Net.Security #### 概要 macOS SecureTransport PALにおいて、`SafeDeleteSslContext.SslSetConnection`で割り当てられた`GCHandle`がリークしていた問題を修正します。`GCHandle`の所有権を`SafeSslHandle`に移行し、ネイティブSSLContextが完全に解放される`ReleaseHandle()`内でのみ解放することで、ライフタイムを正しく管理します。 @@ -206,7 +206,7 @@ macOS SecureTransport PALにおいて、`SafeDeleteSslContext.SslSetConnection` - 作成者: [@jjonescz](https://github.com/jjonescz) - 作成日時: 2026年05月04日 17:59:54(UTC) - マージ日時: 2026年05月25日 22:06:10(UTC) -- ラベル: linkable-framework area-Tools-ILLink +- ラベル: linkable-framework area-Tools-ILLink #### 概要 ILLinkのRoslyn分析ツールから`RequiresUnsafeAnalyzer`と`UnsafeMethodMissingRequiresUnsafeAnalyzer`を削除し、対応するコードフィックスを整理しています。これはRoslynの新しい分析機能へ機能移行するための変更です。 @@ -235,7 +235,7 @@ ILLinkのRoslyn分析ツールから`RequiresUnsafeAnalyzer`と`UnsafeMethodMiss - 作成者: [@lateralusX](https://github.com/lateralusX) - 作成日時: 2026年05月04日 15:20:46(UTC) - マージ日時: 2026年05月25日 12:18:45(UTC) -- ラベル: area-System.Threading +- ラベル: area-System.Threading #### 概要 非同期プロファイラーテストのシングルスレッドランタイム(WASM等)への対応を実施しました。テストをマルチスレッド対応不要なテストと必須なテストに分割し、タスクIDとマーカーフレームのマッピングを使用した堅牢性向上、Native AOTの失敗修正、メタデータイベントからwrapper IPを削除(rundownイベントでの構築に変更)を行いました。結果として、CoreCLRとNativeAOTで全テスト実行可能、CoreCLR WASM シングルスレッド構成で48個中38個のテストが実行可能になりました。 diff --git a/archives/2026/05/26.md b/archives/2026/05/26.md index fe1cb62..9e988d2 100644 --- a/archives/2026/05/26.md +++ b/archives/2026/05/26.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#128587 JIT: fix overlap check in store coalescing](#128587) 2. [#128582 Move ReSizeNoThrow to header and remove used attr](#128582) 3. [#128573 JIT: Defer fgSetOptions until after 2nd-pass EH removal](#128573) @@ -29,7 +29,7 @@ - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年05月26日 15:06:50(UTC) - マージ日時: 2026年05月26日 20:18:55(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT コンパイラのストア合成(store coalescing)機能における重複チェック(overlap check)ロジックを修正しました。新しいストアが古いストアと完全に重複することを確保する条件を改善しています。 @@ -52,7 +52,7 @@ JIT コンパイラのストア合成(store coalescing)機能における重 - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年05月26日 13:34:01(UTC) - マージ日時: 2026年05月26日 20:58:29(UTC) -- ラベル: area-VM-coreclr community-contribution +- ラベル: area-VM-coreclr community-contribution #### 概要 `ReSizeNoThrow`関数をヘッダファイルにインライン化し、実装ファイルから削除するリファクタリング。内部実装の最適化を目的とした変更です。 @@ -74,7 +74,7 @@ JIT コンパイラのストア合成(store coalescing)機能における重 - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年05月26日 00:19:19(UTC) - マージ日時: 2026年05月26日 14:27:50(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイラのパイプライン順序を調整し、`fgSetOptions()`(fully-interruptible GCやフレームポインタ要件などのコード生成選択をコミットする)を、空のEH領域削除の第2パスが完了した後に実行するように変更しました。これにより、不要なEH領域が削除されてからコード生成オプションが最終決定されるようになります。 @@ -95,7 +95,7 @@ JITコンパイラのパイプライン順序を調整し、`fgSetOptions()`(f - 作成者: [@barosiak](https://github.com/barosiak) - 作成日時: 2026年05月25日 23:46:10(UTC) - マージ日時: 2026年05月26日 01:33:35(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(managed Debugger Access Component)の`IDacDbiInterface.IsExceptionObject`メソッドを実装します。対象プロセスのグローバル`ExceptionMethodTable`を読み取り、`IRuntimeTypeSystem`と`IObject`コントラクトを使用してオブジェクトのMethodTable階層を走査し、例外型かどうかを判定します。DEBUG構成では従来のDAC実装との検証も含まれます。 @@ -119,7 +119,7 @@ cDAC(managed Debugger Access Component)の`IDacDbiInterface.IsExceptionObjec - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年05月25日 21:28:17(UTC) - マージ日時: 2026年05月26日 13:17:49(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 ARM32プラットフォームにおいて、`GetFuncletStartAddress`がThumbビットを正しく処理していなかった問題を修正します。#128154以降、`GetStartAddress`はThumbビットを削除してタグ付けされていますが、`GetFuncletStartAddress`がこれに対応していなかったため、ARM32上のすべてのR2Rメソッドが不正にFuncletと判定されていました。 @@ -144,7 +144,7 @@ ARM32プラットフォームにおいて、`GetFuncletStartAddress`がThumbビ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月25日 16:33:49(UTC) - マージ日時: 2026年05月26日 16:15:57(UTC) -- ラベル: area-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 `Process.WaitForExit(int milliseconds)` のパラメータ検証が不足していた問題を修正しました。Windows では不正な値が `WaitHandle.WaitOne` に伝播して誤った `ParamName` の `ArgumentOutOfRangeException` が発生し、Unix では負の値(例:`-2`)が暗黙的に `WaitForExit(0)` として動作していました。`ArgumentOutOfRangeException.ThrowIfLessThan(milliseconds, Timeout.Infinite)` を追加することで、全プラットフォーム間で一貫した検証動作を実現します。 @@ -173,7 +173,7 @@ process.WaitForExit(0); // OK (poll) - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年05月25日 14:33:43(UTC) - マージ日時: 2026年05月26日 17:11:04(UTC) -- ラベル: area-CodeGen-coreclr runtime-async +- ラベル: area-CodeGen-coreclr runtime-async #### 概要 async メソッドの JIT コンパイル時に、複数の先行ブロックが同じ非同期呼び出しで終了して join する場合、サスペンション/レジューメ状態を tail merge(統合)する最適化を追加します。これにより、重複するサスペンションコードを削除し、コードサイズを削減します。 @@ -201,7 +201,7 @@ async メソッドの JIT コンパイル時に、複数の先行ブロックが - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年05月25日 09:20:52(UTC) - マージ日時: 2026年05月26日 11:46:00(UTC) -- ラベル: arch-wasm area-System.Runtime.InteropServices.JavaScript os-browser +- ラベル: arch-wasm area-System.Runtime.InteropServices.JavaScript os-browser #### 概要 WebAssembly browser-advanced サンプルを現在のランタイム/モジュール設定期待値と静的Webアセット処理に合わせるための修正です。サンプルがツリー内WebAssemblyビルド下で正しく実行できるようにするための変更です。 @@ -225,7 +225,7 @@ WebAssembly browser-advanced サンプルを現在のランタイム/モジュ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月24日 05:56:32(UTC) - マージ日時: 2026年05月26日 19:34:37(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Component Debugger Access Compliance)の一部として、`IDacDbiInterface::GetStackParameterSize` API のマネージド実装を追加するPRです。ExecutionManager コントラクトを通じて、コードブロックのスタックパラメータサイズを取得する機能を実装し、DEBUG時にはレガシーDAC検証も行います。 @@ -250,7 +250,7 @@ cDAC(Component Debugger Access Compliance)の一部として、`IDacDbiInter - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年05月24日 02:11:39(UTC) - マージ日時: 2026年05月26日 22:52:30(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイラのループクローニング機能を一般化し、ループ解析の適用範囲を拡大します。主な改善は: 1. ループ増分命令の検出をより柔軟に(テスト直前に限定しない) @@ -276,7 +276,7 @@ JITコンパイラのループクローニング機能を一般化し、ルー - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年05月23日 14:13:48(UTC) - マージ日時: 2026年05月26日 17:15:35(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT コンパイラのアサーション伝播(Assertion Propagation)ロジックを改善し、`O1K_LCLVAR` をローカルアサーション伝播専用に制限し、グローバルアサーション伝播では VN ベースのオペランド(`O1K_VN` など)を使用するようにしました。これにより `SpanHelpers.SequenceEqual` などの定数フォールディングが より積極的に適用され、一部のコードパターンでループアンローリングが改善されます。 @@ -299,7 +299,7 @@ JIT コンパイラのアサーション伝播(Assertion Propagation)ロジ - 作成者: [@tannergooding](https://github.com/tannergooding) - 作成日時: 2026年05月23日 14:03:40(UTC) - マージ日時: 2026年05月26日 14:26:21(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 VEX 2バイトエンコーディングにおける制約を活用して、可換命令のオペランドを動的に入れ替え、より小さいエンコーディングを優先的に生成する最適化を実装しました。VEX 2バイトエンコーディングでは`REX.R`はオンオフ可能ですが`REX.B`はオフである必要があるため、`op1`は拡張レジスタ`[XMM0, XMM15]`をエンコード可能ですが`op2`は`[XMM0, XMM7]`のみに制限されます。可換命令でこのシナリオに該当する場合、オペランドを入れ替えることで2バイトエンコーディングを実現します。 @@ -332,7 +332,7 @@ VEX 2バイトエンコーディングにおける制約を活用して、可換 - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年05月21日 05:31:17(UTC) - マージ日時: 2026年05月26日 18:50:38(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 CoreCLR インタープリタのデバッグ情報ハンドオフにおいて、IL-to-native オフセットマップが空の場合に null ポインタを `ICorJitInfo::setBoundaries` に渡すように修正しました。事前割り当てされたバッファを常に使用するのではなく、マップエントリが生成されない場合は null を渡すことで、ランタイムのアサーション `(iOffsetMapping == 0) == (pOffsetMapping == 0)` の失敗を解決します。 @@ -357,7 +357,7 @@ CoreCLR インタープリタのデバッグ情報ハンドオフにおいて、 - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年05月19日 18:44:25(UTC) - マージ日時: 2026年05月26日 21:21:07(UTC) -- ラベル: arch-wasm area-CodeGen-coreclr +- ラベル: arch-wasm area-CodeGen-coreclr #### 概要 WebAssembly RyuJIT コンパイラのアンワインド情報(unwind info)を拡張し、各funcletのVirtual IP(VIP)範囲を記録するようにしました。従来はフレームサイズのみを記録していましたが、各funcletの開始VIPと終了VIPを追跡し、ULEB128エンコーディングで `{ frameSize, startVirtualIP, (endVirtualIP - startVirtualIP) }` として出力します。 @@ -382,7 +382,7 @@ WebAssembly RyuJIT コンパイラのアンワインド情報(unwind info) - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月18日 14:31:40(UTC) - マージ日時: 2026年05月26日 15:46:20(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 `LimitArrayPoolWriteStream`の破棄契約を厳密化し、ユーザーコードがバッファリングストリームを破棄した場合に`InvalidOperationException`をスローするように変更。フレームワーク側のクリーンアップは新しい`internal`メソッド`ReturnAllPooledBuffers()`で一元管理し、`ArrayPool.Shared`への誤アクセスを防止する。 @@ -408,7 +408,7 @@ WebAssembly RyuJIT コンパイラのアンワインド情報(unwind info) - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年05月18日 11:32:35(UTC) - マージ日時: 2026年05月26日 09:09:46(UTC) -- ラベル: area-VM-coreclr runtime-async +- ラベル: area-VM-coreclr runtime-async #### 概要 ランタイムの非同期呼び出しthunks(タスク返却型)に対して、継続処理のキャッシング最適化を適用するPRです。#127973と同様の最適化をタスク返却パスに拡張し、スループットの改善とコードサイズの削減を実現します。サンプルコードはありません。 @@ -439,7 +439,7 @@ WebAssembly RyuJIT コンパイラのアンワインド情報(unwind info) - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月18日 07:03:37(UTC) - マージ日時: 2026年05月26日 06:56:04(UTC) -- ラベル: area-VM-coreclr runtime-async +- ラベル: area-VM-coreclr runtime-async #### 概要 非同期仮想呼び出しのテストカバレッジを拡張するPRです。`src/tests/async/override/override.cs`に対して、待機された仮想ディスパッチと汎用仮想非同期オーバーライドのテストケースを追加します。 @@ -463,7 +463,7 @@ WebAssembly RyuJIT コンパイラのアンワインド情報(unwind info) - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2026年05月10日 02:31:53(UTC) - マージ日時: 2026年05月26日 14:47:24(UTC) -- ラベル: Servicing-approved area-System.Security test-bug +- ラベル: Servicing-approved area-System.Security test-bug #### 概要 Android環境でのDSA関連の証明書/CRLテストの間欠的な失敗を修正するテスト専用の修正。手作業で実装されたASN.1エンコーディングをリプレースし、RFC 3279 DER形式のDSA署名と`AsnWriter` + `BigInteger`を使用して、正しいDER形式を確保します。 @@ -490,7 +490,7 @@ Android環境でのDSA関連の証明書/CRLテストの間欠的な失敗を修 - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年05月08日 22:49:36(UTC) - マージ日時: 2026年05月26日 15:58:17(UTC) -- ラベル: area-Meta +- ラベル: area-Meta #### 概要 Copilot CLI/VS Code/Claude Codeで正しく検出されるよう、`.github/agents/`配下の2つのカスタムエージェントファイルに`.agent.md`サフィックスを追加するファイル名変更です。Copilot CLIはエージェントディレクトリ内の`.agent.md`ファイルのみを自動検出するため、サフィックスが欠落していた2つのファイルは読み込まれていませんでした。この変更により、`@extensions-reviewer`と`@system-net-review`への`@`-mentions参照が正常に機能します。 @@ -516,7 +516,7 @@ Copilot CLI/VS Code/Claude Codeで正しく検出されるよう、`.github/agen - 作成者: [@dependabot[bot]](https://github.com/apps/dependabot) - 作成日時: 2026年03月25日 23:37:37(UTC) - マージ日時: 2026年05月26日 15:16:40(UTC) -- ラベル: arch-wasm area-codeflow javascript os-browser dependencies +- ラベル: arch-wasm area-codeflow javascript os-browser dependencies #### 概要 Mono WebAssemblyランタイムの依存パッケージ`picomatch`をセキュリティアップデートします。 picomatch 4.0.3 → 4.0.4およびpicomatch 2.3.1 → 2.3.2へのバージョン更新で、複数のセキュリティ脆弱性を修正します。 @@ -544,7 +544,7 @@ picomatch 4.0.3 → 4.0.4およびpicomatch 2.3.1 → 2.3.2へのバージョン - 作成者: [@dependabot[bot]](https://github.com/apps/dependabot) - 作成日時: 2026年03月21日 13:57:24(UTC) - マージ日時: 2026年05月26日 15:15:53(UTC) -- ラベル: arch-wasm area-System.Runtime.InteropServices.JavaScript javascript os-browser dependencies +- ラベル: arch-wasm area-System.Runtime.InteropServices.JavaScript javascript os-browser dependencies #### 概要 Mono WebAssembly ランタイムで使用されている `flatted` ライブラリを v3.3.3 から v3.4.2 にアップデートするDependabot PR。このアップデートには、セキュリティ脆弱性(CWE-1321)の修正と、Pythonの再帰問題の修正が含まれています。 @@ -567,7 +567,7 @@ Mono WebAssembly ランタイムで使用されている `flatted` ライブラ - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月20日 02:03:16(UTC) - マージ日時: 2026年05月26日 16:39:32(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/roslyn の依存関係を更新するPRです。Roslyn コンパイラおよび関連パッケージを v4.12.0-3.25569.8 から v4.12.0-3.26274.2 にアップデートします。このアップデートはrelease/dev17.12ブランチの最新ビルドに基づいています。 @@ -597,7 +597,7 @@ dotnet/roslyn の依存関係を更新するPRです。Roslyn コンパイラお - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月10日 21:23:08(UTC) - マージ日時: 2026年05月26日 16:30:34(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/runtime-assets リポジトリの依存パッケージを更新するPRです。テストデータおよびランタイム関連のアセットパッケージを、9.0.0-beta.26071.2 から 9.0.0-beta.26267.3 へアップグレードします。 @@ -637,7 +637,7 @@ dotnet/runtime-assets リポジトリの依存パッケージを更新するPR - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月03日 02:05:24(UTC) - マージ日時: 2026年05月26日 11:15:14(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/cecilライブラリの依存バージョンを更新するパッチです。release/9.0-stagingブランチを対象に、Cecil 0.11.5-alpha.26122.3から0.11.5-alpha.26274.2への自動更新を実施しています。 diff --git a/archives/2026/05/27.md b/archives/2026/05/27.md index ae1cb9e..0d4ded9 100644 --- a/archives/2026/05/27.md +++ b/archives/2026/05/27.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#128647 Add RuntimeConfiguration parameter to RunDumpTests.ps1](#128647) 2. [#128622 Extend timeout of libs legs in nativeaot-outerloop](#128622) 3. [#128607 JIT: remove some useless code in escape analysis](#128607) @@ -20,7 +20,7 @@ - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年05月27日 14:19:38(UTC) - マージ日時: 2026年05月27日 14:24:53(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 `RunDumpTests.ps1`スクリプトに`-RuntimeConfiguration`パラメータを追加し、Release以外のChecked/Debug ランタイムビルドのテストに対応しました。これにより、Checked ビルドで有効になる追加のアサーションを活用して、Release ビルドでは検出できないバグをキャッチできるようになります。 @@ -49,7 +49,7 @@ - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年05月27日 05:14:50(UTC) - マージ日時: 2026年05月27日 10:37:51(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT outerloopパイプラインのlibs legジョブのタイムアウト値を延長しています。製品ビルドとテストビルドが約3時間かかり、Helixキューが満杯の場合さらに2時間以上かかることがあるため、タイムアウトによる失敗を防ぐための変更です。 @@ -70,7 +70,7 @@ NativeAOT outerloopが頻繁に失敗する主な原因がタイムアウトで - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年05月26日 21:30:22(UTC) - マージ日時: 2026年05月27日 13:58:43(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT のエスケープ分析で使用されていない古いコピー検出ロジックを削除します。現在はコピー追跡を `CheckForGuardedAllocationOrCopy` で行っているため、`ObjectAllocator::AnalyzeParentStack` 内の非機能的な状態管理コードは不要になっています。 @@ -93,7 +93,7 @@ JIT内部の code cleanup であり、公開APIや言語機能への影響はあ - 作成者: [@janvorli](https://github.com/janvorli) - 作成日時: 2026年05月26日 20:10:26(UTC) - マージ日時: 2026年05月27日 17:44:41(UTC) -- ラベル: Servicing-approved area-GC-coreclr +- ラベル: Servicing-approved area-GC-coreclr #### 概要 Linux上のGCメモリ管理における`madvise()`呼び出しの不正な引数結合を修正するバックポート。`VirtualReset`が`MADV_FREE`と`MADV_DONTDUMP`をビット演算で結合していたため、無効な引数値がシステムコールに渡されていました。.NET 9で導入された最適化(#95643)による回帰を解決します。 @@ -121,7 +121,7 @@ Linux上のGCメモリ管理における`madvise()`呼び出しの不正な引 - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年05月26日 13:53:24(UTC) - マージ日時: 2026年05月27日 11:36:45(UTC) -- ラベル: area-System.Net.Sockets agentic-workflows +- ラベル: area-System.Net.Sockets agentic-workflows #### 概要 Android上で`SocketBlockingModeTransitionTests.ConnectAsync_WithBuffer_Succeeds`テストが一貫して失敗するため、`[ActiveIssue]`属性でAndroidプラットフォームをスキップする修正。バッファ付き`ConnectAsync`後にソケットが非ブロッキングモードになる問題が発生しており、原因調査予定の間はテストをスキップする対応。 @@ -146,7 +146,7 @@ Android上で`SocketBlockingModeTransitionTests.ConnectAsync_WithBuffer_Succeeds - 作成者: [@saitama951](https://github.com/saitama951) - 作成日時: 2026年05月26日 11:01:48(UTC) - マージ日時: 2026年05月27日 23:17:43(UTC) -- ラベル: area-PAL-coreclr community-contribution +- ラベル: area-PAL-coreclr community-contribution #### 概要 s390x(big-endian)プラットフォームにおいて、UTF-8↔UTF-16変換関数(`utf8_to_utf16`、`utf16_to_utf8`)が`MINIPAL_TREAT_AS_LITTLE_ENDIAN`フラグ設定時に誤った文字列を返す問題を修正しています。エンディアンの扱いに関する実装ロジックを改善することで、big-endianアーキテクチャでの正確な変換を実現します。 @@ -175,7 +175,7 @@ s390x(big-endian)プラットフォームにおいて、UTF-8↔UTF-16変換 - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年05月23日 22:00:14(UTC) - マージ日時: 2026年05月27日 06:12:00(UTC) -- ラベル: area-System.Threading.Tasks runtime-async +- ラベル: area-System.Threading.Tasks runtime-async #### 概要 このPRは、ランタイム非同期await ヘルパーの動作正確性と効率を改善し、複数の継続がタスクに登録されている場合のasync1との動作差異を解決します。`RuntimeAsyncTask`の代わりに`RuntimeAsyncTaskContinuation`(以前の`TaskContinuation`)を継続オブジェクトとして使用し、JITインライン化を有効化(テール await時)し、キャッシュされた継続により継続割り当てを削減します。 @@ -218,7 +218,7 @@ s390x(big-endian)プラットフォームにおいて、UTF-8↔UTF-16変換 - 作成者: [@ManickaP](https://github.com/ManickaP) - 作成日時: 2026年05月22日 16:51:01(UTC) - マージ日時: 2026年05月27日 08:45:11(UTC) -- ラベル: area-System.Net.Quic +- ラベル: area-System.Net.Quic #### 概要 `System.Net.Quic.QuicStream.WriteAsync`の動作を修正し、ストリームの書き込み側がCompleteWrites()で完了した後の書き込み試行時に`InvalidOperationException`をスローするように変更しました。これまでは成功した完了済みの`ValueTask`を返していた不正な動作を改善します。 @@ -242,7 +242,7 @@ s390x(big-endian)プラットフォームにおいて、UTF-8↔UTF-16変換 - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年05月22日 01:38:47(UTC) - マージ日時: 2026年05月27日 14:49:18(UTC) -- ラベル: area-Extensions-Hosting agentic-workflows +- ラベル: area-Extensions-Hosting agentic-workflows #### 概要 iOS シミュレータ (arm64) で Castle.DynamicProxy を使用した Moq ベースのテストが `System.IndexOutOfRangeException` で失敗するため、`HostTests` の7つのテストに `[ActiveIssue]` 属性を追加してスキップする変更です。既存の `IsReflectionEmitSupported` チェックの上に、プラットフォーム固有のスキップ処理を重ねています。 @@ -268,7 +268,7 @@ iOS シミュレータ (arm64) で Castle.DynamicProxy を使用した Moq ベ - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年05月21日 20:56:04(UTC) - マージ日時: 2026年05月27日 17:18:28(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT ループ反転最適化(`optTryInvertWhileLoop`)を改善し、既にボトムテスト(ループの継続条件がループ末尾で判定される構造)されているループでの反転をスキップするようにしました。これにより、冗長なプリヘッダテストと不要な制御フローの分岐を回避できます。 @@ -297,7 +297,7 @@ PR #116104がプロファイルデータからのループ反復推定を常に - 作成者: [@akoeplinger](https://github.com/akoeplinger) - 作成日時: 2026年05月21日 10:31:07(UTC) - マージ日時: 2026年05月27日 14:58:50(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 `Microsoft.CodeAnalysis.BannedApiAnalyzers`の依存関係管理をMaestro依存関係フロー(`eng/Version.Details.*`)から自動供給される方式に変更しました。従来のハードコード版指定から、依存関係フローを経由した動的バージョン管理に移行し、バージョン最新化を実現しています。 @@ -320,7 +320,7 @@ PR #116104がプロファイルデータからのループ反復推定を常に - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月19日 03:06:42(UTC) - マージ日時: 2026年05月27日 21:15:15(UTC) -- ラベル: area-Infrastructure-libraries +- ラベル: area-Infrastructure-libraries #### 概要 複数のライブラリテストプロジェクトでTrim/AOT アナライザーを有効化し、プロジェクトレベルの一括無効化を削除した上で、リフレクションと動的コード使用箇所に対してターゲット化された修正と注釈を適用する変更。アナライザーフレンドリーなAPIの使用(`Enum.GetValues()`、`DiagnosticMethodInfo`など)に置き換えることで、警告を最小化している。 @@ -355,7 +355,7 @@ PR #116104がプロファイルデータからのループ反復推定を常に - 作成者: [@jtschuster](https://github.com/jtschuster) - 作成日時: 2026年05月14日 23:02:12(UTC) - マージ日時: 2026年05月27日 03:06:57(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 crossgen2でメソッドコードノードのシンボル定義にThumb bit(ARMアーキテクチャの命令セット識別ビット)を含める変更を行います。これにより、ARM環境でのメソッドコードポインタの正確な表現が可能になります。 @@ -380,7 +380,7 @@ crossgen2でメソッドコードノードのシンボル定義にThumb bit(AR - 作成者: [@mdh1418](https://github.com/mdh1418) - 作成日時: 2026年05月12日 23:23:26(UTC) - マージ日時: 2026年05月27日 14:43:58(UTC) -- ラベル: area-Diagnostics-coreclr os-android os-ios +- ラベル: area-Diagnostics-coreclr os-android os-ios #### 概要 CoreCLRのインプロセスクラッシュレポート機能にコンパクトなテキスト形式の出力を追加します。既存のJSON形式のレポートファイル出力は保持しながら、モバイルプラットフォーム向けにシグナルセーフなコンパクト形式をサポートします。Android環境ではlogcatの`DOTNET_CRASH`タグで出力され、iOS環境では標準エラー出力経由で出力されます。 @@ -410,7 +410,7 @@ CoreCLRのインプロセスクラッシュレポート機能にコンパクト - 作成者: [@kevingosse](https://github.com/kevingosse) - 作成日時: 2026年05月08日 14:30:27(UTC) - マージ日時: 2026年05月27日 23:20:23(UTC) -- ラベル: area-Diagnostics-coreclr community-contribution +- ラベル: area-Diagnostics-coreclr community-contribution #### 概要 メタデータテーブルの再割り当て時に発生するポインタ無効化による競合状態を修正します。ExpandTables()がメタデータテーブルのバッキングバッファを再割り当てする際、GetMethodRecord/GetFieldRecord/GetMemberRefRecordが返すポインタが無効になる問題がありました。プロファイラのemit操作(DefineMemberRefなど)がLOCKWRITE下でExpandTablesをトリガーする際、use-after-free読み込みが発生し、MissingMethodExceptionやセグメンテーション違反が散発的に発生していました。 diff --git a/archives/2026/05/28.md b/archives/2026/05/28.md index 90551f7..8a19f56 100644 --- a/archives/2026/05/28.md +++ b/archives/2026/05/28.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#128726 \[cdac\] Cache negative lookups in ManagedTypeSource_1](#128726) 2. [#128712 JIT: Make async tail merging layout equality assert a check](#128712) 3. [#128662 JIT: Encapsulate VNFuncApp fields and clean up FuncIs/IsVNBinFunc usage](#128662) @@ -26,7 +26,7 @@ - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年05月28日 20:29:58(UTC) - マージ日時: 2026年05月28日 22:59:15(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 `ManagedTypeSource_1`における負のキャッシング機構の追加により、ホットパスの効率性を大幅に改善しました。従来は成功したルックアップのみをキャッシュしていたため、失敗したルックアップは毎回`System.Private.CoreLib`内のすべての`TypeDefinition`行を再スキャンしていました。本修正により、負のルックアップ結果をセンチネル値(`null`や`TypeHandle(TargetPointer.Null)`)としてキャッシュし、繰り返される失敗ルックアップの再スキャンを回避します。 @@ -61,7 +61,7 @@ SOS WebApp3ヒープダンプでの測定(Debug cDAC、インプロセス): - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年05月28日 17:13:56(UTC) - マージ日時: 2026年05月28日 21:11:25(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 非同期テール マージング時のレイアウト等価性チェックをアサーション(デバッグ用)から実際のチェック(本番対応)に変更します。Issue #128704で既存のコメントが不正確であることが判明したため、詳細な原因調査までの一時対応として実施されます。 @@ -84,7 +84,7 @@ SOS WebApp3ヒープダンプでの測定(Debug cDAC、インプロセス): - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年05月27日 19:57:54(UTC) - マージ日時: 2026年05月28日 14:08:30(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITのValue Numberingにおいて、`VNFuncApp`の内部フィールドをカプセル化し、危険な直接アクセス(特に`m_args`配列への`std::swap`)を排除しました。`GetArg(x)`メソッドでarityチェック付きアクセスを提供し、安全性を向上させています。またVNFunc比較や関数型チェックのコードをより標準的なヘルパー(`FuncIs`、`IsVNBinFunc`)に統一しました。 @@ -111,7 +111,7 @@ SPMIベンチマーク実行済み:差分なし(Zero SPMI diffs) - 作成者: [@steveisok](https://github.com/steveisok) - 作成日時: 2026年05月27日 17:00:04(UTC) - マージ日時: 2026年05月28日 11:14:06(UTC) -- ラベル: area-Meta +- ラベル: area-Meta #### 概要 dotnet/runtimeリポジトリの主要コンポーネントディレクトリ配下に軽量なREADME.mdファイルを追加し、AIエージェントやユーザーが容易にドキュメントを発見できるようにするための"breadcrumb"ドキュメント構造を導入します。各READMEは`docs/workflow/`配下の権威的なドキュメントへのリンク集となっています。 @@ -135,7 +135,7 @@ dotnet/runtimeリポジトリの主要コンポーネントディレクトリ配 - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年05月27日 16:41:47(UTC) - マージ日時: 2026年05月28日 13:30:02(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT コンパイラの `GenTree::Equals` メソッドにおいて、異なるディスパッチセルを持つ仮想スタブコールが同一と判定される問題を修正しました。この問題により、共有ジェネリック インターフェース ディスパッチの不正なヘッド/テール マージが発生していました。 @@ -158,7 +158,7 @@ JIT コンパイラの `GenTree::Equals` メソッドにおいて、異なるデ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月27日 13:57:27(UTC) - マージ日時: 2026年05月28日 19:07:23(UTC) -- ラベル: area-GC-coreclr +- ラベル: area-GC-coreclr #### 概要 2019年のAppDomain-per-process廃止以降、`g_HandleTableMap`は単一ノードで安定し、`CreateHandleStore`の呼び出し元がなくなったため、マルチバケット・マルチAppDomain対応の不要なスキャフォルディングコードを削除します。削除されたコードはアサーション付きのスタブに置き換えられ、リグレッション検出を強化します。 @@ -188,7 +188,7 @@ JIT コンパイラの `GenTree::Equals` メソッドにおいて、異なるデ - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年05月27日 13:50:51(UTC) - マージ日時: 2026年05月28日 19:04:29(UTC) -- ラベル: arch-wasm area-Diagnostics-coreclr os-browser +- ラベル: arch-wasm area-Diagnostics-coreclr os-browser #### 概要 WASMにおけるEventPipeベースの診断インフラストラクチャを改善するPRです。主な変更は以下の3点です: @@ -220,7 +220,7 @@ WASMにおけるEventPipeベースの診断インフラストラクチャを改 - 作成者: [@anicka-net](https://github.com/anicka-net) - 作成日時: 2026年05月27日 12:26:51(UTC) - マージ日時: 2026年05月28日 21:11:35(UTC) -- ラベル: area-Meta +- ラベル: area-Meta #### 概要 dotnet/runtime リポジトリの `area-Extensions` 関連領域のオーナーシップを @karelz から @anicka-net に移管するドキュメント更新です。8つの拡張機能領域のリードを変更し、組織的な責任を再配分します。 @@ -253,7 +253,7 @@ dotnet/runtime リポジトリの `area-Extensions` 関連領域のオーナー - 作成者: [@steveisok](https://github.com/steveisok) - 作成日時: 2026年05月27日 11:04:21(UTC) - マージ日時: 2026年05月28日 21:04:37(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 `createdump`ツールの`ElfReader::EnumerateLinkMapEntries`メソッドで、動的リンカーの`link_map`リストをたどる際にサイクル検出機能がなく、メモリ破損やプロセス改変によって`link_map`が循環構造になった場合に無限ループに陥る問題を修正します。Brentのサイクル検出アルゴリズムを実装し、チェックポイントポインタを指数間隔(2の累乗)で移動させることで、メモリ読み込み失敗時の元の動作(すべてのモジュール訪問まで続行)を保持しながらサイクルを検出します。 @@ -280,7 +280,7 @@ dotnet/runtime リポジトリの `area-Extensions` 関連領域のオーナー - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年05月27日 04:15:10(UTC) - マージ日時: 2026年05月28日 01:46:31(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT環境での`SafeProcessHandle`/`System.Diagnostics.Process`の使用時に、Win32 APIをOS ローダーによる直接インポート(hard import)として解決できるよう`WindowsAPIs.txt`を更新しました。これにより、`LoadLibrary`/`GetProcAddress`を用いた動的ロード機構が不要となり、バイナリサイズを1 MBから972 KBへ削減(約27 KB削減)します。 @@ -309,7 +309,7 @@ NativeAOT環境での`SafeProcessHandle`/`System.Diagnostics.Process`の使用 - 作成者: [@tannergooding](https://github.com/tannergooding) - 作成日時: 2026年05月27日 04:05:31(UTC) - マージ日時: 2026年05月28日 02:48:26(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT範囲分析(`RangeCheck::GetRangeFromAssertionsWorker`)を更新し、`lzcnt`/`tzcnt`/`popcount`命令に関連する追加のvalue-numbering関数ケースを認識するようにしました。また、推論される定数上限を固定値の`64`からビット幅に応じて`32`または`64`に厳密化しています。 @@ -331,7 +331,7 @@ JIT最適化の精度向上により、これらのビット操作命令を含 - 作成者: [@vitek-karas](https://github.com/vitek-karas) - 作成日時: 2026年05月26日 18:26:44(UTC) - マージ日時: 2026年05月28日 15:37:43(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 Known Build Error(KBE)トリアージガイダンスを共有ドキュメント化し、CI失敗スキャンワークフローとローカルPR対応ツーリング間で同じKBEマッチング・テンプレートルールを使用するようにしました。新規の`create-kbe`スキルを追加し、PR Build Analysis結果を分析してKBE案を生成し、GitHub Issueの作成前にユーザー確認を行うローカルツーリングを実現します。 @@ -356,7 +356,7 @@ Known Build Error(KBE)トリアージガイダンスを共有ドキュメン - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年05月25日 18:51:27(UTC) - マージ日時: 2026年05月28日 07:26:45(UTC) -- ラベル: arch-wasm area-Host os-browser +- ラベル: arch-wasm area-Host os-browser #### 概要 WebAssembly ブラウザ ビルドで `__stack_pointer` グローバル エクスポートがデッドコード削除(metadce)により削除される問題を修正します。`libCorerun.js` が動的に読み込まれた Webcil サブモジュールとスタック ポインタを共有するために必要です。 @@ -381,7 +381,7 @@ WebAssembly ブラウザ ビルドで `__stack_pointer` グローバル エク - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月25日 05:21:23(UTC) - マージ日時: 2026年05月28日 13:37:33(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 CoreCLR DAC/DBI インターフェースの例外スタックフレーム列挙機能を、コールバックベースの API として実装しました。`GetStackFramesFromException` から `EnumerateStackFramesFromException` へ移行し、管理コード側の cDAC (DataContractReader) 実装に新しい Exception contract API を追加しています。 @@ -417,7 +417,7 @@ IEnumerable GetExceptionStackFrames(TargetPointer excep - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年05月25日 01:13:57(UTC) - マージ日時: 2026年05月28日 07:12:40(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 `CORINFO_HELP_ASSIGN_BYREF`ヘルパー(GC ポインタを含む構造体コピー用のカスタム呼び出し規約を持つ書き込みバリア)を削除し、`CORINFO_HELP_ASSIGN_REF`または`CORINFO_HELP_CHECKED_ASSIGN_REF`、あるいはバルク書き込みバリア(`CORINFO_HELP_BULK_WRITEBARRIER`)に置き換えます。x64での遅い`rep movsq`命令の使用を回避し、SIMDの活用が可能になります。 @@ -462,7 +462,7 @@ class MyClass - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年05月25日 01:09:44(UTC) - マージ日時: 2026年05月28日 18:46:30(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITのエスケープ解析を拡張し、未使用のローカル変数に対するスタック割り当てをスキップする最適化を実装しました。追跡対象のローカル変数が実際に使用されているかどうかを判定する「used」ビットを追加し、エスケープせず使用もされないローカル変数はヒープ割り当てのままにして後続フェーズで削除可能にします。これにより、不要なスタック展開と死んだストア推論を回避できます。 @@ -485,7 +485,7 @@ JITのエスケープ解析を拡張し、未使用のローカル変数に対 - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年05月21日 10:22:10(UTC) - マージ日時: 2026年05月28日 10:59:24(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 `ci-failure-scan` agentic workflowの改善を行うPRです。既存のCI失敗スキャナーの発行ルールを厳密化して誤検知を削減し、新たに `ci-failure-scan-feedback` workflowを追加して、メンテナーからのフィードバックを収集し、KPIトラッキングとプロンプト編集提案を日次で行う仕組みを導入します。 @@ -513,7 +513,7 @@ JITのエスケープ解析を拡張し、未使用のローカル変数に対 - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年05月19日 03:58:53(UTC) - マージ日時: 2026年05月28日 02:18:30(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 Roslyn増分ソースジェネレータ(`DataGenerator`)を導入し、cDAC `IData` データクラスの生成を自動化するPRです。属性駆動型のアプローチにより、~150個の手書きクラスをポートしました。`[CdacType]`、`[Field]`、`[StaticAddress]` などの属性で、フィールド読み書きや型ハンドルアクセサを宣言的に定義できます。 @@ -558,7 +558,7 @@ internal sealed partial class Lock : IData - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年04月20日 18:34:56(UTC) - マージ日時: 2026年05月28日 17:34:50(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 `runtime-diagnostics` パイプライン(Azure DevOps定義ID 309)をBuild Analysis設定に追加するPRです。このパイプラインはSOS統合テスト、cDAC no-fallbackテスト、DACベースラインテスト、cDACダンプテストを実行します。現在これらのテスト結果はBuild Analysisで追跡されていないため、PR mergeをブロックできない状態が改善されます。 @@ -581,7 +581,7 @@ internal sealed partial class Lock : IData - 作成者: [@hez2010](https://github.com/hez2010) - 作成日時: 2026年04月15日 12:57:47(UTC) - マージ日時: 2026年05月28日 09:53:59(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 JIT のジェネリック仮想メソッド(GVM)デバーチャライゼーション機能を準備するための段階的リファクタリングです。`CORINFO_DEVIRTUALIZATION_INFO` 構造体の複数の ad-hoc フラグを単一の `instParamLookup` に統一し、GVM テストカバレッジを拡充します。これにより後続の GVM デバーチャライゼーション有効化作業が容易になります。 @@ -608,7 +608,7 @@ JIT のジェネリック仮想メソッド(GVM)デバーチャライゼー - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月27日 13:33:44(UTC) - マージ日時: 2026年05月28日 15:46:20(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/hotreload-utilsの依存関係を更新するPull Requestです。Microsoft.DotNet.HotReload.Utils.Generator.BuildToolが9.0.0-alpha.0.26152.4から9.0.0-alpha.0.26202.3にバージョンアップされています。 diff --git a/archives/2026/05/29.md b/archives/2026/05/29.md index 3e66978..96415b3 100644 --- a/archives/2026/05/29.md +++ b/archives/2026/05/29.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#128773 Fix typo in defined constant](#128773) 2. [#128753 \[ci-scan\] Fix feedback workflow safe outputs and redesign KPI tracker](#128753) 3. [#128739 Remove dotnet/corert#3873 workarounds](#128739) @@ -36,7 +36,7 @@ - 作成者: [@jbevain](https://github.com/jbevain) - 作成日時: 2026年05月29日 15:09:19(UTC) - マージ日時: 2026年05月29日 22:16:57(UTC) -- ラベル: area-System.Net.Sockets community-contribution +- ラベル: area-System.Net.Sockets community-contribution #### 概要 System.Net.Socketsライブラリ内で定義されている定数のタイポを修正するPull Requestです。複数のファイルにおいて、誤字がある定数名を正しい名称に統一しています。 @@ -62,7 +62,7 @@ System.Net.Socketsライブラリ内で定義されている定数のタイポ - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年05月29日 10:42:18(UTC) - マージ日時: 2026年05月29日 15:44:26(UTC) -- ラベル: area-Infrastructure-libraries +- ラベル: area-Infrastructure-libraries #### 概要 CI失敗スキャンフィードバックワークフローの3つの改善を実施しました。 @@ -96,7 +96,7 @@ CI失敗スキャンフィードバックワークフローの3つの改善を - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年05月29日 03:58:25(UTC) - マージ日時: 2026年05月29日 11:38:55(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 dotnet/corert#3873で導入されたワークアラウンドを削除し、コンパイル時の汎用メソッド検索を厳密化します。従来は遅延初期化で処理していた仮想テーブルスライスと汎用辞書レイアウトの生成を事前計算必須に変更し、スキャナの漏れを明示的にエラーで検出するようにします。 @@ -121,7 +121,7 @@ dotnet/corert#3873で導入されたワークアラウンドを削除し、コ - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年05月28日 22:22:35(UTC) - マージ日時: 2026年05月29日 16:51:01(UTC) -- ラベル: area-Build-mono +- ラベル: area-Build-mono #### 概要 WebAssembly(browser)ビルドのCMakeキャッシュ機能をWindowsでも有効化します。非Windows環境ですでに実装されていたtryrun.browser.cmakeキャッシュの使用をWindows環境にも適用し、configure処理の高速化を実現します。 @@ -144,7 +144,7 @@ configure処理の高速化(キャッシュされたtry-run結果の再利用 - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年05月28日 20:17:01(UTC) - マージ日時: 2026年05月29日 14:05:13(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 HashMap、PtrHashMap、EEHashTableの実装を簡素化・最適化するPRです。未使用の置換関数を削除し、仮想関数を使用するCompare関数を非仮想のComptrFunc関数に置き換えることで、メモリ効率と実行速度を向上させます。また、LookupValueの代わりにGetHashを適切に使用するよう変更しています。 @@ -174,7 +174,7 @@ HashMap、PtrHashMap、EEHashTableの実装を簡素化・最適化するPRで - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年05月28日 20:11:31(UTC) - マージ日時: 2026年05月29日 17:52:57(UTC) -- ラベル: Servicing-approved area-CodeGen-coreclr +- ラベル: Servicing-approved area-CodeGen-coreclr #### 概要 JITのテール マージ最適化におけるバグを修正します。仮想スタブ呼び出しを正しく区別せず、異なる型の共有ジェネリックメソッドを呼び出す複数のテール コール サイトで呼び出しを誤って統合し、間違ったメソッドが呼び出される問題を解決します。 @@ -204,7 +204,7 @@ if (tag == "string") return ((IFoo)this).Get(); - 作成者: [@jtschuster](https://github.com/jtschuster) - 作成日時: 2026年05月28日 19:10:02(UTC) - マージ日時: 2026年05月29日 16:24:38(UTC) -- ラベル: area-ReadyToRun +- ラベル: area-ReadyToRun #### 概要 IMAGE_REL_SYMBOL_SIZE解決パスでリロケーション加数(addend)とインライン値が無視されていた問題を修正しました。PE/COFF形式のシンボルサイズ計算で、呼び出し元の加数と既存のインライン値を組み合わせるようにしました。これにより、R2Rヘッダー内のRuntimeFunctions エントリが、不正に4バイトの末尾sentinelを含めずに正しいサイズを報告するようになります。 @@ -228,7 +228,7 @@ IMAGE_REL_SYMBOL_SIZE解決パスでリロケーション加数(addend)と - 作成者: [@adamperlin](https://github.com/adamperlin) - 作成日時: 2026年05月28日 18:01:49(UTC) - マージ日時: 2026年05月29日 23:00:55(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 Wasm RyuJIT の逆P-Invoke(RPI)ケースにおいて、宣言されたローカル変数のカウントに1つのずれが生じていた問題を修正します。スタックポインタ(SP)が RPI では明示的に宣言されたローカル変数に存在する一方、非RPI では入力引数として扱われることによる不一致を解決しています。 @@ -251,7 +251,7 @@ Wasm RyuJIT の逆P-Invoke(RPI)ケースにおいて、宣言されたロー - 作成者: [@jtschuster](https://github.com/jtschuster) - 作成日時: 2026年05月28日 17:43:20(UTC) - マージ日時: 2026年05月29日 16:24:08(UTC) -- ラベル: area-ReadyToRun +- ラベル: area-ReadyToRun #### 概要 Webcil/WebAssembly ReadyToRun (R2R) イメージが従来`Machine.I386`として扱われていたため、x86固有のデコーディングパスを再利用していた問題を解決します。WebAssembly専用の機械タイプセンチネル(`WasmMachine.Wasm32`)を導入し、ポインタサイズ、インポートセクション、トランジションブロック、GC情報、r2rdumpのアーキテクチャ処理をWebAssembly固有のコードパスにルーティングします。 @@ -278,7 +278,7 @@ Webcil/WebAssembly ReadyToRun (R2R) イメージが従来`Machine.I386`として - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年05月28日 17:09:25(UTC) - マージ日時: 2026年05月29日 04:40:36(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 Legacy DAC (Data Access Component) の列挙型インターフェース `IEnum.LegacyHandle` の型を `TargetPointer` から `nuint` に修正するPRです。Legacy DAC列挙ハンドルはホスト側の不透明なポインタであり、ネイティブDAC内で `CLRDATA_ENUM` 経由で `(ULONG_PTR)` として格納されるため、`nuint` が意味論的に正しくなります。これはプロジェクト内の既存慣例(DBI stack/heap/ref walkハンドルなど)に準拠しています。 @@ -305,7 +305,7 @@ Legacy DAC (Data Access Component) の列挙型インターフェース `IEnumarea-System.Threading +- ラベル: area-System.Threading #### 概要 32ビットプラットフォーム(arm32/x86)で `GThread01_threadstart` テストが `OutOfMemoryException` で失敗するのを防ぐため、スレッド数を50から5に削減する変更です。32ビットプロセスの限定的な仮想アドレス空間を考慮し、テストスキップではなく実行継続しながら安定動作させます。 @@ -334,7 +334,7 @@ public static int nThreads = PlatformDetection.Is32BitProcess ? 5 : 50; - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年05月28日 14:04:21(UTC) - マージ日時: 2026年05月29日 15:03:17(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイラの`LowerBlockStoreAsGcBulkCopyCall`関数において、GC含有ブロックストアをバルク書き込みバリアヘルパーに変換する際の冗長なnullcheck処理を削除します。先行フェーズで間接参照がfaultしないことが証明されている場合、元の`GT_STORE_BLK`の例外フラグに依存することで、不要な明示的nullcheckをスキップします。 @@ -355,7 +355,7 @@ JITコンパイラの`LowerBlockStoreAsGcBulkCopyCall`関数において、GC含 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月28日 12:29:01(UTC) - マージ日時: 2026年05月29日 10:56:43(UTC) -- ラベル: area-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 `Process.GetProcessById` と `SafeProcessHandle.Open` の非スロー型代替メソッドを追加します。これらの新しいAPI(`Process.TryGetProcessById` と `SafeProcessHandle.TryOpen`)はプロセスが存在しない場合に `false` を返し、存在する場合に `true` を返します。`UnauthorizedAccessException` などの権限エラーはスロー型と同じく例外として発生します。これにより、プロセスID取得時の競合状態を安全に処理できます。 @@ -389,7 +389,7 @@ Process.TryGetProcessById(int processId, out Process? process); - 作成者: [@rzikm](https://github.com/rzikm) - 作成日時: 2026年05月28日 11:05:29(UTC) - マージ日時: 2026年05月29日 06:46:32(UTC) -- ラベル: area-System.Net.Security +- ラベル: area-System.Net.Security #### 概要 マネージドNTLMクライアントの`CHALLENGE_MESSAGE`解析を強化し、不正形式または切詰められたチャレンジが範囲外スライス例外やサイレント誤解析を引き起こさないようにしました。宣言されたオフセット、長さ、およびAVペアサイズが提供されたblobに適合することを検証し、不正な入力に対しては`InvalidToken`を返すようにしました。 @@ -419,7 +419,7 @@ Process.TryGetProcessById(int processId, out Process? process); - 作成者: [@rzikm](https://github.com/rzikm) - 作成日時: 2026年05月28日 11:04:55(UTC) - マージ日時: 2026年05月29日 06:46:05(UTC) -- ラベル: area-System.Net.Security +- ラベル: area-System.Net.Security #### 概要 `NegotiateAuthentication.GetOutgoingBlob(string)` メソッドの base64 デコード処理を改善しました。従来は `Convert.FromBase64String` を使用して例外をスローしていましたが、`Convert.TryFromBase64String` に切り替えることで、不正な base64 入力を `InvalidToken` ステータスコードとして返すようにしました。HTTP サーバーなど、信頼できないクライアントトークンを処理する場合に try/catch を使用する必要がなくなります。 @@ -443,7 +443,7 @@ Process.TryGetProcessById(int processId, out Process? process); - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年05月28日 10:35:03(UTC) - マージ日時: 2026年05月29日 15:48:04(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 `CORINFO_HELP_ASSIGN_BYREF` ヘルパーと `JIT_ByRefWriteBarrier` / `RhpByRefAssignRef` 実装を削除する変更です。これは前回のPR [#128542](https://github.com/dotnet/runtime/pull/128542) のフォローアップで、JIT-EE インターフェースから不要になったByRef write barrier ヘルパーを完全に削除し、ReadyToRun(R2R)ヘルパーマッピングを更新し、JIT/EEバージョンGUIDをバンプします。 @@ -471,7 +471,7 @@ Process.TryGetProcessById(int processId, out Process? process); - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年05月28日 04:28:50(UTC) - マージ日時: 2026年05月29日 13:59:44(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Compact Data Access Component)のスタックウォーク機能をDacDbi向けに準備するため、スタックウォーキングイテレータをリファクタリングしました。ネイティブマーカーフレームをcDAC APIから公開し、レガシーのSOSDac互換性を保ちながらDacDbiスタックウォークで消費可能にします。フレームフィルタリングはコンシューマーレベルで実施されます。 @@ -497,7 +497,7 @@ cDAC(Compact Data Access Component)のスタックウォーク機能をDacDb - 作成者: [@tannergooding](https://github.com/tannergooding) - 作成日時: 2026年05月28日 03:22:20(UTC) - マージ日時: 2026年05月29日 15:17:35(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 ARM64プラットフォームにおいて、`popcnt`(ポップカウント)と`tzcnt`(末尾のゼロビット数)命令の処理を改善します。従来は`popcnt`がまったく処理されておらず、`tzcnt`が2つのIRノードとしてインポートされていたため、ヒューリスティクスやパターンマッチングに悪影響を及ぼしていました。この変更により、これら命令の処理を最適化し、コード生成の効率を向上させます。 @@ -523,7 +523,7 @@ ARM64プラットフォームにおいて、`popcnt`(ポップカウント) - 作成者: [@barosiak](https://github.com/barosiak) - 作成日時: 2026年05月27日 23:25:57(UTC) - マージ日時: 2026年05月29日 21:29:39(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(CoreDAC)における `AreOptimizationsDisabled` メソッドの実装を完了するPRです。従来のレガシー実装へのフォールバックを排除し、`IReJIT` コントラクトに `IsDeoptimized` を追加し、`ILCodeVersionNode` に `Deoptimized` フィールドを公開しています。 @@ -551,7 +551,7 @@ cDAC(CoreDAC)における `AreOptimizationsDisabled` メソッドの実装 - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年05月27日 23:07:20(UTC) - マージ日時: 2026年05月29日 21:57:35(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 SuperPMI(JIT性能測定・比較ツール)のCI パイプラインにWebAssembly(wasm)クロスターゲット JIT対応を追加します。wasm JIT(clrjit_universal_wasm_)のコレクション、リプレイ、アセンブリ差分解析機能を統合し、パイプライン・スクリプト・ビルドシステムを拡張して wasm をクロスターゲット altjit ケースとして処理します。 @@ -594,7 +594,7 @@ SuperPMI(JIT性能測定・比較ツール)のCI パイプラインにWebAss - 作成者: [@sbomer](https://github.com/sbomer) - 作成日時: 2026年05月27日 21:31:16(UTC) - マージ日時: 2026年05月29日 16:57:12(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOTが使用しないllvm-libunwindの公開API(`unw_*`関数など)をガード化し、Android NDK r29などのプラットフォームlibunwindとのシンボル重複を回避する変更です。NativeAOTは内部C++クラス(DwarfInstructions、CompactUnwinder、UnwindCursorなど)のみを使用するため、これらの公開APIをコンパイル時に除外し、新たに`UnwindHelpers::FindUnwindSections()`アクセッサを導入してアンワインドセクション検出を処理します。 @@ -619,7 +619,7 @@ NativeAOTが使用しないllvm-libunwindの公開API(`unw_*`関数など) - 作成者: [@simonrozsival](https://github.com/simonrozsival) - 作成日時: 2026年05月27日 08:53:21(UTC) - マージ日時: 2026年05月29日 08:34:06(UTC) -- ラベル: area-System.Security os-android +- ラベル: area-System.Security os-android #### 概要 AndroidプラットフォームにおけるX509Storeのメモリリーク問題を修正します。JNIローカル参照とプライベートキーエントリの破棄漏れを解決し、証明書列挙、ストアオープン失敗時のクリーンアップ、および証明書削除の各パスでリソースリークを防ぎます。 @@ -641,7 +641,7 @@ AndroidプラットフォームにおけるX509Storeのメモリリーク問題 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月23日 04:30:31(UTC) - マージ日時: 2026年05月29日 00:29:34(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 DAC/DBI型パラメータ取得APIを、割り当てられた`TypeParamsList`バッファを返すモデルから、コールバックベースの列挙方式へリファクタリングしました。`GetMethodDescParams`/`GetTypeHandleParams`を`EnumerateMethodDescParams`/`EnumerateTypeHandleParams`に置き換え、ネイティブ(DAC/DBI+RS)および管理cDAC側の対応インフラを整備しています。 @@ -669,7 +669,7 @@ DAC/DBI型パラメータ取得APIを、割り当てられた`TypeParamsList`バ - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年05月22日 19:17:58(UTC) - マージ日時: 2026年05月29日 16:27:32(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Common Data Access Component)領域のレビュー/自動化ガイダンスを明確化するため、フォルダ固有のインストラクション文書を追加します。繰り返されるレビューコメントを削減し、レビュー基準を統一することを目的としています。 @@ -695,7 +695,7 @@ cDAC(Common Data Access Component)領域のレビュー/自動化ガイダ - 作成者: [@janvorli](https://github.com/janvorli) - 作成日時: 2026年05月21日 15:28:06(UTC) - マージ日時: 2026年05月29日 06:33:08(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOTランタイムのGC設定処理を修正し、文字列型のGC設定値(例:`GCHeapAffinitizeRanges`)が正しく取得できるようにしました。従来は`GCToEEInterface::GetStringConfigValue`が常に`false`を返していたため、文字列設定の抽出ができず、CoreCLRとの動作差異が生じていました。本修正により、環境変数および組み込み設定ブロブから文字列設定値を読み込めるようになります。 @@ -719,7 +719,7 @@ NativeAOTランタイムのGC設定処理を修正し、文字列型のGC設定 - 作成者: [@vitek-karas](https://github.com/vitek-karas) - 作成日時: 2026年05月21日 10:12:15(UTC) - マージ日時: 2026年05月29日 15:11:10(UTC) -- ラベル: area-Infrastructure-mono +- ラベル: area-Infrastructure-mono #### 概要 Android arm32デバイス上でのテスト実行を再有効化するPR。新しいAndroidキューの作成により、arm32エミュレーション対応デバイスを個別に管理し、既存の大規模キューはarm64専用に変更。これにより#125440が解決される。 @@ -741,7 +741,7 @@ Android arm32デバイス上でのテスト実行を再有効化するPR。新 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月20日 21:08:31(UTC) - マージ日時: 2026年05月29日 16:57:50(UTC) -- ラベル: area-AssemblyLoader +- ラベル: area-AssemblyLoader #### 概要 モバイルプラットフォーム上でのアセンブリロード失敗テストの失敗を解決するPRです。`TpaLoadFailureTest`の2つのテストケースにモバイルプラットフォーム除外条件を追加します。モバイルではファイル削除とパッケージング/バンドリングの相互作用によってテストが失敗するため、デスクトップ/CoreCLRプラットフォームのみでのテスト実行に限定します。 @@ -767,7 +767,7 @@ Android arm32デバイス上でのテスト実行を再有効化するPR。新 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月18日 21:29:14(UTC) - マージ日時: 2026年05月29日 16:16:54(UTC) -- ラベル: area-GC-coreclr +- ラベル: area-GC-coreclr #### 概要 `area-GC-coreclr`の所有者を`@JulieLeeMSFT`から`@anicka-net`に変更し、GitHub policies設定も同期して、エリアタグ付けの動作を所有権更新に合わせたものです。 @@ -790,7 +790,7 @@ Android arm32デバイス上でのテスト実行を再有効化するPR。新 - 作成者: [@elinor-fung](https://github.com/elinor-fung) - 作成日時: 2026年05月15日 21:36:26(UTC) - マージ日時: 2026年05月29日 18:51:46(UTC) -- ラベル: area-Host +- ラベル: area-Host #### 概要 `runtime_config_t`から未使用のプライベートメンバ変数`m_prop_keys`と`m_prop_values`を削除し、ランタイム設定型の不要な状態を削減しました。 @@ -811,7 +811,7 @@ Android arm32デバイス上でのテスト実行を再有効化するPR。新 - 作成者: [@agocke](https://github.com/agocke) - 作成日時: 2026年05月12日 07:32:36(UTC) - マージ日時: 2026年05月29日 18:24:16(UTC) -- ラベル: area-Infrastructure-coreclr +- ラベル: area-Infrastructure-coreclr #### 概要 sccacheのキャッシング機能をarm64とFreeBSDのクロスコンパイルに対応させるPRです。キャッシュキーに`archType`と`osSubgroup`を含めることで、各バリアント(arm64、FreeBSD、musl)が個別のキャッシュエントリを取得できるようにしています。arm64とFreeBSDはx64マシン上でクロスコンパイルされるため、既存のx64 sccacheバイナリで対応可能です。 @@ -836,7 +836,7 @@ sccacheのキャッシング機能をarm64とFreeBSDのクロスコンパイル - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年05月07日 12:10:13(UTC) - マージ日時: 2026年05月29日 16:03:32(UTC) -- ラベル: area-Infrastructure community-contribution +- ラベル: area-Infrastructure community-contribution #### 概要 ブートストラップビルド機能をテストビルドで有効化するための変更。`--use-bootstrap`フラグをライブラリテストとランタイムテストで使用できるようにし、ローカルターゲットパック基盤を統一することで、クロスコンパイルテストの構築プロセスを改善します。 diff --git a/archives/2026/05/30.md b/archives/2026/05/30.md index ae7aa08..293f94f 100644 --- a/archives/2026/05/30.md +++ b/archives/2026/05/30.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#128791 JIT: remove dead BBJ_RETURN-in-loop assertion in loop cloner](#128791) 2. [#128785 Align thunk gen formating with dotnet-format](#128785) 3. [#128780 \[cDAC\] Implement IsDelegate for cDAC](#128780) @@ -14,7 +14,7 @@ - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年05月30日 01:15:13(UTC) - マージ日時: 2026年05月30日 14:40:02(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT のループクローナーから、ループ内に `BBJ_RETURN` ブロックが存在しないという古い仮定に基づいた assertion とコメントを削除します。EH-ループクローニングがデフォルトで有効になったことで、`BBJ_RETURN` ブロックがクローン可能なループに合法的に出現するようになったため、この制約は不要になりました。 @@ -37,7 +37,7 @@ JIT のループクローナーから、ループ内に `BBJ_RETURN` ブロッ - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年05月29日 21:50:52(UTC) - マージ日時: 2026年05月30日 13:14:20(UTC) -- ラベル: community-contribution area-crossgen2-coreclr +- ラベル: community-contribution area-crossgen2-coreclr #### 概要 thunkジェネレータが生成するコードのフォーマットをdotnet-formatに準拠させるための修正です。新しい命令追加時に自動生成されるコードが一貫性のあるフォーマットで出力されるようになります。 @@ -63,7 +63,7 @@ thunkジェネレータが生成するコードのフォーマットをdotnet-fo - 作成者: [@barosiak](https://github.com/barosiak) - 作成日時: 2026年05月29日 18:38:36(UTC) - マージ日時: 2026年05月30日 03:28:25(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Compact Debugger Access Component)にデリゲート型判定機能を実装します。型が`System.MulticastDelegate`を親MethodTableとして持つ場合、それをデリゲートと見なす新しい`IRuntimeTypeSystem.IsDelegate`契約APIを追加し、レガシーDAC実装からの移行を完了します。 @@ -90,7 +90,7 @@ cDAC(Compact Debugger Access Component)にデリゲート型判定機能を - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年05月29日 15:29:47(UTC) - マージ日時: 2026年05月30日 00:00:42(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC (Compact Diagnostics And Inspection Container) の `EcmaMetadata_1` において、読み取り専用メタデータアドレスをモジュールごとにキャッシュする最適化。これにより、毎回のPEヘッダウォークと不要なメタデータプリフェッチを削減し、ダンプ分析時のパフォーマンスを大幅に改善します。 @@ -126,7 +126,7 @@ cDAC (Compact Diagnostics And Inspection Container) の `EcmaMetadata_1` にお - 作成者: [@simonrozsival](https://github.com/simonrozsival) - 作成日時: 2026年05月29日 08:21:58(UTC) - マージ日時: 2026年05月30日 11:52:02(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 AndroidのSystem.Security.Cryptography.Native.Androidライブラリで、JNI例外処理が不適切により発生していたCheckJNI `SIGABRT`を修正。特に16384ビットRSA鍵などをConscrypt + BoringSSLプロバイダが拒否する場合に、JNI呼び出し間で保留中の例外をクリアせずに次の呼び出しを実行していた問題を解決。 @@ -156,7 +156,7 @@ AndroidのSystem.Security.Cryptography.Native.Androidライブラリで、JNI例 - 作成者: [@simonrozsival](https://github.com/simonrozsival) - 作成日時: 2026年05月28日 14:38:29(UTC) - マージ日時: 2026年05月30日 11:50:02(UTC) -- ラベル: area-System.Net +- ラベル: area-System.Net #### 概要 `SystemNative_GetHostEntryForName`がローカルホスト名の解決時に`getifaddrs`で取得したインターフェイスアドレスを追加する際、リクエストされたアドレスファミリでフィルタリングしていなかった問題を修正します。`getaddrinfo`は既に`hint.ai_family`でフィルタリングしていますが、ローカルインターフェイスの追加パスではこのフィルタが適用されておらず、IPv4のみのリクエストでもIPv6アドレスが含まれる可能性がありました。 @@ -179,7 +179,7 @@ AndroidのSystem.Security.Cryptography.Native.Androidライブラリで、JNI例 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月27日 00:48:19(UTC) - マージ日時: 2026年05月30日 02:56:27(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Contract Data Access Component)とレガシーDBI(Debugger Bridge Interface)の相互運用層を拡張し、関数ポインタ型を含む正確な型ハンドル解決をサポートする`GetExactTypeHandle` DacDbi APIを実装しました。ローダーアロケータのコレクティビリティメタデータの読み取りと、DAC互換の関数ポインタ型比較を実現します。 @@ -210,7 +210,7 @@ cDAC(Contract Data Access Component)とレガシーDBI(Debugger Bridge Int - 作成者: [@jtschuster](https://github.com/jtschuster) - 作成日時: 2026年05月26日 22:02:05(UTC) - マージ日時: 2026年05月30日 01:47:02(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 crossgen2のWebCIL(WebAssembly内に埋め込まれたIL)コンパイル機能に対する基本的なテストを追加します。ILCompiler.ReadyToRunテストハーネスを拡張して、`.dll`以外の出力形式(`.wasm`など)に対応し、WASM/ブラウザターゲット向けのWebCILペイロード生成と検証を行うxUnittestケースを実装しています。 @@ -235,7 +235,7 @@ crossgen2のWebCIL(WebAssembly内に埋め込まれたIL)コンパイル機 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月17日 02:32:29(UTC) - マージ日時: 2026年05月30日 00:17:14(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 DAC/DBI(デバッグアクセスコンポーネント/デバッグインターフェース)のモジュール照会APIをリファクタリングしました。`EnumerateModulesInAssembly`コールバックを廃止し、`GetModuleForAssembly`に「モジュールがロード済みか」を示すフラグを統合する変更です。cDAC(`Microsoft.Diagnostics.DataContractReader.Legacy`)に新APIを実装し、ダンプベースのテストも更新しました。 diff --git a/archives/2026/05/31.md b/archives/2026/05/31.md index 912fada..d2d3c8f 100644 --- a/archives/2026/05/31.md +++ b/archives/2026/05/31.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#128817 Fix minor typo/formatting in the memory model spec](#128817) 2. [#128684 Arm64: Don't use GT_LEA for masks](#128684) @@ -7,7 +7,7 @@ - 作成者: [@ForNeVeR](https://github.com/ForNeVeR) - 作成日時: 2026年05月31日 13:29:30(UTC) - マージ日時: 2026年05月31日 14:59:20(UTC) -- ラベル: area-System.Memory community-contribution +- ラベル: area-System.Memory community-contribution #### 概要 Memory Model仕様ドキュメントにおける軽微な表記ゆれを修正するドキュメント更新です。".Net" を ".NET" に統一し、公式ブランディングガイドラインへの準拠を改善します。 @@ -28,7 +28,7 @@ Memory Model仕様ドキュメントにおける軽微な表記ゆれを修正 - 作成者: [@a74nh](https://github.com/a74nh) - 作成日時: 2026年05月28日 08:55:40(UTC) - マージ日時: 2026年05月31日 07:52:06(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 ARM64 SVE における mask/SIMD ロード/ストア命令のアドレスモード生成を制限し、LEA ノードの使用を回避する変更です。従来のスケール可能な即値オフセット処理を削除し、lowering フェーズで address mode 生成を拒否することで、emitter の複雑性を軽減しています。 diff --git a/archives/2026/06/01.md b/archives/2026/06/01.md index 6e11195..999dcf3 100644 --- a/archives/2026/06/01.md +++ b/archives/2026/06/01.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#128858 \[release/8.0-staging\] Disable WASI CI](#128858) 2. [#128857 Fix SPMI wasm cross-target collection and revise must-expand assert](#128857) 3. [#128856 Stabilize finalization-sensitive tests by preventing helper inlining](#128856) @@ -40,7 +40,7 @@ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年06月01日 16:14:58(UTC) - マージ日時: 2026年06月01日 19:09:12(UTC) -- ラベル: Servicing-approved arch-wasm area-Infrastructure-mono os-wasi +- ラベル: Servicing-approved arch-wasm area-Infrastructure-mono os-wasi #### 概要 WASI CI環境におけるライブラリの互換性問題に対応するため、8.0-stagingブランチで WASI関連のCI テストをコメントアウトするバックポート。Ubuntu 26.04のイメージ更新により、wasi-sdk の`wasm-ld`が動的にリンクする`libxml2.so.2`が`libxml2.so.16`に名前変更されたことで、既にWASI CI ジョブが破損しているため、これらのテストを一時的に無効化します。 @@ -66,7 +66,7 @@ WASI CI環境におけるライブラリの互換性問題に対応するため - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年06月01日 15:37:14(UTC) - マージ日時: 2026年06月01日 21:02:52(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 SPMI (SuperPMI) のWebAssembly クロスターゲット収集時における問題を修正します。`getClassGClayout` で host のポインタサイズではなく target のポインタサイズを使用するよう修正し、importer で処理されていない must-expand intrinsic に対して NYI_WASM アサートを追加します。 @@ -88,7 +88,7 @@ SPMI (SuperPMI) のWebAssembly クロスターゲット収集時における問 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年06月01日 15:07:44(UTC) - マージ日時: 2026年06月01日 19:54:28(UTC) -- ラベル: area-System.Diagnostics.Process test-enhancement +- ラベル: area-System.Diagnostics.Process test-enhancement #### 概要 複数のファイナライゼーション関連テストがJITストレス環境下で`CreateAndRelease()`ヘルパーがインライン化されることで失敗する問題を解決します。`[MethodImpl(MethodImplOptions.NoInlining)]`属性を追加してインライン化を明示的に防止し、オブジェクトのライフタイム管理と最終化タイミングを安定させます。 @@ -110,7 +110,7 @@ SPMI (SuperPMI) のWebAssembly クロスターゲット収集時における問 - 作成者: [@filipnavara](https://github.com/filipnavara) - 作成日時: 2026年06月01日 14:57:20(UTC) - マージ日時: 2026年06月01日 20:29:37(UTC) -- ラベル: community-contribution area-NativeAOT-coreclr +- ラベル: community-contribution area-NativeAOT-coreclr #### 概要 Unix NativeAOT環境における`PalInterlockedExchange64`マクロの戻り値の型を修正しました。ローカル変数`result`を`int32_t`から`int64_t`に変更することで、64ビット値が32ビットに切り詰められる問題を解決します。このマクロはイベントトレーシングとYieldProcessorNormalizationで使用されています。 @@ -131,7 +131,7 @@ Unix NativeAOT環境での64ビット値の截断バグを修正する内部実 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年06月01日 14:36:27(UTC) - マージ日時: 2026年06月01日 20:04:21(UTC) -- ラベル: area-System.IO.Compression +- ラベル: area-System.IO.Compression #### 概要 `ZLibNative.cs`内の時代遅れのコメントブロックを削除するメンテナンスPRです。"Dev12"への言及と存在しない`releaseHandleFailed` MDAについての説明コメントを削除し、コードの鮮度を向上させます。 @@ -157,7 +157,7 @@ Unix NativeAOT環境での64ビット値の截断バグを修正する内部実 - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年06月01日 10:38:27(UTC) - マージ日時: 2026年06月01日 14:31:03(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 CI失敗スキャンワークフローに対して、KBE(Known Build Error)を発行する前に``マーカーの存在と正の値を検証する事前チェックゲートを追加します。これにより、マーカーが欠落している(またはN==0の)不完全なKBEが誤ってファイルされるのを防ぎます。 @@ -182,7 +182,7 @@ CI失敗スキャンワークフローに対して、KBE(Known Build Error) - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年06月01日 10:35:33(UTC) - マージ日時: 2026年06月01日 12:20:55(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 CI失敗スキャンのKPIトラッカー生成ロジック(Step 7)を簡略化し、過度に複雑な統計計算(Wilson信頼区間など)を削除して、運用者が必要とする基本的なカウント指標とCI障害シグナルに特化させました。スキャナー運用開始から30日未満という初期段階の実運用フィードバックに基づいた改善です。 @@ -212,7 +212,7 @@ GitHub Copilot CLIの支援を受けて作成されました。この変更は - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年06月01日 10:16:18(UTC) - マージ日時: 2026年06月01日 12:27:46(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 CI Failure Scanner ワークフロー プロンプト(`.github/workflows/ci-failure-scan.md`)を強化し、Known Build Error (KBE)の検出、安定性の判定基準、クローズ済みKBEに対するテスト無効化PRの回避をより厳密にします。ドキュメントのみの変更です。 @@ -240,7 +240,7 @@ CI Failure Scanner ワークフロー プロンプト(`.github/workflows/ci-fail - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年06月01日 10:03:05(UTC) - マージ日時: 2026年06月01日 10:24:40(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 CI失敗スキャナーの判定ロジック(Step 4.7)を拡張し、メンテナーが最近クローズした未マージの`[ci-scan]`テスト無効化PRを「無効化禁止」シグナルとして扱うようにしました。同じテストまたはKBEに対して30日以内にメンテナーがクローズしたPRがある場合、新しい証拠(メンテナーコメント等)がない限り、再ファイリングを防止します。 @@ -263,7 +263,7 @@ CI失敗スキャナーの判定ロジック(Step 4.7)を拡張し、メン - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年06月01日 09:55:00(UTC) - マージ日時: 2026年06月01日 13:01:46(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITのasync変換処理における尾部マージ/再利用チェック(`AsyncTransformation::IsReusableSuspension`)のTODOコメントを削除し、継続レイアウト等価チェックが必要な具体的な理由を説明するコメントに置き換えました。async/awaitのコード生成時に、異なる制御フローパスでローカル変数の生存期間が異なる場合でも、一部のパスのみでsave操作を実行する必要があるケースを記述しています。 @@ -285,7 +285,7 @@ JITのasync変換処理における尾部マージ/再利用チェック(`Asyn - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月31日 21:26:10(UTC) - マージ日時: 2026年06月01日 11:49:47(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 tvOS arm64などの動的コード生成非対応プラットフォームでのXSLT関連テスト失敗を解決するPR。`XslCompiledTransform`が動的コード支援を必要とするため、暗号化検証テストに到達する前に`NotSupportedException`が発生していた問題を、テストを条件付きで実行することで解決。 @@ -313,7 +313,7 @@ tvOS arm64などの動的コード生成非対応プラットフォームでのX - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年05月31日 14:44:34(UTC) - マージ日時: 2026年06月01日 22:49:20(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 WebAssembly向けCoreLibのSuperPMI収集機能を有効化するため、インフラストラクチャを更新したPR。wasm対応のcrossgen2コレクション環境を整備し、正しいホストJITビットとCoreLibディレクトリ構成をセットアップします。 @@ -336,7 +336,7 @@ WebAssembly向けCoreLibのSuperPMI収集機能を有効化するため、イン - 作成者: [@prozolic](https://github.com/prozolic) - 作成日時: 2026年05月31日 12:55:13(UTC) - マージ日時: 2026年06月01日 15:39:51(UTC) -- ラベル: area-System.Runtime community-contribution +- ラベル: area-System.Runtime community-contribution #### 概要 `ValueTuple` のメソッドでパターン変数キャプチャを使用し、冗長なボックス化を排除する変更です。`is IValueTupleInternal rest` パターンマッチングにより、参照型フィールドを含む `ValueTuple` がキャストされる際のボックス化を回避し、`GetHashCode`、`ToString`、`ITuple.Length`、ITuple インデクサーのヒープアロケーションを削減します。 @@ -367,7 +367,7 @@ int型のみのタプル(`GetHashCode_Int8`)では小幅改善(5%程度) - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年05月30日 17:13:23(UTC) - マージ日時: 2026年06月01日 11:28:54(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 x86 JIT(`JIT32_GCENCODER`)のスタック間struct copyにおけるGC安全性の脆弱性を修正します。スタックターゲットのstruct copyで`LowerCopyBlockStore`が無条件に`doCpObj = false`を設定していたため、GC対応でない単純な展開コピー(`genCodeForCpBlkUnroll`)を使用され、スクラッチレジスタの参照報告がないまま実行されていました。GC発生時にスクラッチレジスタが陳腐化し、それがローカル変数に格納されることで、GCが既に解放済みオブジェクトを指すbyrefと誤認識する問題が発生していました。 @@ -394,7 +394,7 @@ x86 JIT(`JIT32_GCENCODER`)のスタック間struct copyにおけるGC安全 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月30日 16:54:04(UTC) - マージ日時: 2026年06月01日 13:50:12(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Compact Diagnostics and Analytics Contracts)の管理型リソース解決機能を強化し、`ManagedTypeSource_1.TryResolveType`がシステムアセンブリ未初期化時(スタートアップ初期段階や部分的に初期化されたターゲットなど)に例外をスローするのを防ぎます。nullシステムアセンブリを「型解決不可」として扱い、`ArgumentNullException`の発生を回避します。 @@ -427,7 +427,7 @@ ModuleHandle moduleHandle = loader.GetModuleHandleFromAssemblyPtr(systemAssembly - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月29日 21:43:51(UTC) - マージ日時: 2026年06月01日 23:50:20(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 デリゲート検査用のDacDbi API(`GetDelegateFunctionData`と`GetDelegateTargetObject`)をマネージド cDAC層に実装します。ネイティブ層で`GetDelegateType`を削除し、両APIのシグネチャを簡略化した上での実装です。新しい`IObject.GetDelegateInfo`コントラクトメンバーと`Delegate`データ記述子を追加し、デリゲートの種類(クローズド/オープン/マルチキャスト/ラッパー)に応じた分岐ロジックを実装します。 @@ -454,7 +454,7 @@ ModuleHandle moduleHandle = loader.GetModuleHandleFromAssemblyPtr(systemAssembly - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月29日 16:16:14(UTC) - マージ日時: 2026年06月01日 13:52:35(UTC) -- ラベル: Servicing-approved arch-wasm test-enhancement area-Infrastructure-mono os-wasi +- ラベル: Servicing-approved arch-wasm test-enhancement area-Infrastructure-mono os-wasi #### 概要 Ubuntu 26.04での`libxml2.so`ライブラリ名変更により、WASI SDKの`wasm-ld`が破損し、9.0-stagingブランチのCI/CD パイプラインが失敗している問題に対応するパッチです。WASI CI ジョブを無効化してローリングビルドをアンブロックします。 @@ -484,7 +484,7 @@ Ubuntu 26.04での`libxml2.so`ライブラリ名変更により、WASI SDKの`wa - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年05月29日 12:51:45(UTC) - マージ日時: 2026年06月01日 09:38:43(UTC) -- ラベル: area-Infrastructure os-ios +- ラベル: area-Infrastructure os-ios #### 概要 iOS デバイス Helix キューのインフラストラクチャ問題([#123796](https://github.com/dotnet/runtime/issues/123796))により、`runtime.yml` パイプラインの iOS デバイステスト3本の脚を iOS シミュレータ(arm64)に切り替えるもの。テストカバレッジを継続しながら、デバイスキューへの依存を回避する一時的な対応です。 @@ -509,7 +509,7 @@ iOS デバイス Helix キューのインフラストラクチャ問題([#1237 - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年05月29日 12:12:15(UTC) - マージ日時: 2026年06月01日 14:10:02(UTC) -- ラベル: arch-wasm area-Host os-browser +- ラベル: arch-wasm area-Host os-browser #### 概要 WebAssembly (Wasm) ビルドテストの拡充と関連するランタイム実装の改善。アプリケーション環境設定、遅延アセンブリ読み込み、およびアプリ設定機能に関するテストケース追加と、WebAssemblyランタイムの資産管理・設定処理の改善を含みます。 @@ -537,7 +537,7 @@ WebAssembly (Wasm) ビルドテストの拡充と関連するランタイム実 - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年05月29日 11:54:17(UTC) - マージ日時: 2026年06月01日 09:39:00(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 CI障害スキャナーワークフローのプロンプトを改善し、以下の3点を強化しました: 1. Step 4.7で参照されたIssueのbodyと最新5コメントを読み込み、ルートコーズIssue上の「disable不可」シグナルを検出 @@ -565,7 +565,7 @@ CI障害スキャナーワークフローのプロンプトを改善し、以下 - 作成者: [@rzikm](https://github.com/rzikm) - 作成日時: 2026年05月29日 10:37:53(UTC) - マージ日時: 2026年06月01日 14:23:30(UTC) -- ラベル: area-System.IO.Compression +- ラベル: area-System.IO.Compression #### 概要 `Inflater`/`Deflater`の並行処理時のレース条件を修正するPR。`Dispose`がネイティブzlibの呼び出しと同期されていないため、あるスレッドで`Inflate`/`Deflate`実行中に別スレッドで`Dispose`が呼ばれると、`z_stream`がメモリ解放されてuse-after-freeクラッシュが発生する問題を修正。`DangerousAddRef`/`DangerousRelease`を用いてネイティブ呼び出しをブラケット化し、全てのインフライト呼び出しが完了するまで`ReleaseHandle`の実行を遅延させる。 @@ -586,7 +586,7 @@ CI障害スキャナーワークフローのプロンプトを改善し、以下 - 作成者: [@rzikm](https://github.com/rzikm) - 作成日時: 2026年05月29日 09:51:25(UTC) - マージ日時: 2026年06月01日 08:05:47(UTC) -- ラベル: area-System.Formats.Tar +- ラベル: area-System.Formats.Tar #### 概要 GNU sparse tar エントリの抽出時に、ディスク領域の無駄な事前割り当てを回避し、スパースファイル対応の抽出を実装しました。GNU sparse エントリは実サイズを報告しますが、アーカイブには圧縮されたペイロードのみを格納しているため、従来の実装では数KBのアーカイブから数GBのディスク領域を無駄に予約していました。本変更により、実装された領域のみを書き込み、ファイルシステムがサポートしている場合はホール(穴)を保持します。 @@ -617,7 +617,7 @@ GNU sparse tar エントリの抽出時に、ディスク領域の無駄な事 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月29日 04:02:37(UTC) - マージ日時: 2026年06月01日 15:01:09(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 macOS/MacCatalystで長年使用されていたclang 7.0.2のバグ対応として書かれた`-fstack-protector`のハードコード部分を削除し、`-fstack-protector-strong`を無条件に有効化します。現代的なclangおよびgccコンパイラは全て`-fstack-protector-strong`をサポートしているため、AppleターゲットをUnixホストの他のターゲットと揃えます。 @@ -638,7 +638,7 @@ macOS/MacCatalystで長年使用されていたclang 7.0.2のバグ対応とし - 作成者: [@tannergooding](https://github.com/tannergooding) - 作成日時: 2026年05月28日 19:45:19(UTC) - マージ日時: 2026年06月01日 13:58:26(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 CoreCLR JIT のレンジ推論ロジックを改善し、複数の intrinsic 操作がValue Numbering、Assertion Propagation、Range Check Elimination 全体で一貫したレンジ情報を提供するようにしました。PR #128677 での最適化の後退を防ぎ、非負値やレンジ情報を正しく追跡します。 @@ -662,7 +662,7 @@ CoreCLR JIT のレンジ推論ロジックを改善し、複数の intrinsic 操 - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年05月28日 08:09:31(UTC) - マージ日時: 2026年06月01日 11:28:42(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT コンパイラの `LowerBlockStore` の init-block(メモリゼロ初期化)処理を統一し、ターゲット固有の重複コードを削除しました。共有実装 `LowerInitBlockStore` を導入し、x86 の `BlkOpKindRepInstr`(rep stos/movs命令)を廃止して、他のターゲットと同じく展開またはメモリセット呼び出しに統一しています。WebAssembly は独立した実装のため除外されています。 @@ -693,7 +693,7 @@ x86 にて性能への影響あり(`BlkOpKindRepInstr` 廃止により)。 - 作成者: [@tommcdon](https://github.com/tommcdon) - 作成日時: 2026年05月27日 20:42:56(UTC) - マージ日時: 2026年06月01日 20:30:22(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 Edit-and-Continue (EnC) リマップ時に、非同期メソッドの継続引数がローカルフレーム領域で破棄される問題を修正します。専用のIL番号(ASYNC_CONTINUATION_ILNUM = -4)を割り当てることで、継続引数がNativeVarInfoに出現し、全プラットフォームで保持されるようにしました。この変更に伴い、MAX_ILNUMが-4から-5に変更され、NativeVarInfo エンコーディングのバイアスが調整されました。R2R メジャーバージョンはアップグレードされています。 @@ -718,7 +718,7 @@ Edit-and-Continue (EnC) リマップ時に、非同期メソッドの継続引 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月21日 23:46:10(UTC) - マージ日時: 2026年06月01日 20:57:15(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDACベースのDacDbi実装にGCヒープウォーキング機能を追加するプルリクエストです。ネイティブDACの実装をリファクタリングし、ヒープ破損時にセグメント内を単純にストライドするのではなく、次の有効なセグメントに進むように改善しています。cDAC側には線形キャッシュを備えたヒープウォーキングアルゴリズムを実装し、ネイティブ実装とのパリティを実現しています。 @@ -748,7 +748,7 @@ cDACベースのDacDbi実装にGCヒープウォーキング機能を追加す - 作成者: [@mdh1418](https://github.com/mdh1418) - 作成日時: 2026年05月16日 05:44:09(UTC) - マージ日時: 2026年06月01日 17:04:48(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 クラッシュレポート生成が無限に hang するのを防ぐため、in-proc crash reporter にウォッチドッグ機構を追加しました。ウォッチドッグは設定可能なタイムアウト(デフォルト 30 秒)でレポート生成を監視し、タイムアウト時には SIGABRT で プロセスを強制終了します。パイプベースの通知チャネルとデタッチされたウォッチドッグスレッドを使用し、POSIX 互換性と async-signal-safe な実装を確保しています。 @@ -775,7 +775,7 @@ cDACベースのDacDbi実装にGCヒープウォーキング機能を追加す - 作成者: [@rzikm](https://github.com/rzikm) - 作成日時: 2026年05月15日 08:00:46(UTC) - マージ日時: 2026年06月01日 19:55:18(UTC) -- ラベル: area-System.Net.Security tenet-performance +- ラベル: area-System.Net.Security tenet-performance #### 概要 Linux上のOpenSSL `SslStream`メモリBIO実装を、呼び出し元が供給したマネージバッファウィンドウで動作するカスタム`BIO_METHOD`に置き換えることで、TLSレコードのメモリコピーを削減します。すべてのSSL操作(ハンドシェイク、暗号化、復号化)を単一のP/Invokeにラップし、ウィンドウのセットアップ、SSL呼び出し実行、テアダウンを1つのネイティブフレーム内で行います。これにより、BIOステージングのmemcpy削減と、`SSL_read`がユーザーの`Memory`に直接平文を書き込めるようになります。 @@ -801,7 +801,7 @@ Linux上のOpenSSL `SslStream`メモリBIO実装を、呼び出し元が供給 - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年05月15日 02:02:30(UTC) - マージ日時: 2026年06月01日 00:54:03(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/icu リポジトリから ICU(International Components for Unicode)関連の依存パッケージを更新するPull Requestです。Microsoft.NETCore.Runtime.ICU.Transport パッケージを 10.0.0-rtm.26202.1 から 10.0.0-rtm.26264.1 にアップデートしています。 @@ -825,7 +825,7 @@ dotnet/icu リポジトリから ICU(International Components for Unicode) - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月14日 15:31:42(UTC) - マージ日時: 2026年06月01日 19:53:04(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 CI triage agentic workflowとCI pipeline monitor skillに、日次/週次で実行される3つのcrossgen2パイプライン(definition ID: 134, 136, 141)を追加するもの。これらのパイプラインは最近の失敗ビルドがあるにもかかわらず、ci-failure-scan workflowでトリアージされていませんでした。既存の定義IDリソース(109–160)の範囲内にあるため、JIT/GC/PGO stressスキルによるトリアージが自動的に適用されます。 @@ -848,7 +848,7 @@ CI triage agentic workflowとCI pipeline monitor skillに、日次/週次で実 - 作成者: [@BoyBaykiller](https://github.com/BoyBaykiller) - 作成日時: 2026年05月12日 19:27:54(UTC) - マージ日時: 2026年06月01日 23:33:12(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 JITコンパイラの`fgOptimizeRelationalComparison`最適化を拡張し、EQ/NE(等値比較)演算子に対しても型キャスト除去最適化を適用するようにしました。これまでは順序比較演算子(LT, LE, GE, GT)のみが対象でした。 @@ -873,7 +873,7 @@ JITコンパイラの`fgOptimizeRelationalComparison`最適化を拡張し、EQ/ - 作成者: [@dotnet-bot](https://github.com/dotnet-bot) - 作成日時: 2026年04月27日 16:46:27(UTC) - マージ日時: 2026年06月01日 07:53:48(UTC) -- ラベル: area-System.Text.Json +- ラベル: area-System.Text.Json #### 概要 OneLocBuild自動化タスクによるローカライズファイルのチェックインです。`System.Runtime.InteropServices`と`System.Text.Json`ライブラリの生成コード用リソース(.xlfファイル)が、ダウンストリームのローカライズパイプラインから返却された翻訳ソースに基づいて更新されています。 @@ -898,7 +898,7 @@ OneLocBuild自動化タスクによるローカライズファイルのチェッ - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年04月06日 05:04:42(UTC) - マージ日時: 2026年06月01日 10:52:20(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/xharnessの依存パッケージを更新するPull Requestです。Microsoft.DotNet.XHarness.CLI、Microsoft.DotNet.XHarness.TestRunners.Common、Microsoft.DotNet.XHarness.TestRunners.Xunitを11.0.0-prerelease.26173.1から11.0.0-prerelease.26279.1にアップデートしています。 @@ -924,7 +924,7 @@ dotnet/xharnessの依存パッケージを更新するPull Requestです。Micro - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年04月03日 02:02:53(UTC) - マージ日時: 2026年06月01日 14:51:18(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/runtime-assets リポジトリから依存関係を自動更新するPull Requestです。複数のテストデータおよびランタイム関連のアセットパッケージが 8.0.0-beta.26153.1 から 8.0.0-beta.26267.2 にバージョンアップされています。 diff --git a/archives/2026/06/02.md b/archives/2026/06/02.md index 8153257..6ddebd5 100644 --- a/archives/2026/06/02.md +++ b/archives/2026/06/02.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#128920 Restore E_NOTIMPL fallback in DacDbiInterfaceImpl::GetContext \(#128499\)](#128920) 2. [#128904 Wasm spmi use checked jit](#128904) 3. [#128883 Revert "Guard unused llvm-libunwind symbols to avoid duplicates on Android"](#128883) @@ -47,7 +47,7 @@ - 作成者: [@tommcdon](https://github.com/tommcdon) - 作成日時: 2026年06月02日 21:28:35(UTC) - マージ日時: 2026年06月02日 21:52:28(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 マネージドデバッグのスタックウォークをサポートするため、`DacDbiInterfaceImpl::GetContext`に`E_NOTIMPL`フォールバックを復元しました。プラットフォームで`ICorDebugDataTarget::GetThreadContext`が`E_NOTIMPL`を返す場合、スレッドの`Frame`チェーンを走査して`REGDISPLAY`からレジスタコンテキストを再構築することで、非Windows環境での管理されたデバッグを有効にします。 @@ -72,7 +72,7 @@ - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年06月02日 16:39:20(UTC) - マージ日時: 2026年06月02日 23:20:34(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 SuperPMI収集パイプラインを調整し、browser/wasm corelib crossgen2の収集で**Checked wasm cross-targeting JIT**を使用するようにしました。これにより、収集中にJITアサーションが有効になります。 @@ -96,7 +96,7 @@ SuperPMI収集パイプラインを調整し、browser/wasm corelib crossgen2の - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年06月02日 07:31:49(UTC) - マージ日時: 2026年06月02日 09:47:52(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 PR #128667で追加されたAndroid上でのllvm-libunwindの未使用シンボルをガード処理をリバートします。このリバートにより、以前のシンボルガード機能が削除されます。 @@ -123,7 +123,7 @@ PR #128667で追加されたAndroid上でのllvm-libunwindの未使用シンボ - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年06月01日 23:00:15(UTC) - マージ日時: 2026年06月02日 14:34:37(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT ループクローニングに収益性判定ロジックを追加しました。サイクル削減効果とコード重複コストの比率に基づいて、ループクローニング候補を受け入れるかどうかを決定します。新しい設定値 `JitCloneLoopsMinPerCallRatio`(デフォルト値:4)でこのヒューリスティックの厳密さを制御できます。 @@ -151,7 +151,7 @@ JIT ループクローニングに収益性判定ロジックを追加しまし - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年06月01日 21:54:05(UTC) - マージ日時: 2026年06月02日 01:52:10(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 Collectible Assembly Load Context (ALC)のティアダウン中に、VSD(Virtual Stub Dispatch)のDispatchCacheバケットエントリが`Insert`/`PromoteChainEntry`と同時にアンリンクされ、キャッシュの単一ライター仮定に違反することで、自己参照チェーンサイクルが発生してVSD解決がハングするバグを修正します。本変更はアンリンクパスのライター側シリアライゼーションを復元します。 @@ -174,7 +174,7 @@ Collectible Assembly Load Context (ALC)のティアダウン中に、VSD(Virtual - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年06月01日 15:05:44(UTC) - マージ日時: 2026年06月02日 00:01:15(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 AVX-512 FMA intrinsics with embedded-rounding において、non-immediate operand時のジャンプテーブルフォールバック処理がレジスタエイリアシングによるアサーション失敗を引き起こしていた問題を修正。手動で命令を生成していたパスを既存の`genFmaIntrinsic`ヘルパー関数経由に統一し、適切なオペランドスワッピングと形式選択(132/213/231)を確保することで、ライブソースレジスタの破壊を防止します。 @@ -198,7 +198,7 @@ AVX-512 FMA intrinsics with embedded-rounding において、non-immediate opera - 作成者: [@akoeplinger](https://github.com/akoeplinger) - 作成日時: 2026年06月01日 14:56:19(UTC) - マージ日時: 2026年06月02日 11:00:44(UTC) -- ラベル: Servicing-approved area-Infrastructure +- ラベル: Servicing-approved area-Infrastructure #### 概要 macOS 14 Arm64 Open ビルドキューをmacOS 15 Arm64 Open キューに置き換えます。iOS/Catalyst シミュレーターターゲットが現在macOS 15キューで統一して対応可能になったための変更です。 @@ -220,7 +220,7 @@ Helix ビルドキューの統一化により、インフラストラクチャ - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年06月01日 13:53:00(UTC) - マージ日時: 2026年06月02日 17:19:38(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Compact Diagnostic Access Component)のキャッシュ管理を改善するため、`Flush()` メソッドを `Flush(FlushScope)` オーバーロードに置き換え、`FlushScope` 列挙型を導入しました。`FlushScope.All` は全キャッシュをクリア(従来動作)、`FlushScope.TargetState` はターゲット状態キャッシュのみをクリアします。これにより、不変メタデータ(CoreLib の型情報など)をストレステスト中に保持でき、基本割り当てストレステストで 2 倍のパフォーマンス向上を実現しています。 @@ -257,7 +257,7 @@ BasicAlloc cDAC ストレステストで顕著な改善を実現: - 作成者: [@leculver](https://github.com/leculver) - 作成日時: 2026年06月01日 12:44:39(UTC) - マージ日時: 2026年06月02日 00:28:46(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDac(CoreCLR Data Access Component)の2つのバグを修正します: @@ -289,7 +289,7 @@ cDac(CoreCLR Data Access Component)の2つのバグを修正します: - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年06月01日 10:16:26(UTC) - マージ日時: 2026年06月02日 08:10:44(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 CI Outer-Loop Failure ScannerのプロンプトLet me update to reduce unwanted test-disable PRsと重複するKnown Build Error (KBE)の自動ファイリングを削減します。以下の2つの改善を実施: 1. メンテナーが問題調査や修正予定を示している場合、test-disable PRの自動作成を抑止 @@ -315,7 +315,7 @@ CI Outer-Loop Failure ScannerのプロンプトLet me update to reduce unwanted - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年06月01日 01:46:53(UTC) - マージ日時: 2026年06月02日 05:03:03(UTC) -- ラベル: area-PAL-coreclr +- ラベル: area-PAL-coreclr #### 概要 AndroidのネイティブビルドにおけるLinux定義の一貫性を改善するPRです。マネージド層では既に`TargetsLinux`がAndroidに適用されていましたが、ネイティブC/C++コンパイル定義では一貫性がありませんでした。このPRでは、AndroidビルドにおいてTARGET_LINUXを定義し、`TARGET_LINUX || TARGET_ANDROID`の重複チェックを簡潔化する一方、Linux固有の機能(NUMA syscalls等)はAndroidから明示的に除外し、既存の動作を保持します。 @@ -359,7 +359,7 @@ AndroidのネイティブビルドにおけるLinux定義の一貫性を改善 - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年05月29日 16:56:57(UTC) - マージ日時: 2026年06月02日 21:01:22(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 x64 JITのwrite barrier(書き込みバリア)ヘルパー関数において、浮動小数点レジスタ、SIMDレジスタ、マスクレジスタをキルセットから除外し、これらのレジスタが`CORINFO_HELP_ASSIGN_REF`および`CORINFO_HELP_CHECKED_ASSIGN_REF`呼び出しをまたいで生存可能にするパフォーマンス最適化です。ドキュメント化されたヘルパーABIに一致させ、不要なレジスタスピルを削減します。 @@ -382,7 +382,7 @@ x64 JITのwrite barrier(書き込みバリア)ヘルパー関数において - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月29日 14:05:23(UTC) - マージ日時: 2026年06月02日 23:35:03(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 32ビットターゲットで`CoercedConstantValue`が`TYP_LONG`値を切り詰める問題を修正します。`IsVNIntegralConstant`関数が定数を`int64_t`として読み込むことで、`FitsIn`チェック前に完全な64ビット値を保持し、任意の`TYP_LONG`定数が誤ってより小さい整数型に適合すると報告されるのを防ぎます。 @@ -411,7 +411,7 @@ JITのValue Number最適化における定数値の型チェック精度の改 - 作成者: [@rzikm](https://github.com/rzikm) - 作成日時: 2026年05月29日 10:28:35(UTC) - マージ日時: 2026年06月02日 00:15:23(UTC) -- ラベル: area-System.Formats.Tar +- ラベル: area-System.Formats.Tar #### 概要 `System.IO.Compression`(ZipArchive)と`System.Formats.Tar`に存在していた重複した`SubReadStream`実装を、`src/libraries/Common`配下の共有クラスに統合します。Tarの`SeekableSubReadStream`サブクラスは廃止し、seekability判定を`superStream.CanSeek`でインライン処理するよう変更します。 @@ -444,7 +444,7 @@ JITのValue Number最適化における定数値の型チェック精度の改 - 作成者: [@adamperlin](https://github.com/adamperlin) - 作成日時: 2026年05月29日 01:42:59(UTC) - マージ日時: 2026年06月02日 22:24:00(UTC) -- ラベル: arch-wasm area-crossgen2-coreclr +- ラベル: arch-wasm area-crossgen2-coreclr #### 概要 WasmObjectWriterにfunclet抽出機能を追加し、コンパイル済みメソッドに付属するfuncletを個別のWasm関数として処理できるようにしました。新しい`INodeWithFunclets`インターフェースを導入し、ReadyToRunおよびNativeAOTの双方でEHInfoとFrameInfoフィールドに汎用的にアクセス可能にしています。funcletはオブジェクトファイル内に連続的にレイアウトされ、Wasmテーブルに連続して追加されるため、funclet iのインデックスはメソッドMのテーブルインデックス + iで算出できます。 @@ -472,7 +472,7 @@ WasmObjectWriterにfunclet抽出機能を追加し、コンパイル済みメソ - 作成者: [@dhartglassMSFT](https://github.com/dhartglassMSFT) - 作成日時: 2026年05月28日 22:57:59(UTC) - マージ日時: 2026年06月02日 06:28:40(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 ARM64でのプロファイラーフック(PROF_HOOK)周辺での不要なスピリング(レジスタ退避)を削除する修正です。 @@ -499,7 +499,7 @@ ARM64ではq8-q15の下位64ビット(d8-d15)のみがカリー保存レジ - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年05月28日 18:46:13(UTC) - マージ日時: 2026年06月02日 17:27:45(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cdac(共通診断アドレスコンバーター)ジェネレータの構造をリファクタリングするフォローアップPR。`LayoutPair`を汎用的な`LayoutSet`に一般化し、複数のレイアウトソースに対応できるように拡張。同時に実装ガイド文書`IData.md`をツリー内に移動。 @@ -523,7 +523,7 @@ Copilotレビューで指摘:`LayoutSet.Resolve`の実装とドキュメント - 作成者: [@tannergooding](https://github.com/tannergooding) - 作成日時: 2026年05月28日 03:48:37(UTC) - マージ日時: 2026年06月02日 12:24:53(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 `NI_PRIMITIVE_Log2` プリミティブ・インストリンシックの JIT インポーターを修正し、符号付き/符号なし入力の判定を正確に行うようにしました。これまでは非正確な型チェックにより符号なし入力に対してコードが実行されていませんでしたが、正確な型 (`JitType2PreciseVarType`) を使用することで、符号なし引数の展開を有効化し、符号付き引数に対しても条件付き例外スロー パスを追加します。 @@ -551,7 +551,7 @@ Log2 の展開は `LeadingZeroCount(value | 1)` を用いて `0 -> 0` の契約 - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年05月27日 23:23:03(UTC) - マージ日時: 2026年06月02日 16:37:35(UTC) -- ラベル: Servicing-approved area-VM-coreclr +- ラベル: Servicing-approved area-VM-coreclr #### 概要 メタデータテーブルの読み取り操作中にロックが適切に取得されていない問題を修正します。プロファイラーのemit操作などによってテーブルが拡張される際に、ロック外での並行読み取りが無効なポインタを参照し、segfaultまたはMissingMethodExceptionが発生していました。本修正により、LOCKREADIFFAILRET属性を追加して、必要な読み取り操作をロック保護下で実行するようにします。 @@ -576,7 +576,7 @@ Log2 の展開は `LeadingZeroCount(value | 1)` を用いて `0 -> 0` の契約 - 作成者: [@ViveliDuCh](https://github.com/ViveliDuCh) - 作成日時: 2026年05月27日 17:32:25(UTC) - マージ日時: 2026年06月02日 19:33:09(UTC) -- ラベル: area-System.ComponentModel.DataAnnotations +- ラベル: area-System.ComponentModel.DataAnnotations #### 概要 `System.ComponentModel.DataAnnotations`に非同期検証機能を追加するPR。新しい`AsyncValidationAttribute`抽象基底クラス、`IAsyncValidatableObject`インターフェース、および8つの非同期`Validator`メソッド(`TryValidateObjectAsync`、`ValidatePropertyAsync`など)を実装し、データベースアクセスやAPI呼び出しを伴う検証シナリオに対応します。 @@ -608,7 +608,7 @@ API仕様上の決定により: - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年05月27日 15:10:54(UTC) - マージ日時: 2026年06月02日 09:23:54(UTC) -- ラベル: area-Infrastructure community-contribution +- ラベル: area-Infrastructure community-contribution #### 概要 Pre-commit hookのフォーマット処理における2つの問題を修正しました。Native formatがファイルが見つからないエラーを発生させ、Managed formatが静かに失敗して実際のフォーマットを実行していない問題に対応しています。 @@ -630,7 +630,7 @@ Pre-commit hookのフォーマット処理における2つの問題を修正し - 作成者: [@barosiak](https://github.com/barosiak) - 作成日時: 2026年05月27日 00:25:24(UTC) - マージ日時: 2026年06月02日 17:38:18(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 DAC/DBI インターフェースから `GetObjectContents` メソッドを削除するリファクタリング。ネイティブ実装は `divalue.cpp` での呼び出しを直接的な `VmPtrToCookie` キャストに置き換えることで冗長化した機能を廃止します。 @@ -654,7 +654,7 @@ Copilot のレビューコメント概要には cDAC オブジェクトコント - 作成者: [@VSadov](https://github.com/VSadov) - 作成日時: 2026年05月26日 20:44:28(UTC) - マージ日時: 2026年06月02日 15:28:29(UTC) -- ラベル: area-System.Threading +- ラベル: area-System.Threading #### 概要 スレッドプール管理のセマフォ実装を統一し、Windows/Unix間の動作差異を解消するパッチの再適用です。前回(#125193)の変更は NuGet restore ベンチマーク回帰により revert されましたが、本PRではその根本原因(`WaitOnAddress` のスピン時間と優先度ブーストによる Cold スレッドの早期起動、さらには不要な作業キュースキャン)に対する緩和策を導入しています。 @@ -700,7 +700,7 @@ Copilot のレビューコメント概要には cDAC オブジェクトコント - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月26日 17:27:47(UTC) - マージ日時: 2026年06月02日 05:39:16(UTC) -- ラベル: area-System.Runtime +- ラベル: area-System.Runtime #### 概要 C#コンパイラが`closed`型宣言に付与する`IsClosedTypeAttribute`属性を公開する変更です。ユーザーが直接記述することを意図していないため、`[EditorBrowsable(Never)]`でマークされています。 @@ -739,7 +739,7 @@ namespace System.Runtime.CompilerServices - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月25日 11:51:16(UTC) - マージ日時: 2026年06月02日 12:56:51(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT共有ライブラリが複数の実行可能エントリポイントを集約し、プラットフォーム別(Windows/Linux/macOS)の小型シムを生成する機能を追加します。`IncludeInAggregateExecutable` は`EnablePreviewFeatures=true`でのみ有効になります。 @@ -774,7 +774,7 @@ NativeAOT共有ライブラリが複数の実行可能エントリポイント - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年05月23日 04:24:15(UTC) - マージ日時: 2026年06月02日 14:44:14(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/dotnetのVMR(Virtual MonoRepo)から自動的にソースコードを同期するcodeflow更新です。主にビルドツールチェーンと開発時依存関係の更新が含まれています。このPRは機械的な定期同期であり、runtime固有の機能変更は含まれていません。 @@ -805,7 +805,7 @@ dotnet/dotnetのVMR(Virtual MonoRepo)から自動的にソースコードを - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年05月23日 01:31:00(UTC) - マージ日時: 2026年06月02日 19:16:21(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 インライン化後に実行される新しいJITフェーズを追加します。各基本ブロック内の最初のno-return呼び出し(戻らない呼び出し)の後にある不到達ステートメントと制御フローエッジを削除し、ブロックを`BBJ_THROW`に変換します。これにより、resolve-GDVsフェーズおよび後続のフェーズで、より効果的なクリーンアップが可能になります。 @@ -830,7 +830,7 @@ dotnet/dotnetのVMR(Virtual MonoRepo)から自動的にソースコードを - 作成者: [@AaronRobinsonMSFT](https://github.com/AaronRobinsonMSFT) - 作成日時: 2026年05月22日 23:34:02(UTC) - マージ日時: 2026年06月02日 23:57:15(UTC) -- ラベル: area-System.Runtime.InteropServices +- ラベル: area-System.Runtime.InteropServices #### 概要 Objective-C相互運用性において、`ObjectiveCMarshal.GetOrCreateReferenceTrackingMemory(object)`という新しい公開APIを追加しました。このAPIは、`GCHandle`を作成することなくオブジェクトのタグ付きメモリスパンを返すもので、`CreateReferenceTrackingHandle`よりも効率的です。 @@ -857,7 +857,7 @@ Objective-C相互運用性において、`ObjectiveCMarshal.GetOrCreateReference - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年05月21日 02:02:14(UTC) - マージ日時: 2026年06月02日 11:49:50(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 dotnet/icu と dotnet/runtime-assets の依存関係を自動更新するPull Requestです。 - runtime-assets: 11.0.0-beta.26261.1 → 11.0.0-beta.26276.1 @@ -884,7 +884,7 @@ dotnet/icu と dotnet/runtime-assets の依存関係を自動更新するPull Re - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年05月20日 14:51:31(UTC) - マージ日時: 2026年06月02日 09:25:45(UTC) -- ラベル: os-ios area-CodeGen-Interpreter-coreclr +- ラベル: os-ios area-CodeGen-Interpreter-coreclr #### 概要 Apple モバイル CoreCLR テスト機能の改善を目的とした、stale なテスト除外・スキップ設定の削除。`runtime-extra-platforms` ビルド 1429699 の結果に基づき、iOS/tvOS/macCatalyst シミュレーターで実行可能になったテストプロジェクト・テストケースの除外条件を削除し、テストカバレッジを拡大する。また、深い再帰呼び出しを行う `DataContractSerializer` テストを、明示的に 16MB の大きなスタックを持つワーカースレッド上で実行するよう調整。 @@ -919,7 +919,7 @@ Apple モバイル CoreCLR テスト機能の改善を目的とした、stale - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月19日 19:01:56(UTC) - マージ日時: 2026年06月02日 23:50:53(UTC) -- ラベル: area-Host +- ラベル: area-Host #### 概要 `.runtimeconfig.dev.json` で指定された `configProperties` が `.runtimeconfig.json` の同じプロパティ値で上書きされる問題を修正しました。今後は、dev設定が本設定より優先されるようになります。これにより、開発環境での設定上書きが機能するようになります。 @@ -941,7 +941,7 @@ Apple モバイル CoreCLR テスト機能の改善を目的とした、stale - 作成者: [@alinpahontu2912](https://github.com/alinpahontu2912) - 作成日時: 2026年05月19日 12:51:04(UTC) - マージ日時: 2026年06月02日 15:14:06(UTC) -- ラベル: area-System.IO +- ラベル: area-System.IO #### 概要 .NET 11で導入された`MemoryStream`の破壊的変更を戻すPRです。最大容量を超えた場合に`ArgumentOutOfRangeException`ではなく`OutOfMemoryException`を発生させるようにします。これにより、容量超過時の例外型が配列割り当て失敗時の標準的な例外と統一されます。 @@ -964,7 +964,7 @@ Apple モバイル CoreCLR テスト機能の改善を目的とした、stale - 作成者: [@dependabot[bot]](https://github.com/apps/dependabot) - 作成日時: 2026年05月18日 23:28:41(UTC) - マージ日時: 2026年06月02日 15:38:04(UTC) -- ラベル: arch-wasm area-System.Net javascript os-browser dependencies +- ラベル: arch-wasm area-System.Net javascript os-browser dependencies #### 概要 System.Net.WebSockets.Client テストスイートの依存パッケージ `ws` を 8.17.1 から 8.20.1 にアップデートします。このアップデートに含まれるセキュリティ修正により、`websocket.close()` メソッドで TypedArray を reason 引数として渡した場合の未初期化メモリ開示の問題が解決されます。 @@ -992,7 +992,7 @@ System.Net.WebSockets.Client テストスイートの依存パッケージ `ws` - 作成者: [@dependabot[bot]](https://github.com/apps/dependabot) - 作成日時: 2026年05月18日 22:25:38(UTC) - マージ日時: 2026年06月02日 15:39:53(UTC) -- ラベル: arch-wasm area-System.Net javascript os-browser dependencies +- ラベル: arch-wasm area-System.Net javascript os-browser dependencies #### 概要 System.Net.Http機能テスト用のNode.jsパッケージ依存関係wsを8.17.1から8.20.1にアップデートします。このアップデートにはセキュリティ修正が含まれています。 @@ -1019,7 +1019,7 @@ System.Net.Http機能テスト用のNode.jsパッケージ依存関係wsを8.17. - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年05月18日 05:03:22(UTC) - マージ日時: 2026年06月02日 11:32:25(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/xharnessの依存関係を更新するPull Requestです。XHarness関連の3つのNuGetパッケージをプレリリース版11.0.0-prerelease.26230.4から11.0.0-prerelease.26279.1にアップデートしています。 @@ -1045,7 +1045,7 @@ dotnet/xharnessの依存関係を更新するPull Requestです。XHarness関連 - 作成者: [@SwapnilGaikwad](https://github.com/SwapnilGaikwad) - 作成日時: 2026年05月13日 15:01:24(UTC) - マージ日時: 2026年06月02日 16:02:47(UTC) -- ラベル: area-VM-coreclr community-contribution +- ラベル: area-VM-coreclr community-contribution #### 概要 ARM64プロセッサ上のPointer Authentication Code (PAC-RET) セキュリティ機能に対するVM・CoreCLRのサポート実装。PACはリターンアドレスの改ざん検出によるセキュリティ強化メカニズムで、スタックウォーク、例外処理、スレッド一時停止などの実行時の重要な領域でPACシグネチャ検証と処理に対応する。デフォルトは無効化されており、別のPR #125436で完全な実装が進行中。 @@ -1072,7 +1072,7 @@ ARM64プロセッサ上のPointer Authentication Code (PAC-RET) セキュリテ - 作成者: [@dotnet-renovate-bot](https://github.com/dotnet-renovate-bot) - 作成日時: 2026年05月11日 08:11:07(UTC) - マージ日時: 2026年06月02日 08:46:02(UTC) -- ラベル: area-Infrastructure community-contribution +- ラベル: area-Infrastructure community-contribution #### 概要 dotnet/runtimeリポジトリで使用されるコンテナイメージ(`mcr.microsoft.com/dotnet-buildtools/prereqs`)のダイジェストを自動更新するPRです。42個のコンテナイメージダイジェストが新しいバージョンに更新されています。これは依存関係自動更新ボット(.NET Renovate Bot)により自動生成されました。 @@ -1098,7 +1098,7 @@ dotnet/runtimeリポジトリで使用されるコンテナイメージ(`mcr.m - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年04月20日 05:01:17(UTC) - マージ日時: 2026年06月02日 11:22:20(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 dotnet/xharnessの依存関係を更新するプルリクエストです。Microsoft.DotNet.XHarness.CLI、Microsoft.DotNet.XHarness.TestRunners.Common、Microsoft.DotNet.XHarness.TestRunners.Xunitを11.0.0-prerelease.26204.1から11.0.0-prerelease.26279.1にアップデートします。 @@ -1121,7 +1121,7 @@ dotnet/xharnessの依存関係を更新するプルリクエストです。Micro - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年04月17日 12:17:06(UTC) - マージ日時: 2026年06月02日 17:02:17(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT条件付き脱出分析(CEA)におけるGDV保護下のenumerator割り当てクローン化時の誤컴파일を修正します。`CheckForGuardedAllocationOrCopy`が仮想呼び出しなど認識されないソースからのストアを記録していなかったため、複数のdef を持つenumerator localでも不正なクローン化が行われていました。修正により、未追跡ソースからのストアをappearanceとして記録し、複数のdefが存在する場合はクローン化を回避します。 @@ -1144,7 +1144,7 @@ JIT条件付き脱出分析(CEA)におけるGDV保護下のenumerator割り - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月10日 21:40:07(UTC) - マージ日時: 2026年06月02日 22:20:30(UTC) -- ラベル: area-Serialization +- ラベル: area-Serialization #### 概要 `XmlSerializer`が空の`XmlElement`メンバーを逆シリアル化する際に、後続の兄弟要素を誤って消費してしまうバグを修正しました。``のような自己閉じタグの後の要素が、次のメンバーではなく`XmlElement`のコンテンツとして読み込まれていました。 @@ -1181,7 +1181,7 @@ var obj = serializer.Deserialize(new StringReader( - 作成者: [@StephenMolloy](https://github.com/StephenMolloy) - 作成日時: 2026年04月08日 06:12:29(UTC) - マージ日時: 2026年06月02日 22:18:36(UTC) -- ラベル: area-Serialization +- ラベル: area-Serialization #### 概要 XSD スキーマからコード生成する際に、コレクション項目のNullability情報をスキーマ定義から正確に抽出・キャッシュし、コード生成時に活用することで、より正確なNullability処理を実現するもの。スキーマインポート時に `ContractCodeDomInfo.CollectionItemIsNullable` にNullability情報を格納し、コード生成パイプラインで従来のヒューリスティクスの代わりにこれを参照する。 @@ -1208,7 +1208,7 @@ XSD スキーマからコード生成する際に、コレクション項目のN - 作成者: [@imcarolwang](https://github.com/imcarolwang) - 作成日時: 2025年08月11日 09:14:46(UTC) - マージ日時: 2026年06月02日 19:34:17(UTC) -- ラベル: area-Serialization +- ラベル: area-Serialization #### 概要 XML解析時に不完全なプリフィックス要素(例:`area-System.Security +- ラベル: area-System.Security #### 概要 Linux bionic arm環境での64ビット`time_t`要件チェックを条件付きコンパイルから除外する変更です。#128826の変更により`TARGET_ANDROID`が定義されるようになったため、Android NDK API 24(32ビット`time_t`のみ対応)でのビルドエラーが発生していました。linux-bionicはOpenSSL暗号ライブラリを自身でビルドしないため、当該チェックと32ビット`time_t`プローブはこのプラットフォームで不要です。`TARGET_ANDROID`をガード条件から除外することで、このビルドエラーを解決します。 @@ -59,7 +59,7 @@ Linux bionic arm環境での64ビット`time_t`要件チェックを条件付き - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年06月03日 01:38:16(UTC) - マージ日時: 2026年06月03日 15:10:47(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITの条件ブロック最適化(`optOptimizeBoolsCondBlock`)において、符号なし整数型の入力に対する不適切な最適化を防止するための修正です。`(x == 0) || (x relop 0)` 形式の条件ブロック対の折り畳み最適化時に、符号なし入力がある場合は最適化をスキップするようにしました。 @@ -82,7 +82,7 @@ JIT内部実装(ランタイムコンパイラ)の修正であり、公開AP - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年06月03日 00:26:24(UTC) - マージ日時: 2026年06月03日 07:09:27(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 WebAssemblyにおけるJIT コンパイルの機能を有効化するための設定変更です。`JitWasmFunclets`のデフォルト値を0から1に変更することで、funclets(例外処理関連のセカンダリエントリポイント)を含むメソッドが、遅延bailoutを経由せずにコード生成されるようになります。先行PR #128736のマージに依存します。 @@ -105,7 +105,7 @@ WebAssemblyにおけるJIT コンパイルの機能を有効化するための - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年06月03日 00:07:46(UTC) - マージ日時: 2026年06月03日 11:53:52(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT アサーション伝播における `optCanProp*` 短絡フラグを削除し、状態追跡を簡略化するとともに、アサーション伝播チェックを常に有効化する変更。これによりコード複雑性を削減し、`JitOptRepeat` 後の陳腐なアサーションに関連する潜在的な正確性問題を修正します。 @@ -127,7 +127,7 @@ JIT アサーション伝播における `optCanProp*` 短絡フラグを削除 - 作成者: [@tannergooding](https://github.com/tannergooding) - 作成日時: 2026年06月02日 23:17:13(UTC) - マージ日時: 2026年06月03日 13:30:53(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT範囲分析の改善により、`RangeCheck::ComputeRange`が`GetRangeFromAssertions`をより多くの`TYP_INT`型の式に活用できるようにしました。整数定数の抽出を改善し、32ビット環境やより広い定数での`ssize_t`の切り詰めを回避します。 @@ -149,7 +149,7 @@ JIT範囲分析の精度が向上することで、範囲チェック最適化 - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2026年06月02日 19:48:20(UTC) - マージ日時: 2026年06月03日 12:56:12(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 Apple暗号ネイティブシムのSwiftクラスベースの不透明ハンドルをポインタベースのSwift値型に置き換え、複数のコピー読み込み時のObjCクラス重複登録を防止します。また、将来のSwiftバインディングでローカル定義のSwift ObjCクラスメタデータを導入しないよう検証するビルド後スクリプト(`verify-no-swift-objc-classes.sh`)を追加します。 @@ -172,7 +172,7 @@ Apple暗号ネイティブシムのSwiftクラスベースの不透明ハンド - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年06月02日 18:32:25(UTC) - マージ日時: 2026年06月03日 21:38:42(UTC) -- ラベル: area-Host +- ラベル: area-Host #### 概要 `DllGetClassObject`のCOM契約違反を修正するPRです。失敗パス(CLSID未検索、`get_com_delegate`失敗)でHRESULTを返す際に`*ppv`出力パラメータが初期化されていない問題を解決します。関数エントリで`*ppv = nullptr`を初期化し、`ppv == nullptr`の場合は`E_POINTER`を返すガード処理を追加しています。 @@ -196,7 +196,7 @@ Apple暗号ネイティブシムのSwiftクラスベースの不透明ハンド - 作成者: [@vseanreesermsft](https://github.com/vseanreesermsft) - 作成日時: 2026年06月02日 18:31:17(UTC) - マージ日時: 2026年06月03日 13:09:21(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 .NET 9のサービシング版における製品バージョンを9.0.17から9.0.18へアップデートするブランディング変更です。ビルドシステム全体で使用されるバージョン番号を統一します。 @@ -218,7 +218,7 @@ Apple暗号ネイティブシムのSwiftクラスベースの不透明ハンド - 作成者: [@vseanreesermsft](https://github.com/vseanreesermsft) - 作成日時: 2026年06月02日 18:30:29(UTC) - マージ日時: 2026年06月03日 10:01:11(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 .NET 8.0のバージョンメタデータを8.0.28から8.0.29へ更新するパッチリリース用のブランディング変更です。 @@ -239,7 +239,7 @@ Apple暗号ネイティブシムのSwiftクラスベースの不透明ハンド - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年06月02日 15:39:06(UTC) - マージ日時: 2026年06月03日 01:06:45(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC データ生成器(`Microsoft.Diagnostics.DataContractReader.DataGenerator`)を `Abstractions` NuGetパッケージのアナライザーアセットとしてパックし、ダウンストリームコンシューマーが `PackageReference` 経由で自動的に生成器を取得できるようにします。これまでのリポジトリ内 `ProjectReference` は不要になります。 @@ -268,7 +268,7 @@ cDAC データ生成器(`Microsoft.Diagnostics.DataContractReader.DataGenerato - 作成者: [@eiriktsarpalis](https://github.com/eiriktsarpalis) - 作成日時: 2026年06月02日 14:37:31(UTC) - マージ日時: 2026年06月03日 07:02:52(UTC) -- ラベル: area-System.Text.Json +- ラベル: area-System.Text.Json #### 概要 `System.Text.Json`のunion型シリアライゼーションの2つの欠陥を修正します: @@ -299,7 +299,7 @@ cDAC データ生成器(`Microsoft.Diagnostics.DataContractReader.DataGenerato - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年06月02日 12:36:31(UTC) - マージ日時: 2026年06月03日 04:47:14(UTC) -- ラベル: area-System.Globalization os-ios +- ラベル: area-System.Globalization os-ios #### 概要 XCode 26.4でClang 21がバンドルされるようになり、新しい警告フラグ(`-Wimplicit-int-enum-cast`と`-Wimplicit-void-ptr-cast`)が追加されました。これらの警告がビルドエラーとして検出されるため、iOS Simulator向けのネイティブコード(Objective-C/C)に明示的なキャスト処理を追加してビルドエラーを解決しています。 @@ -325,7 +325,7 @@ XCode 26.4でClang 21がバンドルされるようになり、新しい警告 - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年06月02日 09:41:07(UTC) - マージ日時: 2026年06月03日 00:08:13(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT コンパイラの名前マングリング機能から UTF-16 中心のコード経路を削除し、`Utf8String` ベースの実装に移行するリファクタリング。文字列リテラルマングリング API を `Utf8String` を返すように変更し、孤立した UTF-16 サロゲート文字の正しい処理を検証する煙テストを追加。 @@ -349,7 +349,7 @@ NativeAOT コンパイラの名前マングリング機能から UTF-16 中心 - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年06月02日 08:08:26(UTC) - マージ日時: 2026年06月03日 08:15:14(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOTの名前マングラー(難読化されたアセンブリ向け)において、フィールドとメソッドが同じマングル名に衝突する問題を修正しました。サニタイズされた難読化名(例:`"\u0003\u000e"` → `"__"`)がフィールドとメソッド間で重複するのを防ぐため、フィールド名の区切り文字を`"__"`から`"__field__"`に変更しました。 @@ -372,7 +372,7 @@ NativeAOTの名前マングラー(難読化されたアセンブリ向け) - 作成者: [@bartonjs](https://github.com/bartonjs) - 作成日時: 2026年06月02日 00:44:31(UTC) - マージ日時: 2026年06月03日 03:47:50(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 DER検証ロジックを再帰的な実装から反復的な実装に変更し、深くネストされたASN.1値による`StackOverflowException`を防止します。明示的なスタック/キューを使用した反復走査により、構造化値の検証時に予期しないスタックオーバーフローが発生しなくなります。 @@ -395,7 +395,7 @@ DER検証ロジックを再帰的な実装から反復的な実装に変更し - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年06月01日 23:27:52(UTC) - マージ日時: 2026年06月03日 02:16:55(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 レガシーな例外処理(EH)時代の遺物である `IsCallerSPValid` フラグを削除し、呼び出し元フレームの妥当性チェックを `IsCallerContextValid` に統一します。これにより、セマンティクスの乖離を排除し、コード全体で一貫した文脈ベースの妥当性判定を実現します。 @@ -420,7 +420,7 @@ DER検証ロジックを再帰的な実装から反復的な実装に変更し - 作成者: [@barosiak](https://github.com/barosiak) - 作成日時: 2026年06月01日 21:11:58(UTC) - マージ日時: 2026年06月03日 16:14:15(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC (Common Data Access Component) の DBI レイヤーに `GetManagedStoppedContext` を実装し、ネイティブ DAC のロジックをマネージド実装に移植しました。また、Thread データディスクリプタに `InteropDebuggingHijacked` フィールドを追加し、テストとモックインフラストラクチャを拡張しています。 @@ -447,7 +447,7 @@ cDAC (Common Data Access Component) の DBI レイヤーに `GetManagedStoppedCo - 作成者: [@ericstj](https://github.com/ericstj) - 作成日時: 2026年06月01日 18:49:12(UTC) - マージ日時: 2026年06月03日 16:11:37(UTC) -- ラベル: area-Infrastructure-libraries +- ラベル: area-Infrastructure-libraries #### 概要 PlatformDocAnalyzerをコンパイルビルド設定の構成スコープの適用範囲を変更するPRです。`eng/generators.targets`から`eng/Analyzers.targets`へ移動し、`EnablePlatformDocAnalyzer`プロパティで制御可能にしました。デフォルトでは`src/libraries`ソースプロジェクトで有効になります。これにより、アナライザーは明示的にオプトインしない限りライブラリプロジェクトに限定されます。 @@ -471,7 +471,7 @@ PlatformDocAnalyzerをコンパイルビルド設定の構成スコープの適 - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年06月01日 14:47:44(UTC) - マージ日時: 2026年06月03日 21:10:49(UTC) -- ラベル: Servicing-approved area-System.Runtime.InteropServices +- ラベル: Servicing-approved area-System.Runtime.InteropServices #### 概要 UnsafeAccessorで参照型のbyref structを扱う際の署名検証ロジックの修正です。ジェネリック型パラメータを含むbyref struct型に対するUnsafeAccessor呼び出しがアクセス違反を引き起こしていた問題を解決します。.NET 11で既に修正されていますが、.NET 10へのバックポートです。 @@ -522,7 +522,7 @@ public static class Accessor - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年06月01日 02:15:06(UTC) - マージ日時: 2026年06月03日 16:39:05(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 DacDbi APIを`EnumerateClassFields`と`EnumerateInstantiationFields`のコールバックベース実装に置き換え、Edit and Continue (EnC)対応のcDAC `IEditAndContinue` コントラクトを追加する変更です。フィールド列挙APIをコールバック駆動に変更し、EnC機能向けの新しいランタイムタイプシステムAPIを公開しています。 @@ -551,7 +551,7 @@ DacDbi APIを`EnumerateClassFields`と`EnumerateInstantiationFields`のコール - 作成者: [@elinor-fung](https://github.com/elinor-fung) - 作成日時: 2026年05月30日 03:55:37(UTC) - マージ日時: 2026年06月03日 21:12:02(UTC) -- ラベル: Servicing-approved area-Interop-coreclr +- ラベル: Servicing-approved area-Interop-coreclr #### 概要 .NET 9で導入された遅延的なエントリポイント割り当て(#101580)による回帰を修正します。COM インターフェースを実装する基底クラスと、そのメソッドをオーバーライドする派生クラスが共有の `ComMethodTable` を持つ場合、派生クラスが先に作成されると、共有の `ComMethodTable` がレイアウトされる際に基底クラスの仮想テーブル スロットが復元されず、NULL スロット経由のディスパッチでクラッシュしていました。修正により、`ComMethodTable` のレイアウト時に親の `MethodTable` チェーンを走査し、基底クラスのスロットを確実に復元します。 @@ -577,7 +577,7 @@ DacDbi APIを`EnumerateClassFields`と`EnumerateInstantiationFields`のコール - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年05月30日 02:03:59(UTC) - マージ日時: 2026年06月03日 11:58:14(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/icu リポジトリの依存関係を更新するための自動化されたPull Request。Microsoft.NETCore.Runtime.ICU.Transport パッケージをバージョン 9.0.0-rtm.26261.1 から 9.0.0-rtm.26278.1 に更新しました。 @@ -599,7 +599,7 @@ dotnet/icu リポジトリの依存関係を更新するための自動化され - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年05月29日 06:59:35(UTC) - マージ日時: 2026年06月03日 17:42:33(UTC) -- ラベル: arch-wasm area-Diagnostics-coreclr os-browser +- ラベル: arch-wasm area-Diagnostics-coreclr os-browser #### 概要 このPRはBrowser WASM上のシングルスレッド環境でCoreClrのEventPipeジニスティクスインフラストラクチャを有効にします。EventPipeを使用して、パフォーマンストレーシングとイベントログ機能をBrowser環境で利用できるようにするための実装です。.wasmファイルサイズの増加が予想されます。 @@ -647,7 +647,7 @@ dotnet/icu リポジトリの依存関係を更新するための自動化され - 作成者: [@elinor-fung](https://github.com/elinor-fung) - 作成日時: 2026年05月28日 23:22:14(UTC) - マージ日時: 2026年06月03日 19:14:51(UTC) -- ラベル: area-Host +- ラベル: area-Host #### 概要 `SYSTEM_CORELIB_DIRECTORY`という新しいホスト向けランタイムプロパティを追加しました。このプロパティにより、ホストは`System.Private.CoreLib.dll`の明示的な配置ディレクトリをランタイムに指定できます。PR #128278でTPA走査フォールバックが削除されたことで、iOSなどのモバイルプラットフォームで`coreclr`と`System.Private.CoreLib.dll`が同じ場所に配置されていないシナリオが破損したため、この明示的で オプトインの契約を提供することで解決します。 @@ -674,7 +674,7 @@ dotnet/icu リポジトリの依存関係を更新するための自動化され - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年05月28日 14:55:21(UTC) - マージ日時: 2026年06月03日 09:41:40(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 x86 NativeAOT環境におけるasync継続のhijacking時のGC参照報告の問題を修正。async関数をhijackする際、ECXレジスタの保存・復元は実装されていましたが、そのレジスタがGC参照を含むかどうかを判定するGC情報報告が欠落していました。x86では他プラットフォームと異なり、GC情報をコールサイトで報告する必要があるため、この修正により適切なGC root報告が可能になります。 @@ -705,7 +705,7 @@ x86 NativeAOT環境におけるasync継続のhijacking時のGC参照報告の問 - 作成者: [@simonrozsival](https://github.com/simonrozsival) - 作成日時: 2026年05月27日 15:28:41(UTC) - マージ日時: 2026年06月03日 09:04:08(UTC) -- ラベル: area-System.Security os-android +- ラベル: area-System.Security os-android #### 概要 AndroidでX.509チェーン構築時に`X509ChainContext`の初期化失敗が起因するネイティブアボート問題を修正します。実装エラーにより、管理コードが無効な`X509ChainContext*`をネイティブメソッドに渡しプロセス終了していましたが、本修正により初期化失敗時に管理側で`CryptographicException`をスローしフェイルセーフになります。 @@ -730,7 +730,7 @@ AndroidでX.509チェーン構築時に`X509ChainContext`の初期化失敗が - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年05月27日 02:03:41(UTC) - マージ日時: 2026年06月03日 11:56:49(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/arcadeリポジトリの依存パッケージを更新するPull Request。 ビルドツール、SDKタスク、テストユーティリティなど、複数のアーケード関連パッケージが一括で新しいベータ版に更新されました。 @@ -757,7 +757,7 @@ dotnet/arcadeリポジトリの依存パッケージを更新するPull Request - 作成者: [@mrek-msft](https://github.com/mrek-msft) - 作成日時: 2026年05月25日 14:18:45(UTC) - マージ日時: 2026年06月03日 09:12:42(UTC) -- ラベル: area-System.Net +- ラベル: area-System.Net #### 概要 Server-Sent Events (SSE) パーサーで、改行のない極端に長い行を処理する際の無制限バッファ増長を防ぐため、64 MiBの最大行長制限を導入しました。この制限を超えた場合、専用の例外メッセージを含む`InvalidDataException`をスローするようになります。 @@ -780,7 +780,7 @@ Server-Sent Events (SSE) パーサーで、改行のない極端に長い行を - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年05月25日 05:01:59(UTC) - マージ日時: 2026年06月03日 11:54:19(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 dotnet-optimization リポジトリからの依存関係を更新するPull Requestです。MIBC(Machine Intelligence Based Compiler)ランタイムファイルとPGO(Profile Guided Optimization)CoreCLRコンポーネントを複数のプラットフォーム(Linux ARM64/x64、Windows NT ARM64/x64/x86)向けに更新しています。バージョンは 1.0.0-prerelease.26180.1 から 1.0.0-prerelease.26276.2 に更新されました。 @@ -810,7 +810,7 @@ MIBC およびPGOの更新のため、ランタイムコンパイルおよび実 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月22日 13:34:21(UTC) - マージ日時: 2026年06月03日 08:09:53(UTC) -- ラベル: area-Codegen-AOT-mono +- ラベル: area-Codegen-AOT-mono #### 概要 `AllSubsets_Mono_MiniFullAot_RuntimeTests`ビルドレグの破損を修正するPRです。`InvalidCSharp.ilproj`がMonoAOT非互換でビルドから除外される一方、依存する`Validate.csproj`が同様にゲートされていなかったため、CS0246エラーが発生していました。`Validate.csproj`に`true`を追加し、ビルド時のゲートと既存のランタイム時`[ActiveIssue]`ゲートを整合させます。 @@ -831,7 +831,7 @@ MIBC およびPGOの更新のため、ランタイムコンパイルおよび実 - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年05月21日 00:10:57(UTC) - マージ日時: 2026年06月03日 16:28:14(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 WASMのReadyToRun形式をメモリアドレスベースからバーチャルIP(仮想命令ポインタ)ベースのアドレッシングに変更し、それに対応するR2RDumpの更新を行います。RUNTIME_FUNCTION テーブルのBeginAddressフィールドがバーチャルIPとIsFuncletフラグをエンコードし、テーブル末尾に最小関数テーブルインデックスを追加する形式変更が含まれます。 @@ -874,7 +874,7 @@ WASMのReadyToRun形式をメモリアドレスベースからバーチャルIP - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月19日 02:11:03(UTC) - マージ日時: 2026年06月03日 04:50:07(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 ネイティブDAC から管理型cDAC へ `GetILCodeAndSig` DacDbi エントリーポイントを移植します。このAPIは、メソッドのILコード(アドレス/サイズ)とそのローカル変数シグネチャトークンを返します。これまでの`E_NOTIMPL`フォールバックを、メタデータ/ローダーベースのIL検索とシグネチャトークン抽出で置き換えます。 @@ -905,7 +905,7 @@ Copilotレビューから以下の潜在的問題が指摘されています: - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月14日 05:19:12(UTC) - マージ日時: 2026年06月03日 10:40:26(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 `UnmanagedCallersOnlyAttribute`に新しい公開プロパティ`AssociatedSourceType`を追加し、NativeAOTにおいてアンマネージドエクスポートを条件付きで生成できるようにします。これにより、関連ソース型がトリミング時に存続する場合のみネイティブエントリーポイントが保持・エクスポートされます。 diff --git a/archives/2026/06/04.md b/archives/2026/06/04.md index d7f5091..abafc63 100644 --- a/archives/2026/06/04.md +++ b/archives/2026/06/04.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#128965 Remove dead SIMD contiguous-args code in the JIT](#128965) 2. [#128963 JIT: fix slow preheader EH bookkeeping in loop cloning](#128963) 3. [#128959 JIT: Fix assertion failed 'genActualType\(cmp-\>gtGetOp1\(\)\) == genActualType\(cmp-\>gtGetOp2\(\)\)'](#128959) @@ -31,7 +31,7 @@ - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年06月03日 23:05:33(UTC) - マージ日時: 2026年06月04日 16:10:03(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITコンパイラ内の複雑で到達不可能になったSIMD「連続引数(contiguous-args)」最適化パスを削除し、SIMD import/morphパイプラインを簡潔化します。この変換の複雑性に対して実際の効果が限定的であると判断された結果の削除です。 @@ -58,7 +58,7 @@ JITコンパイラ内の複雑で到達不可能になったSIMD「連続引数 - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年06月03日 22:17:14(UTC) - マージ日時: 2026年06月04日 14:02:14(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 ループクローニング時に遅延パス(slow-path)プリヘッダーを挿入する際のEH(例外処理)領域ブックキーピングのバグを修正します。ループの字句的末尾と実際の挿入ポイントが異なる場合に、EH領域が不正に縮小されるのを防ぎます。現在のクローニングコードパスでは到達不可能ですが、より一般的なループアンスイッチングのプロトタイプ実装で発生していました。 @@ -79,7 +79,7 @@ JITコンパイラ内の複雑で到達不可能になったSIMD「連続引数 - 作成者: [@BoyBaykiller](https://github.com/BoyBaykiller) - 作成日時: 2026年06月03日 20:02:37(UTC) - マージ日時: 2026年06月04日 11:02:18(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 JITコンパイラの型チェックアサーション失敗を修正します。異なる型のoperandを比較する場合(例:byref と long)でアサーションが発火していた問題を解決。アサーション条件をimporter.cppの既存検証ロジックに合わせて変更し、より広い範囲の有効なIR構造に対応します。 @@ -104,7 +104,7 @@ JITコンパイラの型チェックアサーション失敗を修正します - 作成者: [@kg](https://github.com/kg) - 作成日時: 2026年06月03日 18:43:08(UTC) - マージ日時: 2026年06月04日 12:16:51(UTC) -- ラベル: arch-wasm area-VM-coreclr +- ラベル: arch-wasm area-VM-coreclr #### 概要 WebAssembly上でGC情報デコーダーのスタックスロットアドレス計算を修正するもの。`GC_FRAMEREG_REL`スタックスロットを解決する際、エンコードされたスタックベースレジスタが`REG_NA`になる問題に対応します。 @@ -128,7 +128,7 @@ WebAssembly上でGC情報デコーダーのスタックスロットアドレス - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年06月03日 17:02:33(UTC) - マージ日時: 2026年06月04日 10:19:11(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 HTTP/2接続で、サーバーから受信した`SETTINGS_MAX_CONCURRENT_STREAMS`を同じホストの接続プール単位で記憶し、新規接続時にその値を初期値として使用するようにしました。これにより、サーバーが低いストリーム同時実行数制限を課す場合に、過度なストリーム数を送信して後続の再試行が必要になるシナリオを回避できます。 @@ -155,7 +155,7 @@ HTTP/2接続で、サーバーから受信した`SETTINGS_MAX_CONCURRENT_STREAMS - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年06月03日 15:15:19(UTC) - マージ日時: 2026年06月04日 14:00:50(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITのブール値最適化コードにおいて、プロファイル尤度計算とUB(未定義動作)の2つの問題を修正しました。 - `optOptimizeBoolsUpdateTrees`での分岐尤度計算式を修正(正確には(1-p1) * p2_true) @@ -182,7 +182,7 @@ JITのブール値最適化コードにおいて、プロファイル尤度計 - 作成者: [@ManickaP](https://github.com/ManickaP) - 作成日時: 2026年06月03日 09:25:46(UTC) - マージ日時: 2026年06月04日 17:04:58(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 OpenTelemetry仕様の更新に対応して、HTTP接続メトリクスから`network.peer.address`タグを削除しました。このタグはOTelで「Opt-In」属性に変更されたため、.NETではサポート対象外として削除されています。これによりメトリクスのカーディナリティ圧力を軽減します。 @@ -206,7 +206,7 @@ OpenTelemetry仕様の更新に対応して、HTTP接続メトリクスから`ne - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年06月03日 02:02:53(UTC) - マージ日時: 2026年06月04日 14:07:14(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/runtime-assets リポジトリからの依存関係を更新するPRです。テストデータやランタイムリソース関連の複数のNuGetパッケージを9.0.0-beta.26267.3から9.0.0-beta.26302.4にアップデートしています。 @@ -244,7 +244,7 @@ dotnet/runtime-assets リポジトリからの依存関係を更新するPRで - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年06月03日 02:02:45(UTC) - マージ日時: 2026年06月04日 09:46:14(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/runtime-assets リポジトリから複数のテストデータおよびランタイムアセットパッケージの依存関係を更新するプルリクエストです。バージョン 8.0.0-beta.26267.2 から 8.0.0-beta.26302.3 への更新です。 @@ -282,7 +282,7 @@ dotnet/runtime-assets リポジトリから複数のテストデータおよび - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年06月03日 02:02:10(UTC) - マージ日時: 2026年06月04日 09:44:59(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 dotnet/runtime-assetsから依存関係を更新するPull Requestです。16個のテストデータおよびランタイム関連パッケージを11.0.0-beta.26276.1から11.0.0-beta.26302.1にアップグレードしています。 @@ -322,7 +322,7 @@ Maestroによる自動依存関係更新PR(2026年6月2日产生)です。 - 作成者: [@akoeplinger](https://github.com/akoeplinger) - 作成日時: 2026年06月02日 13:22:28(UTC) - マージ日時: 2026年06月04日 07:54:59(UTC) -- ラベル: Servicing-approved area-Infrastructure os-ios os-tvos +- ラベル: Servicing-approved area-Infrastructure os-ios os-tvos #### 概要 macOS ヒーリックス (Helix) テスト キューを OSX.15 に統一するための変更。テスト環境の一貫性を確保するための構成更新です。 @@ -345,7 +345,7 @@ macOS ヒーリックス (Helix) テスト キューを OSX.15 に統一する - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年06月02日 12:22:37(UTC) - マージ日時: 2026年06月04日 08:40:56(UTC) -- ラベル: area-System.Security os-android +- ラベル: area-System.Security os-android #### 概要 Android プラットフォームにおいて X.509 チェーン構築時の名前制約違反の検証結果が、現在のテスト期待値と異なるため、該当するテストを `ActiveIssue` でマークしてスキップするようにしました。非 Android プラットフォームではテストカバレッジを維持します。 @@ -370,7 +370,7 @@ Android プラットフォームにおいて X.509 チェーン構築時の名 - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年06月02日 02:05:44(UTC) - マージ日時: 2026年06月04日 09:41:42(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/cecilの依存ライブラリを更新するPull Request。Microsoft.SourceBuild.Intermediate.cecilおよびMicrosoft.DotNet.Cecilを0.11.5-alpha.26274.2から0.11.5-alpha.26281.4にバージョンアップします。 @@ -394,7 +394,7 @@ dotnet/cecilの依存ライブラリを更新するPull Request。Microsoft.Sour - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年06月01日 18:19:23(UTC) - マージ日時: 2026年06月04日 14:18:41(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDACのテスト構造を再編成し、ユニットテストと再利用可能なテスト基盤を明確に分離する変更です。テスト基盤(MockMemorySpace、ContractDescriptorBuilder、DumpTestBase、属性フィルタリングなど)を独立したライブラリプロジェクト `TestInfrastructure` として抽出し、NuGetパッケージとして配布可能にしました。これにより、ダウンストリームプロジェクトがInternalsVisibleToなしで公開APIベースのテストハーネスを活用できます。 @@ -423,7 +423,7 @@ cDACのテスト構造を再編成し、ユニットテストと再利用可能 - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年06月01日 17:08:10(UTC) - マージ日時: 2026年06月04日 14:23:12(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 WebAssembly R2R ファイル内の GC 情報エンコード/デコードの不整合を修正しました。ライター側の不要な 4 バイト アライメントを削除し、リーダー側が WebAssembly 固有の GC 情報フォーマットを正しく処理するようにしました。併せて R2RDump の診断機能を強化しました。 @@ -448,7 +448,7 @@ WebAssembly R2R ファイル内の GC 情報エンコード/デコードの不 - 作成者: [@steveisok](https://github.com/steveisok) - 作成日時: 2026年06月01日 11:32:33(UTC) - マージ日時: 2026年06月04日 00:37:48(UTC) -- ラベル: Servicing-approved area-Tracing-coreclr +- ラベル: Servicing-approved area-Tracing-coreclr #### 概要 EventPipeの CPU サンプリングレートを設定可能にするバックポート。`DOTNET_EventPipeThreadSamplingRate` 環境変数で、デフォルトの 1ms から任意のサンプリング間隔(ms単位)にオーバーライドできます。Cosmicが報告した高いオーバーヘッドに対応するため、main からの変更をrelease/10.0にバックポートしました。 @@ -479,7 +479,7 @@ EventPipeの CPU サンプリングレートを設定可能にするバックポ - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年06月01日 05:01:52(UTC) - マージ日時: 2026年06月04日 09:39:14(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/arcadeリポジトリの依存関係を更新するPull Request。ビルドツール、SDKおよび関連ユーティリティパッケージを8.0.0-beta.26224.3から8.0.0-beta.26278.3へアップグレードしています。 @@ -512,7 +512,7 @@ dotnet/arcadeリポジトリの依存関係を更新するPull Request。ビル - 作成者: [@mdh1418](https://github.com/mdh1418) - 作成日時: 2026年05月29日 03:38:54(UTC) - マージ日時: 2026年06月04日 15:10:47(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 AndroidおよびApple mobileプラットフォーム上で、createdumpがヘルパープロセスをフォークできない場合のクラッシュレポート出力を管理する生涯管理機能を追加します。このPRは、クラッシュレポートを境界のある回転ディレクトリに保存し、保持ポリシーを適用することで、アプリのプライベートストレージに無限に蓄積されるのを防ぎます。 @@ -547,7 +547,7 @@ AndroidおよびApple mobileプラットフォーム上で、createdumpがヘル - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年05月28日 21:41:35(UTC) - マージ日時: 2026年06月04日 20:00:17(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT ループクローニング最適化において、配列参照の型を正確に追跡するように修正しました。従来はすべての配列参照を `TYP_REF` と仮定していましたが、スタック割り当てされた配列など `TYP_I_IMPL` や `TYP_BYREF` として参照される場合に対応します。抽出時に観察された実際の参照型とローカル型を保持し、ループクローニング条件の新しいIRノード生成時に使用することで、型安全性を確保します。 @@ -570,7 +570,7 @@ JIT ループクローニング最適化において、配列参照の型を正 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年05月27日 10:27:51(UTC) - マージ日時: 2026年06月04日 10:24:38(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 HTTP/3のレスポンスヘッダ予算追跡ロジックをHTTP/2と一致させるよう改善しました。従来のHEADERSフレームペイロードサイズに基づく予算チェックから、デコードされた各ヘッダエントリ(名前長+値長)ごとの追跡に変更し、`MaxResponseHeadersLength`の適切な実装を実現しています。 @@ -594,7 +594,7 @@ HTTP/3のレスポンスヘッダ予算追跡ロジックをHTTP/2と一致さ - 作成者: [@svick](https://github.com/svick) - 作成日時: 2026年05月26日 12:36:26(UTC) - マージ日時: 2026年06月04日 16:40:18(UTC) -- ラベル: Servicing-approved area-System.Globalization +- ラベル: Servicing-approved area-System.Globalization #### 概要 `System.Globalization`のNumberFormatInfoグループサイズテストを修正し、プラットフォーム固有のグローバライゼーションデータの違いに対応するようにしました。本修正は9.0-stagingで発生したテスト失敗の修正をrelease/8.0-stagingにバックポートしたものです(#120546からのバックポート)。 @@ -620,7 +620,7 @@ HTTP/3のレスポンスヘッダ予算追跡ロジックをHTTP/2と一致さ - 作成者: [@svick](https://github.com/svick) - 作成日時: 2026年05月26日 12:32:26(UTC) - マージ日時: 2026年06月04日 16:43:49(UTC) -- ラベル: Servicing-approved area-System.Numerics +- ラベル: Servicing-approved area-System.Numerics #### 概要 release/9.0-stagingで失敗していた`NumberFormatInfo.NumberGroupSizes`テストを修正するバックポート(#120546より)。Apple OS の最新グローバライゼーションデータによって、`ur-IN`カルチャのグループサイズが変更されたため、テストが複数の有効な値を受け入れるように更新されました。 @@ -645,7 +645,7 @@ release/9.0-stagingで失敗していた`NumberFormatInfo.NumberGroupSizes`テ - 作成者: [@steveisok](https://github.com/steveisok) - 作成日時: 2026年05月25日 14:48:47(UTC) - マージ日時: 2026年06月04日 23:48:44(UTC) -- ラベル: area-System.Diagnostics +- ラベル: area-System.Diagnostics #### 概要 `FileVersionInfo.GetVersionInfo(string)` メソッドのXML ドキュメンテーションに、信頼できるファイルのみを使用すべき旨の注意書きを追加しました。悪意のある、または不正な形式のファイル入力に起因するリスクについて、呼び出し側に警告します。 @@ -666,7 +666,7 @@ release/9.0-stagingで失敗していた`NumberFormatInfo.NumberGroupSizes`テ - 作成者: [@BoyBaykiller](https://github.com/BoyBaykiller) - 作成日時: 2026年05月24日 03:31:11(UTC) - マージ日時: 2026年06月04日 16:08:49(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 JIT最適化として、ビットマスク比較を正規化する変換を追加しました。`(A & pow2) == pow2` を `(A & pow2) != 0` に、`(A & pow2) != pow2` を `(A & pow2) == 0` に統一します。右辺が常に0になるこの正規形により、後続の最適化(optimizeBools、分配変換など)がより効果的に機能するようになります。 @@ -696,7 +696,7 @@ static bool Example(int foo) - 作成者: [@sbomer](https://github.com/sbomer) - 作成日時: 2026年05月15日 22:55:21(UTC) - マージ日時: 2026年06月04日 17:33:07(UTC) -- ラベル: linkable-framework area-Tools-ILLink +- ラベル: linkable-framework area-Tools-ILLink #### 概要 ILLinkマーキングパイプラインを更新して、XML記述子によって保持されたメンバーをリフレクション可視として扱うようにします。さらに、それらの宣言型もリフレクション可視としてマークし、バリアント型キャストや明示的レイアウトフィールドなど、リフレクション依存のセマンティクスを保持します。 @@ -723,7 +723,7 @@ ILLinkマーキングパイプラインを更新して、XML記述子によっ - 作成者: [@StephenMolloy](https://github.com/StephenMolloy) - 作成日時: 2025年08月11日 22:37:10(UTC) - マージ日時: 2026年06月04日 16:53:07(UTC) -- ラベル: area-Serialization +- ラベル: area-Serialization #### 概要 `CodeExporter.cs`にDebug.Assert文を追加し、DataContractの特定のサブタイプについてコードが暗黙的に仮定していた内容を明示的に検証するようにしました。NetFx時代の内部可視コードから外部アセンブリへの移行に伴い、DataContractの内部構造へのアクセスが制限されたため、事前条件の検証を強化するものです。 diff --git a/archives/2026/06/05.md b/archives/2026/06/05.md index b757b86..b265567 100644 --- a/archives/2026/06/05.md +++ b/archives/2026/06/05.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#129044 JIT test: remove SimdLoadBetweenBCs from ElidedBoundsChecks](#129044) 2. [#129033 Never attempt to process an RSA 16K key on Android](#129033) 3. [#129026 SuperPMI: re-apply JitWasmNyiToR2RUnsupported when ignoring stored config](#129026) @@ -19,7 +19,7 @@ - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年06月05日 13:56:07(UTC) - マージ日時: 2026年06月05日 18:40:03(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT回帰テスト `ElidedBoundsChecks` から `SimdLoadBetweenBCs` テストケースを削除するものです。PR #128965 で `Vector128.Create` の例外動作が変更され、連続した配列インデックスからの単一 SIMD ロードとして認識されなくなったため、このテストは現在の動作と合致しなくなりました。 @@ -43,7 +43,7 @@ JIT回帰テスト `ElidedBoundsChecks` から `SimdLoadBetweenBCs` テストケ - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2026年06月05日 05:09:17(UTC) - マージ日時: 2026年06月05日 18:22:54(UTC) -- ラベル: area-System.Security +- ラベル: area-System.Security #### 概要 AndroidのConscrypt/BoringSSLがRSA 16K (16384ビット)キーを適切に処理できず、BoringSSLのエラーキューをクリアしないため、RSA 16Kキーのインポート時に発生したエラーが他の暗号操作に漏れて不正な例外が発生する問題を修正します。本PRではユニットテストでRSA 16Kキーの処理を回避することで、テスト結果の不安定化を防ぎます。 @@ -68,7 +68,7 @@ AndroidのConscrypt/BoringSSLがRSA 16K (16384ビット)キーを適切に処理 - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年06月05日 01:03:13(UTC) - マージ日時: 2026年06月05日 21:22:06(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 SuperPMI の asmdiffs-checked-release ビルドで `-ignoreStoredConfig` を使用する際、WebAssembly JIT 向けの `JitWasmNyiToR2RUnsupported=1` 設定が失われることで、未実装のオペコード(例:GT_ASYNC_CONTINUATION)に対してアサーション失敗が発生していた問題を修正します。wasm ターゲットの場合に外部から明示的にこのオプションを再適用することで、R2R-unsupported として適切にスキップされるように動作を復元します。 @@ -89,7 +89,7 @@ SuperPMI の asmdiffs-checked-release ビルドで `-ignoreStoredConfig` を使 - 作成者: [@danmoseley](https://github.com/danmoseley) - 作成日時: 2026年06月04日 18:37:45(UTC) - マージ日時: 2026年06月05日 02:49:35(UTC) -- ラベル: area-System.DateTime +- ラベル: area-System.DateTime #### 概要 `DateTime`の`"O"`形式(ISO 8601ラウンドトリップ)パーサーのテンス秒処理を簡略化しました。7桁の小数秒は常に`TimeSpan.TicksPerSecond`(10,000,000)と一致するため、浮動小数点の除算・乗算・丸め処理を経由せず、直接tickカウントとして`TryAddTicks`に渡すことで、処理を簡素化しかつ精度を保証します。この変更は完全に下位互換性があり(10M個の7桁値すべてで同一の結果を確認)、同時に若干のパフォーマンス向上が得られます。 @@ -120,7 +120,7 @@ SuperPMI の asmdiffs-checked-release ビルドで `-ignoreStoredConfig` を使 - 作成者: [@ManickaP](https://github.com/ManickaP) - 作成日時: 2026年06月04日 17:03:36(UTC) - マージ日時: 2026年06月05日 12:25:48(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 httpbin.orgエンドポイントからの一時的な503 ServiceUnavailable応答がテスト失敗を引き起こす問題を修正します。既存の502/504エラーと同様に、503応答をテストで無視する対象として追加することで、リモートサーバーの不安定性に起因するテストの不安定性を低減します。 @@ -141,7 +141,7 @@ httpbin.orgエンドポイントからの一時的な503 ServiceUnavailable応 - 作成者: [@prozolic](https://github.com/prozolic) - 作成日時: 2026年06月04日 14:58:09(UTC) - マージ日時: 2026年06月05日 12:59:56(UTC) -- ラベル: area-System.Collections community-contribution +- ラベル: area-System.Collections community-contribution #### 概要 `OrderedDictionary.Remove(KeyValuePair)` メソッドにおいて、冗長なルックアップを削除する最適化を実施しました。`TryGetValue` から取得したインデックスを使用して `RemoveAt` を呼び出すことで、2回目のルックアップを回避します。また、`IDictionary.Add` の重複した null チェックも削除しました。 @@ -164,7 +164,7 @@ httpbin.orgエンドポイントからの一時的な503 ServiceUnavailable応 - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年06月04日 01:32:38(UTC) - マージ日時: 2026年06月05日 13:49:07(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 SuperPMI の asm near-diffing パイプラインに WebAssembly (Wasm32) サポートを追加します。CoreDisTools を v1.7.0 に更新して Wasm 逆アセンブリ機能を有効化し、SuperPMI の `NearDiffer` と `CompileResult` に Wasm 固有のオフセット・リロケーション処理を実装します。 @@ -191,7 +191,7 @@ SuperPMI の asm near-diffing パイプラインに WebAssembly (Wasm32) サポ - 作成者: [@barosiak](https://github.com/barosiak) - 作成日時: 2026年06月04日 00:39:12(UTC) - マージ日時: 2026年06月05日 19:17:47(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Compact Diagnostics and Analysis Component)で `GetThreadOwningMonitorLock` メソッドを実装しました。このメソッドはマネージド実装(`DacDbiImpl`)でSync Blockのロック情報を読み込み、所有スレッドを解決します。`#if DEBUG`配下で従来のDAC実装との互換性検証も含まれています。 @@ -214,7 +214,7 @@ cDAC(Compact Diagnostics and Analysis Component)で `GetThreadOwningMonitorL - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年06月03日 20:06:01(UTC) - マージ日時: 2026年06月05日 19:56:25(UTC) -- ラベル: Servicing-approved area-CodeGen-coreclr +- ラベル: Servicing-approved area-CodeGen-coreclr #### 概要 JIT最適化「optOptimizeBoolsCondBlock」が符号なし整数型(GTF_UNSIGNED)の入力で不正な結果を生成する問題を修正します。.NET 8/9からの回帰で、顧客のアプリに影響を及ぼしていました。修正は該当条件での最適化をスキップすることで、安全性を優先しています。 @@ -240,7 +240,7 @@ JIT最適化「optOptimizeBoolsCondBlock」が符号なし整数型(GTF_UNSIGN - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年05月28日 16:29:36(UTC) - マージ日時: 2026年06月05日 05:33:18(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 CLRインタプリタのGC生存性レポート(liveness reporting)を修正し、ローカル変数が実際に設定を完了するまで生存状態にならないようにしました。これにより、未初期化のスタック領域が誤ってGCルートとして報告されるのを防ぎます。 @@ -269,7 +269,7 @@ CLRインタプリタのGC生存性レポート(liveness reporting)を修正 - 作成者: [@eduardo-vp](https://github.com/eduardo-vp) - 作成日時: 2026年05月27日 03:36:23(UTC) - マージ日時: 2026年06月05日 06:08:56(UTC) -- ラベル: os-windows tenet-performance area-VM-coreclr +- ラベル: os-windows tenet-performance area-VM-coreclr #### 概要 大量のLCG(Lightweight Code Generation)メソッド作成時における`UnwindInfoTable`でのロック競合を削減する最適化です。.NET 10で確認された性能低下(.NET 9比で169%遅化)に対応し、グローバルロックをテーブル単位のロックに変更、ロック取得の条件付き化、バイナリサーチの導入などにより、LCGストレスベンチマーク(300K メソッド)では.NET 10比で44%改善を実現しています。 @@ -306,7 +306,7 @@ CLRインタプリタのGC生存性レポート(liveness reporting)を修正 - 作成者: [@BoyBaykiller](https://github.com/BoyBaykiller) - 作成日時: 2026年05月23日 03:55:05(UTC) - マージ日時: 2026年06月05日 22:45:01(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 JITコンパイラのRETURN/THROW ブロックマージ処理を修正しました。`tailMergePreds(nullptr)`が一度だけ呼び出されていましたが、複数のセットを処理するために繰り返し呼び出す必要があるという問題を修正しています。 @@ -328,7 +328,7 @@ JITの最適化パス内部での修正であり、公開APIへの影響はあ - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年04月26日 22:28:00(UTC) - マージ日時: 2026年06月05日 00:18:20(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT コンパイラに新しい最適化フェーズ `optBoundsCheckCoalesce` を追加します。このフェーズはアサーション伝播の前に実行され、同じブロック内で同じ長さVNを持つ定数インデックスの境界チェックをマージしています。 @@ -361,7 +361,7 @@ JIT コンパイラに新しい最適化フェーズ `optBoundsCheckCoalesce` - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2025年08月01日 02:07:13(UTC) - マージ日時: 2026年06月05日 17:29:11(UTC) -- ラベル: area-Serialization +- ラベル: area-Serialization #### 概要 `DataContractJsonSerializer`が`SetSerializationSurrogateProvider()`で設定された`ISerializationSurrogateProvider`を内部シリアライザーコンテキストに正しく渡していない問題を修正しました。修正により、`DataContractJsonSerializer`の動作が`DataContractSerializer`と一貫するようになります。 diff --git a/archives/2026/06/06.md b/archives/2026/06/06.md index c64f34a..360638b 100644 --- a/archives/2026/06/06.md +++ b/archives/2026/06/06.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#129063 Delete FILE_FLAG_NO_BUFFERING from win32 PAL](#129063) 2. [#129060 \[Wasm / RyuJit\]: don't mark CORINFO_HELP_GETREFANY pure on wasm](#129060) 3. [#129057 Add OpenBSD support in CPalThread](#129057) @@ -14,7 +14,7 @@ - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年06月06日 01:17:45(UTC) - マージ日時: 2026年06月06日 04:18:07(UTC) -- ラベル: area-PAL-coreclr community-contribution +- ラベル: area-PAL-coreclr community-contribution #### 概要 Windows PAL(Platform Abstraction Layer)から未使用で移植性がない`FILE_FLAG_NO_BUFFERING`フラグを削除します。このフラグはファイルI/O操作で使用されていないため、コードベースから完全に削除されます。 @@ -39,7 +39,7 @@ Windows PAL(Platform Abstraction Layer)から未使用で移植性がない` - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年06月05日 23:23:54(UTC) - マージ日時: 2026年06月06日 14:22:43(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 Wasm ABIにおいて、`TypedReference`が暗黙的な参照渡し(implicit byref)として扱われるため、`CORINFO_HELP_GETREFANY`ヘルパーをpure関数として標識しないよう修正されました。Windows x64と同じ制限を適用することで、JITの最適化時に副作用を正しく認識させることを目的としています。 @@ -61,7 +61,7 @@ Wasm ABIにおいて、`TypedReference`が暗黙的な参照渡し(implicit by - 作成者: [@sethjackson](https://github.com/sethjackson) - 作成日時: 2026年06月05日 21:57:41(UTC) - マージ日時: 2026年06月06日 13:45:19(UTC) -- ラベル: area-System.Threading community-contribution os-openbsd +- ラベル: area-System.Threading community-contribution os-openbsd #### 概要 OpenBSD環境での`CPalThread::GetStackBase()`と`CPalThread::GetStackLimit()`メソッドのサポートを追加します。OpenBSDは`pthread_attr_get_np`や`pthread_getattr_np`を提供していないため、代わりに`pthread_stackseg_np`関数を使用してスタック属性を取得します。 @@ -82,7 +82,7 @@ OpenBSD環境での`CPalThread::GetStackBase()`と`CPalThread::GetStackLimit()` - 作成者: [@jtschuster](https://github.com/jtschuster) - 作成日時: 2026年06月05日 20:39:34(UTC) - マージ日時: 2026年06月06日 02:19:48(UTC) -- ラベル: area-ReadyToRun +- ラベル: area-ReadyToRun #### 概要 Composite ReadyToRunにおいて、ランタイム非同期な仮想メソッドへのdevirtualized呼び出しをawaitするランタイム非同期呼び出し元が、コンパイラ生成の非同期thunkへのトークン解決時にIndexOutOfRangeExceptionまたはトークン破損を引き起こす問題を修正します。devirtualized対象のケースで`GetPrimaryMethodDefinition()`を`GetTypicalMethodDefinition()`の前に呼び出すことで、基本となるEcmaMethodとそのModuleを取得し、正しいトークンパスを使用します。 @@ -105,7 +105,7 @@ Composite ReadyToRunにおいて、ランタイム非同期な仮想メソッド - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年06月05日 00:23:18(UTC) - マージ日時: 2026年06月06日 14:29:52(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 WebAssembly JITコンパイラにおいて、SCC(Strongly Connected Component)ディスパッチャーのWasm try regionへの配置ロジックを改善しました。SCC headerがWasm try entryである場合、ディスパッチャーをtry region内に配置することで、EH/try-region entry rulesを適切に遵守するようにしました。 @@ -130,7 +130,7 @@ WebAssembly JITコンパイラにおいて、SCC(Strongly Connected Component - 作成者: [@tannergooding](https://github.com/tannergooding) - 作成日時: 2026年06月04日 18:55:46(UTC) - マージ日時: 2026年06月06日 04:52:12(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 最適化下での非サポート組み込み関数(intrinsics)に対して must-throw 最適化を有効にします。これにより、例外スロー処理のコールドブロックが統合され、コードサイズの回帰を削減します。最適化されたコードではスタックトレース情報の喪失が既に可能であるため、各スロー処理が一意のカレー関数を持つ必要がなくなります。 @@ -156,7 +156,7 @@ WebAssembly JITコンパイラにおいて、SCC(Strongly Connected Component - 作成者: [@huoyaoyuan](https://github.com/huoyaoyuan) - 作成日時: 2026年06月04日 07:28:11(UTC) - マージ日時: 2026年06月06日 13:50:24(UTC) -- ラベル: area-PAL-coreclr community-contribution +- ラベル: area-PAL-coreclr community-contribution #### 概要 PAL(Platform Abstraction Layer)の process object 実装を削除し、プロセスハンドルセマンティクスを簡略化するリファクタリングです。現在のプロセスのみをサポートする pseudo handle に統一し、不要なプロセスオブジェクトとセッションID追跡機能を廃止します。 @@ -185,7 +185,7 @@ PAL(Platform Abstraction Layer)の process object 実装を削除し、プ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月23日 11:43:04(UTC) - マージ日時: 2026年06月06日 12:11:06(UTC) -- ラベル: area-System.Text.Json +- ラベル: area-System.Text.Json #### 概要 System.Text.Json の多相シリアライゼーションにおいて、開いた(未検証の)ジェネリック型を `[JsonDerivedType]` 属性で指定し、実行時に閉じた型に解決する機能を追加しました。リフレクションベースのリゾルバーとソースジェネレーターの両方で、開いたジェネリック派生型を閉じた派生型に統合して登録します。これにより、ジェネリック階層での多相シリアライゼーション対応が改善されます。 @@ -225,7 +225,7 @@ public class Derived : Base { ... } - 作成者: [@huoyaoyuan](https://github.com/huoyaoyuan) - 作成日時: 2026年03月10日 14:04:47(UTC) - マージ日時: 2026年06月06日 18:24:44(UTC) -- ラベル: EventPipe area-PAL-coreclr community-contribution +- ラベル: EventPipe area-PAL-coreclr community-contribution #### 概要 PAL(Platform Abstraction Layer)から`GetCommandLineW`を削除し、Unix環境でのコマンドライン取得の実装を簡素化しました。CoreCLRの診断フォールバックは`minipal_getexepath()`を使用して実行可能ファイルパスベースのアプローチに変更されています。 diff --git a/archives/2026/06/07.md b/archives/2026/06/07.md index 9174ade..1c673ee 100644 --- a/archives/2026/06/07.md +++ b/archives/2026/06/07.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#129100 \[Wasm R2R\] Report tracked GC vars as untracked in GC info](#129100) 2. [#129089 Delete MapViewOfFile/test1 PAL test \(uses removed FILE_FLAG_NO_BUFFERING\)](#129089) 3. [#129081 Remove dead prioritized-wait path from Unix WaitSubsystem](#129081) @@ -14,7 +14,7 @@ - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年06月07日 17:08:02(UTC) - マージ日時: 2026年06月07日 23:08:29(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 WebAssembly JITにおいて、追跡されたGC変数(tracked GC vars)をGC情報では未追跡(untracked)として報告し、適切にゼロ初期化するようにしました。Wasm JITは追跡されたGCスロットのライフタイム情報を出力しないため(`noTrackedGCSlots`がtrueの場合)、この修正により、(liveness)追跡されたGC変数の正確な処理を実現しています。 @@ -36,7 +36,7 @@ Wasm R2R(Read-ahead-of-time)コンパイラのGC追跡メカニズムに関 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年06月07日 04:15:04(UTC) - マージ日時: 2026年06月07日 06:36:42(UTC) -- ラベル: area-PAL-coreclr +- ラベル: area-PAL-coreclr #### 概要 PAL(Platform Abstraction Layer)ヘッダから削除された `FILE_FLAG_NO_BUFFERING` を使用していた `MapViewOfFile/test1` テストを削除しました。このテストはWindows以外のすべてのプラットフォームでコンパイル失敗を引き起こしていたため、テスト定義ファイルと共に削除されています。 @@ -58,7 +58,7 @@ PAL(Platform Abstraction Layer)ヘッダから削除された `FILE_FLAG_NO_ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年06月06日 21:00:58(UTC) - マージ日時: 2026年06月07日 02:44:31(UTC) -- ラベル: area-System.Threading +- ラベル: area-System.Threading #### 概要 Unix `WaitSubsystem` から未使用の優先待機(prioritized wait)パスを削除するコード削減変更です。内部APIから `prioritize` パラメータを完全に除去し、FIFO(先入れ先出し)の公平な待機方式のみをサポートするように統一しました。公開APIには影響なし。 @@ -102,7 +102,7 @@ public void RegisterWait(int waitedCount, bool isWaitForAll) - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年06月06日 17:15:56(UTC) - マージ日時: 2026年06月07日 18:24:17(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 Wasm R2R コンパイルで仮想関数ポインタ検索(`ldvirtftn`)の処理を修正しました。Wasm は `CORINFO_HELP_READYTORUN_VIRTUAL_FUNC_PTR` ヘルパーに対応していないため、ReadyToRun 固有の最適化パスをバイパスし、代わりに標準的なランタイム `CORINFO_HELP_VIRTUAL_FUNC_PTR` ヘルパーを使用するようにルーティングします。 @@ -123,7 +123,7 @@ Wasm R2R コンパイルで仮想関数ポインタ検索(`ldvirtftn`)の処 - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年06月06日 14:42:27(UTC) - マージ日時: 2026年06月07日 13:56:31(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 WebAssembly上でのRyuJIT実行時にGC参照スロットをプロローグで明示的にゼロ初期化するためのPRです。単一の`memory.fill`命令を使用して、シャドウスタック上のGC参照スロットをゼロ初期化します。 @@ -146,7 +146,7 @@ WebAssembly上でのRyuJIT実行時にGC参照スロットをプロローグで - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年06月04日 16:52:54(UTC) - マージ日時: 2026年06月07日 08:19:06(UTC) -- ラベル: arch-wasm area-Build-mono os-wasi +- ラベル: arch-wasm area-Build-mono os-wasi #### 概要 Mono WASI ツールチェーンを WASI SDK 33.0、wasmtime 45.0.0、WASIp2 0.2.8 にアップグレードし、wasi-libc の新しいディスクリプタテーブル設計(タグ付き合併からファットポインタ+vtable 設計、遅延 pollable 生成)に対応する変更です。System.Net.Sockets のソケットイベントループを更新し、廃止された Node.js ラン スクリプトを削除し、WASI ハンドラが非対応のテストシナリオをスキップします。 @@ -187,7 +187,7 @@ WASIp2 インターフェースの大幅なバージョン更新に伴い、生 - 作成者: [@ViveliDuCh](https://github.com/ViveliDuCh) - 作成日時: 2026年05月29日 23:53:32(UTC) - マージ日時: 2026年06月07日 07:11:58(UTC) -- ラベル: area-System.ComponentModel.DataAnnotations +- ラベル: area-System.ComponentModel.DataAnnotations #### 概要 `Microsoft.Extensions.Options`に非同期スタートアップ検証機能を追加します。新しい`IAsyncValidateOptions`インターフェースと`IAsyncStartupValidator`により、`Host.StartAsync()`実行時に非同期検証パイプラインが動作します。既存の同期パス(`IOptions.Value`、`OptionsFactory.Create()`)は完全に同期のままであり、既存の動作に影響を与えません。 @@ -240,7 +240,7 @@ services.Configure(configuration) - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年05月29日 00:22:06(UTC) - マージ日時: 2026年06月07日 22:35:41(UTC) -- ラベル: area-System.Diagnostics +- ラベル: area-System.Diagnostics #### 概要 スタックトレースの整形処理において、runtime-async メソッドに対して EDI(Exception Dispatcher Indicator)境界を非表示にする変更です。コンパイラ生成の非同期ステートマシンと同様に、runtime-async メソッドでも `--- End of stack trace from previous location ---` という境界表示をスキップし、スタックトレースの可読性を向上させます。 @@ -262,7 +262,7 @@ services.Configure(configuration) - 作成者: [@StephenMolloy](https://github.com/StephenMolloy) - 作成日時: 2026年05月04日 05:59:35(UTC) - マージ日時: 2026年06月07日 15:50:07(UTC) -- ラベル: area-Serialization +- ラベル: area-Serialization #### 概要 XmlSerializerにおけるcollectible型の処理を改善するPRです。特にジェネリックコンテナ(`List`や配列)に含まれるcollectible型に対して、適切なAssemblyLoadContext (ALC) にシリアライザーキャッシュを関連付けることで、メモリリークを防ぎcollectible アセンブリの正常なアンロードを実現します。 diff --git a/archives/2026/06/08.md b/archives/2026/06/08.md index 67af502..b2794b8 100644 --- a/archives/2026/06/08.md +++ b/archives/2026/06/08.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#129130 Arm64:\[PAC-RET\] Use hint-space instruction for stripping return address](#129130) 2. [#129124 Add OpenBSD support for ICU library loading](#129124) 3. [#129114 \[cDAC\] Ensure mt created](#129114) @@ -33,7 +33,7 @@ - 作成者: [@SwapnilGaikwad](https://github.com/SwapnilGaikwad) - 作成日時: 2026年06月08日 14:21:32(UTC) - マージ日時: 2026年06月08日 20:38:22(UTC) -- ラベル: arch-arm64 area-VM-coreclr community-contribution +- ラベル: arch-arm64 area-VM-coreclr community-contribution #### 概要 ARM64プロセッサのPAC-RET(Pointer Authentication Code - Return)機能において、リターンアドレスをストリップする際にヒント空間命令を使用するように変更しました。フレームポインタ(FP)とリンクレジスタ(LR)をアンワインド情報とともに保存することで、LRが上書きされた状態でアンワインドが発生するシナリオに対応しています。 @@ -59,7 +59,7 @@ ARM64プロセッサのPAC-RET(Pointer Authentication Code - Return)機能 - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年06月08日 12:15:34(UTC) - マージ日時: 2026年06月08日 21:20:59(UTC) -- ラベル: area-System.Globalization community-contribution os-openbsd +- ラベル: area-System.Globalization community-contribution os-openbsd #### 概要 OpenBSDにおけるICUライブラリの読み込みに対応しました。OpenBSDはICUバージョン番号ではなくABIバージョニングをSONAMEで使用するため、バージョン付きライブラリ名の読み込みではなく、バージョンなしのdlopen呼び出しとシンボルバージョニングプローブを使用するよう変更しました。 @@ -80,7 +80,7 @@ OpenBSDプラットフォームの国際化機能サポート向上に寄与す - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年06月08日 04:22:51(UTC) - マージ日時: 2026年06月08日 13:51:46(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Compact Diagnostic Access Component)の`RuntimeTypeSystem_1`コントラクト実装において、`MethodDesc`から開始するコードパスで`_methodTables`辞書にアクセスする前に、`MethodTable`が確実に作成・キャッシュされるように修正しました。これにより、`MethodDesc`経由で汎用コンテキストやメタデータ関連プロパティをクエリする際の`KeyNotFoundException`などのランタイム失敗を防ぎます。 @@ -105,7 +105,7 @@ cDAC(Compact Diagnostic Access Component)の`RuntimeTypeSystem_1`コント - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年06月08日 03:55:09(UTC) - マージ日時: 2026年06月08日 06:14:03(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT/ILCにおける凍結オブジェクトのシンボル名マングリング処理で、数字で終わる型名とアロケーションサイトIDが衝突する問題を修正します。型名とIDの間に区切り文字を挿入することで、名前の曖昧性を排除します。 @@ -126,7 +126,7 @@ NativeAOT/ILCにおける凍結オブジェクトのシンボル名マングリ - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年06月08日 01:37:06(UTC) - マージ日時: 2026年06月08日 17:34:25(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(Compact Data Access Contract)の RuntimeTypeSystem コントラクトで、Continuation 関連のグローバルポインタ(`_continuationMethodTablePointer` と `_continuationSingletonEEClassPointer`)が遅延初期化される問題を修正します。これらのポインタはスタートアップ時には初期化されず、最初の Continuation 作成時に初期化されるため、ライブターゲットの診断時に null 値を読む可能性がありました。本修正により、キャッシュされた値が null の場合、必要に応じて再度ポインタを読み込むようになります。 @@ -148,7 +148,7 @@ cDAC(Compact Data Access Contract)の RuntimeTypeSystem コントラクト - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年06月08日 00:32:03(UTC) - マージ日時: 2026年06月08日 23:54:52(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 WASM R2R JITコンパイラの`genCodeForBinaryOverflow`関数において、符号なし加算・減算(`GT_ADD`/`GT_SUB`)のオーバーフロー検出ロジックが誤って符号付きXORベースのアルゴリズムを使用していた問題を修正しました。`treeNode->IsUnsigned()`フラグを正しく参照し、符号なしオーバーフロー検出を実装します。 @@ -173,7 +173,7 @@ WASM R2R JITコンパイラの`genCodeForBinaryOverflow`関数において、符 - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年06月07日 22:12:00(UTC) - マージ日時: 2026年06月08日 21:11:58(UTC) -- ラベル: area-PAL-coreclr community-contribution os-openbsd +- ラベル: area-PAL-coreclr community-contribution os-openbsd #### 概要 OpenBSDプラットフォームにおける実行可能ファイルのパスを取得する機能を実装しました。OpenBSD固有のシステムコール対応により、ランタイムの実行ファイルパス取得の互換性を向上させます。 @@ -195,7 +195,7 @@ OpenBSDプラットフォームにおける実行可能ファイルのパスを - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年06月07日 21:15:28(UTC) - マージ日時: 2026年06月08日 14:00:43(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 Range Check最適化における複数の健全性バグを修正し、より正確な値域推論を実装します。主な改善は、`RangeOps::Or`の不正な範囲計算の修正、`UDIV`命令の定数範囲サポート追加、チェック付きバウンドとVN-relop assertionsからの`m_isVNNeverNegative`の自動計算、および`O2K_VN_ADD_CNS`の範囲推論を安全なrelop(LT/LE)に限定することです。 @@ -225,7 +225,7 @@ Range Check最適化における複数の健全性バグを修正し、より正 - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年06月07日 15:54:57(UTC) - マージ日時: 2026年06月08日 14:47:12(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT値番号付け(VN)の不正な簡約を修正しました。`NOT(relop(x,y))`を`Reverse(relop)(x,y)`に書き換える最適化が削除されます。`GT_NOT`はビット反転演算子であり論理否定ではないため、0/1の結果に対して`~v`は-1か-2を生成する一方、`Reverse(relop)`は0か1を生成します。これにより、補数値の下流で使用される算術演算(例:`~v3 >= -1`)が誤った方向に畳み込まれていました。`NOT(NOT(x)) => x`の簡約は正しいため保持されます。 @@ -248,7 +248,7 @@ JIT値番号付け(VN)の不正な簡約を修正しました。`NOT(relop(x - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年06月07日 00:31:15(UTC) - マージ日時: 2026年06月08日 06:59:11(UTC) -- ラベル: arch-wasm area-Infrastructure-mono +- ラベル: arch-wasm area-Infrastructure-mono #### 概要 WebAssembly テスト環境で使用する Chrome のバージョンを更新しました。Linux 環境を 149.0.7827.53 に、Windows 環境を 149.0.7827.54 に各々アップデートしています。 @@ -271,7 +271,7 @@ github-actions[bot] による自動更新PRです。 - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年06月06日 22:28:12(UTC) - マージ日時: 2026年06月08日 15:10:07(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT コンパイラの tail-merge 最適化フェーズを統合しました。スタンドアロンの `PHASE_MERGE_THROWS` フェーズを削除し、その機能を `PHASE_HEAD_TAIL_MERGE` に統合することで、コード複雑性を低減しつつ、terminal block(return/throw)の tail-merge 動作を拡張しました。結果として win-x64 でバイナリサイズが 13KB 削減されました。 @@ -298,7 +298,7 @@ JIT のコンパイル処理が統合されることで複雑度が低減され - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年06月06日 17:59:51(UTC) - マージ日時: 2026年06月08日 21:34:05(UTC) -- ラベル: area-System.Runtime community-contribution os-openbsd +- ラベル: area-System.Runtime community-contribution os-openbsd #### 概要 OpenBSD上で`Environment.WorkingSet`プロパティを実装します。FreeBSDの実装パターンに従い、プロセス情報取得の相互運用層を追加することで、OpenBSDでのbootstrap build対応を実現します。 @@ -321,7 +321,7 @@ OpenBSD上で`Environment.WorkingSet`プロパティを実装します。FreeBSD - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年06月06日 13:37:13(UTC) - マージ日時: 2026年06月08日 09:51:09(UTC) -- ラベル: area-System.Net.Http +- ラベル: area-System.Net.Http #### 概要 `HttpRequestMessage.VersionPolicy` と `HttpClient.DefaultVersionPolicy` のセッターに入力値検証を追加しました。無効な `HttpVersionPolicy` enum値を早期に検出し、`ArgumentException` を発生させることで、リクエストパイプライン内部での失敗やsilent mis-behaviorを防止します。 @@ -361,7 +361,7 @@ public HttpVersionPolicy VersionPolicy - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年06月06日 01:44:40(UTC) - マージ日時: 2026年06月08日 21:05:16(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 WebAssemblyのR2R(ReadyToRun)JITで、仮想呼び出しが`LDVIRTFTN`パスに強制される際に、隠し型パラメータ(MD配列のイントリンシック処理など)を含むシグネチャを許可するためのデバッグアサーションを緩和する変更です。 @@ -384,7 +384,7 @@ WebAssemblyのR2R(ReadyToRun)JITで、仮想呼び出しが`LDVIRTFTN`パスに - 作成者: [@davidwrighton](https://github.com/davidwrighton) - 作成日時: 2026年06月04日 22:52:28(UTC) - マージ日時: 2026年06月08日 21:45:26(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 PerfMapログのロック(`s_csPerfMap`)を`CRST_UNSAFE_ANYMODE`に変更し、GCモードの切り替えに関連するデッドロックを回避します。また、VirtualCallStubManager のスタブ生成パスを更新し、PerfMapログが有効な場合に安全にプリエンプティブモードに移行できるようにします。 @@ -411,7 +411,7 @@ PerfMapログのロック(`s_csPerfMap`)を`CRST_UNSAFE_ANYMODE`に変更し - 作成者: [@dhartglassMSFT](https://github.com/dhartglassMSFT) - 作成日時: 2026年06月04日 22:13:43(UTC) - マージ日時: 2026年06月08日 19:24:37(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT Fuzzer(Antigen)のビルドパイプラインを、外部の独立リポジトリから`dotnet/jitutils`リポジトリへ移行する変更です。スパース・チェックアウトを活用して、jitutils全体ではなく必要な部分のみを取得することで、クローン時間を削減します。 @@ -433,7 +433,7 @@ JIT Fuzzer(Antigen)のビルドパイプラインを、外部の独立リポ - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年06月04日 19:59:31(UTC) - マージ日時: 2026年06月08日 20:34:13(UTC) -- ラベル: os-ios area-CodeGen-Interpreter-coreclr +- ラベル: os-ios area-CodeGen-Interpreter-coreclr #### 概要 インタープリタのみの実行モード(フル インタープリタまたはno-JITビルド)において、x64 iOS/tvOSシミュレータ上で`Vector`が256ビットに拡張されてしまう問題を修正しました。インタープリタは128ビット`Vector`のみをサポートしているため、AVX2が利用可能でも128ビットに制限する必要があります。また、Crossgen2が生成するReadyToRun(R2R)コードのベースラインをx86-64-v3からx86-64-v2に変更し、インタープリタとの一致を確保しました。 @@ -460,7 +460,7 @@ iOS/tvOSシミュレータ上で不正な256ビット`Vector`による`NullRe - 作成者: [@liveans](https://github.com/liveans) - 作成日時: 2026年06月04日 09:40:18(UTC) - マージ日時: 2026年06月08日 09:41:04(UTC) -- ラベル: area-System.Net.Security +- ラベル: area-System.Net.Security #### 概要 Windows SSPI/SChannel の `SEC_E_MUTUAL_AUTH_FAILED` (0x8009035D) ステータスをマッピングに追加します。これにより、TLS クライアント認証ハンドシェイク失敗時に `AuthenticationException` が発生し、Debug.Fail でのクラッシュを防ぎます。 @@ -483,7 +483,7 @@ Windows SSPI/SChannel の `SEC_E_MUTUAL_AUTH_FAILED` (0x8009035D) ステータ - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年06月04日 06:56:33(UTC) - マージ日時: 2026年06月08日 06:53:00(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT型プレ初期化インタプリタ/シリアライザの正確性を修正するPRです。ネストされたプレ初期化評価における参照同一性の保持、vtable類似スロット初期化バグの修正、冷凍オブジェクトの可変性追跡をより保守的にしています。 @@ -510,7 +510,7 @@ NativeAOT型プレ初期化インタプリタ/シリアライザの正確性を - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年06月04日 05:09:19(UTC) - マージ日時: 2026年06月08日 02:52:51(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT集約実行形式(aggregate executable)シム バイナリにおいて、マネージドアセンブリのWin32リソースを保持するサポートを追加します。`DumpNativeResources`MSBuildタスクでPEのWin32リソースを`.res`ファイルに変換し、Windowsシム生成時にこれをリンクして、実行時にリソースの存在を検証するテストを追加しました。 @@ -537,7 +537,7 @@ NativeAOT集約実行形式(aggregate executable)シム バイナリにおいて - 作成者: [@MichalStrehovsky](https://github.com/MichalStrehovsky) - 作成日時: 2026年06月04日 04:24:50(UTC) - マージ日時: 2026年06月08日 03:36:33(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 型システム名前サーフェスを `ReadOnlySpan` から新しい `Utf8StringRef` 型に移行するPRです。これにより、デバッガ表示の改善(文字列として意味のある表示)と、`SequenceEqual` の代わりに `==` 演算子での文字列比較が可能になります。 @@ -571,7 +571,7 @@ NativeAOT集約実行形式(aggregate executable)シム バイナリにおいて - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年06月03日 17:41:04(UTC) - マージ日時: 2026年06月08日 19:47:32(UTC) -- ラベル: area-ReadyToRun +- ラベル: area-ReadyToRun #### 概要 ReadyToRun (R2R) コンパイラにおいて、ジェネリック循環検出をデフォルトで有効化し、GVM(Generic Virtual Method)スキャンの過度な展開を防ぐ変更です。System.Linq.Parallel.Tests のコンパイルオーバーフロー問題を解決するため、ジェネリック循環の可能性があるメソッド/型に対して GVM 依存関係の生成をスキップしてコンパイルの過度な増大を抑制します。 @@ -600,7 +600,7 @@ ReadyToRun (R2R) コンパイラにおいて、ジェネリック循環検出を - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年06月03日 09:49:09(UTC) - マージ日時: 2026年06月08日 09:48:41(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 VMR(Virtual Monolithic Repository)からのコードフロー更新であり、dotnet/dotnetリポジトリの複数の依存パッケージをアップデートしています。主に、Roslyn関連(CodeAnalysis)、ビルドツール、ランタイム関連ライブラリの更新が含まれています。 @@ -635,7 +635,7 @@ VMR(Virtual Monolithic Repository)からのコードフロー更新であり - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年06月01日 14:08:21(UTC) - マージ日時: 2026年06月08日 13:56:42(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 ハードウェア割り込み(HW intrinsic)の戻り値の型情報を追跡する仕組みを改善しました。従来は複数のコンシューマー(assertionprop、rangecheck、valuenum)が長いID用スイッチで`bool`または`scalar T`を返すintrinsicを個別に列挙していましたが、これをintrinsicテーブルのフラグ(`HW_Flag_ReturnsBoolean`、`HW_Flag_ReturnsScalarT`)に統一し、`HWIntrinsicInfo`経由でクエリ可能にしました。 @@ -659,7 +659,7 @@ SVE関連のbool/scalar-T intrinsicは意図的にタグ付けしていません - 作成者: [@vitek-karas](https://github.com/vitek-karas) - 作成日時: 2026年06月01日 09:21:54(UTC) - マージ日時: 2026年06月08日 11:16:04(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 CI失敗スキャンフィードバックワークフロー(`ci-failure-scan-feedback`)の編集権限を拡張し、メインスキャナープロンプト(`ci-failure-scan.md`)に加えて、共有KBE作成手順ファイル(`.github/workflows/shared/create-kbe.instructions.md`)の更新を許可するようにしました。コンパイルされたロックワークフローを再生成し、Safe Outputs設定を同期化しています。 @@ -685,7 +685,7 @@ CI失敗スキャンフィードバックワークフロー(`ci-failure-scan-f - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年05月18日 11:14:20(UTC) - マージ日時: 2026年06月08日 16:23:09(UTC) -- ラベル: arch-wasm area-CodeGen-Interpreter-coreclr +- ラベル: arch-wasm area-CodeGen-Interpreter-coreclr #### 概要 WebAssembly/Browser環境のCoreCLRインタープリタで暗黙的テールコール(ITC)検出機能を実装し、`mutual_recursion.fs`テストを再度有効化したPRです。インタープリタのスタックオーバーフロー問題を解決し、F#で発行されたコードの深い再帰処理に対応しています。 @@ -712,7 +712,7 @@ Release構成でのテスト成功を確認。Debug構成では継続的なス - 作成者: [@saucecontrol](https://github.com/saucecontrol) - 作成日時: 2026年03月31日 06:25:29(UTC) - マージ日時: 2026年06月08日 23:08:11(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 xarch(x86-64)ベクトル化バイト乗算のJIT コード生成を改善しました。次のベクトルサイズへの拡張が不可能な場合、従来の実装では不効率な分割・拡張・乗算・縮小を2回繰り返していましたが、奇数/偶数バイトアプローチを採用することで約2倍のパフォーマンス向上を実現しています。 @@ -745,7 +745,7 @@ xarch(x86-64)ベクトル化バイト乗算のJIT コード生成を改善 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年03月08日 22:55:27(UTC) - マージ日時: 2026年06月08日 23:01:26(UTC) -- ラベル: area-NativeAOT-coreclr +- ラベル: area-NativeAOT-coreclr #### 概要 NativeAOT で Out of Memory 例外により終了する際、Linux 上で診断情報なしに `Aborted` とのみ出力される問題を修正しました。`RuntimeExceptionHelpers.FailFast` の最小限フェイルファスト処理で、OOM メッセージを stderr に出力してから `Abort()` を呼び出すように改善しました。プロセス出力は `try/catch {}` で保護されているため、二次的なメモリ割り当て失敗時も既存の abort パスに進みます。 diff --git a/archives/2026/06/09.md b/archives/2026/06/09.md index 5dc1cb3..5460071 100644 --- a/archives/2026/06/09.md +++ b/archives/2026/06/09.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#129190 Update --bootstrap docs with current reality](#129190) 2. [#129187 JIT: fix loop cloning condition for decreasing loops with array-length limit](#129187) 3. [#129173 \[browser\] Enable app UnmanagedCallersOnly Wasm.Build.Tests on CoreCLR](#129173) @@ -37,7 +37,7 @@ - 作成者: [@am11](https://github.com/am11) - 作成日時: 2026年06月09日 20:40:38(UTC) - マージ日時: 2026年06月09日 22:44:30(UTC) -- ラベル: area-Infrastructure community-contribution +- ラベル: area-Infrastructure community-contribution #### 概要 `--bootstrap` ドキュメントを現在の実装状況に合わせて更新するPRです。`ArchiveTests=true` パラメータが個別ライブラリビルドでも機能するようになったことを反映しています。 @@ -60,7 +60,7 @@ - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年06月09日 18:37:54(UTC) - マージ日時: 2026年06月09日 23:01:06(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JITのループクローニング条件導出ロジックにおいて、配列長を上限とする減少ループで、ループ初期値(`init`)ではなく誤ってループ上限(`limit`)に基づいて境界チェック条件が生成される不具合を修正しました。`optDeriveLoopCloningConditions`の`HasArrayLengthLimit`ブランチで、`ident`の上書きを増加ループのみに制限することで、減少ループが正しく初期値ベースの条件を保持するようにしています。 @@ -83,7 +83,7 @@ JITのループクローニング条件導出ロジックにおいて、配列 - 作成者: [@radekdoulik](https://github.com/radekdoulik) - 作成日時: 2026年06月09日 14:43:51(UTC) - マージ日時: 2026年06月09日 17:09:49(UTC) -- ラベル: arch-wasm area-Infrastructure-coreclr +- ラベル: arch-wasm area-Infrastructure-coreclr #### 概要 App-level `[UnmanagedCallersOnly]` メソッドがCoreClR-Wasmで正常に動作するようにするための修正。Release配信時のネイティブリリンク設定と、PInvokeTableGeneratorの戻り値処理を改善し、従来Mono専用だったテストをCoreClRでも実行可能にします。 @@ -108,7 +108,7 @@ App-level `[UnmanagedCallersOnly]` メソッドがCoreClR-Wasmで正常に動作 - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年06月09日 02:20:48(UTC) - マージ日時: 2026年06月09日 07:14:43(UTC) -- ラベル: area-System.Diagnostics +- ラベル: area-System.Diagnostics #### 概要 スタックトレースのフォーマット処理を改善し、`MethodImplAttributes.Async`フラグに基づいてランタイム非同期メソッドを正しく"async"として扱うようにしました。これにより、EDI(Exception Dispatcher Interop)境界マーカーが不適切に付与されるのを防ぎます。NativeAOT上では回帰がないため、そのプラットフォーム上でのテストアサーションをスキップしています。 @@ -130,7 +130,7 @@ App-level `[UnmanagedCallersOnly]` メソッドがCoreClR-Wasmで正常に動作 - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年06月09日 01:30:48(UTC) - マージ日時: 2026年06月09日 22:01:54(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT値番号付け(Value Numbering)の最適化により、符号拡張された整数値の長整数比較を整数比較に狭められるようにしました。これにより、アサーション伝播や境界チェック削除などの下流最適化が、より広い範囲で適用できるようになります。 @@ -154,7 +154,7 @@ JIT値番号付け(Value Numbering)の最適化により、符号拡張された - 作成者: [@janvorli](https://github.com/janvorli) - 作成日時: 2026年06月08日 23:12:50(UTC) - マージ日時: 2026年06月09日 20:01:55(UTC) -- ラベル: area-crossgen2-coreclr +- ラベル: area-crossgen2-coreclr #### 概要 System V AMD64(x64 Unix)における構造体の戻り値分類ロジックの修正。`ComputeReturnValueTreatment`メソッドで、2つのeightbyteがある場合に2番目のeightbyteの分類が誤って1番目の分類を再チェックしていたため、第1eightbyteがSSE分類で第2eightbyteが異なる分類の場合に誤分類が発生していました。この誤分類はGC holeにつながる可能性があります。 @@ -179,7 +179,7 @@ System V AMD64(x64 Unix)における構造体の戻り値分類ロジック - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年06月08日 21:17:28(UTC) - マージ日時: 2026年06月09日 01:45:45(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 SuperPMI streaming toolの`streamingsuperpmi.cpp`ファイルから重複している`#include "commandline.h"`を削除しました。ファイルには必要なincludeが残されており、動作上の変更はありません。 @@ -203,7 +203,7 @@ SuperPMI streaming toolの`streamingsuperpmi.cpp`ファイルから重複して - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年06月08日 14:52:39(UTC) - マージ日時: 2026年06月09日 09:51:25(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 `CI Outer-Loop Failure Scanner — Feedback`ワークフローはスケジュール実行時にトリガーとなるPull Requestが存在しないため、既存の`[ci-scan-feedback]`フィードバックPRへのプッシュと更新に失敗していました。本PRは、safe-outputsの設定を`target: "*"`に変更し、スケジュール実行時でも発見された既存PRを対象に操作できるように修正しています。 @@ -225,7 +225,7 @@ SuperPMI streaming toolの`streamingsuperpmi.cpp`ファイルから重複して - 作成者: [@vcsjones](https://github.com/vcsjones) - 作成日時: 2026年06月08日 14:06:39(UTC) - マージ日時: 2026年06月09日 01:18:13(UTC) -- ラベル: area-System.Security os-android cryptographic-docs-impact +- ラベル: area-System.Security os-android cryptographic-docs-impact #### 概要 AndroidプラットフォームでX25519楕円曲線暗号によるDiffie-Hellman鍵交換をサポートするための実装を追加します。Androidのネイティブ実装の特殊性に対応するため、SubjectPublicKeyInfo/PKCS#8形式への鍵のトランスコーディングと、秘密鍵から公開鍵を復元する機能を実装しています。秘密鍵から公開鍵を復元する際は、X25519(9, privateKey)を計算することで実現しています(9はベースポイントのu座標)。 @@ -253,7 +253,7 @@ AndroidプラットフォームでX25519楕円曲線暗号によるDiffie-Hellma - 作成者: [@alinpahontu2912](https://github.com/alinpahontu2912) - 作成日時: 2026年06月08日 12:30:01(UTC) - マージ日時: 2026年06月09日 16:22:36(UTC) -- ラベル: area-System.Collections +- ラベル: area-System.Collections #### 概要 `ZstandardDictionary.Train`メソッドが、訓練済み辞書を保持するバッファを毎回新規割り当てしていたのを、`ArrayPool.Shared`からレンタルするように変更しました。これにより、推奨される~100KB(zstd CLI デフォルトは112,640バイト)のサイズでLarge Object Heap(LOH)に着地していた割り当てを削減します。 @@ -285,7 +285,7 @@ AndroidプラットフォームでX25519楕円曲線暗号によるDiffie-Hellma - 作成者: [@steveisok](https://github.com/steveisok) - 作成日時: 2026年06月08日 12:05:30(UTC) - マージ日時: 2026年06月09日 01:30:25(UTC) -- ラベル: area-System.Diagnostics +- ラベル: area-System.Diagnostics #### 概要 PR #128735で実装されたランタイム非同期ケースにおけるEDI("--- End of stack trace from previous location ---")スキップ機能を、そのコミットを取り消して元の動作に戻すものです。非同期フレーム検出をコンパイラ生成のステートマシン型チェックに依存させるよう復帰させます。 @@ -307,7 +307,7 @@ PR #128735で実装されたランタイム非同期ケースにおけるEDI(" - 作成者: [@alinpahontu2912](https://github.com/alinpahontu2912) - 作成日時: 2026年06月08日 11:51:29(UTC) - マージ日時: 2026年06月09日 13:20:33(UTC) -- ラベル: area-System.IO.Compression +- ラベル: area-System.IO.Compression #### 概要 `ZipArchive`の非同期読込時に、アーカイブコメント読込が同期的に行われていたのを修正。`ZipEndOfCentralDirectoryBlock.ReadBlockAsync`内で`ReadExactlyAsync`を使用するよう変更し、非同期パスの完全性を確保しました。 @@ -329,7 +329,7 @@ PR #128735で実装されたランタイム非同期ケースにおけるEDI(" - 作成者: [@lewing](https://github.com/lewing) - 作成日時: 2026年06月07日 22:05:54(UTC) - マージ日時: 2026年06月09日 19:53:42(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 WebAssembly JITにおいて、構造体の戻り値がプリミティブ型にリタイプされる際、整数定数の戻り値の型がネイティブ戻り値型と一致していない問題を修正します。WebAssemblyは型付きのバリュースタックを持つため、型の不一致によりコード生成が失敗していました(例:`i64`戻り値に対して`i32.const 0`を生成)。本修正により、`System.Runtime.Intrinsics.Vector64.get_Zero`などの小さな構造体定数戻りがWebAssembly R2Rコンパイルで正しく動作するようになります。 @@ -352,7 +352,7 @@ WebAssembly JITにおいて、構造体の戻り値がプリミティブ型に - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年06月07日 14:28:54(UTC) - マージ日時: 2026年06月09日 22:38:24(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 WASM向けReadyToRun(R2R)コンパイルにおいて、2つのクロスgen2 NYI(Not Yet Implemented)を解決します。`FloatTraits::NaN`と`DoubleTraits::NaN`をWebAssemblyの標準NaNパターンで実装し、同一サイズのビットキャストをno-opとして処理することで、不要な命令生成を削減します。 @@ -374,7 +374,7 @@ Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年06月06日 01:04:06(UTC) - マージ日時: 2026年06月09日 14:06:25(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 WebAssembly RyuJIT コードジェネレータで `GT_STORE_BLK` 処理時に、initblk の塗りつぶし値が **contained** `GT_INIT_VAL` でラップされている場合の処理を修正しました。`genConsumeRegs` を経由せず、他のターゲットと同様に明示的にラップ解除した値を消費するようにすることで、非リーフ含有ノードに対する `OperIsLeaf` アサーション失敗を解決します。 @@ -396,7 +396,7 @@ WebAssembly RyuJIT コードジェネレータで `GT_STORE_BLK` 処理時に、 - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年06月05日 23:31:22(UTC) - マージ日時: 2026年06月09日 16:57:02(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 WebAssembly(RyuJIT)向けに`GT_CKFINITE`命令のコード生成サポートを追加しました。浮動小数点数の有限性チェック(NaN/±Infの検出)をWasm環境で実装し、指数ビットのマスキングおよびテストよりも短いシーケンスで実現しています。 @@ -420,7 +420,7 @@ WebAssembly(RyuJIT)向けに`GT_CKFINITE`命令のコード生成サポー - 作成者: [@kotlarmilos](https://github.com/kotlarmilos) - 作成日時: 2026年06月04日 15:57:31(UTC) - マージ日時: 2026年06月09日 09:37:12(UTC) -- ラベル: area-skills +- ラベル: area-skills #### 概要 CI外側ループの障害対応を自動化する新しいエージェントワークフロー `ci-failure-fix` を導入し、既存の「テストをミュート/無効化」アプローチを「実際の修正またはオーナーへの引き継ぎ」に置き換えます。スキャナをKBE(Known Build Errors)検出専用に縮小し、新ワークフローで確実な修正PR・ヘルプ要求PR・最終手段としてのコメント送信を3段階で実施します。 @@ -445,7 +445,7 @@ CI外側ループの障害対応を自動化する新しいエージェントワ - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年06月04日 08:40:31(UTC) - マージ日時: 2026年06月09日 09:26:40(UTC) -- ラベル: area-Infrastructure +- ラベル: area-Infrastructure #### 概要 CI外側ループ失敗スキャナーが、レグ全体が落ちている場合(例:arm32 NativeAOTテストすべてがSIGBUSでクラッシュ)にN個の重複したKBE(Known Build Error)を生成する問題に対応しています。レグ単位の障害検出ルールを追加し、80%以上のワークアイテムが失敗した場合は複数の個別テストKBEではなく、1つのレグスコープKBEのみを作成するように改善しました。これにより、KBE生成の氾濫と既存Issueの重複クローズを防ぎます。 @@ -468,7 +468,7 @@ CI外側ループ失敗スキャナーが、レグ全体が落ちている場合 - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年06月03日 20:13:24(UTC) - マージ日時: 2026年06月09日 14:28:59(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 Objective-C相互運用機能において、CoreCLRとNativeAOTで異なっていた参照追跡メモリの実装を統一するリファクタリング。CoreCLRを`ConditionalWeakTable`モデルに移行し、syncblkのタグ付きメモリストレージを廃止。これにより、両ランタイムで同じ管理CWT(ConditionalWeakTable)ベースの参照追跡実装を共有。 @@ -502,7 +502,7 @@ Objective-C相互運用機能において、CoreCLRとNativeAOTで異なって - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年06月03日 17:19:36(UTC) - マージ日時: 2026年06月09日 17:34:37(UTC) -- ラベル: area-codeflow +- ラベル: area-codeflow #### 概要 このPRは、dotnet/dotnetリポジトリからのコードフロー更新です。VMR(Virtual Monolithic Repository)を通じて、複数のリポジトリからソースコード変更と依存関係の更新を一括で取り込みます。主な更新対象は、Roslyn、Arcade SDK、NuGetツール、ランタイムコンポーネント、ASP.NET Core、WinForms、WPFなど、.NET開発スタックの広範なコンポーネントです。 @@ -537,7 +537,7 @@ Objective-C相互運用機能において、CoreCLRとNativeAOTで異なって - 作成者: [@elinor-fung](https://github.com/elinor-fung) - 作成日時: 2026年06月02日 18:28:59(UTC) - マージ日時: 2026年06月09日 21:52:32(UTC) -- ラベル: area-Interop-coreclr +- ラベル: area-Interop-coreclr #### 概要 COM interop における基底クラスと派生クラスの間での `ComMethodTable` 共有時に、インターフェース メソッドが異なるターゲット メソッドに解決される場合の不正な動作を修正します。#126002 の変更により、`ComMethodTable` レイアウト時に派生クラスのオーバーライドが先に確定されると、基底クラスが間違ったメソッドを呼び出す問題が発生していました。 @@ -572,7 +572,7 @@ public class Derived : Base { public override void DoWork() { } } - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年06月02日 17:30:50(UTC) - マージ日時: 2026年06月09日 17:17:39(UTC) -- ラベル: Servicing-approved area-CodeGen-coreclr +- ラベル: Servicing-approved area-CodeGen-coreclr #### 概要 .NET 10で導入されたJITエスケープ分析のバグを修正します。C#のコレクション式スプレッド演算子を使用した `[.. a, .. b]` の形式がTier1 + PGO環境下で誤コンパイルされ、第2のソースからの要素がnullのままになるサイレント データロス問題を解決します。 @@ -597,7 +597,7 @@ public class Derived : Base { public override void DoWork() { } } - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年06月02日 12:57:52(UTC) - マージ日時: 2026年06月09日 15:01:22(UTC) -- ラベル: Servicing-approved area-NativeAOT-coreclr +- ラベル: Servicing-approved area-NativeAOT-coreclr #### 概要 NativeAOT発行時に`GCHeapAffinitizeRanges`設定が無視される問題を修正。RuntimeHostConfigurationOption、IlcArgオプション、または環境変数で指定された設定が正しく処理されず、Server GC heap threadがデフォルトのCPUアフィニティにフォールバックしていた。非AOTビルドでは正常に動作するため、NativeAOTランタイムの文字列設定値処理に限定された回帰。 @@ -624,7 +624,7 @@ NativeAOT発行時に`GCHeapAffinitizeRanges`設定が無視される問題を - 作成者: [@max-charlamb](https://github.com/max-charlamb) - 作成日時: 2026年06月01日 23:25:43(UTC) - マージ日時: 2026年06月09日 18:59:46(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 cDAC(CoreClr Data Access Component)のGCストレス検証フレームワークを追加します。このフレームワークは、cDACのスタック参照列挙をランタイムのGCルート報告と比較し、すべてのストレスポイントで検証します。ネイティブ比較器がメモリアロケーション時点で`mscordaccore_universal`をインプロセスロードし、cDACと実行時の両方に対してスタック参照を列挙させて正規化・照合します。 @@ -653,7 +653,7 @@ cDAC(CoreClr Data Access Component)のGCストレス検証フレームワー - 作成者: [@janvorli](https://github.com/janvorli) - 作成日時: 2026年05月28日 21:08:11(UTC) - マージ日時: 2026年06月09日 09:20:48(UTC) -- ラベル: area-CodeGen-Interpreter-coreclr +- ラベル: area-CodeGen-Interpreter-coreclr #### 概要 インタープリタコードの例外処理後の再開(resume-after-catch)メカニズムを、libunwindに依存した従来の実装からネイティブC++例外処理を使用する方式に変更しました。管理フレーム境界での明示的なフレームスキップ処理を追加し、インタープリタスタックポインタの保存状態を削除することで、WASM実装と同様の統一された例外アンワインド方式を実現します。 @@ -679,7 +679,7 @@ cDAC(CoreClr Data Access Component)のGCストレス検証フレームワー - 作成者: [@matouskozak](https://github.com/matouskozak) - 作成日時: 2026年05月21日 13:34:14(UTC) - マージ日時: 2026年06月09日 15:24:28(UTC) -- ラベル: area-Infrastructure os-ios os-tvos os-maccatalyst +- ラベル: area-Infrastructure os-ios os-tvos os-maccatalyst #### 概要 iOS/tvOS シミュレータ、Mac Catalyst、および iOS/tvOS デバイスの Helix キュー参照を `eng/pipelines/helix-platforms.yml` に集約し、arm64 シミュレータキューを `OSX.15.Arm64` から `OSX.26.Arm64`(Tahoe)にバンプします。iOS ファミリーキューの一元化により、今後のバンプは `helix-platforms.yml` のみの変更で対応可能になります。 @@ -705,7 +705,7 @@ iOS/tvOS シミュレータ、Mac Catalyst、および iOS/tvOS デバイスの - 作成者: [@Youssef1313](https://github.com/Youssef1313) - 作成日時: 2026年05月04日 11:55:57(UTC) - マージ日時: 2026年06月09日 13:16:32(UTC) -- ラベル: area-Extensions-Hosting +- ラベル: area-Extensions-Hosting #### 概要 `HostFactoryResolver.ResolveHostFactory`を拡張し、`Microsoft.Extensions.Hosting`が発行する任意の`DiagnosticSource`イベントをリッスンできるようにしました。オプショナルな`arbitraryActions`マップを追加することで、既存の`HostBuilding`/`HostBuilt`フローに加えて、ツール・テスト用途で追加のイベント監視が可能になります。本変更はランタイム動作への影響はなく、内部クラスの機能拡張です。 @@ -730,7 +730,7 @@ iOS/tvOS シミュレータ、Mac Catalyst、および iOS/tvOS デバイスの - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月09日 14:58:14(UTC) - マージ日時: 2026年06月09日 18:15:13(UTC) -- ラベル: area-System.Text.Json +- ラベル: area-System.Text.Json #### 概要 非同期JSON シリアル化中にプロパティベースの `IAsyncEnumerable` エンumeratorが適切に破棄されていなかった問題を修正します。従来は全オブジェクトのシリアル化完了後に破棄していたため、同じレベルの複数の `IAsyncEnumerable` プロパティがあると、先行するエumeratorが破棄される前に後続プロパティの列挙が開始され、リソースリーク(EF Coreでの接続漏洩など)が発生していました。本修正により、エumerator完了時にインラインで `DisposeAsync()` を呼び出し、非同期破棄の場合は待機可能にしています。 @@ -767,7 +767,7 @@ await JsonSerializer.SerializeAsync(stream, new { - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月09日 12:38:24(UTC) - マージ日時: 2026年06月09日 21:06:57(UTC) -- ラベル: area-System.Diagnostics.Process +- ラベル: area-System.Diagnostics.Process #### 概要 `SafeProcessHandle.Open(int processId)`および`SafeProcessHandle.TryOpen(int processId, out SafeProcessHandle? handle)`、ならびに`Process.TryGetProcessById`の新しいPublic APIを実装しました。既存プロセスをPIDで開くための方法を提供し、Windows/Unix間のエラーハンドリング一貫性を確保しています。 @@ -822,7 +822,7 @@ if (Process.TryGetProcessById(processId, out var process)) - 作成者: [@Copilot](https://github.com/apps/copilot-swe-agent) - 作成日時: 2026年04月08日 02:43:31(UTC) - マージ日時: 2026年06月09日 14:53:44(UTC) -- ラベル: area-System.Net.Security +- ラベル: area-System.Net.Security #### 概要 `NegotiateAuthentication`が未登録のSPN(Service Principal Name)に対して、WindowsおよびUnixの両プラットフォームで`GenericFailure`ではなく`TargetUnknown`ステータスを返すように修正しました。KDC内に存在しないターゲットSPNに対する認証エラーが正しく分類されるようになります。 @@ -857,7 +857,7 @@ client.GetOutgoingBlob(null, out var statusCode); - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月31日 02:02:33(UTC) - マージ日時: 2026年06月09日 09:08:13(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/arcadeリポジトリの依存関係を更新するPull Requestです。arcade build 20260601.4(commit efce34e9f9f25af27e2b471fbbf8c21f1ac2e318)に対応して、複数のMicrosoft.DotNet.*パッケージをβ版からより新しいβ版に更新しています。 @@ -891,7 +891,7 @@ dotnet/arcadeリポジトリの依存関係を更新するPull Requestです。a - 作成者: [@dotnet-maestro[bot]](https://github.com/apps/dotnet-maestro) - 作成日時: 2026年03月24日 02:02:12(UTC) - マージ日時: 2026年06月09日 09:08:07(UTC) -- ラベル: Servicing-approved area-codeflow +- ラベル: Servicing-approved area-codeflow #### 概要 dotnet/cecilの依存パッケージをversion 0.11.4-alpha.26158.1から0.11.4-alpha.26281.3へ更新するautomated dependency updateです。この変更はdotnet/runtimeのrelease/8.0ブランチに適用されます。 diff --git a/archives/2026/06/10.md b/archives/2026/06/10.md index 762206b..706e514 100644 --- a/archives/2026/06/10.md +++ b/archives/2026/06/10.md @@ -1,4 +1,4 @@ -### 目次 {#table-of-contents} +### 目次 {#table-of-contents} 1. [#129213 \[cDAC\] fix RuntimeMutableTypeSystem contract name bug](#129213) 2. [#129188 JIT: Fix arm64 shifted-register containment for long compares](#129188) 3. [#129178 Disable SystemCoreLibDirectory on ReadyToRun](#129178) @@ -23,7 +23,7 @@ - 作成者: [@rcj1](https://github.com/rcj1) - 作成日時: 2026年06月10日 03:31:22(UTC) - マージ日時: 2026年06月10日 06:06:10(UTC) -- ラベル: area-Diagnostics-coreclr +- ラベル: area-Diagnostics-coreclr #### 概要 cDAC(Compact Diagnostic Access Component)の契約解決処理における `IRuntimeMutableTypeSystem` のコントラクト名バグを修正しました。`CachingContractRegistry` / `ContractDescriptorTarget` が正しくコントラクトを発見できるよう、バージョン照合時に使用するコントラクト名を修正しています。 @@ -46,7 +46,7 @@ cDAC(Compact Diagnostic Access Component)の契約解決処理における ` - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年06月09日 18:54:31(UTC) - マージ日時: 2026年06月10日 01:25:23(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 ARM64プラットフォームにおいて、シフト演算を含む比較操作(CMP)の遅延レジスタ含有(containment)ロジックを修正しました。従来は比較命令の親ノードの型(常にTYP_INT)からシフト量の最大値を計算していたため、64ビット比較に含まれる32〜63ビットのシフトが含有できず、シフト命令と比較命令が分離されていました。本修正により、シフトノード自身の型を使用して最大シフト量を決定することで、`cmp x0, x1, LSL #55` のような最適化された単一命令への含有が可能になります。 @@ -71,7 +71,7 @@ ARM64プラットフォームにおいて、シフト演算を含む比較操作 - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年06月09日 16:22:35(UTC) - マージ日時: 2026年06月10日 04:51:24(UTC) -- ラベル: area-VM-coreclr +- ラベル: area-VM-coreclr #### 概要 ReadyToRun (R2R) コンポジット モード環境下で `SystemCoreLibDirectory` テストが失敗する問題を解決するため、このテストを CrossGen2/R2R コンパイルから除外します。テストが `System.Private.CoreLib.dll` をカスタムパスにコピーして検証する際に、R2R コンポジットイメージを参照するようになり、別の場所へのコピー時にR2Rイメージの読み込みが失敗するためです。 @@ -92,7 +92,7 @@ ReadyToRun (R2R) コンポジット モード環境下で `SystemCoreLibDirector - 作成者: [@BrzVlad](https://github.com/BrzVlad) - 作成日時: 2026年06月09日 11:45:40(UTC) - マージ日時: 2026年06月10日 04:51:50(UTC) -- ラベル: area-System.Text.Json +- ラベル: area-System.Text.Json #### 概要 System.Text.Jsonのテストスイートにおいて、Monoランタイムで失敗しているテストを`[ActiveIssue]`属性でスキップするようにしました。このアプローチにより、既知の問題を追跡用のGitHub Issueと紐付けながら、テストの失敗を一時的に無視できます。 @@ -116,7 +116,7 @@ System.Text.Jsonのテストスイートにおいて、Monoランタイムで失 - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年06月09日 09:37:53(UTC) - マージ日時: 2026年06月10日 08:43:15(UTC) -- ラベル: area-System.Reflection runtime-async +- ラベル: area-System.Reflection runtime-async #### 概要 非デフォルト`TaskScheduler`を使用したawait継続パスで不要なメモリアロケーションを削減するリファクタリングです。CoreCLRの非同期継続コードが`TaskSchedulerAwaitTaskContinuation`インスタンスを割り当てずに直接継続をスケジュール/実行できるようにしながら、既存のインライン実行とキューイングの動作を保持します。 @@ -139,7 +139,7 @@ System.Text.Jsonのテストスイートにおいて、Monoランタイムで失 - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年06月09日 08:42:31(UTC) - マージ日時: 2026年06月10日 18:29:03(UTC) -- ラベル: area-CodeGen-coreclr runtime-async +- ラベル: area-CodeGen-coreclr runtime-async #### 概要 非同期2(async2)のランタイム非同期変換において、continuation再利用時に戻り値参照をプロアクティブにクリアする変更です。これにより、continuationが再利用される際に結果オブジェクトが意図せず生存し続けることを防ぎます。Async1と同様に、resumption後に待機した呼び出しの戻り値をコピーした後、GC参照をクリアします。 @@ -164,7 +164,7 @@ System.Text.Jsonのテストスイートにおいて、Monoランタイムで失 - 作成者: [@EgorBo](https://github.com/EgorBo) - 作成日時: 2026年06月08日 23:23:56(UTC) - マージ日時: 2026年06月10日 13:14:05(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 `rangecheck.cpp`における JIT コンパイラのクリーンアップ。Range Check が `assertionprop` と重複していた定数インデックス処理を削除し、Array の長さ取得ロジックを修正。従来の SSA ベース `GetRangeWorker` の不正な利用(`DoesOverflow` 呼び出し欠落)を VN ベース `GetRangeFromAssertions` に置き換え、正確性を向上させた。 @@ -190,7 +190,7 @@ System.Text.Jsonのテストスイートにおいて、Monoランタイムで失 - 作成者: [@alinpahontu2912](https://github.com/alinpahontu2912) - 作成日時: 2026年06月08日 10:47:10(UTC) - マージ日時: 2026年06月10日 12:17:07(UTC) -- ラベル: area-System.IO.Compression +- ラベル: area-System.IO.Compression #### 概要 System.IO.Compression内のZIP64メタデータ解析を強化し、malformedなZIP64 extra-field値を即座に検出・拒否します。これまでは負の値が後で検出されていましたが、本変更によりパース時に早期終了してInvalidDataExceptionを発生させます。[#127990](https://github.com/dotnet/runtime/pull/127990)のフォローアップです。 @@ -213,7 +213,7 @@ System.IO.Compression内のZIP64メタデータ解析を強化し、malformedな - 作成者: [@dotnet-renovate-bot](https://github.com/dotnet-renovate-bot) - 作成日時: 2026年06月08日 08:15:29(UTC) - マージ日時: 2026年06月10日 09:44:17(UTC) -- ラベル: area-Infrastructure community-contribution +- ラベル: area-Infrastructure community-contribution #### 概要 ビルドツール前提条件用のコンテナイメージダイジェストを自動更新するPR。mcr.microsoft.com/dotnet-buildtools/prereqs イメージの22個のダイジェストが新しいバージョンに更新されています。これはRenovate Botによる自動化された依存関係更新です。 @@ -237,7 +237,7 @@ System.IO.Compression内のZIP64メタデータ解析を強化し、malformedな - 作成者: [@pavelsavara](https://github.com/pavelsavara) - 作成日時: 2026年06月07日 16:02:10(UTC) - マージ日時: 2026年06月10日 16:52:24(UTC) -- ラベル: arch-wasm area-Build-mono os-wasi +- ラベル: arch-wasm area-Build-mono os-wasi #### 概要 Mono AOT on WASIの有効化と、AOT-トリム済みWASIビルドに必要なテストインフラストラクチャの修正。 @@ -274,7 +274,7 @@ WASI起動時にAOTイメージから参照されるアセンブリの遅延読 - 作成者: [@github-actions[bot]](https://github.com/apps/github-actions) - 作成日時: 2026年06月07日 13:25:47(UTC) - マージ日時: 2026年06月10日 04:54:03(UTC) -- ラベル: area-System.Diagnostics.Tracing os-android agentic-workflows +- ラベル: area-System.Diagnostics.Tracing os-android agentic-workflows #### 概要 Android上のMonoランタイムで`BasicEventSourceTests.ActivityTracking`テストが一貫して失敗する問題に対応するPRです。これらのテストではEventSource Start/Stop操作後もActivity IDがall-zeros Guidのままとなり、Androidの特定の条件(スレッド/アクティビティコンテキストの伝播に問題)が原因です。`[ActiveIssue]`属性に`PlatformDetection.IsAndroid && PlatformDetection.IsMonoRuntime`条件を追加し、スキップ対象をAndroid Mono環境のみに限定します。 @@ -298,7 +298,7 @@ Android上のMonoランタイムで`BasicEventSourceTests.ActivityTracking`テ - 作成者: [@barosiak](https://github.com/barosiak) - 作成日時: 2026年06月05日 21:48:16(UTC) - マージ日時: 2026年06月10日 18:51:23(UTC) -- ラベル: area-Diagnostics-cdac +- ラベル: area-Diagnostics-cdac #### 概要 `EnumerateMonitorEventWaitList` APIの実装を、DAC(デバッグアクセスコンポーネント)と cDAC(マネージドDAC)の両方から削除します。基盤となるwaiter-to-thread マッピング(`Condition.t_waiterForCurrentThread`)が`Condition.Wait`時にクリアされることで破損していること、および現在このAPIを呼び出すコンシューマーがないことから、`E_NOTIMPL`を返すように変更します。 @@ -320,7 +320,7 @@ Copilotが生成した概要との矛盾があります。実装追加ではな - 作成者: [@AndyAyersMS](https://github.com/AndyAyersMS) - 作成日時: 2026年06月04日 23:30:47(UTC) - マージ日時: 2026年06月10日 18:25:18(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 JIT のループクローニング発見的手法を改善し、ループ本体のブロックを実行頻度で重み付けして費用計算を行うように変更しました。これにより、冷たいブロック(実行頻度の低いブロック)がクローニングの判定に過度に影響するのを防ぎ、ホット化可能な小さな GDV チェックを含むループに対してクローニングがより積極的に適用されるようになります。System.Collections.ContainsTrue.ImmutableList で約 7% のパフォーマンス回復が見込まれます。 @@ -347,7 +347,7 @@ JIT のループクローニング発見的手法を改善し、ループ本体 - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年06月03日 12:41:57(UTC) - マージ日時: 2026年06月10日 12:53:23(UTC) -- ラベル: area-Meta runtime-async +- ラベル: area-Meta runtime-async #### 概要 Runtime async生成機能が利用可能になったが、現在のところASP.NETでパフォーマンス低下が報告されているため、プールされた非同期メソッド(`PoolingAsyncValueTaskMethodBuilder*`)に対してruntime async生成をオプトアウトするメカニズムを導入します。内部属性`RuntimeAsyncMethodGeneration`を新規定義し、該当するメソッドに`[RuntimeAsyncMethodGeneration(false)]`を適用して、runtime asyncへの変換を回避します。 @@ -374,7 +374,7 @@ Runtime async生成機能が利用可能になったが、現在のところASP. - 作成者: [@rzikm](https://github.com/rzikm) - 作成日時: 2026年06月03日 11:44:19(UTC) - マージ日時: 2026年06月10日 09:01:09(UTC) -- ラベル: area-System.Net.Security +- ラベル: area-System.Net.Security #### 概要 Unix/OpenSSL環境でTLS 1.3のPost-Handshake Authentication (PHA)が有効でない場合に、`SslStream.NegotiateClientCertificateAsync`が例外をスローするのではなく、正常に何もしない(no-op)ように改善します。クライアント証明書をオファーしないピアとの通信時の暗号例外を回避します。 @@ -398,7 +398,7 @@ Unix/OpenSSL環境でTLS 1.3のPost-Handshake Authentication (PHA)が有効で - 作成者: [@BoyBaykiller](https://github.com/BoyBaykiller) - 作成日時: 2026年05月31日 02:34:21(UTC) - マージ日時: 2026年06月10日 12:31:09(UTC) -- ラベル: area-CodeGen-coreclr community-contribution +- ラベル: area-CodeGen-coreclr community-contribution #### 概要 JITコンパイラのデバッグビルドにおいて、`igDataSize`の割り当てを修正するパッチです。`igDataSize`は命令記述子(instruction descriptors)の開始アドレスからのサイズを表すべきですが、GC変数を含むIG全体のサイズ(`gs`)で割り当てられていました。これを正しくコードサイズ(`sz`)に変更し、デバッグアサーションエラーを解決します。 @@ -421,7 +421,7 @@ JITコンパイラのデバッグビルドにおいて、`igDataSize`の割り - 作成者: [@jakobbotsch](https://github.com/jakobbotsch) - 作成日時: 2026年05月22日 12:01:34(UTC) - マージ日時: 2026年06月10日 12:19:13(UTC) -- ラベル: area-CodeGen-coreclr +- ラベル: area-CodeGen-coreclr #### 概要 CoreCLR JIT/VMのデバッグ情報表現を更新し、マネージド呼び出しの戻り値を`CALL_INSTRUCTION` IPマッピングエントリに依存する従来の方式から、新しい`CALL_RETURN_ILNUM`センチネルと`callReturnValueILOffset`フィールドを持つ明示的な`ICorDebugInfo::NativeVarInfo`エントリとして表現するように変更しました。この変更により、デバッグ情報のエンコード/デコード経路も対応が必要となります。 @@ -447,7 +447,7 @@ JITインターフェースバージョンガイド(`jiteeversionguid.h`)が更 - 作成者: [@tmds](https://github.com/tmds) - 作成日時: 2026年05月19日 09:08:20(UTC) - マージ日時: 2026年06月10日 09:27:47(UTC) -- ラベル: area-System.IO community-contribution +- ラベル: area-System.IO community-contribution #### 概要 `System.IO.FileSystemWatcher`がLinux/macOS上で監視対象のルートディレクトリが削除または移動された場合に`Error`イベントを発生させるように改善しました。これによりWindowsの動作に合わせて、監視が無効になったことを通知できるようになります。 diff --git a/src/PRDigest.NET/Program.cs b/src/PRDigest.NET/Program.cs index de0b340..67519d7 100644 --- a/src/PRDigest.NET/Program.cs +++ b/src/PRDigest.NET/Program.cs @@ -220,7 +220,7 @@ async ValueTask SummarizePullRequestAsync(PullRequestInfo[] pullRequestI var labels = pr.PullRequest.Labels; var labelText = labels.Count > 0 ? - string.Join(" ", labels.Select(label => $"{label.Name}")) : + string.Join(" ", labels.Select(label => $"{label.Name}")) : "指定なし"; var prHeader = $$"""