NewtMem.c

メモリ管理 [詳細]

#include <string.h>
#include "NewtMem.h"

ソースコードを見る。

関数

newtPool NewtPoolAlloc (int32_t expandspace)
void * NewtMemAlloc (newtPool pool, size_t size)
void * NewtMemCalloc (newtPool pool, size_t number, size_t size)
void * NewtMemRealloc (newtPool pool, void *ptr, size_t size)
void NewtMemFree (void *ptr)
void NewtStackSetup (newtStack *stackinfo, newtPool pool, uint32_t datasize, uint32_t blocksize)
void NewtStackFree (newtStack *stackinfo)
bool NewtStackExpand (newtStack *stackinfo, uint32_t n)
void NewtStackSlim (newtStack *stackinfo, uint32_t n)
uint32_t NewtAlign (uint32_t n, uint16_t byte)


説明

メモリ管理

作者:
M.Nukui
日付:
2003-11-07
Copyright (C) 2003-2004 M.Nukui All rights reserved.

NewtMem.c で定義されています。


関数

uint32_t NewtAlign ( uint32_t  n,
uint16_t  byte 
)

アラインを計算

引数:
n [in] アラインする値
byte [in] アラインされる単位
戻り値:
アラインされた値

NewtMem.c241 行で定義されています。

参照元 NewtObjFree()NewtObjMemAlloc().

void* NewtMemAlloc ( newtPool  pool,
size_t  size 
)

メモリプールから指定されたサイズのメモリを確保する

引数:
pool [in] メモリプール
size [in] データサイズ
戻り値:
確保したメモリへのポインタ
覚え書き:
現在はまだ独自メモリ管理は行われていない

NewtMem.c52 行で定義されています。

参照元 NewtObjChainAlloc().

void* NewtMemCalloc ( newtPool  pool,
size_t  number,
size_t  size 
)

メモリプールから指定されたサイズのメモリを確保する

引数:
pool [in] メモリプール
number [in] データ数
size [in] データサイズ
戻り値:
確保したメモリへのポインタ
覚え書き:
現在はまだ独自メモリ管理は行われていない

NewtMem.c74 行で定義されています。

参照元 NBCEnvNew().

void NewtMemFree ( void *  ptr  ) 

メモリを解放する

引数:
ptr [in] メモリへのポインタ
戻り値:
なし
覚え書き:
現在はまだ独自メモリ管理は行われていない

NewtMem.c116 行で定義されています。

参照元 NBCEnvFree()NewtCleanup()NewtObjChainAlloc()NewtObjFree()NewtStackFree().

void* NewtMemRealloc ( newtPool  pool,
void *  ptr,
size_t  size 
)

メモリプールから指定されたサイズのメモリを再確保する

引数:
pool [in] メモリプール
ptr [in] メモリへのポインタ
size [in] データサイズ
戻り値:
再確保したメモリへのポインタ
覚え書き:
現在はまだ独自メモリ管理は行われていない

NewtMem.c96 行で定義されています。

参照元 NewtObjRealloc()NewtStackExpand()NewtStackSlim().

newtPool NewtPoolAlloc ( int32_t  expandspace  ) 

メモリプールの確保

引数:
expandspace [in] ブロックの拡張サイズ
戻り値:
メモリプール

NewtMem.c26 行で定義されています。

参照先 newtpool_t::expandspacenewtpool_t::maxspace.

参照元 NewtInit().

bool NewtStackExpand ( newtStack stackinfo,
uint32_t  n 
)

スタックを拡張

引数:
stackinfo [in] スタック情報
n [in] 必要とされているスタック長
戻り値:
true 必要なだけ確保されている
false 確保できなかった

NewtMem.c176 行で定義されています。

参照先 newtStack::blocksizenewtStack::datasizeNewtMemRealloc()newtStack::numsnewtStack::poolnewtStack::stackp.

参照元 excp_push()NBCGenCodeEnv()NBCPushBreakStack()NBCPushOnexcpStack()NPSGenNode2()reg_push()stk_push().

関数の呼び出しグラフ:

void NewtStackFree ( newtStack stackinfo  ) 

スタックを解放

引数:
stackinfo [in] スタック情報
戻り値:
なし

NewtMem.c153 行で定義されています。

参照先 NewtMemFree()newtStack::numsnewtStack::spnewtStack::stackp.

参照元 NBCEnvFree()NewtStackSlim()NPSCleanup()NVMCleanSTACK().

関数の呼び出しグラフ:

void NewtStackSetup ( newtStack stackinfo,
newtPool  pool,
uint32_t  datasize,
uint32_t  blocksize 
)

スタック情報をセットアップ

引数:
stackinfo [out]スタック情報
pool [in] メモリプール
datasize [in] データサイズ
blocksize [in] ブロックサイズ
戻り値:
なし

NewtMem.c134 行で定義されています。

参照先 newtStack::blocksizenewtStack::datasizenewtStack::pool.

参照元 NBCEnvNew()NBCPushBreakStack()NBCPushOnexcpStack()NPSInit()NVMInitSTACK().

void NewtStackSlim ( newtStack stackinfo,
uint32_t  n 
)

スタックをスリム化

引数:
stackinfo [in] スタック情報
n [in] 必要とされているスタック長
戻り値:
なし

NewtMem.c208 行で定義されています。

参照先 newtStack::datasizeNewtMemRealloc()NewtStackFree()newtStack::numsnewtStack::poolnewtStack::stackp.

参照元 NPSParse().

関数の呼び出しグラフ:


NEWT/0に対してThu Nov 23 17:02:55 2006に生成されました。  doxygen 1.5.0