From 04434f44fddf7bdad3c2048e5d9c397a8e873b30 Mon Sep 17 00:00:00 2001 From: Yuichi Nishiwaki Date: Sat, 30 Nov 2013 00:07:49 +0900 Subject: [PATCH] cosmetic changes --- src/gc.c | 56 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/src/gc.c b/src/gc.c index b4719f8b..1ddd6f43 100644 --- a/src/gc.c +++ b/src/gc.c @@ -142,6 +142,34 @@ gc_alloc(pic_state *pic, size_t size) return (void *)(p + 1); } +static void +gc_free(pic_state *pic, union header *bp) +{ + union header *freep, *p; + + freep = pic->heap->freep; + for (p = freep; ! (bp > p && bp < p->s.ptr); p = p->s.ptr) { + if (p >= p->s.ptr && (bp > p || bp < p->s.ptr)) { + break; + } + } + if (bp + bp->s.size == p->s.ptr) { + bp->s.size += p->s.ptr->s.size; + bp->s.ptr = p->s.ptr->s.ptr; + } + else { + bp->s.ptr = p->s.ptr; + } + if (p + p->s.size == bp) { + p->s.size += bp->s.size; + p->s.ptr = bp->s.ptr; + } + else { + p->s.ptr = bp; + } + pic->heap->freep = p; +} + static void gc_mark(pic_state *, pic_value); static void gc_mark_object(pic_state *pic, struct pic_object *obj); @@ -442,34 +470,6 @@ gc_finalize_object(pic_state *pic, struct pic_object *obj) } } -static void -gc_free(pic_state *pic, union header *p) -{ - union header *freep, *bp; - - freep = pic->heap->freep; - for (bp = freep; ! (p > bp && p < bp->s.ptr); bp = bp->s.ptr) { - if (bp >= bp->s.ptr && (p > bp || p < bp->s.ptr)) { - break; - } - } - if (p + p->s.size == bp->s.ptr) { - p->s.size += bp->s.ptr->s.size; - p->s.ptr = bp->s.ptr->s.ptr; - } - else { - p->s.ptr = bp->s.ptr; - } - if (bp + bp->s.size == p) { - bp->s.size += p->s.size; - bp->s.ptr = p->s.ptr; - } - else { - bp->s.ptr = p; - } - pic->heap->freep = bp; -} - static void gc_sweep_phase(pic_state *pic) {