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