Refactoring: - Type naming: Rename small_page_v4 → SmallPageMeta, small_class_heap_v4 → SmallClassHeap, small_heap_ctx_v4 → SmallHeapCtx - Keep backward compatibility aliases for existing code - SmallSegment struct unified, clean forward declarations - Cold Iface: Remove vtable (SmallColdIfaceV4 struct) in favor of direct function calls - Simplify refill_page/retire_page to direct calls, not callbacks - smallobject_hotbox_v4.c: Update to call small_cold_v4_* functions directly Documentation: - Add docs/analysis/ENV_CLEANUP_CANDIDATES.md - Categorize ENVs: KEEP (production), RESEARCH (opt-in), DELETE (obsolete) - v2 code: Keep as research infrastructure (complete, safe, gated) - v4 code: Research scaffold for future mid-level allocator Build: - ビルド成功(警告のみ) - Backward compatible, all existing code still works 🤖 Generated with Claude Code Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
20 lines
876 B
C
20 lines
876 B
C
// smallobject_cold_iface_v4.h - SmallObject HotHeap v4 Cold Interface (Direct Functions)
|
||
//
|
||
// 役割:
|
||
// - HotBox_v4 と Superslab/Warm/Remote を繋ぐ Cold 側のインターフェース。
|
||
// - 関数ポインタ(vtable)ではなく direct function で統一。
|
||
// - Hot Box は以下の関数を直接呼び出す(callback ではなく)。
|
||
#pragma once
|
||
|
||
#include <stdbool.h>
|
||
#include <stdint.h>
|
||
|
||
#include "smallobject_hotbox_v4_box.h"
|
||
|
||
// Cold path API: Direct functions (not function pointers)
|
||
// Hot box から直接呼び出される Cold 側の実装。
|
||
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);
|