注意点
このページは、dotnet/runtimeリポジトリにマージされたPull Requestを自動的に収集し、その内容をAIが要約した内容を表示しています。そのため、必ずしも正確な要約ではない場合があります。
目次
- #126533 Revert FEATURE_CORPROFILER into FEATURE_DYNAMIC_CODE_COMPILED block
- #126530 Revert "Inline CORINFO_HELP_ARRADDR_ST helper call, remove WriteBarrier FCall"
- #126497 [release/11.0-preview3] Source code updates from dotnet/dotnet
- #126481 [minipal] Add getentropy() fallback for platforms without getrandom()
- #126338 Improve trimability of System.Diagnostics.Process by lazily initializing remote machine support
- #126290 [release/10.0] Update dependencies from dotnet/xharness
- #126222 Convert MethodDescCallSite to UCO in entrypoints
- #126009 Convert breaking-change-doc workflow to GitHub agentic workflow
- #125902 Denote cgroups as unsupported on OpenBSD
#126533 Revert FEATURE_CORPROFILER into FEATURE_DYNAMIC_CODE_COMPILED block
- 作成者: @Copilot
- 作成日時: 2026年04月04日 04:39:51(UTC)
- マージ日時: 2026年04月04日 04:47:16(UTC)
- ラベル: 指定なし
概要
FEATURE_CORPROFILERのフィーチャーフラグ定義が誤ってFEATURE_DYNAMIC_CODE_COMPILEDブロック内に配置されていたのを修正します。プロファイラーサポートは動的コード生成と独立しており、iOS/Androidなどプラットフォーム間で一貫して扱う必要があるため、フラグを独立した箇所に復元します。
変更内容
- src/coreclr/clrfeatures.cmake:
FEATURE_CORPROFILERをデフォルト有効化する定義をFEATURE_DYNAMIC_CODE_COMPILEDブロック外に復元- WASM環境での
FEATURE_CORPROFILER 0上書き定義を復元 - コミット
799c878の変更を部分的に取り消し
パフォーマンスへの影響
影響なし
関連Issue
その他
本修正は内部実装(CMakeビルド設定)の範囲内での変更です。FEATURE_CORPROFILERは公開APIではなく、プロファイラー機能の内部フラグです。この修正により、プロファイラー機能の有効化がプラットフォームの動的コード生成サポートの有無に左右されなくなります。
#126530 Revert "Inline CORINFO_HELP_ARRADDR_ST helper call, remove WriteBarrier FCall"
- 作成者: @jkotas
- 作成日時: 2026年04月04日 01:43:32(UTC)
- マージ日時: 2026年04月04日 05:08:05(UTC)
- ラベル: area-CodeGen-coreclr
概要
PR #117583で導入されたJIT側のインライン化・イントリンシック処理を取り除き、stelem.ref配列格納とWriteBarrier処理を従来のパターンに戻すRevartです。RuntimeHelpers.WriteBarrier イントリンシックを削除し、CastHelpers.WriteBarrier をFCALL経由のJIT_WriteBarrier_Callable ヘルパーに置き換えます。これにより#126516の問題を修正することが期待されています。
変更内容
- JITコンパイラ: CORINFO_HELP_ARRADDR_ST の"helper-or-user-equivalent"ハンドリングをhelper-only検出に戻す、RuntimeHelpers.WriteBarrier イントリンシック関連のコード(namedintrinsiclist、importercalls、morph、importer、gentree、compiler.h)を削除
- ランタイムヘルパー: 全アーキテクチャ(AMD64、ARM64、ARM、i386、RISC-V、LoongArch64、WASM)で新しいJIT_WriteBarrier_Callable エントリーポイント(アセンブリ実装)を追加
- マネージドAPI: CastHelpers.WriteBarrierをFCALLとしてecalllist.hに登録、stelem.ref処理をJIT_WriteBarrier_Callable経由に変更
- NativeAOT: RuntimeHelpers.WriteBarrier シムを削除し、InternalCalls.RhpAssignRef を使用するよう変更
パフォーマンスへの影響
影響なし(Revert による設計パターン変更のため、ベンチマーク結果は提供されていません)
関連Issue
その他
この変更は前のアプローチの問題点を解決するためのRevert です。ヘルパーコール方式への回帰により、stelem.ref 配列要素格納時のWriteBarrier処理が従来の呼び出し規約に戻ります。
#126497 [release/11.0-preview3] Source code updates from dotnet/dotnet
- 作成者: @dotnet-maestro[bot]
- 作成日時: 2026年04月03日 05:20:18(UTC)
- マージ日時: 2026年04月04日 17:49:18(UTC)
- ラベル: Servicing-approved area-Infrastructure-libraries
概要
dotnet/dotnetから.NET 11.0 Preview 3リリース用のソースコードを同期するCodeflow更新PRです。主にコンパイラツール、ビルドツール、ランタイムコンポーネント、NuGetツール、WebAssembly関連パッケージの依存関係を更新し、複数のリポジトリ(Arcade、ASP.NET Core、EFCore、Roslyn、SDK等)からの最新コード変更を取り込みます。
変更内容
- 依存関係更新: Microsoft.CodeAnalysis系(5.6.0→5.7.0)、Microsoft.DotNet系ビルドツール(複数パッケージを11.0.0-beta.26172.108→11.0.0-beta.26202.110に更新)、NuGet系ツール(7.6.0-rc.17308→7.6.0-rc.20310)、ランタイムツール(JIT Tools、Mono LLVM、WebAssembly Node Transportを19.1.0-alpha.1.26159.1→26167.1へ更新)
- Version.Details.props/xml: 全152行と306行の依存関係情報を更新
- プロジェクトファイル更新: CoreLib、System.Private.CoreLib、各System.*ライブラリ等20+のプロジェクトファイルに標準プロパティ2行を追加
- ビルド設定: source-index-stage1.ymlとglobal.jsonを更新
- 関連リポジトリの統合: arcade、aspnetcore、efcore、fsharp、msbuild、roslyn、sdk等13リポジトリの最新コミットを取り込み
パフォーマンスへの影響
影響なし
関連Issue
なし
その他
- Codeflow PR(VMRからのソース同期)のため、複数リポジトリの統合更新です
- ビルド日時: 2026年4月3日 4:36:31 UTC(メタデータ)
#126481 [minipal] Add getentropy() fallback for platforms without getrandom()
- 作成者: @lewing
- 作成日時: 2026年04月02日 18:26:24(UTC)
- マージ日時: 2026年04月04日 17:28:35(UTC)
- ラベル: 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() を持つ他のプラットフォームにも対応します。
変更内容
random.c—HAVE_GETRANDOMとHAVE_BCRYPT_Hの間に#elif HAVE_GETENTROPYブランチを追加。getentropy()を使用した暗号化乱数生成処理を実装(1回の呼び出しで最大256バイトをサポート)configure.cmake—check_symbol_exists(getentropy "unistd.h" HAVE_GETENTROPY)でgetentropy()のシンボル存在確認を追加minipalconfig.h.in—#cmakedefine01 HAVE_GETENTROPYマクロ定義を追加
パフォーマンスへの影響
影響なし。既存プラットフォームの動作に変更はなく、WASI など getentropy() のみ提供するプラットフォームに対して新たな機能を提供します。
関連Issue
その他
- この変更は NativeAOT-LLVM が WASI-WASM をターゲットにする際の
PlatformNotSupportedExceptionエラーを解決します getentropy()は既に C ランタイム起動時(スタックカナリア用)で使用されており、シンボルが確実にリンクされています__wasi__判定の代わりに CMake の機能検出を使用するため、他のgetentropy()対応プラットフォームにも自動的に適用されます
#126338 Improve trimability of System.Diagnostics.Process by lazily initializing remote machine support
- 作成者: @Copilot
- 作成日時: 2026年03月31日 00:33:08(UTC)
- マージ日時: 2026年04月04日 01:40:17(UTC)
- ラベル: area-System.Diagnostics.Process tenet-performance size-reduction
概要
System.Diagnostics.Process の NativeAOT トリミング性を向上させるため、リモートマシン対応をレイジー初期化し、ローカルプロセス列挙用の専用エントリポイントを追加しました。従来、Process.Start("notepad.exe").WaitForExit() のような単純な使用でもリーチング可能性の連鎖により PerformanceCounterLib やリモートレジストリ機能が含まれていたものを、遅延初期化デリゲート技法により分離します。Win-x64 NativeAOT アプリで約 22% (340kB) のコード削減を実現しました。
変更内容
- ProcessManager.Windows.cs: リモートサポート用のレイジー初期化デリゲート
HandleRemoteMachineSupportと、ローカルのみ対応のGetProcessById、GetProcesses、GetProcessesByNameエントリポイントを追加しました(内部APIの変更)。 - ProcessManager.Unix.cs: リモートマシン呼び出しで
HandleRemoteMachineSupportを経由するよう更新し、リモート非対応時に PlatformNotSupportedException をスロー。 - ProcessManager.Linux.cs:
GetProcessInfosにプロセス名フィルタリング機能を追加し、名前指定での列挙効率を復元。 - ProcessManager.SunOS/BSD/FreeBSD/OSX.cs: ローカルのみの署名に統一。
- Process.cs:
GetProcessById、GetProcesses、GetProcessesByNameのローカル専用実装を追加し、リモート対応オーバーロードへのルーティングを回避。 - Process.Windows/Linux/BSD.cs: マシン名指定のオーバーロードを
HandleRemoteMachineSupport経由に統一。
パフォーマンスへの影響
コード削減:
- Win-x64 NativeAOT アプリ(Process.Start + WaitForExit のみ): 1550kB → 1210kB(-22%、340kB 削減)
- PerformanceCounterLib やリモートレジストリ関連の不要なコンパイル対象が削減される
実行時パフォーマンス:
- ローカルプロセス操作の高速パスにより、不要なリモート対応コード経由を回避
- Linux での
GetProcessesByNameで名前フィルタリング効率を復元
関連Issue
#126332 に貢献
その他
- 内部API変更: ProcessManager の各プラットフォーム実装のメソッド署名が変更されていますが、これらは内部APIのため公開APIの互換性への影響はありません
- プラットフォーム差異: リモートプロセス列挙は Windows のみ対応で、Unix ベースのプラットフォームではリモート呼び出し時に例外をスロー(既存動作を維持)
#126290 [release/10.0] Update dependencies from dotnet/xharness
- 作成者: @dotnet-maestro[bot]
- 作成日時: 2026年03月30日 05:03:50(UTC)
- マージ日時: 2026年04月04日 05:16:31(UTC)
- ラベル: 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にアップデートされました。
変更内容
.config/dotnet-tools.json: ツール設定の更新eng/Version.Details.props: バージョン詳細プロパティの更新eng/Version.Details.xml: バージョン詳細XMLの更新
パフォーマンスへの影響
影響なし
関連Issue
なし
その他
- このPRはMaestroの自動依存更新メカニズムにより生成されました
- 更新対象のビルド: dotnet/xharness 20260323.1
- 更新コミット: e5857fbbc3f1d39d2776af5a5e3235c9ff485afa
#126222 Convert MethodDescCallSite to UCO in entrypoints
- 作成者: @am11
- 作成日時: 2026年03月27日 19:31:37(UTC)
- マージ日時: 2026年04月04日 15:01:22(UTC)
- ラベル: area-VM-coreclr community-contribution
概要
MethodDescCallSiteをUnboxedCallOp(UCO)に変換し、エントリーポイントでの呼び出しを最適化するPRです。スレッド開始時のRunMainInternalとメソッド呼び出し時のCorHost2::ExecuteAssemblyを対象としており、#123864の優先度3項目を実装しています。
変更内容
- CoreLib層:
System.Private.CoreLibに環境関連のネイティブメソッド定義を追加(54行) - VM層の呼び出し変換:
assembly.cpp/hpp: MethodDescCallSiteからUCOベースの呼び出しに変換(61行変更)corhost.cpp: ExecuteAssemblyの呼び出し方式を更新(23行変更)
- 周辺機能の対応:
debugdebugger.cpp: デバッガ対応の更新(7行)eepolicy.cpp: ポリシー処理の対応(13行)exceptionhandling.cpp: 例外処理の対応(13行)metasig.h: メタシグネチャ定義追加(3行)wasm/callhelpers-reverse.cpp: WebAssembly向けの対応(14行)
パフォーマンスへの影響
影響なし(パフォーマンス数値の記載がないため)
関連Issue
その他
- 複数ラウンドのレビューを経ており、特に
jkotas、AaronRobinsonMSFT、janvorliによる詳細なレビューが実施されている - UCOへの変換はランタイムの内部実装(VM層)に関わる最適化であり、公開API互換性への影響はない
#126009 Convert breaking-change-doc workflow to GitHub agentic workflow
- 作成者: @ericstj
- 作成日時: 2026年03月24日 02:55:30(UTC)
- マージ日時: 2026年04月04日 00:41:48(UTC)
- ラベル: area-skills
概要
Breaking Change ドキュメンテーション自動化ワークフローをレガシーな PowerShell スクリプト + 従来の GitHub Actions ワークフローから GitHub Agentic Workflow(gh-aw)ベースの実装に移行します。新しいアプローチでは、専用の breaking-change-doc スキルとヘルパースクリプトを使用して、PR の破壊的変更に関するドキュメント生成を自動化します。
変更内容
- 削除:
eng/breakingChanges/配下のレガシー PowerShell ツール(config.ps1、breaking-change-doc.ps1)と関連ドキュメント、および従来の.github/workflows/breaking-change-doc.ymlワークフロー定義 - 追加:
.github/workflows/breaking-change-doc.md(agentic ワークフロー ソース).github/workflows/breaking-change-doc.lock.yml(コンパイル済みワークフロー定義).github/skills/breaking-change-doc/SKILL.md(スキル定義と処理フロー).github/skills/breaking-change-doc/Get-VersionInfo.ps1(Git タグに基づくバージョン検出).github/skills/breaking-change-doc/Build-IssueComment.ps1(PR コメント生成ヘルパー).github/aw/actions-lock.json(gh-aw アクション SHA ロック設定)
- 修正:
.gitattributesに*.lock.ymlをマージ戦略merge=oursで登録
パフォーマンスへの影響
影響なし
関連Issue
なし
その他
本変更はワークフローインフラストラクチャの現代化に関するもので、公開 API や ランタイム動作には直接的な影響はありません。ワークフロー実行ロジックは PowerShell から agentic workflow へ移行されますが、最終的な破壊的変更ドキュメント生成の機能は維持されます。
#125902 Denote cgroups as unsupported on OpenBSD
- 作成者: @sethjackson
- 作成日時: 2026年03月22日 01:35:32(UTC)
- マージ日時: 2026年04月04日 04:40:17(UTC)
- ラベル: area-PAL-coreclr community-contribution os-openbsd
概要
OpenBSDがcgroupsをサポートしていないことを明示するための修正です。併せてHAVE_NON_LEGACY_STATFSの問題も修正しています。
変更内容
- src/coreclr/pal/src/configure.cmake: OpenBSD向けのcgroups非サポート設定を追加
- src/coreclr/pal/src/misc/cgroup.cpp: OpenBSD向けのcgroups実装を調整
パフォーマンスへの影響
影響なし
関連Issue
その他
なし