メモリ管理¶
Overview¶
mruby の内部的なページベースのメモリ管理方法について記述する
Details¶
mrb_pool 構造体¶
- mrb_state へのポインタと、 mrb_pool_page の先頭ノードへのポインタを持つ
struct mrb_pool {
mrb_state \*mrb;
struct mrb_pool_page \*pages;
};
mrb_pool_page 構造体¶
- 各ページノードの要素と次のノードと末尾ノードの使用済み領域の終端へのポインタをもつ
struct mrb_pool_page {
struct mrb_pool_page \*next;
size_t offset;
size_t len;
void \*last;
char page[];
};