home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / lang / modula2 / 1100 < prev    next >
Encoding:
Text File  |  1992-09-03  |  2.1 KB  |  53 lines

  1. Newsgroups: comp.lang.modula2
  2. Path: sparky!uunet!cs.utexas.edu!torn!csd.unb.ca!fellows
  3. From: fellows@jupiter.sun.csd.unb.ca (David M. Fellows CS)
  4. Subject: Re: FST is alive and well
  5. Message-ID: <1992Sep3.141954.17083@jupiter.sun.csd.unb.ca>
  6. Organization: University of New Brunswick
  7. References: <cspt.30.715505454@giraffe.ru.ac.za> <DZABEL.92Sep3122216@pc2.cs.tu-berlin.de>
  8. Date: Thu, 3 Sep 1992 14:19:54 GMT
  9. Lines: 42
  10.  
  11. In article <DZABEL.92Sep3122216@pc2.cs.tu-berlin.de> dzabel@cs.tu-berlin.de (Dirk Zabel) writes:
  12. >
  13. >But the ONE enhancement which would make the difference between a
  14. >nice toy and a serious tool seems still to be missing: code & data 
  15. >space > 64 K FOR EACH SINGLE MODULE. While this may not be a problem
  16. >if you develop new code (at least not the 64 K maximum code size per
  17. >module), it becomes nearly impossible to port existing software from
  18. >unix (writtten using the Mocka compiler, in my case) which does not
  19. >suffer from these restrictions!
  20. >
  21. Anyone using any system to produce modules with a *code* size >64K
  22. per module should take a very critical look at their program's 
  23. modularity.  Data size is a different matter.
  24.  
  25. >In the meantime: Is there any other Modula-Compiler for MS-DOS (may
  26. >well require a 386) which does not not have those infamous 64 K -
  27. >limits? I don't have experiences with Topspeed or Logitech, but have
  28. >been told they are not better in this respect.
  29. >
  30. Stony Brook's Optimizing compiler supports the following memory models:
  31. Code:
  32.     Small -    Combined code of all modules <64k
  33.     Large - Each Module <64k; total is limited only by available
  34.         memory.
  35.  
  36. Data:
  37.     Small - All data including stack & heap total <64k
  38.     Medium- All static data total <64k;
  39.         stack: an additional 64k for dynamic data
  40.         heap: limited only by available memory
  41.     Large -    As in medium but each module can have 64k of
  42.         static data
  43.  
  44. Their data classes are:
  45.     Static: variables not contained in a procedure, literal
  46.         strings, structured constants.
  47.     Dynamic: variables declared within procedures.
  48.     Heap:    data allocated by NEW or Storage.ALLOCATE.
  49.  
  50. I believe that these all apply to 8088 and 'better' processors.
  51.  
  52. David M. Fellows
  53.