Esempio n. 1
0
static sl_object_t*
allocate_regexp(sl_vm_t* vm)
{
    sl_object_t* re = sl_alloc(vm->arena, sizeof(sl_regexp_t));
    sl_gc_set_finalizer(re, (void(*)(void*))free_regexp);
    return re;
}
Esempio n. 2
0
File: ruby.c Progetto: filp/slash
static sl_object_t*
alloc_ruby_object(sl_vm_t* vm)
{
    sl_ruby_object_t* obj = sl_alloc(vm->arena, sizeof(sl_ruby_object_t));
    obj->obj = Qnil;
    rb_gc_register_address(&obj->obj);
    sl_gc_set_finalizer(obj, free_ruby_object);
    return (sl_object_t*)obj;
}
Esempio n. 3
0
File: slash.c Progetto: Hmaal/slash
static sl_object_t*
slash_alloc(sl_vm_t* vm)
{
    slash_t* sl = sl_alloc(vm->arena, sizeof(*sl));
    sl->vm = NULL;
    sl->host_vm = vm;
    sl->output_handler = vm->lib.nil;
    sl_gc_set_finalizer(sl, slash_free);
    return (sl_object_t*)sl;
}