add pic_alloca
This commit is contained in:
@@ -696,6 +696,15 @@ pic_gc(pic_state *pic)
|
||||
gc_sweep_phase(pic);
|
||||
}
|
||||
|
||||
void *
|
||||
pic_alloca(pic_state *pic, size_t n)
|
||||
{
|
||||
static const pic_data_type t = { "pic_alloca", pic_free, 0 };
|
||||
|
||||
/* TODO: optimize */
|
||||
return pic_data_alloc(pic, &t, pic_malloc(pic, n))->data;
|
||||
}
|
||||
|
||||
struct pic_object *
|
||||
pic_obj_alloc_unsafe(pic_state *pic, size_t size, enum pic_tt tt)
|
||||
{
|
||||
|
||||
@@ -137,6 +137,7 @@ void pic_free(pic_state *, void *);
|
||||
|
||||
typedef pic_value (*pic_func_t)(pic_state *);
|
||||
|
||||
void *pic_alloca(pic_state *, size_t);
|
||||
pic_value pic_gc_protect(pic_state *, pic_value);
|
||||
size_t pic_gc_arena_preserve(pic_state *);
|
||||
void pic_gc_arena_restore(pic_state *, size_t);
|
||||
|
||||
Reference in New Issue
Block a user