feat(joinir): Phase 61-3 devフラグ・if_phi_context拡張準備

Phase 61-3(If-in-loop JoinIR本番切り替え)の基盤準備:

- env.rs: joinir_if_in_loop_enable() 追加
  - HAKO_JOINIR_IF_IN_LOOP_ENABLE=1 で本番経路有効化
  - デフォルトOFF(安全第一)

- if_phi_context.rs: Phase 61-3拡張準備
  - BTreeMap, ValueId, BasicBlockId import追加
  - ドキュメント更新(incoming値解決メソッド予告)

設計書: docs/private/.../phase61-3-box-design.md(別途)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
nyash-codex
2025-11-29 14:19:53 +09:00
parent 7a1a4bd964
commit f4fb798ec8
2 changed files with 24 additions and 1 deletions

View File

@ -277,6 +277,23 @@ pub fn joinir_if_in_loop_dryrun_enabled() -> bool {
env_bool("HAKO_JOINIR_IF_IN_LOOP_DRYRUN")
}
/// Phase 61-3: If-in-loop JoinIR本番経路有効化
///
/// `HAKO_JOINIR_IF_IN_LOOP_ENABLE=1` でJoinIR本番経路を有効化
///
/// 動作:
/// - ON: JoinIR + IfInLoopPhiEmitter経路PhiBuilderBox不使用
/// - OFF: PhiBuilderBox経路既存フォールバック
///
/// 前提条件:
/// - NYASH_JOINIR_IF_SELECT=1Phase 33基盤
/// - dry-runモードとは独立HAKO_JOINIR_IF_IN_LOOP_DRYRUN
///
/// デフォルト: OFF安全第一
pub fn joinir_if_in_loop_enable() -> bool {
env_bool("HAKO_JOINIR_IF_IN_LOOP_ENABLE")
}
// VM legacy by-name call fallback was removed (Phase 2 complete).
// Phase 40-4.1: use_joinir_for_array_filter() removed (Route B now default).