| Last change
 on this file since 2788 was             2, checked in by bird, 23 years ago | 
        
          | 
Initial revision
 | 
        
          | 
              
Property                 cvs2svn:cvs-rev
 set to                 1.1
Property                 svn:eol-style
 set to                 native
Property                 svn:executable
 set to                 * | 
        
          | File size:
            1.3 KB | 
      
      
| Line |  | 
|---|
| 1 | While the GC should work on MacOS X Server, MacOS X and Darwin, I only tested | 
|---|
| 2 | it on MacOS X Server. | 
|---|
| 3 | I've added a PPC assembly version of GC_push_regs(), thus the setjmp() hack is | 
|---|
| 4 | no longer necessary. Incremental collection is supported via mprotect/signal. | 
|---|
| 5 | The current solution isn't really optimal because the signal handler must decode | 
|---|
| 6 | the faulting PPC machine instruction in order to find the correct heap address. | 
|---|
| 7 | Further, it must poke around in the register state which the kernel saved away | 
|---|
| 8 | in some obscure register state structure before it calls the signal handler - | 
|---|
| 9 | needless to say the layout of this structure is no where documented. | 
|---|
| 10 | Threads and dynamic libraries are not yet supported (adding dynamic library | 
|---|
| 11 | support via the low-level dyld API shouldn't be that hard). | 
|---|
| 12 |  | 
|---|
| 13 | The original MacOS X port was brought to you by Andrew Stone. | 
|---|
| 14 |  | 
|---|
| 15 |  | 
|---|
| 16 | June, 1 2000 | 
|---|
| 17 |  | 
|---|
| 18 | Dietmar Planitzer | 
|---|
| 19 | dave.pl@ping.at | 
|---|
| 20 |  | 
|---|
| 21 | Note from Andrew Begel: | 
|---|
| 22 |  | 
|---|
| 23 | One more fix to enable gc.a to link successfully into a shared library for | 
|---|
| 24 | MacOS X. You have to add -fno-common to the CFLAGS in the Makefile. MacOSX | 
|---|
| 25 | disallows common symbols in anything that eventually finds its way into a | 
|---|
| 26 | shared library. (I don't completely understand why, but -fno-common seems to | 
|---|
| 27 | work and doesn't mess up the garbage collector's functionality). | 
|---|
       
      
  Note:
 See   
TracBrowser
 for help on using the repository browser.