Moe Charm (CI)
6b75453072
Phase 7-Step8: Replace SFC/HEAP_V2/ULTRA_SLIM runtime checks with config macros
**Goal**: Complete dead code elimination infrastructure for all runtime checks
**Changes**:
1. core/box/tiny_front_config_box.h:
- Rename sfc_cascade_enabled() → tiny_sfc_enabled() (avoid name collision)
- Update TINY_FRONT_SFC_ENABLED macro to use tiny_sfc_enabled()
2. core/tiny_alloc_fast.inc.h (5 locations):
- Line 274: tiny_heap_v2_alloc_by_class() - use TINY_FRONT_HEAP_V2_ENABLED
- Line 431: SFC TLS cache init - use TINY_FRONT_SFC_ENABLED
- Line 678: SFC cascade check - use TINY_FRONT_SFC_ENABLED
- Line 740: Ultra SLIM debug check - use TINY_FRONT_ULTRA_SLIM_ENABLED
3. core/hakmem_tiny_free.inc (1 location):
- Line 233: Heap V2 free path - use TINY_FRONT_HEAP_V2_ENABLED
**Performance**: 79.5M ops/s (maintained, -0.4M vs Step 7, within noise)
- Normal mode: Neutral (runtime checks preserved)
- PGO mode: Ready for dead code elimination
**Total Runtime Checks Replaced (Phase 7)**:
- ✅ TINY_FRONT_FASTCACHE_ENABLED: 3 locations (Step 4-6)
- ✅ TINY_FRONT_TLS_SLL_ENABLED: 7 locations (Step 7)
- ✅ TINY_FRONT_SFC_ENABLED: 2 locations (Step 8)
- ✅ TINY_FRONT_HEAP_V2_ENABLED: 2 locations (Step 8)
- ✅ TINY_FRONT_ULTRA_SLIM_ENABLED: 1 location (Step 8)
**Total**: 15 runtime checks → config macros
**PGO Mode Expected Benefit**:
- Eliminate 15 runtime checks across hot paths
- Reduce branch mispredictions
- Smaller code size (dead code removed by compiler)
- Better instruction cache locality
**Design Complete**: Config Box as single entry point for all Tiny Front policy
- Unified macro interface for all feature toggles
- Include order independent (static inline wrappers)
- Dual-mode support (PGO compile-time vs normal runtime)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 17:40:05 +09:00
..
2025-11-09 18:55:50 +09:00
2025-11-09 18:55:50 +09:00
2025-11-07 01:27:04 +09:00
2025-11-20 07:32:30 +09:00
2025-11-16 06:36:02 +09:00
2025-11-20 07:32:30 +09:00
2025-11-13 06:50:20 +09:00
2025-11-13 01:45:30 +09:00
2025-11-29 07:57:49 +09:00
2025-11-29 06:57:03 +09:00
2025-11-13 01:45:30 +09:00
2025-11-29 09:04:32 +09:00
2025-11-28 01:10:26 +09:00
2025-11-29 06:47:13 +09:00
2025-11-07 01:27:04 +09:00
2025-11-07 01:27:04 +09:00
2025-11-26 12:33:49 +09:00
2025-11-07 01:27:04 +09:00
2025-11-21 23:00:24 +09:00
2025-11-26 12:33:49 +09:00
2025-11-07 01:27:04 +09:00
2025-11-20 07:32:30 +09:00
2025-11-29 06:57:03 +09:00
2025-11-07 01:27:04 +09:00
2025-11-17 02:47:58 +09:00
2025-11-29 06:47:13 +09:00
2025-11-17 02:47:58 +09:00
2025-11-15 22:08:51 +09:00
2025-11-27 03:41:07 +09:00
2025-11-16 07:51:37 +09:00
2025-11-26 17:12:41 +09:00
2025-11-29 14:39:07 +09:00
2025-11-17 02:47:58 +09:00
2025-11-07 01:27:04 +09:00
2025-11-29 14:39:07 +09:00
2025-11-07 01:27:04 +09:00
2025-11-29 16:17:34 +09:00
2025-11-20 07:32:30 +09:00
2025-11-12 02:45:00 +09:00
2025-11-12 02:45:00 +09:00
2025-11-28 16:08:44 +09:00
2025-11-28 17:10:32 +09:00
2025-11-07 01:27:04 +09:00
2025-11-29 15:45:29 +09:00
2025-11-29 14:39:07 +09:00
2025-11-17 02:47:58 +09:00
2025-11-17 02:47:58 +09:00
2025-11-17 02:47:58 +09:00
2025-11-28 17:10:32 +09:00
2025-11-11 01:47:06 +09:00
2025-11-06 21:54:12 +09:00
2025-11-06 21:54:12 +09:00
2025-11-06 21:54:12 +09:00
2025-11-07 01:27:04 +09:00
2025-11-07 01:27:04 +09:00
2025-11-07 01:27:04 +09:00
2025-11-07 01:27:04 +09:00
2025-11-07 01:27:04 +09:00
2025-11-06 21:54:12 +09:00
2025-11-20 07:32:30 +09:00
2025-11-26 12:33:49 +09:00
2025-11-13 01:45:30 +09:00
2025-11-13 06:50:20 +09:00
2025-11-28 13:42:39 +09:00
2025-11-22 03:30:47 +09:00
2025-11-20 07:32:30 +09:00
2025-11-20 07:32:30 +09:00
2025-11-28 14:11:37 +09:00
2025-11-20 07:32:30 +09:00
2025-11-20 07:32:30 +09:00
2025-11-20 07:32:30 +09:00
2025-11-28 14:11:37 +09:00
2025-11-17 05:29:08 +09:00
2025-11-16 07:51:37 +09:00
2025-11-16 05:48:59 +09:00
2025-11-20 07:32:30 +09:00
2025-11-20 07:32:30 +09:00
2025-11-20 07:32:30 +09:00
2025-11-20 07:32:30 +09:00
2025-11-22 02:46:57 +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-26 12:33:49 +09:00
2025-11-12 02:45:00 +09:00
2025-11-29 08:44:29 +09:00
2025-11-29 11:58:37 +09:00
2025-11-29 17:40:05 +09:00
2025-11-29 11:58:37 +09:00
2025-11-29 07:57:49 +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-20 07:32:30 +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-29 07:57:49 +09:00
2025-11-29 08:44:29 +09:00
2025-11-22 06:50:38 +09:00
2025-11-17 02:47:58 +09:00
2025-11-29 06:57:03 +09:00
2025-11-17 02:47:58 +09:00