Working state before pushing to cyu remote
This commit is contained in:
@ -44,6 +44,8 @@
|
||||
#include "tiny_inline_slots_fixed_mode_box.h" // Phase 78-1: Optional fixed-mode gating
|
||||
#include "tiny_inline_slots_switch_dispatch_box.h" // Phase 80-1: Switch dispatch for C4/C5/C6
|
||||
#include "tiny_inline_slots_switch_dispatch_fixed_box.h" // Phase 83-1: Switch dispatch fixed mode
|
||||
#include "tiny_c6_inline_slots_ifl_env_box.h" // Phase 91: C6 intrusive LIFO inline slots ENV gate
|
||||
#include "tiny_c6_inline_slots_ifl_tls_box.h" // Phase 91: C6 intrusive LIFO inline slots TLS state
|
||||
|
||||
// ============================================================================
|
||||
// Branch Prediction Macros (Pointer Safety - Prediction Hints)
|
||||
@ -156,6 +158,19 @@ static inline void* tiny_hot_alloc_fast(int class_idx) {
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
// Phase 91: C6 Intrusive LIFO Inline Slots (check BEFORE FIFO)
|
||||
if (tiny_c6_inline_slots_ifl_enabled_fast()) {
|
||||
void* base = tiny_c6_inline_slots_ifl_pop_fast();
|
||||
if (TINY_HOT_LIKELY(base != NULL)) {
|
||||
TINY_HOT_METRICS_HIT(class_idx);
|
||||
#if HAKMEM_TINY_HEADER_CLASSIDX
|
||||
return tiny_header_finalize_alloc(base, class_idx);
|
||||
#else
|
||||
return base;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
// Phase 75-1: C6 Inline Slots (FIFO - fallback)
|
||||
if (tiny_c6_inline_slots_enabled_fast()) {
|
||||
void* base = c6_inline_pop(c6_inline_tls());
|
||||
if (TINY_HOT_LIKELY(base != NULL)) {
|
||||
@ -222,6 +237,21 @@ static inline void* tiny_hot_alloc_fast(int class_idx) {
|
||||
// C5 inline miss → fall through to C6/unified cache
|
||||
}
|
||||
|
||||
// Phase 91: C6 Intrusive LIFO Inline Slots early-exit (ENV gated)
|
||||
// Try C6 IFL THIRD (before C6 FIFO and unified cache) for class 6
|
||||
if (class_idx == 6 && tiny_c6_inline_slots_ifl_enabled_fast()) {
|
||||
void* base = tiny_c6_inline_slots_ifl_pop_fast();
|
||||
if (TINY_HOT_LIKELY(base != NULL)) {
|
||||
TINY_HOT_METRICS_HIT(class_idx);
|
||||
#if HAKMEM_TINY_HEADER_CLASSIDX
|
||||
return tiny_header_finalize_alloc(base, class_idx);
|
||||
#else
|
||||
return base;
|
||||
#endif
|
||||
}
|
||||
// C6 IFL miss → fall through to C6 FIFO
|
||||
}
|
||||
|
||||
// Phase 75-1: C6 Inline Slots early-exit (ENV gated)
|
||||
// Try C6 inline slots THIRD (before unified cache) for class 6
|
||||
if (class_idx == 6 && tiny_c6_inline_slots_enabled_fast()) {
|
||||
|
||||
Reference in New Issue
Block a user