tredmill 0.1 README ============================================================================== Copyright (c) 1997-2001 Kurt A. Stephens and Ion, Inc., All Rights Reserved. http://www.acm.org/~stephensk Kurt A. Stephens and Ion, Inc. MAKE NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. Kurt A. Stephens and Ion, Inc. SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. $Id: COPYRIGHT,v 1.3 2001/04/03 18:37:16 stephens Exp $ ============================================================================== tredmill 0.1 README ============================================================================== $Id: README,v 1.3 1999/12/29 02:52:30 stephensk Exp $ Introduction This is a real-time, non-relocating, conservative, Treadmill allocator. TM attempts to limit the amount of scanning, marking and collecting during each call to tm_alloc() to avoid stopping the world for long periods of time. Coloring An allocation unit is a tm_node. Each node is allocated from am aligned, fixed block size (except for blocks that will not fit within the fixed size). Each node has a "color" tag describing its current allocation state: 1. white: free, unused. 2. ecru: allocated, unmarked. 3. grey: allocated, scheduled, unmarked. 4. black: allocated, marked. Each node and is kept on a doubly-linked list based on its current color. When a node's color changes it moves to a different colored list for processing in a different phase. For each size of node, a type is created. Each type has it's own white, ecru, grey, and black lists. Each node lives on its type's color list. Allocation Phases The allocator interleaves the following phases with allocation: 1. ALLOC: Allocation. (WHITE -> GREY) 2. ROOT: Root marking. (ECRU -> GREY) 3. MARK: Mark scheduled nodes. (GREY -> BLACK) 4. SWEEP: Freeing unmarked nodes. (ECRU -> WHITE) 5. UNMARK: Unmarking marked. (BLACK -> ECRU) During each call to tm_alloc. 1. ALLOC: Allocate objects from free list until free list is empty. 2. ROOT: A fixed number of root bytes are scanned for pointers into allocated space. After all roots are scanned. 3. MARK: A fixed number of node bytes are scanned for pointers and marked. 4. SWEEP: If there are no more nodes to be marked, The stacks are scanned for references. If there are still no more nodes to be marked, Begin sweeping a fixed number of nodes. 5. UNMARK: A fixed number of nodes are returned to the allocated list. Allocated nodes are taken from the type's WHITE list and placed on the GREY list. During the SWEEP phase allocated nodes are moved to the GREY list to avoid accidently sweeping them, otherwise they are moved to the ECRU list for possible marking. If no WHITE nodes are available for tm_alloc(), a new block is requested from th OS and is assigned to the type for use as an allocation buffer. A limited number of new free nodes are created by allocating from the type's allocation block and initialized as new WHITE nodes. Note: new blocks may be need to be allocated from the OS even during the non-ALLOC phases, if the type's free list or allocation block. The reasoning here is is than the OS should be able to allocate a new allocation block faster than a stop-the-world collection. Aligned blocks: Aligned blocks are used for allocation because simple pointer arthmetic can be used to determine a generic words vitality as a pointer to heap-allocated node. To determine a pointer's allocation type: 1) Determine if the ptr is in a range of blocks we have allocated from the OS. 2) Mask off the insignification page bits to get a block address. 3) Determine if the block is in use. 4) Determine the size of nodes in the block from the block's type. 5) Determine if the ptr resides in the data portion of the node. This can all be done in a few instructions with relying on heaps or other searching. Nodes of block size or greater are maintained in a separate list and are determined by using a bitarray keyed by block address. If the bitarray has a one for the potental big block address, search the Big Object List. Write barriers: During the MARK phase any BLACK node that is mutated must be rescanned due to the possible introduction of new references from the BLACK node to ECRU nodes. This is achieved by calling tm_write_barrier(R) after modifing R's contents. There are two versions of the write barrier: 1. tm_write_barrier(R) 2. tm_write_barrier_pure(R) tm_write_barrier_pure(R) can be called when R is guaranteed to be a pointer to the head of a node allocated by tm_alloc(). Do not use tm_write_barrier(R) if R might be an interior pointer or a pointer to a stack or statically allocated object. Use tm_write_barrier(R) if you don't know where R points to. If R is a global root location tm_write_barrier(R) will cause global root rescanning if the collector is in the MARK phase. If you know you are modifing a global root ptr location. Stack pointer writes do not need to be traced, because stack scanning occurs atomically at the end of ROOT. If you are entering code where the write barrier protocol is not followed you can temporarly disable incremental collection by calling tm_disable_write_barrier(). This puts the collector into a "stop-world" collection mode until tm_enable_write_barrier() is called. A virtual memory write-barrier based on mmap() might be easier to manage. Recoloring and marking root set pages can be done in hardware assuming the overhead of mmap() is low when changing phases and colors. Type segregation: Nodes are segregated by type (currently type is a size). By default, types are rounded up to the next power of 2. A specified allocation type can be requested with tm_adesc_for_size(). The allocation descriptor can then be used by tm_alloc_desc(). The opqaue-> Each node type has its own colored lists, allocated block lists and accounting. The ecru, grey and black list are logically combined for iteration during MARK, SWEEP, and UNARK phases, using nested [type,node] iterators. As nodes are allocated, marked, sweeped and unmarked they move between the colored lists as follows. [ free (white) ]X------------------- [ marked (black) ] X | \ / X | | \ / | | | \ / | | | \ / | | | \ / | | | \ / | | | \ / | | | \ / | | | \ / | | | \ / | | SWEEP |ALLOC \ | MARK | | / \ | | | / \ | | | / \ | | | / \ | | | / \ ALLOC | | | / \ | | | / \ | | | / \ | | | / UNMARK \ | | X X X | [ allocated (ecru) ] -----------------> [ scheduled (grey) ] ROOT+MARK TM is not currently thread-safe or thread-hot. ============================================================================== ============================================================================== NAME tredmill VERSION 0.1 CATEGORY Development Tools DESC A real-time Treadmill garbage collector. CONTAINS_PKGS tredmill maks bin util REQUIRES_OTHERS gnumake perl sh DATE 2001/06/02 10:29:47 README /home/stephens/public_html/research/pub/tredmill0.1.txt ARCHIVE /home/stephens/public_html/research/pub/tredmill0.1.tgz NAME tredmill VERSION 0.1 CATEGORY Development Tools DESC A real-time Treadmill garbage collector. SRC_DIR /home/stephens/ion/src/tredmill CHANGES_RELEASES 0.1 CVSLOG CVSLOG MAKE make MAKE_CLEAN clean veryclean RCS_ID $Id: PKG,v 1.3 2000/01/07 09:40:40 stephensk Exp $ README README REQUIRES_OTHERS REQUIRES_PKGS ../maks ../util NAME maks VERSION 0.2 CATEGORY Development Tools DESC A Makefile library. Handles automatic header file dependencies and interpackage dependencies. SRC_DIR /home/stephens/ion/src/maks CVSLOG CVSLOG MAKE make MAKE_CLEAN clean veryclean README README REQUIRES_OTHERS gnumake sh REQUIRES_PKGS ../bin NAME bin VERSION 0.1 CATEGORY Development Tools DESC A development script library. Tools for: publishing PKG packages, adding COPYRIGHT and RCS version strings to source files, etc. SRC_DIR /home/stephens/ion/src/bin CVSLOG CVSLOG MAKE make MAKE_CLEAN clean veryclean README README REQUIRES_OTHERS perl sh REQUIRES_PKGS NAME util VERSION 0.4 CATEGORY Development Tools DESC A C library with path, mem, and other functions. SRC_DIR /home/stephens/ion/src/util CHANGES_RELEASES 0.4 0.3 0.2 0.1 CVSLOG CVSLOG MAKE make MAKE_CLEAN clean veryclean RCS_ID $Id: PKG,v 1.7 1999/05/07 12:30:05 stephensk Exp $ README README REQUIRES_OTHERS perl REQUIRES_PKGS ../maks OTHER gnumake OTHER perl OTHER sh ============================================================================== tredmill 0.1 CHANGES ============================================================================== ============================================================================== Changes from release '' to 'PUBLISH_tredmill0_1' ============================================================================== ============================================================================== tredmill 0.1 Table of Contents ============================================================================== tredmill0.1: total 7 drwxr-xr-x 3 stephens stepheng 1024 Jun 2 05:32 . drwxr-xr-x 3 stephens stepheng 1024 Jun 2 05:32 .. -rw-r--r-- 1 stephens stepheng 310 Jun 2 05:32 CHANGES -rw-r--r-- 1 stephens stepheng 601 Jun 2 05:32 COPYRIGHT -rw-r--r-- 1 stephens stepheng 782 Jun 2 05:32 README -rw-r--r-- 1 stephens stepheng 110 Jun 2 05:32 TOC drwxr-xr-x 6 stephens stepheng 1024 Jun 2 05:32 src tredmill0.1/src: total 7 drwxr-xr-x 6 stephens stepheng 1024 Jun 2 05:32 . drwxr-xr-x 3 stephens stepheng 1024 Jun 2 05:32 .. -rw-r--r-- 1 stephens stepheng 390 Jun 2 05:32 GUM_BUILD_ROOT drwxr-xr-x 5 stephens stepheng 1024 Jun 2 05:32 bin drwxr-xr-x 7 stephens stepheng 1024 Jun 2 05:32 maks drwxr-xr-x 3 stephens stepheng 1024 Jun 2 05:32 tredmill drwxr-xr-x 4 stephens stepheng 1024 Jun 2 05:32 util tredmill0.1/src/bin: total 134 drwxr-xr-x 5 stephens stepheng 1024 Jun 2 05:32 . -rwxr--r-- 1 stephens stepheng 2170 Feb 23 01:14 .#uud.1.2 -rwxr--r-- 1 stephens stepheng 3661 Feb 23 01:14 .#uudindex.1.2 drwxr-xr-x 6 stephens stepheng 1024 Jun 2 05:32 .. drwxr-xr-x 2 stephens stepheng 1024 Jun 2 05:09 CVS -rw-r--r-- 1 stephens stepheng 230 Feb 17 1999 PKG -rw-r--r-- 1 stephens stepheng 9271 Feb 17 1999 addcr drwxr-xr-x 4 stephens stepheng 1024 Feb 2 21:29 addcr.t -rw-r--r-- 1 stephens stepheng 3385 Jun 28 1999 addrcsid.pl -rw-r--r-- 1 stephens stepheng 5118 Feb 17 1999 ccinfo -rw-r--r-- 1 stephens stepheng 3059 Feb 17 1999 ccloclibs -rw-r--r-- 1 stephens stepheng 372 Feb 19 1999 ctocnl.c -rwxr--r-- 1 stephens stepheng 1255 Jan 14 09:40 cvschrep.pl -rw-r--r-- 1 stephens stepheng 1062 Feb 17 1999 cvschroot.pl -rw-r--r-- 1 stephens stepheng 352 Oct 20 1999 cvsclean -rw-r--r-- 1 stephens stepheng 331 Oct 13 1999 cvsedited -rw-r--r-- 1 stephens stepheng 1373 Oct 20 1999 cvsfind.pl -rw-r--r-- 1 stephens stepheng 1168 Apr 9 15:43 cvsfix.pl -rw-r--r-- 1 stephens stepheng 1193 Sep 9 1999 cvsretag.pl -rw-r--r-- 1 stephens stepheng 3571 Mar 21 2000 cvsrevhist.pl -rw-r--r-- 1 stephens stepheng 945 Feb 19 1999 cwfixlib.pl -rwxr--r-- 1 stephens stepheng 3010 Jan 14 09:40 d2u.pl -rw-r--r-- 1 stephens stepheng 312 Apr 8 1994 dos2unix.c -rw-r--r-- 1 stephens stepheng 709 Feb 17 1999 ecd -rw-r--r-- 1 stephens stepheng 190 Feb 17 1999 fe -rw-r--r-- 1 stephens stepheng 103 Feb 17 1999 findsource -rw-r--r-- 1 stephens stepheng 6566 Sep 30 1999 igrep drwxr-xr-x 4 stephens stepheng 1024 Feb 2 21:29 lib -rw-r--r-- 1 stephens stepheng 647 Feb 17 1999 linkdups -rw-r--r-- 1 stephens stepheng 1369 Feb 17 1999 locstatic -rw-r--r-- 1 stephens stepheng 259 Sep 30 1999 lsup -rw-r--r-- 1 stephens stepheng 6485 Feb 19 1999 mergefiles.pl -rw-r--r-- 1 stephens stepheng 1965 Sep 30 1999 mkindex -rw-r--r-- 1 stephens stepheng 1739 Oct 13 1999 mvr.pl -rw-r--r-- 1 stephens stepheng 279 Feb 17 1999 nmlibs -rwxr-xr-x 1 stephens stepheng 64 Feb 17 1999 nmm -rw-r--r-- 1 stephens stepheng 2427 Feb 17 1999 objcsyms -rw-r--r-- 1 stephens stepheng 18189 Jun 2 05:24 publish.pl -rw-r--r-- 1 stephens stepheng 2957 Feb 17 1999 sci -rw-r--r-- 1 stephens stepheng 3328 Feb 17 1999 scip -rw-r--r-- 1 stephens stepheng 92 Oct 13 1999 si -rw-r--r-- 1 stephens stepheng 2374 Feb 19 1999 split.c -rwxr--r-- 1 stephens stepheng 436 Apr 3 13:40 swig2def.pl -rwxr--r-- 1 stephens stepheng 2350 Jan 14 09:41 tgz -rw-r--r-- 1 stephens stepheng 1655 Mar 21 2000 ts -rwxr--r-- 1 stephens stepheng 2170 Apr 3 13:51 uud -rwxr--r-- 1 stephens stepheng 3661 Apr 3 13:51 uudindex -rw-r--r-- 1 stephens stepheng 606 Feb 17 1999 which -rw-r--r-- 1 stephens stepheng 99 Feb 17 1999 whichall -rw-r--r-- 1 stephens stepheng 1777 Feb 17 1999 wwwsend tredmill0.1/src/bin/CVS: total 6 drwxr-xr-x 2 stephens stepheng 1024 Jun 2 05:09 . drwxr-xr-x 5 stephens stepheng 1024 Jun 2 05:32 .. -rw-r--r-- 1 stephens stepheng 1817 Jun 2 05:09 Entries -rw-r--r-- 1 stephens stepheng 17 Feb 2 21:29 Repository -rw-r--r-- 1 stephens stepheng 28 Feb 2 21:29 Root tredmill0.1/src/bin/addcr.t: total 5 drwxr-xr-x 4 stephens stepheng 1024 Feb 2 21:29 . drwxr-xr-x 5 stephens stepheng 1024 Jun 2 05:32 .. drwxr-xr-x 2 stephens stepheng 1024 Feb 2 21:29 CVS drwxr-xr-x 3 stephens stepheng 1024 Feb 2 21:29 backup -rw-r--r-- 1 stephens stepheng 143 Feb 17 1999 run tredmill0.1/src/bin/addcr.t/CVS: total 5 drwxr-xr-x 2 stephens stepheng 1024 Feb 2 21:29 . drwxr-xr-x 4 stephens stepheng 1024 Feb 2 21:29 .. -rw-r--r-- 1 stephens stepheng 49 Feb 2 21:29 Entries -rw-r--r-- 1 stephens stepheng 25 Feb 2 21:29 Repository -rw-r--r-- 1 stephens stepheng 28 Feb 2 21:29 Root tredmill0.1/src/bin/addcr.t/backup: total 7 drwxr-xr-x 3 stephens stepheng 1024 Feb 2 21:29 . drwxr-xr-x 4 stephens stepheng 1024 Feb 2 21:29 .. drwxr-xr-x 2 stephens stepheng 1024 Feb 2 21:29 CVS -rw-r--r-- 1 stephens stepheng 260 Feb 19 1999 t1.c -rw-r--r-- 1 stephens stepheng 20 Feb 17 1999 t2 -rw-r--r-- 1 stephens stepheng 41 Feb 17 1999 t3 -rw-r--r-- 1 stephens stepheng 379 Feb 17 1999 t4 tredmill0.1/src/bin/addcr.t/backup/CVS: total 5 drwxr-xr-x 2 stephens stepheng 1024 Feb 2 21:29 . drwxr-xr-x 3 stephens stepheng 1024 Feb 2 21:29 .. -rw-r--r-- 1 stephens stepheng 155 Feb 2 21:29 Entries -rw-r--r-- 1 stephens stepheng 32 Feb 2 21:29 Repository -rw-r--r-- 1 stephens stepheng 28 Feb 2 21:29 Root tredmill0.1/src/bin/lib: total 4 drwxr-xr-x 4 stephens stepheng 1024 Feb 2 21:29 . drwxr-xr-x 5 stephens stepheng 1024 Jun 2 05:32 .. drwxr-xr-x 2 stephens stepheng 1024 Feb 2 21:29 CVS drwxr-xr-x 4 stephens stepheng 1024 Feb 2 21:29 perl tredmill0.1/src/bin/lib/CVS: total 5 drwxr-xr-x 2 stephens stepheng 1024 Feb 2 21:29 . drwxr-xr-x 4 stephens stepheng 1024 Feb 2 21:29 .. -rw-r--r-- 1 stephens stepheng 11 Feb 2 21:29 Entries -rw-r--r-- 1 stephens stepheng 21 Feb 2 21:29 Repository -rw-r--r-- 1 stephens stepheng 28 Feb 2 21:29 Root tredmill0.1/src/bin/lib/perl: total 4 drwxr-xr-x 4 stephens stepheng 1024 Feb 2 21:29 . drwxr-xr-x 4 stephens stepheng 1024 Feb 2 21:29 .. drwxr-xr-x 2 stephens stepheng 1024 Feb 2 21:29 CVS drwxr-xr-x 4 stephens stepheng 1024 Feb 2 21:29 ion tredmill0.1/src/bin/lib/perl/CVS: total 5 drwxr-xr-x 2 stephens stepheng 1024 Feb 2 21:29 . drwxr-xr-x 4 stephens stepheng 1024 Feb 2 21:29 .. -rw-r--r-- 1 stephens stepheng 10 Feb 2 21:29 Entries -rw-r--r-- 1 stephens stepheng 26 Feb 2 21:29 Repository -rw-r--r-- 1 stephens stepheng 28 Feb 2 21:29 Root tredmill0.1/src/bin/lib/perl/ion: total 4 drwxr-xr-x 4 stephens stepheng 1024 Feb 2 21:29 . drwxr-xr-x 4 stephens stepheng 1024 Feb 2 21:29 .. drwxr-xr-x 2 stephens stepheng 1024 Feb 2 21:29 CVS drwxr-xr-x 3 stephens stepheng 1024 Jun 2 03:46 _cvs tredmill0.1/src/bin/lib/perl/ion/CVS: total 5 drwxr-xr-x 2 stephens stepheng 1024 Feb 2 21:29 . drwxr-xr-x 4 stephens stepheng 1024 Feb 2 21:29 .. -rw-r--r-- 1 stephens stepheng 11 Feb 2 21:29 Entries -rw-r--r-- 1 stephens stepheng 30 Feb 2 21:29 Repository -rw-r--r-- 1 stephens stepheng 28 Feb 2 21:29 Root tredmill0.1/src/bin/lib/perl/ion/_cvs: total 14 drwxr-xr-x 3 stephens stepheng 1024 Jun 2 03:46 . drwxr-xr-x 4 stephens stepheng 1024 Feb 2 21:29 .. drwxr-xr-x 2 stephens stepheng 1024 Jun 2 05:09 CVS -rw-r--r-- 1 stephens stepheng 1094 Mar 21 2000 entry.pm -rw-r--r-- 1 stephens stepheng 3296 Jun 2 05:09 find.pm -rw-r--r-- 1 stephens stepheng 5052 Mar 7 1999 rlog.pm tredmill0.1/src/bin/lib/perl/ion/_cvs/CVS: total 5 drwxr-xr-x 2 stephens stepheng 1024 Jun 2 05:09 . drwxr-xr-x 3 stephens stepheng 1024 Jun 2 03:46 .. -rw-r--r-- 1 stephens stepheng 123 Jun 2 05:09 Entries -rw-r--r-- 1 stephens stepheng 35 Feb 2 21:29 Repository -rw-r--r-- 1 stephens stepheng 28 Feb 2 21:29 Root tredmill0.1/src/maks: total 28 drwxr-xr-x 7 stephens stepheng 1024 Jun 2 05:32 . drwxr-xr-x 6 stephens stepheng 1024 Jun 2 05:32 .. drwxr-xr-x 2 stephens stepheng 1024 Apr 4 04:06 CVS -rwxr--r-- 1 stephens stepheng 206 Apr 3 13:51 PKG -rwxr--r-- 1 stephens stepheng 4407 Apr 4 04:09 basic.mak drwxr-xr-x 3 stephens stepheng 1024 Feb 2 21:29 bin -rw-r--r-- 1 stephens stepheng 172 Feb 19 1999 fixpound.pl -rwxr--r-- 1 stephens stepheng 2246 Apr 3 13:51 lib.mak drwxr-xr-x 3 stephens stepheng 1024 Apr 4 00:55 opengl drwxr-xr-x 3 stephens stepheng 1024 Feb 2 21:29 os -rwxr--r-- 1 stephens stepheng 6667 Apr 3 13:51 pre.mak -rw-r--r-- 1 stephens stepheng 1651 Mar 21 2000 tool.mak -rw-r--r-- 1 stephens stepheng 212 Sep 8 1999 tools.mak -rwxr--r-- 1 stephens stepheng 494 Apr 3 13:51 use.mak drwxr-xr-x 3 stephens stepheng 1024 Feb 2 21:29 win32 tredmill0.1/src/maks/CVS: total 5 drwxr-xr-x 2 stephens stepheng 1024 Apr 4 04:06 . drwxr-xr-x 7 stephens stepheng 1024 Jun 2 05:32 .. -rw-r--r-- 1 stephens stepheng 370 Apr 4 04:06 Entries -rw-r--r-- 1 stephens stepheng 18 Feb 2 21:29 Repository -rw-r--r-- 1 stephens stepheng 28 Feb 2 21:29 Root tredmill0.1/src/maks/bin: total 5 drwxr-xr-x 3 stephens stepheng 1024 Feb 2 21:29 . drwxr-xr-x 7 stephens stepheng 1024 Jun 2 05:32 .. drwxr-xr-x 2 stephens stepheng 1024 Feb 2 21:29 CVS -rw-r--r-- 1 stephens stepheng 418 Jun 28 1999 mak -rw-r--r-- 1 stephens stepheng 106 Jun 28 1999 mak.bat tredmill0.1/src/maks/bin/CVS: total 5 drwxr-xr-x 2 stephens stepheng 1024 Feb 2 21:29 . drwxr-xr-x 3 stephens stepheng 1024 Feb 2 21:29 .. -rw-r--r-- 1 stephens stepheng 78 Feb 2 21:29 Entries -rw-r--r-- 1 stephens stepheng 22 Feb 2 21:29 Repository -rw-r--r-- 1 stephens stepheng 28 Feb 2 21:29 Root tredmill0.1/src/maks/opengl: total 5 drwxr-xr-x 3 stephens stepheng 1024 Apr 4 00:55 . drwxr-xr-x 7 stephens stepheng 1024 Jun 2 05:32 .. drwxr-xr-x 2 stephens stepheng 1024 Apr 4 04:06 CVS -rw-r--r-- 1 stephens stepheng 75 Feb 19 1999 Makefile -rw-r--r-- 1 stephens stepheng 495 Apr 4 04:09 Makefile.use tredmill0.1/src/maks/opengl/CVS: total 5 drwxr-xr-x 2 stephens stepheng 1024 Apr 4 04:06 . drwxr-xr-x 3 stephens stepheng 1024 Apr 4 00:55 .. -rw-r--r-- 1 stephens stepheng 88 Apr 4 04:06 Entries -rw-r--r-- 1 stephens stepheng 25 Feb 2 21:29 Repository -rw-r--r-- 1 stephens stepheng 28 Feb 2 21:29 Root tredmill0.1/src/maks/os: total 6 drwxr-xr-x 3 stephens stepheng 1024 Feb 2 21:29 . drwxr-xr-x 7 stephens stepheng 1024 Jun 2 05:32 .. drwxr-xr-x 2 stephens stepheng 1024 Feb 2 21:29 CVS -rw-r--r-- 1 stephens stepheng 88 Jan 13 2000 CYGWIN.mak -rw-r--r-- 1 stephens stepheng 116 Jan 13 2000 CYGWIN_98-4.10.mak -rw-r--r-- 1 stephens stepheng 77 Jan 13 2000 Linux.mak tredmill0.1/src/maks/os/CVS: total 5 drwxr-xr-x 2 stephens stepheng 1024 Feb 2 21:29 . drwxr-xr-x 3 stephens stepheng 1024 Feb 2 21:29 .. -rw-r--r-- 1 stephens stepheng 138 Feb 2 21:29 Entries -rw-r--r-- 1 stephens stepheng 21 Feb 2 21:29 Repository -rw-r--r-- 1 stephens stepheng 28 Feb 2 21:29 Root tredmill0.1/src/maks/win32: total 5 drwxr-xr-x 3 stephens stepheng 1024 Feb 2 21:29 . drwxr-xr-x 7 stephens stepheng 1024 Jun 2 05:32 .. drwxr-xr-x 2 stephens stepheng 1024 Feb 2 21:29 CVS -rw-r--r-- 1 stephens stepheng 75 Feb 19 1999 Makefile -rw-r--r-- 1 stephens stepheng 101 Feb 19 1999 Makefile.use tredmill0.1/src/maks/win32/CVS: total 5 drwxr-xr-x 2 stephens stepheng 1024 Feb 2 21:29 . drwxr-xr-x 3 stephens stepheng 1024 Feb 2 21:29 .. -rw-r--r-- 1 stephens stepheng 88 Feb 2 21:29 Entries -rw-r--r-- 1 stephens stepheng 24 Feb 2 21:29 Repository -rw-r--r-- 1 stephens stepheng 28 Feb 2 21:29 Root tredmill0.1/src/tredmill: total 108 drwxr-xr-x 3 stephens stepheng 1024 Jun 2 05:32 . drwxr-xr-x 6 stephens stepheng 1024 Jun 2 05:32 .. drwxr-xr-x 2 stephens stepheng 1024 Feb 2 21:29 CVS -rw-r--r-- 1 stephens stepheng 721 Jan 13 2000 Makefile -rw-r--r-- 1 stephens stepheng 237 Jan 7 2000 PKG -rw-r--r-- 1 stephens stepheng 6830 Dec 28 1999 README -rw-r--r-- 1 stephens stepheng 8067 Jan 13 2000 internal.h -rw-r--r-- 1 stephens stepheng 2624 Jan 13 2000 list.h -rw-r--r-- 1 stephens stepheng 325 Jan 13 2000 malloc.c -rw-r--r-- 1 stephens stepheng 62064 May 9 2000 tm.c -rw-r--r-- 1 stephens stepheng 2973 Jan 13 2000 tm.h -rw-r--r-- 1 stephens stepheng 7111 May 9 2000 tmtest.c -rw-r--r-- 1 stephens stepheng 251 Dec 28 1999 tmtest.gdb -rw-r--r-- 1 stephens stepheng 4781 Jan 13 2000 user.c -rw-r--r-- 1 stephens stepheng 4560 Jan 7 2000 wb.c -rw-r--r-- 1 stephens stepheng 374 Jan 7 2000 wb.h tredmill0.1/src/tredmill/CVS: total 5 drwxr-xr-x 2 stephens stepheng 1024 Feb 2 21:29 . drwxr-xr-x 3 stephens stepheng 1024 Jun 2 05:32 .. -rw-r--r-- 1 stephens stepheng 514 Feb 2 21:29 Entries -rw-r--r-- 1 stephens stepheng 22 Feb 2 21:29 Repository -rw-r--r-- 1 stephens stepheng 28 Feb 2 21:29 Root tredmill0.1/src/util: total 120 drwxr-xr-x 4 stephens stepheng 1024 Jun 2 05:32 . drwxr-xr-x 6 stephens stepheng 1024 Jun 2 05:32 .. drwxr-xr-x 2 stephens stepheng 1024 Apr 22 17:15 CVS -rw-r--r-- 1 stephens stepheng 21030 Jan 4 2000 ConfigInfo.c -rw-r--r-- 1 stephens stepheng 4826 Apr 5 1999 ConfigInfo.h -rw-r--r-- 1 stephens stepheng 1081 Jan 4 2000 Makefile -rw-r--r-- 1 stephens stepheng 86 Feb 19 1999 Makefile.use -rw-r--r-- 1 stephens stepheng 249 May 7 1999 PKG -rw-r--r-- 1 stephens stepheng 712 Jan 7 2000 bitset.h -rw-r--r-- 1 stephens stepheng 4571 Sep 30 1999 charset.c -rw-r--r-- 1 stephens stepheng 943 Apr 22 1999 charset.h -rw-r--r-- 1 stephens stepheng 3438 Jan 13 2000 enum.c -rw-r--r-- 1 stephens stepheng 790 Jan 13 2000 enum.h -rw-r--r-- 1 stephens stepheng 184 Jan 13 2000 errlist.h -rw-r--r-- 1 stephens stepheng 684 Oct 26 1999 errlist.pl -rw-r--r-- 1 stephens stepheng 11686 Feb 1 00:22 file.c -rw-r--r-- 1 stephens stepheng 1276 Feb 1 00:22 file.h -rw-r--r-- 1 stephens stepheng 1113 Jan 4 2000 host.c -rw-r--r-- 1 stephens stepheng 335 Jan 4 2000 host.h -rw-r--r-- 1 stephens stepheng 5782 Jan 4 2000 lockfile.c -rw-r--r-- 1 stephens stepheng 781 Jun 9 1999 lockfile.h -rw-r--r-- 1 stephens stepheng 949 Jun 9 1999 lockfile_main.c -rw-r--r-- 1 stephens stepheng 3146 Feb 19 1999 mem.c -rw-r--r-- 1 stephens stepheng 575 Jun 28 1999 mem.h -rw-r--r-- 1 stephens stepheng 457 Apr 5 22:05 memcpy.h -rw-r--r-- 1 stephens stepheng 1875 Oct 13 1999 midi.h -rw-r--r-- 1 stephens stepheng 2854 Apr 22 16:53 nurbs.c -rw-r--r-- 1 stephens stepheng 1079 Apr 22 16:53 nurbs.h -rw-r--r-- 1 stephens stepheng 1837 Jan 4 2000 outbuf.c -rw-r--r-- 1 stephens stepheng 726 Sep 30 1999 outbuf.h -rw-r--r-- 1 stephens stepheng 2609 Jun 28 1999 path.c -rw-r--r-- 1 stephens stepheng 651 Feb 19 1999 path.h -rw-r--r-- 1 stephens stepheng 904 Jan 4 2000 port.c -rw-r--r-- 1 stephens stepheng 236 Jan 4 2000 port.h -rw-r--r-- 1 stephens stepheng 4366 Jan 13 2000 prime.c -rw-r--r-- 1 stephens stepheng 388 Jan 13 2000 prime.h -rw-r--r-- 1 stephens stepheng 1192 May 9 2000 rc4.c -rw-r--r-- 1 stephens stepheng 399 May 9 2000 rc4.h -rw-r--r-- 1 stephens stepheng 1301 Apr 5 15:23 refcntptr.cc -rw-r--r-- 1 stephens stepheng 2636 Apr 19 13:54 refcntptr.hh -rw-r--r-- 1 stephens stepheng 1317 Apr 5 1999 setenv.c -rw-r--r-- 1 stephens stepheng 377 Apr 5 1999 setenv.h -rw-r--r-- 1 stephens stepheng 1345 Jan 3 2000 sig.c -rw-r--r-- 1 stephens stepheng 348 Jan 3 2000 sig.h -rw-r--r-- 1 stephens stepheng 533 Jan 3 2000 sigs.pl -rw-r--r-- 1 stephens stepheng 2015 Jan 4 2000 ssprintf.c -rw-r--r-- 1 stephens stepheng 337 Apr 22 1999 ssprintf.h drwxr-xr-x 3 stephens stepheng 1024 Feb 2 21:29 test tredmill0.1/src/util/CVS: total 6 drwxr-xr-x 2 stephens stepheng 1024 Apr 22 17:15 . drwxr-xr-x 4 stephens stepheng 1024 Jun 2 05:32 .. -rw-r--r-- 1 stephens stepheng 1806 Apr 22 17:15 Entries -rw-r--r-- 1 stephens stepheng 18 Feb 2 21:29 Repository -rw-r--r-- 1 stephens stepheng 28 Feb 2 21:29 Root tredmill0.1/src/util/test: total 6 drwxr-xr-x 3 stephens stepheng 1024 Feb 2 21:29 . drwxr-xr-x 4 stephens stepheng 1024 Jun 2 05:32 .. drwxr-xr-x 2 stephens stepheng 1024 Feb 2 21:29 CVS -rw-r--r-- 1 stephens stepheng 1192 May 7 1999 ConfigTest.c -rw-r--r-- 1 stephens stepheng 44 May 7 1999 ConfigTest.cfg tredmill0.1/src/util/test/CVS: total 5 drwxr-xr-x 2 stephens stepheng 1024 Feb 2 21:29 . drwxr-xr-x 3 stephens stepheng 1024 Feb 2 21:29 .. -rw-r--r-- 1 stephens stepheng 94 Feb 2 21:29 Entries -rw-r--r-- 1 stephens stepheng 23 Feb 2 21:29 Repository -rw-r--r-- 1 stephens stepheng 28 Feb 2 21:29 Root ==============================================================================