[BACK]Return to README.sgi CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / gc

Annotation of OpenXM_contrib/gc/README.sgi, Revision 1.1.1.1

1.1       maekawa     1: Performance of the incremental collector can be greatly enhanced with
                      2: -DNO_EXECUTE_PERMISSION.
                      3:
                      4: The collector should run with all of the -32, -n32 and -64 ABIs.  Remember to
                      5: define the AS macro in the Makefile to be "as -64", or "as -n32".
                      6:
                      7: If you use -DREDIRECT_MALLOC=GC_malloc with C++ code, your code should make
                      8: at least one explicit call to malloc instead of new to ensure that the proper
                      9: version of malloc is linked in.
                     10:
                     11: Sproc threads are not supported in this version, though there may exist other
                     12: ports.
                     13:
                     14: Pthreads support is provided.  This requires that:
                     15:
                     16: 1) You compile the collector with -DIRIX_THREADS specified in the Makefile.
                     17:
                     18: 2) You have the latest pthreads patches installed.
                     19:
                     20: (Though the collector makes only documented pthread calls,
                     21: it relies on signal/threads interactions working just right in ways
                     22: that are not required by the standard.  It is unlikely that this code
                     23: will run on other pthreads platforms.  But please tell me if it does.)
                     24:
                     25: 3) Every file that makes thread calls should define IRIX_THREADS and then
                     26: include gc.h.  Gc.h redefines some of the pthread primitives as macros which
                     27: also provide the collector with information it requires.
                     28:
                     29: 4) pthread_cond_wait and pthread_cond_timed_wait should be prepared for
                     30: premature wakeups.  (I believe the pthreads and realted standards require this
                     31: anyway.  Irix pthreads often terminate a wait if a signal arrives.
                     32: The garbage collector uses signals to stop threads.)
                     33:
                     34: 5) It is expensive to stop a thread waiting in IO at the time the request is
                     35: initiated.  Applications with many such threads may not exhibit acceptable
                     36: performance with the collector.  (Increasing the heap size may help.)
                     37:
                     38: 6) The collector should not be compiled with -DREDIRECT_MALLOC.  This
                     39: confuses some library calls made by the pthreads implementation, which
                     40: expect the standard malloc.
                     41:

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>