Moe Charm (CI)
eea3b988bd
Phase 9-3: Box Theory refactoring (TLS_SLL_DUP root fix)
Implementation:
- Step 1: TLS SLL Guard Box (push前meta/class/state突合)
- Step 2: SP_REBIND_SLOT macro (原子的slab rebind)
- Step 3: Unified Geometry Box (ポインタ演算API統一)
- Step 4: Unified Guard Box (HAKMEM_TINY_GUARD=1 統一制御)
New Files (545 lines):
- core/box/tiny_guard_box.h (277L)
- TLS push guard (SuperSlab/slab/class/state validation)
- Recycle guard (EMPTY確認)
- Drain guard (準備)
- 統一ENV制御: HAKMEM_TINY_GUARD=1
- core/box/tiny_geometry_box.h (174L)
- BASE_FROM_USER/USER_FROM_BASE conversion
- SS_FROM_PTR/SLAB_IDX_FROM_PTR lookup
- PTR_CLASSIFY combined helper
- 85+箇所の重複コード削減候補を特定
- core/box/sp_rebind_slot_box.h (94L)
- SP_REBIND_SLOT macro (geometry + TLS reset + class_map原子化)
- 6箇所に適用 (Stage 0/0.5/1/2/3)
- デバッグトレース: HAKMEM_SP_REBIND_TRACE=1
Results:
- ✅ TLS_SLL_DUP完全根絶 (0 crashes, 0 guard rejects)
- ✅ パフォーマンス改善 +5.9% (15.16M → 16.05M ops/s on WS8192)
- ✅ コンパイル警告0件(新規)
- ✅ Box Theory準拠 (Single Responsibility, Clear Contract, Observable, Composable)
Test Results:
- Debug build: HAKMEM_TINY_GUARD=1 で10M iterations完走
- Release build: 3回平均 16.05M ops/s
- Guard reject rate: 0%
- Core dump: なし
Box Theory Compliance:
- Single Responsibility: 各Boxが単一責任 (guard/rebind/geometry)
- Clear Contract: 明確なAPI境界
- Observable: ENV変数で制御可能な検証
- Composable: 全allocation/free pathから利用可能
Performance Impact:
- Release build (guard無効): 影響なし (+5.9%改善)
- Debug build (guard有効): 数%のオーバーヘッド (検証コスト)
Architecture Improvements:
- ポインタ演算の一元管理 (85+箇所の統一候補)
- Slab rebindの原子性保証
- 検証機能の統合 (単一ENV制御)
Phase 9 Status:
- 性能目標 (25-30M ops/s): 未達 (16.05M = 53-64%)
- TLS_SLL_DUP根絶: ✅ 達成
- コード品質: ✅ 大幅向上
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 10:48:50 +09:00
..
2025-11-30 10:48:50 +09:00
2025-11-30 04:51:36 +09:00
2025-11-26 14:45:26 +09:00
2025-11-29 08:44:29 +09:00
2025-11-11 01:47:06 +09:00
2025-11-05 12:31:14 +09:00
2025-11-05 12:31:14 +09:00
2025-11-05 12:31:14 +09:00
2025-11-05 12:31:14 +09:00
2025-11-05 12:31:14 +09:00
2025-11-05 12:31:14 +09:00
2025-11-05 12:31:14 +09:00
2025-11-11 01:47:06 +09:00
2025-11-05 12:31:14 +09:00
2025-11-11 01:47:06 +09:00
2025-11-05 12:31:14 +09:00
2025-11-08 17:08:00 +09:00
2025-11-08 17:08:00 +09:00
2025-11-29 14:39:07 +09:00
2025-11-11 01:47:06 +09:00
2025-11-05 12:31:14 +09:00
2025-11-29 06:57:03 +09:00
2025-11-28 01:05:18 +09:00
2025-11-05 12:31:14 +09:00
2025-11-28 17:00:56 +09:00
2025-11-05 12:31:14 +09:00
2025-11-05 12:31:14 +09:00
2025-11-05 12:31:14 +09:00
2025-11-05 12:31:14 +09:00
2025-11-26 13:14:18 +09:00
2025-11-17 03:22:27 +09:00
2025-11-05 12:31:14 +09:00
2025-11-05 12:31:14 +09:00
2025-11-05 12:31:14 +09:00
2025-11-05 12:31:14 +09:00
2025-11-05 12:31:14 +09:00
2025-11-29 15:45:29 +09:00
2025-11-29 15:45:29 +09:00
2025-11-05 12:31:14 +09:00
2025-11-05 12:31:14 +09:00
2025-11-08 12:54:52 +09:00
2025-11-26 15:43:45 +09:00
2025-11-26 15:43:45 +09:00
2025-11-06 21:54:12 +09:00
2025-11-07 01:27:04 +09:00
2025-11-05 12:31:14 +09:00
2025-11-05 12:31:14 +09:00
2025-11-05 12:31:14 +09:00
2025-11-30 07:36:02 +09:00
2025-11-20 07:32:30 +09:00
2025-11-11 01:47:06 +09:00
2025-11-05 12:31:14 +09:00
2025-11-05 12:31:14 +09:00
2025-11-05 12:31:14 +09:00
2025-11-05 12:31:14 +09:00
2025-11-05 12:31:14 +09:00
2025-11-16 03:21:13 +09:00
2025-11-16 03:21:13 +09:00
2025-11-16 03:21:13 +09:00
2025-11-28 18:14:31 +09:00
2025-11-28 16:11:15 +09:00
2025-11-30 07:16:50 +09:00
2025-11-30 07:16:50 +09:00
2025-11-05 12:31:14 +09:00
2025-11-05 12:31:14 +09:00
2025-11-26 13:14:18 +09:00
2025-11-05 12:31:14 +09:00
2025-11-29 06:57:03 +09:00
2025-11-21 23:00:24 +09:00
2025-11-28 00:45:27 +09:00
2025-11-27 04:35:47 +09:00
2025-11-05 12:31:14 +09:00
2025-11-13 06:50:20 +09:00
2025-11-26 14:45:26 +09:00
2025-11-13 06:50:20 +09:00
2025-11-07 01:27:04 +09:00
2025-11-27 08:18:01 +09:00
2025-11-13 14:25:54 +09:00
2025-11-27 03:18:33 +09:00
2025-11-05 12:31:14 +09:00
2025-11-21 03:20:42 +09:00
2025-11-28 04:32:15 +09:00
2025-11-29 17:40:05 +09:00
2025-11-21 01:16:45 +09:00
2025-11-13 06:50:20 +09:00
2025-11-13 06:50:20 +09:00
2025-11-27 04:35:47 +09:00
2025-11-26 13:14:18 +09:00
2025-11-26 14:45:26 +09:00
2025-11-30 07:16:50 +09:00
2025-11-21 01:23:59 +09:00
2025-11-20 07:32:30 +09:00
2025-11-13 16:33:03 +09:00
2025-11-05 12:31:14 +09:00
2025-11-20 07:32:30 +09:00
2025-11-05 12:31:14 +09:00
2025-11-27 04:35:47 +09:00
2025-11-21 01:16:45 +09:00
2025-11-05 12:31:14 +09:00
2025-11-14 01:02:00 +09:00
2025-11-14 05:41:49 +09:00
2025-11-26 14:45:26 +09:00
2025-11-29 17:35:51 +09:00
2025-11-05 12:31:14 +09:00
2025-11-05 12:31:14 +09:00
2025-11-27 04:35:47 +09:00
2025-11-27 04:35:47 +09:00
2025-11-05 12:31:14 +09:00
2025-11-05 12:31:14 +09:00
2025-11-05 12:31:14 +09:00
2025-11-28 16:11:15 +09:00
2025-11-05 12:31:14 +09:00
2025-11-05 12:31:14 +09:00
2025-11-21 01:23:59 +09:00
2025-11-05 12:31:14 +09:00
2025-11-21 03:20:42 +09:00
2025-11-28 00:43:57 +09:00
2025-11-07 01:27:04 +09:00
2025-11-21 03:20:42 +09:00
2025-11-05 12:31:14 +09:00
2025-11-05 12:31:14 +09:00
2025-11-07 01:27:04 +09:00
2025-11-27 03:41:07 +09:00
2025-11-11 00:02:24 +09:00
2025-11-28 18:16:32 +09:00
2025-11-29 06:57:03 +09:00
2025-11-29 05:37:24 +09:00
2025-11-22 09:34:35 +09:00
2025-11-13 05:43:31 +09:00
2025-11-29 06:47:13 +09:00
2025-11-27 04:35:47 +09:00
2025-11-20 07:32:30 +09:00
2025-11-20 07:32:30 +09:00
2025-11-29 06:57:03 +09:00
2025-11-26 15:05:03 +09:00
2025-11-28 16:08:44 +09:00
2025-11-05 12:31:14 +09:00
2025-11-05 12:31:14 +09:00
2025-11-05 12:31:14 +09:00
2025-11-05 12:31:14 +09:00
2025-11-26 13:14:18 +09:00
2025-11-05 12:31:14 +09:00
2025-11-27 05:19:56 +09:00
2025-11-10 18:04:08 +09:00
2025-11-05 12:31:14 +09:00
2025-11-26 13:14:18 +09:00
2025-11-17 03:22:27 +09:00
2025-11-21 23:00:24 +09:00
2025-11-09 16:49:34 +09:00
2025-11-08 23:53:25 +09:00
2025-11-17 03:22:27 +09:00
2025-11-09 18:55:50 +09:00
2025-11-14 15:00:13 +09:00
2025-11-14 15:00:13 +09:00
2025-11-14 14:29:05 +09:00
2025-11-09 18:55:50 +09:00
2025-11-14 14:29:05 +09:00
2025-11-09 18:55:50 +09:00
2025-11-14 15:32:07 +09:00
2025-11-09 18:55:50 +09:00
2025-11-28 01:04:29 +09:00
2025-11-13 06:50:20 +09:00
2025-11-27 11:52:11 +09:00
2025-11-29 05:13:04 +09:00
2025-11-29 05:13:04 +09:00
2025-11-30 09:27:08 +09:00
2025-11-29 05:13:04 +09:00
2025-11-29 05:13:04 +09:00
2025-11-30 07:16:50 +09:00
2025-11-29 05:13:04 +09:00
2025-11-20 07:32:30 +09:00
2025-11-20 07:32:30 +09:00
2025-11-28 13:42:39 +09:00
2025-11-17 02:47:58 +09:00
2025-11-29 06:57:03 +09:00
2025-11-27 03:18:33 +09:00
2025-11-29 17:40:05 +09:00
2025-11-06 21:54:12 +09:00
2025-11-14 01:02:00 +09:00
2025-11-26 13:14:18 +09:00
2025-11-29 06:47:13 +09:00
2025-11-27 03:41:07 +09:00
2025-11-14 05:41:49 +09:00
2025-11-28 00:43:07 +09:00
2025-11-29 06:57:03 +09:00
2025-11-29 06:57:03 +09:00
2025-11-20 07:32:30 +09:00
2025-11-28 00:46:32 +09:00
2025-11-09 23:15:02 +09:00
2025-11-28 14:11:37 +09:00
2025-11-29 08:44:29 +09:00
2025-11-20 07:32:30 +09:00
2025-11-07 01:27:04 +09:00
2025-11-28 15:04:06 +09:00
2025-11-28 04:36:37 +09:00
2025-11-05 12:31:14 +09:00
2025-11-07 01:27:04 +09:00
2025-11-26 14:45:26 +09:00
2025-11-29 06:57:03 +09:00
2025-11-28 16:08:44 +09:00
2025-11-29 15:22:31 +09:00
2025-11-07 01:27:04 +09:00
2025-11-13 16:33:03 +09:00
2025-11-05 12:31:14 +09:00
2025-11-11 21:49:05 +09:00
2025-11-07 01:27:04 +09:00
2025-11-05 12:31:14 +09:00
2025-11-29 06:47:13 +09:00
2025-11-28 04:39:20 +09:00
2025-11-06 21:54:12 +09:00
2025-11-07 22:34:24 +09:00
2025-11-05 12:31:14 +09:00