87 lines
3.7 KiB
Python
87 lines
3.7 KiB
Python
"""
|
|
Auto-generated Python stub file from memhub.py
|
|
Module: memhub
|
|
"""
|
|
|
|
|
|
import t, c
|
|
from stdint import *
|
|
import string
|
|
import atom
|
|
import viperio
|
|
import stdio
|
|
|
|
MEMHUB_ALIGN: t.CDefine = 8
|
|
MEMSLAB_MIN_BLOCK: t.CDefine = 16
|
|
MEMSLAB_BITMAP_BYTES: t.CDefine = 256
|
|
MEMBUDDY_MIN_BLOCK: t.CDefine = 32
|
|
MEMBUDDY_MAX_ORDERS: t.CDefine = 32
|
|
MEMBUDDY_HEADER_SIZE: t.CDefine = 8
|
|
|
|
def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass
|
|
|
|
def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass
|
|
|
|
def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass
|
|
|
|
|
|
@t.CVTable
|
|
class MemManager:
|
|
__provides__: list[str] = ['__memmgr__']
|
|
base: t.CVoid | t.CPtr
|
|
size: t.CSizeT
|
|
def __init__(self: MemManager, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass
|
|
def alloc(self: MemManager, size: t.CSizeT) -> t.CVoid | t.CPtr: pass
|
|
def free(self: MemManager, ptr: t.CVoid | t.CPtr) -> t.CInt: pass
|
|
def reset(self: MemManager) -> t.CInt: pass
|
|
def calloc(self: MemManager, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass
|
|
def realloc(self: MemManager, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass
|
|
def __enter__(self: MemManager) -> 'MemManager' | t.CPtr: pass
|
|
def __exit__(self: MemManager) -> t.CInt: pass
|
|
def alloc_buf(self: MemManager, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass
|
|
class MemPool(MemManager):
|
|
offset: t.CSizeT
|
|
high_water: t.CSizeT
|
|
def __init__(self: MemPool, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass
|
|
def alloc(self: MemPool, size: t.CSizeT) -> t.CVoid | t.CPtr: pass
|
|
def free(self: MemPool, ptr: t.CVoid | t.CPtr) -> t.CInt: pass
|
|
def reset(self: MemPool) -> t.CInt: pass
|
|
class MemSlab(MemManager):
|
|
block_size: t.CSizeT
|
|
block_count: t.CSizeT
|
|
used_count: t.CSizeT
|
|
free_list: t.CVoid | t.CPtr
|
|
alloc_map: t.CUInt8T | t.CPtr
|
|
alloc_map_size: t.CSizeT
|
|
usable: t.CVoid | t.CPtr
|
|
usable_size: t.CSizeT
|
|
def __init__(self: MemSlab, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT) -> t.CInt: pass
|
|
def alloc(self: MemSlab, size: t.CSizeT) -> t.CVoid | t.CPtr: pass
|
|
def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass
|
|
def reset(self: MemSlab) -> t.CInt: pass
|
|
class MemBuddy(MemManager):
|
|
max_order: t.CInt
|
|
free_lists: t.CUInt64T | t.CPtr
|
|
lock_val: t.CVolatile | t.CInt
|
|
usable: t.CVoid | t.CPtr
|
|
usable_size: t.CSizeT
|
|
def __init__(self: MemBuddy, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass
|
|
def _fl_push(self: MemBuddy, order: t.CInt, block: t.CVoid | t.CPtr) -> t.CInt: pass
|
|
def _fl_pop(self: MemBuddy, order: t.CInt) -> t.CVoid | t.CPtr: pass
|
|
def _fl_find_and_remove(self: MemBuddy, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass
|
|
def _buddy_of(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass
|
|
def _order_for_size(self: MemBuddy, size: t.CSizeT) -> t.CInt: pass
|
|
def _split_to_order(self: MemBuddy, to_order: t.CInt) -> t.CVoid | t.CPtr: pass
|
|
def _coalesce(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CInt: pass
|
|
def _is_valid_ptr(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass
|
|
def _lock(self: MemBuddy) -> t.CInt: pass
|
|
def _unlock(self: MemBuddy) -> t.CInt: pass
|
|
def alloc(self: MemBuddy, size: t.CSizeT) -> t.CVoid | t.CPtr: pass
|
|
def free(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass
|
|
def reset(self: MemBuddy) -> t.CInt: pass
|
|
def realloc(self: MemBuddy, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass
|
|
@property
|
|
def mem_size(self: MemBuddy) -> t.CSizeT: pass
|
|
def stats(self: MemBuddy) -> t.CSizeT: pass
|
|
def free_count(self: MemBuddy) -> t.CSizeT: pass
|
|
def self_check(self: MemBuddy) -> t.CInt: pass |