Phase V6-HDR-0: C6-only headerless core 設計確定

- CURRENT_TASK.md: V6-HDR-0 セクション追加(4層 Box Theory)
- SMALLOBJECT_CORE_V6_DESIGN.md: V6-HDR-0 設計方針追加
- REGIONID_V6_DESIGN.md: RegionIdBox 設計書新規作成
- smallobject_core_v6_box.h: SmallTlsLaneV6 型+TLS API 追加
- smallobject_core_v6.c: OBSERVE モード追加
- region_id_v6_box.h: RegionIdBox 型スケルトン
- page_stats_v6_box.h: PageStatsV6 箱スケルトン
- AGENTS.md: v6 研究箱ルールセクション追加

サニティベンチ: Mixed 42.1M, C6-heavy 25.0M(挙動不変確認)

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Moe Charm (CI)
2025-12-11 23:07:26 +09:00
parent 2d684ffd25
commit 406835feb3
8 changed files with 624 additions and 23 deletions

View File

@ -263,3 +263,50 @@ Do / Dont壊れやすいパターンの禁止
今後の大きい変更は **Headerless 系v6 out-of-band header/ mid/pool v3 新設計** といった独立ラインでのみ検討。
Tiny/ULTRA 層本体への追加最適化は Small patch level のみPhase SO-BACKEND-OPT-2 等の Header write 削減)を想定。
詳細は `docs/analysis/PERF_EXEC_SUMMARY_ULTRA_PHASE_20251211.md` 参照。
---
## v6 研究箱ルールPhase V6-HDR-0 以降)
### 基本方針
v6 は **C6-only headerless core** の研究ラインとして、Tiny/ULTRA 完成世代とは**独立して**運用する。
### 固定事項
1. **C7 ULTRA は触らない**
- TinyC7UltraBox / C7UltraSegmentBox は frozen。v6 から C7 を呼び出さない。
- C7 の最適化が必要な場合は ULTRA 側で対応v6 スコープ外)。
2. **v6 は C6-only**
- `HAKMEM_SMALL_CORE_V6_ENABLED=1` + `HAKMEM_SMALL_CORE_V6_CLASSES=0x40` (C6 のみ)
- C5/C4 への拡張は研究完了後に検討Phase V6-HDR-1 以降)
3. **Headerless 設計**
- alloc 時に header byte を書かない(`SMALL_V6_HEADERLESS=1`
- free 時は RegionIdBox で ptr 分類 → page_meta へ直接アクセス
4. **デフォルト OFF**
- `HAKMEM_SMALL_CORE_V6_ENABLED=0` がデフォルト
- 本線 Mixed / C6-heavy は v6 OFF で計測(回帰しない)
### ENV 一覧
| ENV | Default | 説明 |
|-----|---------|------|
| `HAKMEM_SMALL_CORE_V6_ENABLED` | 0 | v6 core 有効化 |
| `HAKMEM_SMALL_CORE_V6_CLASSES` | 0x40 | 有効クラス (0x40=C6) |
| `HAKMEM_SMALL_V6_OBSERVE` | 0 | free 入口のログ出力 |
| `HAKMEM_PAGE_STATS_V6_ENABLED` | 0 | page lifetime stats |
| `HAKMEM_REGION_ID_V6_OBSERVE` | 0 | RegionIdBox lookup ログ |
### 4層 Box Theory
```
L0: ULTRA lanes (C7 frozen)
L1: TLS Box (SmallTlsLaneV6 / SmallHeapCtxV6)
L2: Segment / ColdIface (SmallSegmentV6 / ColdIfaceV6)
L3: Policy / RegionIdBox / PageStatsV6
```
詳細は `docs/analysis/SMALLOBJECT_CORE_V6_DESIGN.md` 参照。