return; | return; | ||||
} | } | ||||
printf("GC MARK %i\n", id); | |||||
val->flags |= L2_VAL_MARKED; | val->flags |= L2_VAL_MARKED; | ||||
int typ = l2_vm_value_type(val); | int typ = l2_vm_value_type(val); | ||||
struct l2_vm_value *val = &vm->values[i]; | struct l2_vm_value *val = &vm->values[i]; | ||||
if (!(val->flags & L2_VAL_MARKED)) { | if (!(val->flags & L2_VAL_MARKED)) { | ||||
printf("GC FREE %zi\n", i); | |||||
gc_free(vm, i); | gc_free(vm, i); | ||||
freed += 1; | freed += 1; | ||||
} else { | } else { |