2025-12-10 23:30:32 +09:00
|
|
|
|
// smallobject_cold_iface_v4.h - SmallObject HotHeap v4 Cold Interface (Direct Functions)
|
2025-12-10 17:58:42 +09:00
|
|
|
|
//
|
|
|
|
|
|
// 役割:
|
2025-12-10 23:30:32 +09:00
|
|
|
|
// - HotBox_v4 と Superslab/Warm/Remote を繋ぐ Cold 側のインターフェース。
|
|
|
|
|
|
// - 関数ポインタ(vtable)ではなく direct function で統一。
|
|
|
|
|
|
// - Hot Box は以下の関数を直接呼び出す(callback ではなく)。
|
2025-12-10 17:58:42 +09:00
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
|
|
#include <stdbool.h>
|
|
|
|
|
|
#include <stdint.h>
|
|
|
|
|
|
|
|
|
|
|
|
#include "smallobject_hotbox_v4_box.h"
|
|
|
|
|
|
|
2025-12-10 23:30:32 +09:00
|
|
|
|
// Cold path API: Direct functions (not function pointers)
|
|
|
|
|
|
// Hot box から直接呼び出される Cold 側の実装。
|
2025-12-10 23:23:07 +09:00
|
|
|
|
small_page_v4* small_cold_v4_refill_page(small_heap_ctx_v4* ctx, uint32_t class_idx);
|
|
|
|
|
|
void small_cold_v4_retire_page(small_heap_ctx_v4* ctx, small_page_v4* page);
|
|
|
|
|
|
bool small_cold_v4_remote_push(small_page_v4* page, void* ptr, uint32_t tid);
|
|
|
|
|
|
void small_cold_v4_remote_drain(small_heap_ctx_v4* ctx);
|