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