19 lines
802 B
C
19 lines
802 B
C
|
|
#pragma once
|
|||
|
|
// SharedPoolBox: 既存の g_shared_pool の上に「論理上限」を被せる軽量ラッパ。
|
|||
|
|
// 目的:
|
|||
|
|
// - HAKMEM_PROFILE=bench などのときに Shared Pool の増殖を論理的に抑える。
|
|||
|
|
// - 配列サイズ自体は現状のまま(BSS をまだ縮めない)。
|
|||
|
|
|
|||
|
|
#include <stdint.h>
|
|||
|
|
|
|||
|
|
typedef struct SharedPoolBox SharedPoolBox;
|
|||
|
|
|
|||
|
|
// profile が NULL のときは HAKMEM_PROFILE を読む。
|
|||
|
|
void shared_pool_box_init(SharedPoolBox* box, const char* profile);
|
|||
|
|
|
|||
|
|
// これ以上増やさない総枠。full では元の制限なし、bench では小さめ。
|
|||
|
|
uint32_t shared_pool_effective_total_slots(void);
|
|||
|
|
|
|||
|
|
// クラス別の論理上限(active slots がこの値を超えたら新規追加を抑制)
|
|||
|
|
uint32_t shared_pool_effective_class_slots(int class_idx);
|