diff --git a/src/ns.c b/src/ns.c index ba643a45..038b6f4a 100644 --- a/src/ns.c +++ b/src/ns.c @@ -104,13 +104,12 @@ static i32* emptyi32ptr; static B emptyi32obj; Body* m_nnsDescF(i32 n, char** names) { if (emptyi32ptr==NULL) gc_add(emptyi32obj = m_i32arrv(&emptyi32ptr, 0)); - incByG(emptyi32obj, 3); + incByG(emptyi32obj, 2); M_HARR(nl, n) for (usz i = 0; i < n; i++) HARR_ADD(nl, i, m_c8vec_0(names[i])); Comp* comp = mm_alloc(sizeof(Comp), t_comp); - comp->bc = emptyi32obj; comp->indices = bi_N; comp->src = bi_N; comp->path = bi_N; diff --git a/src/vm.c b/src/vm.c index 925d5150..5d82434c 100644 --- a/src/vm.c +++ b/src/vm.c @@ -458,7 +458,6 @@ NOINLINE Block* compileAll(B bcq, B objs, B allBlocks, B allBodies, B indices, B u32* bc = (u32*)bca->a; usz bcIA = PIA(bca); Comp* comp = mm_alloc(sizeof(Comp), t_comp); - comp->bc = taga(bca); comp->indices = indices; comp->src = src; comp->path = path; @@ -491,7 +490,7 @@ NOINLINE Block* compileAll(B bcq, B objs, B allBlocks, B allBodies, B indices, B for (usz i = 0; i < bIA; i++) bDone[i] = false; Block* ret = compileBlock(IGetU(allBlocks, 0), comp, bDone, bc, bcIA, allBlocks, allBodies, nameList, sc, 0, 0, nsResult); TFREE(bDone); - ptr_dec(comp); decG(allBlocks); decG(allBodies); dec(tokenInfo); + ptr_dec(comp); decG(allBlocks); decG(allBodies); dec(tokenInfo); decG(taga(bca)); return ret; } @@ -1085,7 +1084,7 @@ DEF_FREE(block) { i32 am = c->bodyCount; for (i32 i = 0; i < am; i++) ptr_decR(c->bodies[i]); } -DEF_FREE(comp) { Comp* c = (Comp *)x; if (c->objs!=NULL) ptr_decR(c->objs); decR(c->bc); decR(c->src); decR(c->indices); decR(c->path); decR(c->nameList); } +DEF_FREE(comp) { Comp* c = (Comp *)x; if (c->objs!=NULL) ptr_decR(c->objs); decR(c->src); decR(c->indices); decR(c->path); decR(c->nameList); } DEF_FREE(funBl) { FunBlock* c = (FunBlock*)x; ptr_dec(c->sc); ptr_decR(c->bl); } DEF_FREE(md1Bl) { Md1Block* c = (Md1Block*)x; ptr_dec(c->sc); ptr_decR(c->bl); } DEF_FREE(md2Bl) { Md2Block* c = (Md2Block*)x; ptr_dec(c->sc); ptr_decR(c->bl); } @@ -1119,7 +1118,7 @@ void block_visit(Value* x) { i32 am = c->bodyCount; for (i32 i = 0; i < am; i++) mm_visitP(c->bodies[i]); } -void comp_visit(Value* x) { Comp* c = (Comp *)x; mm_visitP(c->objs); mm_visit(c->bc); mm_visit(c->src); mm_visit(c->indices); mm_visit(c->path); mm_visit(c->nameList); } +void comp_visit(Value* x) { Comp* c = (Comp *)x; mm_visitP(c->objs); mm_visit(c->src); mm_visit(c->indices); mm_visit(c->path); mm_visit(c->nameList); } void funBl_visit(Value* x) { FunBlock* c = (FunBlock*)x; mm_visitP(c->sc); mm_visitP(c->bl); } void md1Bl_visit(Value* x) { Md1Block* c = (Md1Block*)x; mm_visitP(c->sc); mm_visitP(c->bl); } void md2Bl_visit(Value* x) { Md2Block* c = (Md2Block*)x; mm_visitP(c->sc); mm_visitP(c->bl); } diff --git a/src/vm.h b/src/vm.h index 5bd4cc82..03ac341b 100644 --- a/src/vm.h +++ b/src/vm.h @@ -85,7 +85,6 @@ typedef struct ScopeExt ScopeExt; typedef struct Comp { struct Value; - B bc; B src; B path; B indices;