|
|
922eaac79c
|
Refactor: Extract 3 more Box modules from hakmem_tiny.c (-70% total reduction)
Continue hakmem_tiny.c refactoring with 3 large module extractions.
## Changes
**hakmem_tiny.c**: 995 → 616 lines (-379 lines, -38% this phase)
**Total reduction**: 2081 → 616 lines (-1465 lines, -70% cumulative) 🏆
## Extracted Modules (3 new boxes)
6. **tls_state_box** (224 lines)
- TLS SLL enable flags and configuration
- TLS canaries and SLL array definitions
- Debug counters (path, ultra, allocation)
- Frontend/backend configuration
- TLS thread ID caching helpers
- Frontend hit/miss counters
- HotMag, QuickSlot, Ultra-front configuration
- Helper functions (is_hot_class, tiny_optional_push)
- Intelligence system helpers
7. **legacy_slow_box** (96 lines)
- tiny_slow_alloc_fast() function (cold/unused)
- Legacy slab-based allocation with refill
- TLS cache/fast cache refill from slabs
- Remote drain handling
- List management (move to full/free lists)
- Marked __attribute__((cold, noinline, unused))
8. **slab_lookup_box** (77 lines)
- registry_lookup() - O(1) hash-based lookup
- hak_tiny_owner_slab() - public API for slab discovery
- Linear probing search with atomic owner access
- O(N) fallback for non-registry mode
- Safety validation for membership checking
## Cumulative Progress (8 boxes total)
**Previously extracted** (Phase 1):
1. config_box (211 lines)
2. publish_box (419 lines)
3. globals_box (256 lines)
4. phase6_wrappers_box (122 lines)
5. ace_guard_box (100 lines)
**This phase** (Phase 2):
6. tls_state_box (224 lines)
7. legacy_slow_box (96 lines)
8. slab_lookup_box (77 lines)
**Total extracted**: 1,505 lines across 8 coherent modules
**Remaining core**: 616 lines (well-organized, focused)
## Benefits
- **Readability**: 2k monolith → focused 616-line core
- **Maintainability**: Each box has single responsibility
- **Organization**: TLS state, legacy code, lookup utilities separated
- **Build**: All modules compile successfully ✅
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-21 01:23:59 +09:00 |
|