PatchSet 6738 
Date: 2005/07/17 09:57:53
Author: guilhem
Branch: HEAD
Tag: (none) 
Log:
Kaffe-GC fix for heap growing.

        * kaffe/kaffevm/kaffe-gc/gc-mem.c
        (gc_block_alloc): Relocate gc_last_block too.

Members: 
        ChangeLog:1.4262->1.4263 
        kaffe/kaffevm/kaffe-gc/gc-mem.c:1.30->1.31 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.4262 kaffe/ChangeLog:1.4263
--- kaffe/ChangeLog:1.4262      Sun Jul 17 08:11:17 2005
+++ kaffe/ChangeLog     Sun Jul 17 09:57:53 2005
@@ -1,3 +1,8 @@
+2005-07-16  Guilhem Lavaux  <[EMAIL PROTECTED]>
+
+       * kaffe/kaffevm/kaffe-gc/gc-mem.c
+       (gc_block_alloc): Relocate gc_last_block too.
+
 2005-07-17  Kurt Miller <[EMAIL PROTECTED]>
 
        * kaffe/kaffeh/main.c
Index: kaffe/kaffe/kaffevm/kaffe-gc/gc-mem.c
diff -u kaffe/kaffe/kaffevm/kaffe-gc/gc-mem.c:1.30 
kaffe/kaffe/kaffevm/kaffe-gc/gc-mem.c:1.31
--- kaffe/kaffe/kaffevm/kaffe-gc/gc-mem.c:1.30  Wed Jul 13 13:31:15 2005
+++ kaffe/kaffe/kaffevm/kaffe-gc/gc-mem.c       Sun Jul 17 09:57:56 2005
@@ -363,8 +363,12 @@
        gc_block** mptr;
        gc_block* blk;
        size_t nsz;
+#if defined(KAFFE_STATS)
+       static timespent heap_alloc_time;
+#endif
 
        lockStaticMutex(&gc_heap_lock);
+       startTiming(&heap_alloc_time, "gc_heap_malloc");
 
 DBG(SLACKANAL,
        if (KGC_SMALL_OBJECT(sz)) {
@@ -445,6 +449,7 @@
        assert(KGC_OBJECT_SIZE(mem) >= sz);
 
        out:
+       stopTiming(&heap_alloc_time);
        unlockStaticMutex(&gc_heap_lock);
 
        return (mem);
@@ -461,6 +466,9 @@
        int lnr;
        int msz;
        int idx;
+#if defined(KAFFE_STATS)
+       static timespent heap_free_time;
+#endif
 
        info = gc_mem2block(mem);
        idx = GCMEM2IDX(info, mem);
@@ -476,6 +484,7 @@
        dprintf("gc_heap_free: memory %p size %d\n", mem, info->size);  );
 
        lockStaticMutex(&gc_heap_lock);
+       startTiming(&heap_free_time, "gc_heap_free");
 
        if (KGC_SMALL_OBJECT(info->size)) {
                lnr = sztable[info->size].list;
@@ -532,6 +541,7 @@
                gc_primitive_free(info);
        }
 
+       stopTiming(&heap_free_time);
        unlockStaticMutex(&gc_heap_lock);
 
 DBG(GCDIAG,
@@ -1198,6 +1208,7 @@
                                R(gc_block, freelist[i].list);
 
                        R(gc_block, gc_reserve_pages);
+                       R(gc_block, gc_last_block);
 #undef R
                }
                KTHREAD(spinoff)(NULL);

_______________________________________________
kaffe mailing list
[email protected]
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe

Reply via email to