# Phase 6: Front FastLane(Layer Collapse)Next Instructions(昇格) ## Status - Phase 6 FastLane は **✅ GO(+11.13% Mixed 10-run)** - 結果: `docs/analysis/PHASE6_FRONT_FASTLANE_1_AB_TEST_RESULTS.md` - 実装: `docs/analysis/PHASE6_FRONT_FASTLANE_1_IMPLEMENTATION_REPORT.md` - 設計: `docs/analysis/PHASE6_FRONT_FASTLANE_1_DESIGN.md` ## 0. 目的 FastLane を本線昇格(default ON / opt-out)し、以後の baseline を引き上げる。 ## 1. 昇格(本線化) 1) **default ON** - ENV: `HAKMEM_FRONT_FASTLANE=0/1` - default: **1**(opt-out は `HAKMEM_FRONT_FASTLANE=0`) 2) **プリセット ON** - `core/bench_profile.h` の主要プロファイルで `bench_setenv_default("HAKMEM_FRONT_FASTLANE","1")` 3) **安全ゲート(Fail-Fast)** - 初期化前(`!g_initialized`)は FastLane を使わず既存 wrapper にフォールバック ## 2. A/B(最終確認) Mixed 10-run(clean env): OFF: ```sh HAKMEM_FRONT_FASTLANE=0 scripts/run_mixed_10_cleanenv.sh ``` ON: ```sh HAKMEM_FRONT_FASTLANE=1 scripts/run_mixed_10_cleanenv.sh ``` 判定(Mixed 10-run mean): - GO: **+1.0% 以上** - NEUTRAL: **±1.0%**(default ON は維持せず、再検討) - NO-GO: **-1.0% 以下**(即 rollback) ## 3. 健康診断(必須) ```sh scripts/verify_health_profiles.sh ``` ## 4. Rollback - ENV: `HAKMEM_FRONT_FASTLANE=0` - あるいは本線 default を戻す(diff 1 箇所) ## 5. 次の候補(Phase 6-2) FastLane 内で `tiny_get_max_size()` を毎回呼ぶのは、E4-2 の勝ち筋(wrapper snapshot)と逆方向なので、次はここを薄くする: - `malloc_wrapper_env_get()` 由来の `tiny_max_size_256`(または max_size 値)を FastLane に渡して “call を消す” - ただし “FastLane で同じ判定を二度しない” を守る(境界 1 箇所) また、FastLane free 側は `free_tiny_fast()` と Tiny header 検証が二重になりやすいので、次の指示書で重複排除を優先する: - `docs/analysis/PHASE6_FRONT_FASTLANE_2_FREE_DEDUP_NEXT_INSTRUCTIONS.md`