Pull Request on 2026年05月17日

dotnet/runtimeにマージされたPull RequestをAIで日本語要約

注意点

このページは、dotnet/runtimeリポジトリにマージされたPull Requestを自動的に収集し、その内容をAIが要約した内容を表示しています。そのため、必ずしも正確な要約ではない場合があります。



#128242 [Wasm/Ryujit] Fix if stack depth; fix pep call ordering

概要

WebAssembly RyuJIT バックエンドにおける制御フロー深度の計算と Portable Entry Point (PEP) 呼び出しの引数評価順序を修正します。if/end ブロック生成時に追加される制御フロー深度をカウントするヘルパーを導入し、PEP 呼び出しでは PEP を最後の引数として評価してから関数インデックスをロードするよう修正しています。

変更内容

  • src/coreclr/jit/codegen.h: Wasm コードジェネレーション用の状態管理とヘルパー関数宣言を追加
  • src/coreclr/jit/codegenwasm.cpp: if/end ブロック生成処理をヘルパー関数経由に変更し、制御フロー深度のトラッキング機能を実装
  • src/coreclr/jit/lowerwasm.cpp: PEP 呼び出しの制御式ロード位置を再調整し、間接呼び出しターゲットが呼び出し直前にスタックに積まれるよう修正

パフォーマンスへの影響

影響なし(バグ修正とコード生成の正確性向上)

関連Issue

なし

その他

この修正は WebAssembly ランタイム実装(coreclr の JIT コンパイラ)の内部実装に関するもので、公開 API への影響はありません。制御フロー深度の計算誤りと呼び出し規約の順序違反を修正するため、Wasm での条件分岐や間接呼び出し機能の正確性向上につながります。


目次