Working state before pushing to cyu remote

This commit is contained in:
Moe Charm (CI)
2025-12-19 03:45:01 +09:00
parent e4c5f05355
commit 2013514f7b
28 changed files with 1968 additions and 43 deletions

View File

@ -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()) {