From 535868091255c97d03e882e2d5a48503d6d09c6b Mon Sep 17 00:00:00 2001 From: Abdulaziz Ghuloum Date: Fri, 29 Jun 2007 01:46:27 +0300 Subject: [PATCH] * tconc queue now uses 2-words per tconc in the transition to non-allocating tconc_add procedure. --- bin/ikarus | Bin 63636 -> 63636 bytes bin/ikarus-collect.c | 8 ++++---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/bin/ikarus b/bin/ikarus index 6fe31dd90cdf7747764cf0e62f0556b86c2c71ae..8381c867b7b107f2602176b01731c96382bd23a6 100755 GIT binary patch delta 36 pcmbR8k$K8T<_#8+j2x3KBUdtVYpcb); gc->segment_vector = gc->pcb->segment_vector; bzero(ap, pagesize); - ikp nap = ap + wordsize; + ikp nap = ap + 2*wordsize; gc->tconc_base = ap; gc->tconc_ap = nap; gc->tconc_ep = ap + pagesize; @@ -248,7 +248,7 @@ gc_tconc_push_extending(gc_t* gc, ikp tcbucket){ static inline void gc_tconc_push(gc_t* gc, ikp tcbucket){ ikp ap = gc->tconc_ap; - ikp nap = ap + wordsize; + ikp nap = ap + 2*wordsize; if(nap > gc->tconc_ep){ gc_tconc_push_extending(gc, tcbucket); } else { @@ -1799,7 +1799,7 @@ gc_add_tconcs(gc_t* gc){ ikp q = gc->tconc_ap; while(p < q){ add_one_tconc(pcb, ref(p,0)); - p += wordsize; + p += 2*wordsize; } } ikpages* qu = gc->tconc_queue; @@ -1809,7 +1809,7 @@ gc_add_tconcs(gc_t* gc){ while(p < q){ add_one_tconc(pcb, ref(p,0)); ref(p,0) = 0; - p += wordsize; + p += 2*wordsize; } ikpages* next = qu->next; ik_free(qu, sizeof(ikpages));