Phase REFACTOR-1: Magic Number → Named Constants (TINY_CLASS_C6/C7)
Replace hardcoded class_idx checks (== 6, == 7) with named macros: - tiny_class_is_c6(idx) for C6 checks - tiny_class_is_c7(idx) for C7 checks - tiny_class_is_ultra(idx) for combined checks Benefits: - Self-documenting code (semantic intent is clear) - Single source of truth for class constants - Easier to extend to other ULTRA tiers (C5, C8) in future Changes: - NEW: core/box/tiny_ultra_classes_box.h (named constants + helpers) - Modified: core/front/malloc_tiny_fast.h (4 replacements: L181, L193, L326, L337) No performance impact (zero-cost macros, same compiled code). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
13
core/box/tiny_ultra_classes_box.h
Normal file
13
core/box/tiny_ultra_classes_box.h
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
#ifndef HAKMEM_TINY_ULTRA_CLASSES_BOX_H
|
||||||
|
#define HAKMEM_TINY_ULTRA_CLASSES_BOX_H
|
||||||
|
|
||||||
|
// Purpose: Named constants for ULTRA tier classes (C6, C7)
|
||||||
|
#define TINY_CLASS_C6 6
|
||||||
|
#define TINY_CLASS_C7 7
|
||||||
|
|
||||||
|
// Helper macros for class checking
|
||||||
|
#define tiny_class_is_c6(idx) ((idx) == TINY_CLASS_C6)
|
||||||
|
#define tiny_class_is_c7(idx) ((idx) == TINY_CLASS_C7)
|
||||||
|
#define tiny_class_is_ultra(idx) (tiny_class_is_c6(idx) || tiny_class_is_c7(idx))
|
||||||
|
|
||||||
|
#endif // HAKMEM_TINY_ULTRA_CLASSES_BOX_H
|
||||||
@ -47,6 +47,7 @@
|
|||||||
// #include "../box/smallobject_core_v6_box.h" // SmallObject Core v6 (C6-only route stub, Phase v6-1)
|
// #include "../box/smallobject_core_v6_box.h" // SmallObject Core v6 (C6-only route stub, Phase v6-1)
|
||||||
#include "../box/tiny_c7_ultra_box.h" // C7 ULTRA stub (UF-1, delegates to v3)
|
#include "../box/tiny_c7_ultra_box.h" // C7 ULTRA stub (UF-1, delegates to v3)
|
||||||
#include "../box/tiny_c6_ultra_free_box.h" // Phase 4-2: C6 ULTRA-free (free-only, C6-only)
|
#include "../box/tiny_c6_ultra_free_box.h" // Phase 4-2: C6 ULTRA-free (free-only, C6-only)
|
||||||
|
#include "../box/tiny_ultra_classes_box.h" // Phase REFACTOR-1: Named constants for C6/C7
|
||||||
#include "../box/tiny_front_v3_env_box.h" // Tiny front v3 snapshot gate
|
#include "../box/tiny_front_v3_env_box.h" // Tiny front v3 snapshot gate
|
||||||
#include "../box/tiny_heap_env_box.h" // ENV gate for TinyHeap front (A/B)
|
#include "../box/tiny_heap_env_box.h" // ENV gate for TinyHeap front (A/B)
|
||||||
#include "../box/tiny_route_env_box.h" // Route snapshot (Heap vs Legacy)
|
#include "../box/tiny_route_env_box.h" // Route snapshot (Heap vs Legacy)
|
||||||
@ -177,7 +178,7 @@ static inline void* malloc_tiny_fast(size_t size) {
|
|||||||
tiny_front_alloc_stat_inc(class_idx);
|
tiny_front_alloc_stat_inc(class_idx);
|
||||||
|
|
||||||
// C7 ULTRA stub (UF-1): delegates to v3, ENV gated
|
// C7 ULTRA stub (UF-1): delegates to v3, ENV gated
|
||||||
if (class_idx == 7 &&
|
if (tiny_class_is_c7(class_idx) &&
|
||||||
tiny_front_v3_enabled() &&
|
tiny_front_v3_enabled() &&
|
||||||
tiny_front_v3_c7_ultra_enabled() &&
|
tiny_front_v3_c7_ultra_enabled() &&
|
||||||
small_heap_v3_c7_enabled()) {
|
small_heap_v3_c7_enabled()) {
|
||||||
@ -189,7 +190,7 @@ static inline void* malloc_tiny_fast(size_t size) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Phase 4-4: C6 ULTRA free+alloc integration (寄生型 TLS キャッシュ pop)
|
// Phase 4-4: C6 ULTRA free+alloc integration (寄生型 TLS キャッシュ pop)
|
||||||
if (class_idx == 6 && tiny_c6_ultra_free_enabled()) {
|
if (tiny_class_is_c6(class_idx) && tiny_c6_ultra_free_enabled()) {
|
||||||
TinyC6UltraFreeTLS* ctx = tiny_c6_ultra_free_tls();
|
TinyC6UltraFreeTLS* ctx = tiny_c6_ultra_free_tls();
|
||||||
if (TINY_HOT_LIKELY(ctx->count > 0)) {
|
if (TINY_HOT_LIKELY(ctx->count > 0)) {
|
||||||
void* base = ctx->freelist[--ctx->count];
|
void* base = ctx->freelist[--ctx->count];
|
||||||
@ -322,7 +323,7 @@ static inline int free_tiny_fast(void* ptr) {
|
|||||||
FREE_PATH_STAT_INC(total_calls);
|
FREE_PATH_STAT_INC(total_calls);
|
||||||
|
|
||||||
// C7 ULTRA stub (UF-1): delegates to v3, ENV gated
|
// C7 ULTRA stub (UF-1): delegates to v3, ENV gated
|
||||||
if (class_idx == 7 &&
|
if (tiny_class_is_c7(class_idx) &&
|
||||||
tiny_front_v3_enabled() &&
|
tiny_front_v3_enabled() &&
|
||||||
tiny_front_v3_c7_ultra_enabled() &&
|
tiny_front_v3_c7_ultra_enabled() &&
|
||||||
small_heap_v3_c7_enabled()) {
|
small_heap_v3_c7_enabled()) {
|
||||||
@ -333,7 +334,7 @@ static inline int free_tiny_fast(void* ptr) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Phase 4-2: C6 ULTRA-free (C6-only, free-only, ENV gated)
|
// Phase 4-2: C6 ULTRA-free (C6-only, free-only, ENV gated)
|
||||||
if (class_idx == 6 && tiny_c6_ultra_free_enabled()) {
|
if (tiny_class_is_c6(class_idx) && tiny_c6_ultra_free_enabled()) {
|
||||||
tiny_c6_ultra_free_fast(base, class_idx);
|
tiny_c6_ultra_free_fast(base, class_idx);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user