From: phil Date: Thu, 5 Nov 1998 21:06:20 +0000 (+0000) Subject: Fixed another bug in finalization from heap_close X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=commitdiff_plain;h=21808f9dfd9ea6f7565ea797ff915782bfa148a3;p=cacao.git Fixed another bug in finalization from heap_close --- diff --git a/mm/heap.old.c b/mm/heap.old.c index 39582e83a..c2d763044 100644 --- a/mm/heap.old.c +++ b/mm/heap.old.c @@ -767,14 +767,6 @@ void heap_init (u4 heapbytesize, u4 heapbytestartsize, void **stackbottom) void heap_close () { -#ifndef TRACECALLARGS - MFREE (heap, heapblock, heapsize); */ -#endif - MFREE (startbits, bitfieldtype, heapsize/BITFIELDBITS); - MFREE (markbits, bitfieldtype, heapsize/BITFIELDBITS); - MFREE (referencebits, bitfieldtype, heapsize/BITFIELDBITS); - chain_free (allglobalreferences); - while (livefinalizees) { finalizernode *n = livefinalizees->next; asm_calljavamethod (livefinalizees->finalizer, @@ -783,6 +775,14 @@ void heap_close () FREE (livefinalizees, finalizernode); livefinalizees = n; } + +#ifndef TRACECALLARGS + MFREE (heap, heapblock, heapsize); +#endif + MFREE (startbits, bitfieldtype, heapsize/BITFIELDBITS); + MFREE (markbits, bitfieldtype, heapsize/BITFIELDBITS); + MFREE (referencebits, bitfieldtype, heapsize/BITFIELDBITS); + chain_free (allglobalreferences); }