From 86b91713094867f813d476286698b24385a7b3d3 Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 25 Apr 2019 22:16:22 +0200 Subject: [PATCH] :bug: Fix dtor --- src/lib/instr.c | 1 + src/lib/object.c | 1 + 2 files changed, 2 insertions(+) diff --git a/src/lib/instr.c b/src/lib/instr.c index 6faec1d3..7cbfea66 100644 --- a/src/lib/instr.c +++ b/src/lib/instr.c @@ -24,6 +24,7 @@ INSTR(DTOR_EOC) { GWDEBUG_EXE const M_Object o = *(M_Object*)MEM(0); o->type_ref = o->type_ref->parent; __release(o, shred); + shred->info->me->ref = 1; vm_shred_exit(shred); } diff --git a/src/lib/object.c b/src/lib/object.c index d0cb0d38..708cb18a 100644 --- a/src/lib/object.c +++ b/src/lib/object.c @@ -67,6 +67,7 @@ ANN static void handle_dtor(const M_Object object, const VM_Shred shred) { sh->base = shred->base; *(M_Object*)sh->mem = object; vm_add_shred(shred->info->vm, sh); + ++sh->info->me->ref; } __attribute__((hot)) -- 2.43.0