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

Binary file not shown.

View File

@ -1,8 +1,37 @@
# SmallObject Core v6 設計ドキュメント
**Date**: 2025-12-11
**Phase**: V6-HDR-0 (headerless core 設計確定)
**Status**: Design Refresh - C6-only headerless 研究ライン
---
## Phase V6-HDR-0: 設計方針転換
### 背景
Tiny/ULTRA 層が完成世代43.9M ops/sとして固定化されたため、
v6 は **C6-only の headerless 研究ライン** として再定義する。
### 重要な設計変更
1. **C7 ULTRA は frozen 箱として独立**
- TinyC7UltraBox / C7UltraSegmentBox はそのまま維持
- v6 は C7 に一切触らないC6-only
2. **ptr 分類は RegionIdBox に一元化**
- 従来: classify_ptr / hak_super_lookup / ss_fast_lookup が分散
- v6: `region_id_lookup_v6(ptr)` で (kind, region_id, page_meta*) を返す
3. **Stats は page lifetime summary のみを L3 に渡す**
- L1/L2 で個別 block の stats は取らない
- page retire 時に summary を push
---
## 目的
16〜2KiB 帯の small-object/mid を、**責務を厳密に分離した 4 層構造**で再設計し、
16〜2KiB 帯の small-object/mid を、**責務を厳密に分離した 4 層構造**で再設計し、
Mixed 161024B を mimalloc の 5割50〜60M ops/sクラスに近づけるための「核」となる Core v6 の仕様を固定する。
v5 までは:
@ -423,7 +452,26 @@ uint32_t region_id_box_lookup(void* ptr);
## 実装ステータス2025-12-11
### Phase V6-HDR-0進行中
v6 を C6-only headerless 研究ラインとして再定義。主な変更:
| タスク | 状態 | 内容 |
|--------|------|------|
| 1-1 | ✅ | CURRENT_TASK.md に V6-HDR-0 セクション追加 |
| 1-2 | ✅ | 本ドキュメント更新(設計方針転換) |
| 1-3 | pending | REGIONID_V6_DESIGN.md 新規作成 |
| 2-1 | pending | SmallTlsLaneV6 / SmallHeapCtxV6 型スケルトン |
| 2-2 | pending | v6 TLS API シグネチャ定義 |
| 3-1 | pending | RegionIdBox 型と lookup API |
| 3-2 | pending | OBSERVE モードfree 入口ログ)|
| 4-1 | pending | PageStatsV6 箱追加 |
| 5-1 | pending | AGENTS.md に v6 ルール追記 |
| 5-2 | pending | サニティベンチ確認 |
### 過去フェーズ(参考)
- **v6-3**: C6-only で baseline 同等まで改善。
- C6-heavy A/B: v6 OFF 27.1M → v6-3 ON **27.1M ops/s±0%**
- TLS ownership check + batch header write + TLS batch refill の薄型化完了。
- **Mixed 安定化は v6-4 のスコープ**: v6 ON で hang 発生中、デバッグ中
- **v6-4〜v6-6**: C5/C4 拡張を試行したが回帰が大きく研究箱に留める