Name Mode Size
Mac_files 040000
cord 040000
doc 040000
extra 040000
include 040000
libatomic_ops 040000
m4 040000
tests 040000
BCC_MAKEFILE 100644 2 kb
CMakeLists.txt 100644 9 kb
ChangeLog 100644 353 kb
EMX_MAKEFILE 100644 5 kb
MacProjects.sit.hqx 100644 29 kb
Makefile.DLLs 100644 4 kb 100644 6 kb 100644 20 kb 100644 13 kb 100644 85 kb
NT_MAKEFILE 100644 3 kb
OS2_MAKEFILE 100644 2 kb
PCR-Makefile 100644 2 kb
README.QUICK 100644 4 kb
SMakefile.amiga 100644 4 kb
WCC_MAKEFILE 100644 5 kb
aclocal.m4 100644 50 kb
allchblk.c 100644 32 kb
alloc.c 100644 44 kb
alpha_mach_dep.S 100644 2 kb 100755 1 kb
backgraph.c 100644 17 kb 100644 0 kb
blacklst.c 100644 10 kb 100755 0 kb 100755 0 kb
callprocs 100755 0 kb
checksums.c 100644 7 kb
compile 100755 7 kb
config.guess 100755 45 kb
config.sub 100755 35 kb
configure 100755 588 kb 100644 25 kb 100644 2 kb
darwin_stop_world.c 100644 22 kb
dbg_mlc.c 100644 38 kb
depcomp 100755 23 kb
digimars.mak 100644 2 kb
dyn_load.c 100644 50 kb
finalize.c 100644 34 kb
gc.mak 100644 53 kb 100644 2 kb
gc_cpp.cpp 100644 0 kb
gc_dlopen.c 100644 4 kb
gcj_mlc.c 100644 9 kb
headers.c 100644 12 kb
ia64_save_regs_in_stack.s 100644 0 kb
install-sh 100755 14 kb 100644 311 kb
mach_dep.c 100644 10 kb
malloc.c 100644 19 kb
mallocx.c 100644 20 kb
mark.c 100644 68 kb
mark_rts.c 100644 27 kb
mips_sgi_mach_dep.s 100644 1 kb
mips_ultrix_mach_dep.s 100644 1 kb
misc.c 100644 61 kb
missing 100755 7 kb
mkinstalldirs 100755 3 kb
msaMakefile 100644 0 kb 100644 1 kb
new_hblk.c 100644 6 kb
obj_map.c 100644 3 kb
os_dep.c 100644 164 kb
pcr_interface.c 100644 5 kb
pthread_start.c 100644 3 kb
pthread_stop_world.c 100644 29 kb
pthread_support.c 100644 65 kb
ptr_chck.c 100644 9 kb
real_malloc.c 100644 1 kb
reclaim.c 100644 19 kb
rs6000_mach_dep.s 100644 2 kb
sparc_mach_dep.S 100644 2 kb
sparc_netbsd_mach_dep.s 100644 1 kb
sparc_sunos4_mach_dep.s 100644 1 kb
specific.c 100644 6 kb
stubborn.c 100644 2 kb
test-driver 100755 4 kb
thread_local_alloc.c 100644 11 kb
typd_mlc.c 100644 27 kb
win32_threads.c 100644 94 kb
Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers Copyright (c) 1991-1995 by Xerox Corporation. All rights reserved. Copyright (c) 1996-1999 by Silicon Graphics. All rights reserved. Copyright (c) 1999-2001 by Hewlett-Packard. All rights reserved. THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED OR IMPLIED. ANY USE IS AT YOUR OWN RISK. Permission is hereby granted to use or copy this program for any purpose, provided the above notices are retained on all copies. Permission to modify the code and to distribute modified code is granted, provided the above notices are retained, and a notice that the code was modified is included with the above copyright notice. A few files have other copyright holders. A few of the files needed to use the GNU-style build procedure come with a modified GPL license that appears not to significantly restrict use of the collector, though use of those files for a purpose other than building the collector may require the resulting code to be covered by the GPL. For more details and the names of other contributors, see the doc/README* files and include/gc.h. This file describes typical use of the collector on a machine that is already supported. For the version number, see doc/README or version.h. INSTALLATION: Under UN*X, Linux: Alternative 1 (the old way): type "make test" in this directory. Link against gc.a. With the most recent GC distributions you may have to type "make -f test" or copy to Makefile first. Alternative 2 (the new way): type "./configure --prefix=<dir>; make; make check; make install". Link against <dir>/lib/libgc.a or <dir>/lib/ See README.autoconf for details Under Windows 95, 98, Me, NT, or 2000: copy the appropriate makefile to MAKEFILE, read it, and type "nmake test". (Under Windows, this assumes you have Microsoft command-line tools installed, and suitably configured.) Read the machine specific README in the doc directory if one exists. If you need thread support, you will need to follow the special platform-dependent instructions (win32), or define GC_THREADS as described in doc/README.macros, or possibly use --enable-threads=posix when running the configure script. If you wish to use the cord (structured string) library with the stand-alone, type "make cords", after copying to "Makefile". (This requires an ANSI C compiler. You may need to redefine CC in the Makefile. The CORD_printf implementation in cordprnt.c is known to be less than perfectly portable. The rest of the package should still work.) If you wish to use the collector from C++, type "make c++", or use --enable-cplusplus with the configure script. With, these ones add further files to gc.a and to the include subdirectory. With the alternate build process,this generates libgccpp. See cord/cord.h and include/gc_cpp.h. TYPICAL USE: Include "gc.h" from the include subdirectory. Link against the appropriate library ("gc.a" under UN*X). Replace calls to malloc by calls to GC_MALLOC, and calls to realloc by calls to GC_REALLOC. If the object is known to never contain pointers, use GC_MALLOC_ATOMIC instead of GC_MALLOC. Define GC_DEBUG before including gc.h for additional checking. More documentation on the collector interface can be found at doc/gcinterface.html, in doc/README and other files in the doc directory, and in include/gc.h . WARNINGS: Do not store the only pointer to an object in memory allocated with system malloc, since the collector usually does not scan memory allocated in this way. Use with threads may be supported on your system, but requires the collector to be built with thread support. See Makefile. The collector does not guarantee to scan thread-local storage (e.g. of the kind accessed with pthread_getspecific()). The collector does scan thread stacks though, so generally the best solution is to ensure that any pointers stored in thread-local storage are also stored on the thread's stack for the duration of their lifetime.