home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / sa104os2.zip / SATHR104.ZIP / SATHER / SYSTEM / GC / README.AMI < prev    next >
Text File  |  1994-07-25  |  4KB  |  98 lines

  1.  
  2. [Note: The original Amiga port was made by Jesper Peterson. I (Michel
  3. Schinz) modified it slightly to reflect the changes made in the new
  4. official distribution, and to take advantage of the new SAS/C 6.x
  5. features. I also created a makefile to compile the "cord" package (see
  6. the cord subdirectory).
  7.  
  8. If you have any problem with this version, please contact me at
  9. schinz@alphanet.ch (but do *not* send long files, since we pay for
  10. every mail!).
  11.  
  12. Following is Jesper's original README.amiga. Please read it
  13. carefully.]
  14.  
  15.  
  16. ADDITIONAL NOTES FOR AMIGA PORT
  17.  
  18. These notes assume some familiarity with Amiga internals.
  19.  
  20. WHY I PORTED TO THE AMIGA
  21.  
  22. The sole reason why I made this port was as a first step in getting
  23. the Sather(*) language on the Amiga. A port of this language will
  24. be done as soon as the Sather 1.0 sources are made available to me.
  25. Given this motivation, the garbage collection (GC) port is rather
  26. minimal.
  27.  
  28. (*) For information on Sather read the comp.lang.sather newsgroup.
  29.  
  30. LIMITATIONS
  31.  
  32. This port assumes that the startup code linked with target programs
  33. is that supplied with SAS/C versions 6.0 or later. This allows
  34. assumptions to be made about where to find the stack base pointer
  35. and data segments when programs are run from WorkBench, as opposed
  36. to running from the CLI. The compiler dependent code is all in the
  37. GC_get_stack_base() and GC_register_data_segments() functions, but
  38. may spread as I add Amiga specific features.
  39.  
  40. Given that SAS/C was assumed, the port is set up to be built with
  41. "smake" using the "SMakefile". Compiler options in "SCoptions" can
  42. be set with "scopts" program. Both "smake" and "scopts" are part of
  43. the SAS/C commercial development system.
  44.  
  45. In keeping with the porting philosophy outlined above, this port
  46. will not behave well with Amiga specific code. Especially not inter-
  47. process comms via messages, and setting up public structures like
  48. Intuition objects or anything else in the system lists. For the
  49. time being the use of this library is limited to single threaded
  50. ANSI/POSIX  compliant or near-complient code. (ie. Stick to stdio
  51. for now). Given this limitation there is currently no mechanism for
  52. allocating "CHIP" or "PUBLIC" memory under the garbage collector.
  53. I'll add this after giving it considerable thought. The major
  54. problem is the entire physical address space may have to me scanned,
  55. since there is no telling who we may have passed memory to.
  56.  
  57. If you allocate your own stack in client code, you will have to
  58. assign the pointer plus stack size to GC_stackbottom.
  59.  
  60. The initial stack size of the target program can be compiled in by
  61. setting the __stack symbol (see SAS documentaion). It can be over-
  62. ridden from the CLI by running the AmigaDOS "stack" program, or from
  63. the WorkBench by setting the stack size in the tool types window.
  64.  
  65. SAS/C COMPILER OPTIONS (SCoptions)
  66.  
  67. You may wish to check the "CPU" code option is appropriate for your
  68. intended target system.
  69.  
  70. Under no circumstances set the "StackExtend" code option in either
  71. compiling the library or *ANY* client code.
  72.  
  73. All benign compiler warnings have been suppressed. These mainly
  74. involve lack of prototypes in the code, and dead assignments
  75. detected by the optimizer.
  76.  
  77. THE GOOD NEWS
  78.  
  79. The library as it stands is compatible with the GigaMem commercial
  80. virtual memory software, and probably similar PD software.
  81.  
  82. The performance of "gctest" on an Amiga 2630 (68030 @ 25Mhz)
  83. compares favourably with an HP9000 with similar architecture (a 325
  84. with a 68030 I think).
  85.  
  86. -----------------------------------------------------------------------
  87.  
  88. The Amiga port has been brought to you by:
  89.  
  90. Jesper Peterson.
  91.  
  92. jep@mtiame.mtia.oz.au        (preferred, but 1 week turnaround)
  93. jep@orca1.vic.design.telecom.au (that's orca<one>, 1 day turnaround)
  94.  
  95. At least one of these addresses should be around for a while, even
  96. though I don't work for either of the companies involved.
  97.  
  98.