Modular implementation of hot-class inline slots optimization: - Created 5 new boxes: env_box, tls_box, fast_path_api, integration_box, test_script - Single decision point at TLS init (ENV gate: HAKMEM_TINY_C6_INLINE_SLOTS=0/1) - Integration: 2 minimal boundary points (alloc/free paths for C6 class) - Default OFF: zero overhead when disabled (full backward compatibility) Results (10-run Mixed SSOT, WS=400): - Baseline (C6 inline OFF): 44.24 M ops/s - Treatment (C6 inline ON): 45.51 M ops/s - Delta: +1.27 M ops/s (+2.87%) Status: ✅ GO - Strong improvement via C6 ring buffer fast-path Mechanism: Branch elimination on unified_cache_push/pop for C6 allocations Next: Phase 75-2 (add C5 inline slots, target 85% C4-C7 coverage) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
19 lines
624 B
C
19 lines
624 B
C
// tiny_c6_inline_slots.c - Phase 75-1: C6 Inline Slots TLS Variable Definition
|
|
//
|
|
// Goal: Define TLS variable for C6 inline slots
|
|
// Scope: C6 class only (1KB per thread)
|
|
|
|
#include "box/tiny_c6_inline_slots_tls_box.h"
|
|
|
|
// ============================================================================
|
|
// TLS Variable Definition
|
|
// ============================================================================
|
|
|
|
// TLS instance (one per thread)
|
|
// Zero-initialized by default (all slots NULL, head=0, tail=0)
|
|
__thread TinyC6InlineSlots g_tiny_c6_inline_slots = {
|
|
.slots = {0}, // All NULL
|
|
.head = 0,
|
|
.tail = 0,
|
|
};
|