home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / scheme / scheme2c / rec-01no.pat < prev    next >
Encoding:
Text File  |  1994-06-30  |  2.5 KB  |  81 lines

  1. REC-01nov91.patches
  2.  
  3. By Roger Critchlow (rec@arris.com or rec@elf.org).
  4. ! by Lance Norskog (thinman@netcom.com).
  5.  
  6. There is one small problem with the Intel 386/SYSV subset of the
  7.     MCC01-01nov91.patches
  8. to the
  9.     01nov91.tar.Z
  10. distribution of Scheme->C.  Specifically, most of the garbage collector
  11. gets excluded by a #ifndef SYSV clause.
  12.  
  13. The appended patches, which should be applied to scrt/heap.c after the
  14. MCC01-01nov91.patches, will fix this.  Things work much better with the
  15. garbage collector.
  16.  
  17. Some other things 386 users should be aware of:
  18.  
  19. scrt/i386.s should be an empty file.  It isn't built by the MCC patches but
  20. scrt/makefile will look for it.
  21.  
  22. If you're going to build on a system with 14 character file names, ie most
  23. System V.3.2 Unix implementations, then you'll need the tar.fix script from
  24. one of the earlier 386 patch kits, either REC-28sep90.patches or
  25. SPARC-386.patches.
  26.  
  27. ! The REC-28sep90.patches file also includes scripts to build shared
  28. ! library versions of the S2C system and Xlib programs on AT&T V.3
  29. ! machines.  These have not been tested with the 01nov91 release.
  30.  
  31. ! The use of select() in the read/eval loop causes interaction to
  32. ! stop working on regular terminals under AT&T Unix V.3.  But it
  33. ! does work under an Xterm window, and on all terminals under
  34. ! ISC Unix V.3, and probably ESIX, DELL, and SCO as well.  You
  35. ! may have to back off to the 28sep90 read/eval loop for AT&T Unix.
  36.  
  37. -- rec/lcn --
  38.  
  39.  
  40. ------------------------------------------------------------------------
  41. *** heap.c~    Tue Nov 19 23:24:07 1991
  42. --- heap.c    Tue Nov 19 23:24:22 1991
  43. ***************
  44. *** 1427,1433 ****
  45.          check_obarray();
  46.       }
  47.       if  (sc_gcinfo)  {
  48. - #ifndef SYSV
  49.          fprintf( stderr,
  50.                  "\n***** COLLECT %d%% allocated (%d%% waste, %d MB) -> \n",
  51.                  (wasallocated*100)/sc_heappages,
  52. --- 1427,1432 ----
  53. ***************
  54. *** 1434,1440 ****
  55. --- 1433,1441 ----
  56.               (sc_extwaste*100)/(sc_heappages*PAGEWORDS),
  57.               (sc_heappages*PAGEBYTES+ONEMB/2)/ONEMB );
  58.       }
  59. + #ifndef SYSV
  60.       getrusage( 0, &startru );
  61. + #endif /* SYSV */
  62.   
  63.       /* Zero the current cons block, end the current extended block,
  64.          initialize sc_locklist, advance the generation.
  65. ***************
  66. *** 1521,1529 ****
  67. --- 1522,1533 ----
  68.       sc_allocatedheappages = sc_generationpages;
  69.   
  70.       /* Finish up */
  71. + #ifndef SYSV
  72.       getrusage( 0, &stopru );
  73.       updategcru();
  74. + #endif
  75.       if  (sc_gcinfo)  { 
  76. + #ifndef SYSV
  77.          fprintf( stderr,
  78.                   "              %d%% locked  %d%% retained  %d user ms",
  79.               (sc_lockcnt*100)/sc_heappages,
  80.  
  81.