Mercurial > emacs
comparison gc/doc/README.sgi @ 51488:5de98dce4bd1
*** empty log message ***
author | Dave Love <fx@gnu.org> |
---|---|
date | Thu, 05 Jun 2003 17:49:22 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
51487:01d68b199093 | 51488:5de98dce4bd1 |
---|---|
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 -DGC_IRIX_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 |