注意点
このページは、dotnet/runtimeリポジトリにマージされたPull Requestを自動的に収集し、その内容をAIが要約した内容を表示しています。そのため、必ずしも正確な要約ではない場合があります。
目次
- #132847 Temporarily disable Helix Job Monitor
- #132837 [release/11.0] Fix "Bad IL range" when applying a hot reload update without FEATURE_REJIT
- #132818 Fix "Bad IL range" when applying a hot reload update without FEATURE_REJIT
- #132795 JIT: Fix empty-block cycle hang
- #132794 Document async validation cancellation contract
- #132790 [release/10.0] Source code updates from dotnet/dotnet
- #132781 Remove redundant s_calls counter in async regression test
- #132770 Invalidate SmtpClient cached connection when connection-affecting properties change
- #132764 Add message template formatting to DataAnnotations validation attributes
- #132737 Fix ConcurrentQueue.TryDequeue spuriously reporting empty during a segment freeze
- #132701 Extend Zstandard SmallestSize test fallback to Apple mobile platforms
- #132684 [release/10.0] Update dependencies from dotnet/xharness
- #132683 [release/9.0-staging] Update dependencies from dotnet/xharness
- #132679 [release/9.0-staging] Update dependencies from dotnet/arcade
- #132658 Optimize AsyncLocal maps with many entries
- #132649 [release/9.0-staging] Update dependencies from dotnet/roslyn
- #132645 [release/11.0] Restore TPA duplicate precedence to keep managed DLLs over native EXEs
- #132487 JIT: relaxed early ir checks
- #132383 [release/8.0-staging] Update dependencies from dotnet/xharness
- #132271 Fix JSON schema nullability for readonly properties
- #131746 Arm64-SVE: Fixes for returning Vector<T> through the return buffer
- #131494 Migrate CLR->COM stubs to transient IL
- #130695 Remove dead net9 code
#132847 Temporarily disable Helix Job Monitor
- 作成者: @garath
- 作成日時: 2026年08月27日 18:39:23(UTC)
- マージ日時: 2026年08月27日 18:49:18(UTC)
- ラベル: area-Infrastructure
概要
Azure DevOps(ADO)の負荷軽減を目的として、複数のAzure PipelinesテンプレートでenableHelixJobMonitorフラグをtrueからfalseに変更し、Helix Job Monitorを一時的に無効化します。この変更はビルド・テスト実行時のモニタリング機能に影響を与えます。
変更内容
- 影響範囲:
eng/pipelines/配下の44個のYAMLファイルでenableHelixJobMonitorをfalseに設定- runtime系パイプライン(runtimelab、runtime-wasm、runtime-llvm、runtime-android等)
- coreclr系パイプライン(ci、crossgen2、gcstress、r2r等)
- libraries系パイプライン(outerloop、outerloop-mono)
- 変更内容: 各パイプライン定義で
enableHelixJobMonitor: falseに統一 - 性質: 設定変更のみで、ランタイムコードやコンパイラ実装への影響なし
パフォーマンスへの影響
Azure DevOps側の負荷軽減が期待される。ただし、Helix Job Monitorの無効化により、ビルドおよびテスト実行時の監視・ロギング機能が低下する可能性あり。
関連Issue
その他
本変更は「一時的」とされており、将来的な復旧が予定されている可能性があります。ADO負荷の状況改善後の復帰フローが別途追跡される見込み。
#132837 [release/11.0] Fix "Bad IL range" when applying a hot reload update without FEATURE_REJIT
- 作成者: @github-actions[bot]
- 作成日時: 2026年08月27日 14:38:04(UTC)
- マージ日時: 2026年08月27日 21:12:07(UTC)
- ラベル: Servicing-approved area-VM-coreclr
概要
ホットリロード更新を適用する際に、FEATURE_REJITが有効でない環境で「Bad IL range」エラーが発生する問題を修正します。このPRは#132818のrelease/11.0へのバックポートです。
変更内容
- src/coreclr/vm/codeversion.cpp: 5行削除
- ホットリロード処理時のILレンジ検証ロジックの修正
パフォーマンスへの影響
影響なし
関連Issue
その他
- 本PRはリリースブランチ(release/11.0)へのバックポート
- テスト内容や詳細な修正内容は元のPR#132818を参照が必要
- ホットリロード機能に関連する内部実装(CoreCLR VM)の修正
#132818 Fix "Bad IL range" when applying a hot reload update without FEATURE_REJIT
- 作成者: @rolfbjarne
- 作成日時: 2026年08月27日 05:52:58(UTC)
- マージ日時: 2026年08月27日 14:13:18(UTC)
- ラベル: area-Diagnostics-coreclr
概要
JIT非搭載プラットフォーム(iOS、tvOS、Mac Catalyst、WASM)でFEATURE_REJITが無効な場合、ホットリロード(Edit and Continue)時にILコード版の解決が失敗し、"Bad IL range"例外が発生する問題を修正します。CodeVersionManager::GetILCodeVersion()が常にデフォルトILバージョンを返していたため、EnC で作成された非デフォルトバージョンを正しく検出できていませんでした。
変更内容
- src/coreclr/vm/codeversion.cpp
CodeVersionManager::GetILCodeVersion(PTR_MethodDesc, ReJITID)のFEATURE_REJIT条件付きコードブロックを削除rejitId == 0(デフォルト版)の場合は早期リターンで既存動作を保持FEATURE_REJITが無効でも、ILCodeVersionCollection経由で非デフォルトバージョンのルックアップが可能になるよう修正
パフォーマンスへの影響
影響なし
関連Issue
その他
- この変更はホットリロード機能を完全に失灰させるリグレッションを修正するもので、iOS/tvOS/Mac Catalystのテストが無効化されていた状況を解消します
FEATURE_METADATA_UPDATER(ホットリロード)は有効でもFEATURE_REJITが無効な構成に対応し、非デフォルトILコード版は ReJIT 固有ではないという実装原則を正す修正です
#132795 JIT: Fix empty-block cycle hang
- 作成者: @AndyAyersMS
- 作成日時: 2026年08月26日 19:55:20(UTC)
- マージ日時: 2026年08月27日 22:34:34(UTC)
- ラベル: area-CodeGen-coreclr
概要
JIT最適化処理で無限ループが発生する問題を修正しました。fgOptimizeBranchToEmptyUnconditionalが2ブロックの空サイクルのみを検出していた制限を解除し、エッジリダイレクト前に任意のサイズの空の無条件サイクルを検出するように改善しました。これにより、フロー最適化が正常に終了するようになります。
変更内容
- src/coreclr/jit/fgopt.cpp: 空の無条件サイクル検出ロジックを拡張(25行追加、6行削除)
- src/tests/JIT/Regression/JitBlue/Runtime_132785/Runtime_132785.cs: 回帰テストケース追加(55行追加)
AggressiveOptimization属性を使用してFullOpts実行時の動作確認
- src/tests/JIT/Regression/Regression_ro_2.csproj: 共有JIT回帰テストランナーへのテスト登録(1行追加)
パフォーマンスへの影響
影響なし。この変更は無限ループ問題の修正であり、コンパイル時の無限ハング状態を解消するものです。
関連Issue
その他
- CoreCLR および libraries ビルド確認済み
- 回帰テストは修正前のJITでハング、修正後のJITでパス確認
Regression_ro_2ビルドおよびjit-formatチェック完了- 内部実装(JITコンパイラの最適化パス)の変更のため、公開APIへの影響なし
#132794 Document async validation cancellation contract
- 作成者: @ViveliDuCh
- 作成日時: 2026年08月26日 18:58:22(UTC)
- マージ日時: 2026年08月27日 20:39:23(UTC)
- ラベル: area-System.ComponentModel.DataAnnotations
概要
AsyncValidationAttributeの非同期検証におけるキャンセレーション契約をドキュメント化する変更です。実装者に対して、キャンセレーション要求時にすぐに処理を停止する必要があることを、呼び出し元に対しては検証期間を制限する方法を説明するコメントを追加しています。
変更内容
- src/libraries/System.ComponentModel.Annotations/src/System/ComponentModel/DataAnnotations/AsyncValidationAttribute.cs
IsValidAsyncメソッドに<remarks>セクションを追加:実装がキャンセレーション要求時にすぐに処理を停止する必要があることを説明GetValidationResultAsyncメソッドに<remarks>セクションを追加:同様の動作仕様と、タイムアウト設定されたキャンセレーショントークンの使用を推奨
パフォーマンスへの影響
影響なし
関連Issue
#132705(このドキュメント変更はそのフォローアップ)
その他
- ドキュメントのみの変更であり、実装ロジックの変更はなし
- 既存テストスイートは全て合格(System.ComponentModel.Annotations.Tests: 984 passed、Options関連テスト合計656 passed)
- 公開APIの契約仕様を明確化する変更
#132790 [release/10.0] Source code updates from dotnet/dotnet
- 作成者: @dotnet-maestro[bot]
- 作成日時: 2026年08月26日 16:48:41(UTC)
- マージ日時: 2026年08月27日 12:39:39(UTC)
- ラベル: Servicing-approved area-codeflow
概要
このPull Requestは、dotnet/dotnetリポジトリからのコードフロー更新です。release/10.0ブランチに対する依存関係の更新とソースコードの同期を行っています。主にMicrosoft.CodeAnalysis、Microsoft.DotNet系のビルドツール、NuGet関連パッケージなどの複数の依存関係がアップデートされています。
変更内容
- eng/Version.Details.xml・eng/Version.Details.props: 複数の依存関係バージョンの更新
- Microsoft.CodeAnalysis系: 5.0.0-2.26418.103 → 5.0.0-2.26424.122
- Microsoft.DotNet.* 関連ビルドツール: 10.0.0-beta.26418.103 → 10.0.0-beta.26424.122
- NuGet.Frameworks/Packaging/ProjectModel/Versioning: 7.0.3-rc.41903 → 7.0.3-rc.42522
- その他System.Text.Json、System.Reflection.Metadata等の維持
- NuGet.config: NuGetフィード設定の更新
- global.json: SDK/ツールバージョン情報の更新
- eng/common/core-templates/job/onelocbuild.yml: ローカライゼーションビルドテンプレートの調整
パフォーマンスへの影響
影響なし(依存関係の更新と設定ファイルの同期のみ)
関連Issue
なし
その他
- このPRはコードフロー自動更新です(dotnet-maestroボット実行)
- 複数のリポジトリ(arcade、aspnetcore、cecil、efcore、emsdk、razor、roslyn、runtime、sdk等)から同期されたコミット群を含みます
- release/10.0.1xxブランチからの同期で、2026年8月25日時点のビルド(#328477)に対応しています
#132781 Remove redundant s_calls counter in async regression test
- 作成者: @jakobbotsch
- 作成日時: 2026年08月26日 13:41:35(UTC)
- マージ日時: 2026年08月27日 08:45:32(UTC)
- ラベル: area-VM-coreclr
概要
非同期リグレッションテスト Runtime_132017 で使用されていた冗長な s_calls カウンターを削除します。このカウンターは await の後でインクリメントされるため、fire-and-forget の Print と await された Print が非アトミックなインクリメントで競合し、間欠的なテスト失敗を引き起こしていました。テストの意図する動作は既に存在する s_log の順序付けられたアサーションで十分に検証されています。
変更内容
s_calls静的フィールドの削除s_callsのリセット/インクリメント処理の削除Assert.Equal(2, s_calls)アサーションの削除s_logの既存の順序付けアサーションで意図した動作の検証を継続
パフォーマンスへの影響
影響なし(テストコードの簡潔化のため)
関連Issue
その他
この変更はテストの信頼性を向上させます。複数のタスクが同期されるテストシナリオにおいて、非アトミックなカウンター操作による競合状態を排除することで、テスト実行の安定性が改善されます。
#132770 Invalidate SmtpClient cached connection when connection-affecting properties change
- 作成者: @rzikm
- 作成日時: 2026年08月26日 09:05:10(UTC)
- マージ日時: 2026年08月27日 09:11:27(UTC)
- ラベル: area-System.Net
概要
SmtpClientがキャッシュしたSmtpConnectionを再利用する際、接続に関連するプロパティの変更後も古い接続が使用され続ける問題を修正しました。プロパティ変更時にキャッシュを無効化し、次の送信時に新しい設定で接続を再確立するようになりました。
変更内容
- SmtpClient.cs:
Host、Port、Credentials、UseDefaultCredentials、EnableSsl、TargetNameプロパティのセッターにキャッシュ無効化ロジックを追加。プロパティ変更時にSmtpTransportをstale状態にマーク(非ブロッキング) - SmtpTransport.cs:
_staleフラグをvolatileとして追加。GetConnectionAsync内で遅延的にstale接続を中止して置換。Host変更時にデフォルトTargetName(SMTPSVC/<host>)も更新 - SmtpClientConnectionTest.cs: 接続プロパティ変更が新規接続を確立することを検証するテストを追加(
Host、Credentials、TargetNameの変更テスト、複数サーバーへのルーティング確認など) - SmtpClientTlsTest.cs:
EnableSsl変更後の暗号化接続再確立テストを追加
パフォーマンスへの影響
プロパティセッターはstale フラグの設定のみ(非ブロッキング)で処理。接続の実際の中止・再確立は次の送信時にGetConnectionAsync内で遅延実行されるため、セッター実行時のブロッキング回避。プロパティ値が変更されない場合は通常の接続再利用が維持される。
関連Issue
その他
- 送信中のプロパティ変更は
InvalidOperationException (SmtpInvalidOperationDuringSend)をスロー。無効化と送信のレース状態を回避 Send、SendAsync、SendMailAsyncの3つの送信パスで検証volatileキーワードにより、複数スレッド環境でのstale フラグの可視性を保証(マルチスレッドでの接続再利用防止)- PR作成者はGitHub Copilot
#132764 Add message template formatting to DataAnnotations validation attributes
- 作成者: @ViveliDuCh
- 作成日時: 2026年08月25日 21:28:51(UTC)
- マージ日時: 2026年08月27日 19:29:58(UTC)
- ラベル: area-System.ComponentModel.DataAnnotations
概要
DataAnnotations検証属性に新しい公開API ValidationAttribute.FormatMessage を追加し、呼び出し元が外部でローカライズされた複合形式文字列を供給できるようにしました。各検証属性は自身のプレースホルダー引数の提供を担当し、既存の FormatErrorMessage の動作は変わりません。
public virtual string FormatMessage(
[StringSyntax("CompositeFormat")] string format,
string name)
変更内容
- ValidationAttribute.cs: 新しい仮想メソッド
FormatMessageを追加し、基本FormatErrorMessage実装をこのメソッドを通じてルーティング - 各検証属性のオーバーライド:
CompareAttribute、FileExtensionsAttribute、LengthAttribute、MaxLengthAttribute、MinLengthAttribute、RangeAttribute、RegularExpressionAttribute、StringLengthAttributeでFormatMessageをオーバーライド - 既存プレースホルダー順序の保持: 複数のプレースホルダー(例:
{1}、{2})を必要とする属性は、既存の引数順序とCurrentCultureフォーマット動作を維持 - 参照定義の更新: System.ComponentModel.Annotations.cs の公開APIサーフェスを更新
- テストカバレッジ拡充: 仮想ディスパッチ、カルチャ対応フォーマッティング、無効な形式、null引数を含む包括的なテストを追加
パフォーマンスへの影響
影響なし
関連Issue
その他
- すべてのテスト(1,008件)が成功:コンパイル警告0、エラー0
- Microsoft.Extensions.Options生成コードのベースラインも更新されており、新しいAPI利用による生成コードの変更に対応
- 新しい
FormatMessageメソッドは[StringSyntax("CompositeFormat")]で注釈されており、IDEでの複合形式文字列の検証をサポート
#132737 Fix ConcurrentQueue.TryDequeue spuriously reporting empty during a segment freeze
- 作成者: @kafka1991
- 作成日時: 2026年08月25日 07:53:37(UTC)
- マージ日時: 2026年08月27日 19:57:01(UTC)
- ラベル: area-System.Collections community-contribution
概要
ConcurrentQueue.TryDequeueが、セグメントフリーズ時にストアの順序による競合状態により、実際には要素を含むセグメントを誤って空と報告する問題を修正しました。修正により、Tailの更新をフラグの公開前に実行することで、デキュー時の三つの可能なペアリングすべてにおいて正確な判定を保証します。
変更内容
- ConcurrentQueueSegment.cs:
EnsureFrozenForEnqueues内で_frozenForEnqueuesフラグの公開順序を変更。Tail をFreezeOffsetだけ先に更新してから、_frozenForEnqueues = trueを公開するように修正(7行追加、5行削除)。 - ConcurrentQueueTests.cs: セグメントフリーズ時の偽の空報告を検証するテストケースを追加(45行追加)。
パフォーマンスへの影響
直接的なパフォーマンス低下はありません。修正前は128M操作あたり約100回の偽の空報告が発生していた問題が解決され、TryDequeueの信頼性が向上します。フリーズ後のデキュー操作は確定的な結果を返すようになり、スピンリトライの対象シナリオは正当な競合状態(Tail更新中の読み取り)に限定されます。
関連Issue
その他
修正の核心は、メモリ順序の問題です:Interlocked.Addは全フェンスを保証しますが、スレッドが二つのストア操作の間で停止可能であり、その停止窓でデキュースレッドが古いTail値と新しいフラグ値を観測する可能性がありました。Tailを先に更新することで、フラグが見える時点では常にTail値も更新済みとなり、デキューのロジックが正確に機能します。
#132701 Extend Zstandard SmallestSize test fallback to Apple mobile platforms
- 作成者: @Copilot
- 作成日時: 2026年08月24日 13:31:45(UTC)
- マージ日時: 2026年08月27日 09:21:08(UTC)
- ラベル: area-System.IO.Compression os-tvos
概要
tvOSなどのメモリ制約のあるAppleモバイルプラットフォームで、CompressionLevel.SmallestSizeがZstdの最高品質モード(800MB以上のワーキングメモリ必要)を使用することによりOutOfMemoryExceptionが発生する問題を修正します。テストのみの変更で、製品コードには影響ありません。
変更内容
- CompressionStreamUnitTests.Zstandard.cs: Zstdテストストリームファクトリの
SmallestSizeからOptimalへの落ち戻し条件を拡張- 既存の32ビットプロセスの条件に加えて、
PlatformDetection.IsAppleMobileがtrueの場合も落ち戻しを適用 - 両方の
CreateStream(Stream, CompressionLevel)オーバーロードに一貫して適用 - 条件:
if ((PlatformDetection.Is32BitProcess || PlatformDetection.IsAppleMobile) && level == CompressionLevel.SmallestSize)
- 既存の32ビットプロセスの条件に加えて、
パフォーマンスへの影響
影響なし(テストのみの変更)
関連Issue
その他
このPRはテストの安定性向上を目的とした変更で、AppleモバイルプラットフォームにおけるZstandardの圧縮テストでOutOfMemoryExceptionの間欠的な発生を防ぎます。
#132684 [release/10.0] Update dependencies from dotnet/xharness
- 作成者: @dotnet-maestro[bot]
- 作成日時: 2026年08月24日 05:05:56(UTC)
- マージ日時: 2026年08月27日 12:46:05(UTC)
- ラベル: Servicing-approved area-codeflow
概要
dotnet/xharness の依存関係を更新するMaestroによる自動PR。Microsoft.DotNet.XHarness関連パッケージを11.0.0-prerelease.26413.1から11.0.0-prerelease.26419.1へアップグレード。
変更内容
- eng/Version.Details.xml: xharnessビルド情報とコミットハッシュの更新(26413.1→26419.1)
- eng/Version.Details.props: Microsoft.DotNet.XHarness.CLI、TestRunners.Common、TestRunners.Xuinitパッケージのバージョン更新
- .config/dotnet-tools.json: dotnet-toolsの設定ファイル更新
パフォーマンスへの影響
影響なし
関連Issue
なし
その他
- これはMaestroの自動依存関係更新PR(dotnet-maestro[bot]による自動作成)
- release/10.0ブランチへの更新
- 変更日時: 2026年8月19日 UTC(テスト日時の記録)
#132683 [release/9.0-staging] Update dependencies from dotnet/xharness
- 作成者: @dotnet-maestro[bot]
- 作成日時: 2026年08月24日 05:04:15(UTC)
- マージ日時: 2026年08月27日 12:45:41(UTC)
- ラベル: Servicing-approved area-codeflow
概要
dotnet/xharnessの依存関係を更新するPull Requestです。Microsoft.DotNet.XHarness関連のパッケージを11.0.0-prerelease.26413.1から11.0.0-prerelease.26419.1にアップデートしました。
変更内容
.config/dotnet-tools.json: dotnet-toolsの構成ファイルを更新(1行追加、1行削除)eng/Version.Details.xml: バージョン詳細情報を更新(6行追加、6行削除)- Microsoft.DotNet.XHarness.CLI
- Microsoft.DotNet.XHarness.TestRunners.Common
- Microsoft.DotNet.XHarness.TestRunners.Xunit
eng/Versions.props: バージョンプロパティを更新(3行追加、3行削除)
パフォーマンスへの影響
影響なし
関連Issue
なし
その他
- 本更新は自動化されたdotnet-maestro[bot]による依存関係更新です
- xharnessコミット: 8dd9b8e6004e22c7b120af0631f0809865ff2088
- 構成変更のみで、ランタイムコード自体への直接的な変更はありません
#132679 [release/9.0-staging] Update dependencies from dotnet/arcade
- 作成者: @dotnet-maestro[bot]
- 作成日時: 2026年08月24日 02:02:55(UTC)
- マージ日時: 2026年08月27日 12:33:00(UTC)
- ラベル: Servicing-approved area-codeflow
概要
dotnet/arcadeの依存関係を更新するPull Requestです。arcadeパッケージが9.0.0-beta.26420.3から9.0.0-beta.26423.5へ、XUnitパッケージが2.9.0-beta.26420.3から2.9.0-beta.26423.5へそれぞれアップグレードされています。
変更内容
- eng/Version.Details.xml: arcadeおよびXUnitの依存バージョンを更新(Microsoft.SourceBuild.Intermediate.arcade、Microsoft.DotNet.Arcade.Sdk、Microsoft.DotNet.Build.Tasks.*シリーズ、Microsoft.DotNet.CodeAnalysis、Microsoft.DotNet.GenAPI/GenFacades、Microsoft.DotNet.Helix.Sdk、Microsoft.DotNet.PackageTesting、Microsoft.DotNet.RemoteExecutor、Microsoft.DotNet.SharedFramework.Sdk、Microsoft.DotNet.VersionTools.Tasks、Microsoft.DotNet.XliffTasks、Microsoft.DotNet.XUnitExtensions、Microsoft.DotNet.XUnitAssert、Microsoft.DotNet.XUnitConsoleRunnerの計21パッケージ)
- eng/Versions.props: バージョン定義を更新
- eng/common/core-templates/job/onelocbuild.yml: ビルド設定テンプレートを微調整
- global.json: グローバル設定を更新
パフォーマンスへの影響
影響なし
関連Issue
なし
その他
自動化されたMaestro依存関係更新PRです。release/9.0-stagingブランチ向けの定期的な依存関係アップデートです。
#132658 Optimize AsyncLocal maps with many entries
- 作成者: @thomhurst
- 作成日時: 2026年08月22日 15:27:56(UTC)
- マージ日時: 2026年08月27日 20:26:09(UTC)
- ラベル: area-System.Threading community-contribution
概要
ManyElementAsyncLocalValueMapの内部実装を最適化し、Dictionary<IAsyncLocal, object?>を不変なキー/値配列、バケット配列、衝突チェーン配列に置き換えました。既存値の更新ではキー/値配列のみをクローンし、ルックアップ配列は共有します。16要素以下のマップは既存実装を維持します。
変更内容
- src/libraries/System.Private.CoreLib/src/System/Threading/AsyncLocal.cs:
ManyElementAsyncLocalValueMapのデータ構造をDictionary から不変配列ベースのハッシュテーブルに変更。キーの追加・削除時は新しいルックアップ配列を構築し、既存値の更新時はキー/値配列のクローンと既存ルックアップ配列の共有により効率化。
パフォーマンスへの影響
17要素以上のマップにおいて大幅な改善:
既存値の書き込み(17要素以上):
- 17要素: 3.9倍高速化(164.11ns → 41.95ns)
- 64要素: 5.9倍高速化(460.82ns → 78.27ns)
- 256要素: 8.6倍高速化(1,793.85ns → 208.47ns)
- メモリ割り当て削減: 42~50%
読み取り性能(17要素以上):
- 17要素: 21%向上(6.256ns → 4.951ns)
- 64要素: 23%向上(6.276ns → 4.853ns)
- 256要素: 22%向上(6.246ns → 4.858ns)
16要素以下の実装は変更なし、パフォーマンスへの影響なし。
関連Issue
なし
その他
内部実装の変更のみで公開APIへの影響はありません。ランタイムのコアライブラリ(System.Private.CoreLib)の内部最適化です。16~17要素の境界での表現形式の切り替えは既存テスト(AsyncLocalTests)で検証済みです。ルックアップ配列は不変で参照を共有する設計のため、マルチスレッド環境での安全性が担保されています。
#132649 [release/9.0-staging] Update dependencies from dotnet/roslyn
- 作成者: @dotnet-maestro[bot]
- 作成日時: 2026年08月22日 02:02:19(UTC)
- マージ日時: 2026年08月27日 12:29:38(UTC)
- ラベル: Servicing-approved area-codeflow
概要
dotnet/roslynの依存関係を更新するPull Requestです。Roslyn 4.12.0-3.26417.1から4.12.0-3.26423.8へのバージョン更新が含まれています。
変更内容
eng/Version.Details.xml: Roslyn関連の依存関係バージョン情報を更新(+8/-8行)eng/Versions.props: バージョン定義を更新(+3/-3行)
更新対象の依存関係:
- Microsoft.SourceBuild.Intermediate.roslyn
- Microsoft.CodeAnalysis
- Microsoft.CodeAnalysis.CSharp
- Microsoft.Net.Compilers.Toolset
パフォーマンスへの影響
影響なし
関連Issue
なし
その他
- 更新元:dotnet/roslyn release/dev17.12ブランチ
- ビルド日時:2026年8月23日 10:46:19 UTC
- Maestroの自動依存関係更新PR(dotnet-maestro[bot]による作成)
- このPRは .NET 9.0のリリース準備ブランチ(release/9.0-staging)への更新です
#132645 [release/11.0] Restore TPA duplicate precedence to keep managed DLLs over native EXEs
- 作成者: @github-actions[bot]
- 作成日時: 2026年08月21日 22:43:02(UTC)
- マージ日時: 2026年08月27日 13:50:40(UTC)
- ラベル: Servicing-approved area-VM-coreclr
概要
.NET 11でランタイムを直接ホストするシナリオにおいて、マネージドDLLがネイティブEXEより優先されるべきというTPA(Trusted Platform Assemblies)の重複優先順位を復元する変更。VS debugger xplatビルドの起動失敗(エラーコード 0x80070002)を修正します。
変更内容
- src/coreclr/binder/applicationcontext.cpp: TPA重複チェックロジックを修正し、マネージドアセンブリが優先される順序を復元(+4行、-1行)
パフォーマンスへの影響
影響なし
関連Issue
#132589(オリジナルPR) #122643(回帰の原因PR)
その他
- 本PRはrelease/11.0へのバックポート
- 対象ブランチが
release/11.0で正しい(.NET 10以上は-staging不要) - リスク度:低(以前の動作の復元)
- 影響範囲:coreclrを直接ホストするシナリオのみ(nethost経由のホスティングシナリオは影響なし)
- 手動検証済み:修正を含むランタイムでVS debuggerの動作を確認
#132487 JIT: relaxed early ir checks
- 作成者: @AndyAyersMS
- 作成日時: 2026年08月18日 20:02:17(UTC)
- マージ日時: 2026年08月27日 00:17:53(UTC)
- ラベル: area-CodeGen-coreclr
概要
JITコンパイラの初期段階(最初の5フェーズ)でIRフラグ検証を有効化し、「緩和」セマンティクスを導入しています。余分なフラグは許容しつつ不足しているフラグではアサーション発生させます。また、フラグが適切に伝播していなかった箇所を修正し、NewObjArrayArgsローカル変数のリサイズ時にGTF_USE_ASGフラグが必要になる問題に対応しています。
変更内容
- compiler.cpp/compiler.h:
CHECK_IR_RELAXEDフェーズチェック種別を追加し、初期フェーズで緩和IR検証を有効化 - fgdiagnostic.cpp: 余分なIRフラグを許容する緩和チェックロジックを実装し、
IRExtraFlagsメトリクスで余分フラグ数をカウント - phase.cpp: 各フェーズでの余分フラグ増分をレポート
- jitmetadatalist.h:
IRExtraFlagsメトリクスをJITメトリクスリストに追加 - importercalls.cpp: 呼び出しノードのサイドエフェクトフラグ伝播を改善(
GTF_ALL_EFFECTに拡張) - importer.cpp:
NewObjArrayArgsのリサイズ回避のため必要に応じて新しいテンプを割り当て、一部のミューテーション後にサイドエフェクトを更新 - hwintrinsic.cpp/gentree.cpp/fgprofile.cpp: 内在関数やSIMD操作、プロファイリング計測後にサイドエフェクトフラグを更新
パフォーマンスへの影響
影響なし(検証・メトリクス収集のみで、最適化挙動に変更なし)
関連Issue
なし
その他
このPRはIRフラグの一貫性向上を目指すもので、余分フラグをメトリクスとして追跡することで、将来的にこれらをゼロに削減する基礎を構築しています。内部実装変更であり、公開APIへの影響はありません。
#132383 [release/8.0-staging] Update dependencies from dotnet/xharness
- 作成者: @dotnet-maestro[bot]
- 作成日時: 2026年08月17日 05:02:35(UTC)
- マージ日時: 2026年08月27日 12:27:19(UTC)
- ラベル: 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.26370.1から11.0.0-prerelease.26419.1にアップデートされます。
変更内容
.config/dotnet-tools.json: XHarnessツールバージョンの更新(1行変更)eng/Version.Details.xml: 依存関係の詳細バージョン情報の更新(6行変更)eng/Versions.props: プロパティファイルのバージョン定義の更新(3行変更)
パフォーマンスへの影響
影響なし
関連Issue
なし
その他
- 自動依存関係更新(dotnet-maestroによる)
- 2026年8月19日のビルド(Build ID: 20260819.1)に基づく更新
- release/8.0-stagingブランチへの更新
#132271 Fix JSON schema nullability for readonly properties
- 作成者: @Youssef1313
- 作成日時: 2026年08月13日 11:41:17(UTC)
- マージ日時: 2026年08月27日 15:05:24(UTC)
- ラベル: area-System.Text.Json
概要
System.Text.JsonのJsonSchemaExporterにおけるnullability推論を修正しました。読み取り専用プロパティやreadonly フィールドのスキーマnullability判定が、存在しないアクセッサ(getterやsetter)を不正にnullableとして扱っていた問題に対応しています。スキーマnullabilityは利用可能なアクセッサ(getter/setter)のみを考慮するように調整されました。
変更内容
- JsonSchemaExporter.cs: nullability判定ロジックを改善。getterが存在する場合のみ
IsGetNullableを、setterが存在する場合のみIsSetNullableを参照するように修正 - JsonSchemaExporterTests.TestTypes.cs: 読み取り専用プロパティとreadonlyフィールドのスキーマ生成に関する回帰テストと新しいテスト用POCOを追加
- JsonSchemaExporterTests.cs: テスト追加(詳細は変更内容に含まれていないため不明)
パフォーマンスへの影響
影響なし
関連Issue
その他
本修正は将来的な根本的な修正(IsGetNullableとIsSetNullableの基礎値の修正)までの暫定的な対応と位置づけられており、関連Issueは開いたまま保持されています。RC1向けの簡便な解決策です。
#131746 Arm64-SVE: Fixes for returning Vector<T> through the return buffer
- 作成者: @snickolls-arm
- 作成日時: 2026年08月03日 13:51:12(UTC)
- マージ日時: 2026年08月27日 10:45:20(UTC)
- ラベル: area-CodeGen-coreclr community-contribution arm-sve
概要
ARM64-SVE環境におけるVector<T>の戻り値処理を修正するもので、以下の2つの改善を行います:
- 戻り値バッファがTYP_SIMDの場合、デバッグ情報を無効化(AOT環境でのスタックオフセット計算が不正確になるため)
- ローカル変数がTYP_SIMDの場合、隠れた戻り値バッファ最適化を無効化(フルベクトル呼び出し規約サポート時に不要になるため先制的に対応)
変更内容
- src/coreclr/jit/codegencommon.cpp (+8):TYP_SIMDを含む戻り値バッファのデバッグ情報を無効化する処理を追加
- src/coreclr/jit/lclmorph.cpp (-1):隠れた戻り値バッファ最適化の適用条件にTYP_SIMDチェックを追加
パフォーマンスへの影響
影響なし(デバッグ情報の無効化と最適化の制限により、正確性向上が優先されている)
関連Issue
なし
その他
- 変更の性質:内部実装(JITコンパイラの最適化パス)
- 影響範囲:ARM64-SVE環境での戻り値処理、AOT/JIT両方に関連
- 破壊的変更:なし
#131494 Migrate CLR->COM stubs to transient IL
- 作成者: @jkoritzinsky
- 作成日時: 2026年07月28日 21:42:17(UTC)
- マージ日時: 2026年08月27日 01:17:53(UTC)
- ラベル: area-Interop-coreclr
概要
CLR→COMスタブをTransient IL技術に移行し、メモリとパフォーマンスを改善。従来はCOM importメソッドごとに独立したILStubResolverとDynamicMethodDescを割り当てていたのに対し、本変更ではマーシャリングILをCLRToCOMCallMethodDescに直接生成してJIT後に破棄。これにより秘密引数の必要性が消滅し、スタックフレームが削減される。
変更内容
- Transient IL生成 (
dllimport.cpp,clrtocomcall.cpp):CLRToCOMCall::CreateCLRToCOMCallMethodILで各メソッドのILを生成し、MethodDesc::TryGenerateTransientILImplementationを経由。DoPrestubが通常のPrepareInitialCode経由でルーティング - 秘密引数廃止 (
dllimport.h,stubhelpers.cpp): インターフェース型やCOMスロット情報をJIT時に固定値として埋め込み。PInvokeStubLinker::m_pStubContextMDとStubHelpers.GetComInterfaceFromMethodDescFCall削除 - デバッガ対応 (
stubmgr.cpp,stubmgr.h): 新規CLRToCOMStubManagerを実装し、Early-bound/Late-bound/イベント呼び出しのステップ実行をサポート - クリーンアップ (
method.hpp,comdelegate.cpp): 使用不可能なDynamicMethodDesc::StubCLRToCOMInterop等の削除、デリゲートパスの未到達コード削除 - バグ修正 (
corelib.h):VALIDATE_OBJECTとVALIDATE_BYREFのバインダシグネチャ不一致を修正(P/Invoke pinned local時のアサート修正) - テスト追加 (
ComImportUnimplementedMethod): マネージドクラスが[ComImport]インターフェースを実装していない場合のTypeLoadException検証
パフォーマンスへの影響
- メモリ削減: IL用の別途
DynamicMethodDescとILStubResolverの割り当てが廃止 - フレーム削減: 秘密引数コンテキスト経由の間接呼び出しが廃止され、スタックフレームが削減
- 最適化機会向上: 固定値埋め込みにより、JITが指数情報を利用した最適化が可能
関連Issue
#126330、#126509、#127400、#123411
その他
- 互換性:
ILStubTypeの廃止値は予約済み。cDACが旧ランタイム解析に対応するため、RuntimeTypeSystem_1.csは意図的に未変更 - DAC対応:
CLRToCOMStubManagerをPInvokeスタブマネージャをモデルに実装 - 検証: x64/x86チェックビルド、Interopテスト73/73パス、
DOTNET_InteropValidatePinnedObjects=1下で全パス確認
#130695 Remove dead net9 code
- 作成者: @xtqqczze
- 作成日時: 2026年07月14日 16:20:35(UTC)
- マージ日時: 2026年08月27日 14:56:48(UTC)
- ラベル: area-System.Text.Json community-contribution
概要
.NET 9用のデッドコードを削除するPRです。PR #121853によりNetCoreAppMinimumがnet10に変更されたため、net9固有の条件付きコンパイルコードが不要になりました。System.Text.Jsonライブラリから該当コードを削除します。
変更内容
- System.Text.Json.csproj: net9関連の条件定義を削除(+1/-1)
- JsonObject.IDictionary.cs: net9向けのデッドコード削除(0/-5)
- JsonObject.cs: net9向けのデッドコード削除、関連ロジック簡潔化(+1/-22)
パフォーマンスへの影響
影響なし(デッドコード削除のため、機能的な変更はありません)
関連Issue
なし
その他
この変更は内部実装レベルの整理で、公開APIや動作に対する影響はありません。ネットワーク標準以上のフレームワークをターゲットとしている環境では、コード複雑度の軽減により保守性が向上します。