Makefile
authorphil <none@none>
Mon, 9 Nov 1998 13:43:07 +0000 (13:43 +0000)
committerphil <none@none>
Mon, 9 Nov 1998 13:43:07 +0000 (13:43 +0000)
Makefile
mm/Makefile
mm/heap.old.c

index 631fc0e5c16c5bbc21176911347d121780e0a9c8..b3b46150d57dc845e2f838731bb50d098ad1d896 100644 (file)
--- a/Makefile
+++ b/Makefile
 
 VERSION_MAJOR = 0
 VERSION_MINOR = 30
-VERSION_POSTFIX = 
+VERSION_POSTFIX = p1
 
 VERSION_STRING=$(VERSION_MAJOR).$(VERSION_MINOR)$(VERSION_POSTFIX)
 
 ##################### generation of the excutable ##############################
 
 # Enabling/disabling thread support
-USE_THREADS = YES
-#USE_THREADS = NO
+USE_THREADS = YES
+USE_THREADS = NO
 
 ifeq ($(USE_THREADS),YES)
 THREAD_OBJ = threads/threads.a
@@ -48,8 +48,8 @@ endif
 #LFLAGS = -lm
 
 CC = cc
-#CFLAGS = -g3 -ieee $(THREAD_CFLAGS)
-CFLAGS = -O3 -ieee $(THREAD_CFLAGS)
+CFLAGS = -g3 -ieee $(THREAD_CFLAGS)
+#CFLAGS = -O3 -ieee $(THREAD_CFLAGS)
 LFLAGS = -lm
 
 # IRIX 6.5 MIPSPro 7.2.1
@@ -117,6 +117,7 @@ clean:
        cd toolbox; $(MAKE) clean
        cd threads; $(MAKE) clean
        cd mm; $(MAKE) clean
+
 tar:
        rm -f cacao.tgz cacao.tar
        tar -cvf cacao.tar Makefile */Makefile README COPYRIGHT tst/*.java \
@@ -129,8 +130,8 @@ tar:
 
 dist:
        rm -rf cacao-$(VERSION_STRING).tar.gz cacao-$(VERSION_STRING);
+#        tar -cf cacao-$(VERSION_STRING).tar -T FILES;
        ( mkdir cacao-$(VERSION_STRING); \
-#        tar -cf cacao-$(VERSION_STRING).tar -T FILES; \
          tar -cvf cacao-$(VERSION_STRING).tar Makefile */Makefile README COPYRIGHT \
            tst/*.java doc/*.doc html/*.html *.[ch] comp/*.[ch] ncomp/*.[ch] \
            alpha/*.doc alpha/*.[ch] nat/*.[ch] toolbox/*.[ch] threads/*.[ch]; \
@@ -194,5 +195,3 @@ sysdep/offsets.h nativetypes.hh nativetable.hh : cacaoh
 \
        java.util.Properties \
        java.util.Date
-       
-       
index 2314aea0ac4621d3eb837b380ce6a014a412ad71..cbcd56047daa130b267d5ff46d3b253e5de95ccb 100644 (file)
@@ -1,12 +1,12 @@
 # cacao/mm/Makefile
-# $Id: Makefile 28 1998-10-30 14:51:47Z cacao $
+# $Id: Makefile 46 1998-11-09 13:43:07Z phil $
 
 AR = ar
 COMBINE = $(AR) rcs mm.o
 
 mm.o: actualtarget Makefile
 
-actualtarget: old
+actualtarget: gc2
 
 clean:
        rm -rf *.o *~
index c2d7630441091e3ef85bea27acd05af968ba72bf..9a9d8a1b6346bb80a18cf91abd8789d019c8946d 100644 (file)
@@ -419,6 +419,7 @@ static void mark (heapblock *obj)
        if ( isbitclear(startbits, blocknum) ) return;
        if ( isbitset(markbits, blocknum) ) return;
 
+       fprintf(stderr, "mark: marking object at 0x%lx\n", obj);
        setbit (markbits, blocknum);
        
        if ( isbitclear(referencebits, blocknum) ) return;
@@ -495,6 +496,8 @@ static void markstack ()                   /* schani */
 #else
     void **top_of_stack = &dummy;
 
+       fprintf(stderr, "marking stack\n");
+
     if (top_of_stack > bottom_of_stack)
         markreferences(bottom_of_stack, top_of_stack);
     else
@@ -595,6 +598,7 @@ static void heap_docollect ()
                /* Alle vom Stack referenzierten Objekte markieren */
        asm_dumpregistersandcall (markstack);
 
+       fprintf(stderr, "marking references\n");
                /* Alle von globalen Variablen erreichbaren Objekte markieren */
        p = chain_first (allglobalreferences);
        while (p) {
@@ -632,12 +636,24 @@ static void heap_docollect ()
                        /* Ende des freien Bereiches suchen */          
                freeend = findnextsetbit (markbits, topofheap, freestart+1);
 
+#if 0
+               if (freeend==topofheap) {
+                       topofheap = freestart;
+                       heapfreemem += (freeend-freestart);
+                       goto freememfinished;
+               } else {
+                       fprintf(stderr, "%lx -- %lx\n", heap + freestart, heap + freeend);
+#endif
+
                        /* Freien Bereich in Freispeicherliste einh"angen */
-               memlist_addrange (freestart, freeend-freestart);
+                       memlist_addrange (freestart, freeend-freestart);
 
                        /* Menge des freien Speichers mitnotieren */
-               heapfreemem += (freeend-freestart);
+                       heapfreemem += (freeend-freestart);
+#if 0
                }
+#endif
+       }
 
        freememfinished:
 
@@ -823,6 +839,10 @@ void *heap_allocate (u4 bytelength, bool references, methodinfo *finalizer)
        u4 freestart,freelength;
        u4 length = ALIGN(bytelength, BLOCKSIZE) / BLOCKSIZE;
        
+       //      fprintf(stderr, "heap_allocate: 0x%lx (%ld) requested, 0x%lx (%ld) aligned\n", bytelength, bytelength, length * BLOCKSIZE, length * BLOCKSIZE);
+
+       //      heap_docollect();
+
        intsDisable();                        /* schani */
 
        memlist_getsuitable (&freestart, &freelength, length);