17 lines
687 B
Diff
17 lines
687 B
Diff
--- a/core/hakmem_tiny_refill_p0.inc.h
|
|
+++ b/core/hakmem_tiny_refill_p0.inc.h
|
|
@@
|
|
TinyRefillChain chain;
|
|
uint32_t from_freelist = trc_pop_from_freelist(meta, want, &chain);
|
|
if (from_freelist > 0) {
|
|
trc_splice_to_sll(class_idx, &chain, &g_tls_sll_head[class_idx], &g_tls_sll_count[class_idx]);
|
|
// FIX: Blocks from freelist were decremented when freed, must increment when allocated
|
|
ss_active_add(tls->ss, from_freelist);
|
|
extern unsigned long long g_rf_freelist_items[];
|
|
g_rf_freelist_items[class_idx] += from_freelist;
|
|
total_taken += from_freelist;
|
|
want -= from_freelist;
|
|
if (want == 0) break;
|
|
}
|
|
|