Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Diff of /sml/branches/primop-branch-3/NOTES/HISTORY
ViewVC logotype

Diff of /sml/branches/primop-branch-3/NOTES/HISTORY

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1190, Mon May 13 20:39:05 2002 UTC revision 1863, Tue Nov 15 22:38:49 2005 UTC
# Line 13  Line 13 
13  Description:  Description:
14    
15  ----------------------------------------------------------------------  ----------------------------------------------------------------------
16    Name: Matthias Blume (http://www.tti-c.org/blume/)
17    Date: 2005/11/15 16:35:00 CST
18    Tag: blume-22051115-libraries
19    Description:
20    
21    This change affects the way the following libraries are tied into
22    the system:
23    
24       $/basis.cm
25       $/smlnj-lib.cm
26       $/pp-lib.cm
27       $/controls-lib.cm
28       $/html-lib.cm
29       $/ml-yacc-lib.cm
30    
31    These libraries are now internally (as seen from the source code
32    of the implementation itself) known by the following names:
33    
34       $smlnj/basis/basis.cm
35       $smlnj/smlnj-lib/smlnj-lib.cm
36       $smlnj/smlnj-lib/pp-lib.cm
37       $smlnj/smlnj-lib/controls-lib.cm
38       $smlnj/smlnj-lib/html-lib.cm
39       $smlnj/ml-yacc/ml-yacc-lib.cm
40    
41    This makes it possible to work with code that requires different
42    versions of these libraries, and which refers to these libraries using
43    their "default" names (i.e., the first set of names above).  In other
44    words, one can un-define or re-define those default names without
45    compromising the proper functioning of the compiler itself.
46    
47    A similar procedure had already been performed for several of the
48    MLRISC libraries that are linked into the compiler.  I did some
49    cleanup on this code.
50    
51    A new file in the config directory (named extrapathconfig) is
52    responsible for setting up path anchors that the compiler itself does
53    not need, but that are typically required by user code.
54    
55    ----------------------------------------------------------------------
56    Name: Matthias Blume
57    Date: 2005/11/07 17:05:00 CST
58    Tag: blume-20051107-slice
59    Description:
60    
61    Fixed erroneous out-of-bounds test in the "update" function of
62    various *ArraySlice modules.  (Thanks to Vesa A. Norrman for pointing
63    out the problem.)
64    
65    Pushed some Basis changes through ML-Lex, CML, and eXene.
66    
67    ----------------------------------------------------------------------
68    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
69    Date: 2005/11/07
70    Description:
71    Fixed a Basis incompatibility: The depreciated function Substring.all
72    was removed (use Substring.full instead).
73    
74    ----------------------------------------------------------------------
75    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
76    Date: 2005/11/05
77    Description:
78    Tweaked interval set API in SML/NJ library; see the CHANGES file for details.
79    
80    ----------------------------------------------------------------------
81    Name: Matthias Blume (http://www.tti-c.org/blume/)
82    Date: 2005/11/02 16:25:00 CST
83    Tag: blume-20051102-hex
84    Description:
85    
86    * Runtime system bootstrap code now accepts hex digits in BOOTLIST
87      in either upper case or lower case format.
88    * Pushed changes to names of Pack<N>{Big,Little} structures through
89      CML and eXene.
90    
91    ----------------------------------------------------------------------
92    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
93    Date: 2005/11/02
94    Description:
95    Fixed a Basis incompatibility: Pack<N>{Big,Little} structures should
96    be called PackWord<N>{Big,Little}.
97    
98    ----------------------------------------------------------------------
99    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
100    Date: 2005/10/28
101    Description:
102    Fixed a minor Basis incompatibility: hex digits should be upper case.
103    
104    ----------------------------------------------------------------------
105    Name: Matthias Blume (blume (at) tti - c (dot) org)
106    Date: 2005/10/25 16:00:00 CDT
107    Tag: Release_110_56
108    Description:
109    
110    New working version (110.56).  NEW BOOTFILES!
111    
112    ----------------------------------------------------------------------
113    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
114    Date: 2005/10/25
115    Description:
116    Added interval sets to utility library (signatures INTERVAL_DOMAIN
117    and INTERVAL_SET, and functor IntervalSetFn).
118    
119    ----------------------------------------------------------------------
120    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
121    Date: 2005/10/14
122    Description:
123    Add Zhong Shao's fix for datatype equality functions.
124    
125    ----------------------------------------------------------------------
126    Name: Allen Leung (leunga (at) reservoir (dot) com)
127    Date: 2005/10/14 12:30:00 EST
128    Tag: leunga-20051014-x86-spill
129    Description:
130    
131    Bug fix a bug found by Carl Hauser.
132    There was a typo in the reload code for FCMP in x86SpillInstr.sml.
133    
134    ----------------------------------------------------------------------
135    Name: Allen Leung (leunga (at) reservoir (dot) com)
136    Date: 2005/10/14 11:15:00 EST
137    Tag: leunga-20051014-x86-asm
138    Description:
139    
140    Removed some debugging code in file x86Asm.sml.
141    The function emit_operand was printing out debugging output.
142    
143    ----------------------------------------------------------------------
144    Name: John Reppy
145    Date: 2005/07/27
146    Tag:
147    Description:
148    
149    Fixed ml-lex to recognize "\r" as representing carriage return.
150    
151    ----------------------------------------------------------------------
152    Name: John Reppy
153    Date: 2005/07/27
154    Tag:
155    Description:
156    
157    Fixed ml-yacc to work on files with non-native end-of-line
158    encodings (e.g., Windows text file on a Unix system).
159    
160    ----------------------------------------------------------------------
161    Name: John Reppy
162    Date: 2005/07/20
163    Tag:
164    Description:
165    
166    Added changes from Dominic Evans (oldmanuk (at) gmail (dot) com)
167    to support HPUX 11.
168    
169    ----------------------------------------------------------------------
170    Name: John Reppy
171    Date: 2005/07/06
172    Tag:
173    Description:
174    
175    Changes to the SML/NJ library.  See smlnj-lib/CHANGES for details.
176    
177    ----------------------------------------------------------------------
178    Name: Matthias Blume (blume (at) tti - c (dot) org)
179    Date: 2005/07/06 00:45:00 CDT
180    Tag: blume-20050706-slice-copy
181    Description:
182    
183    Fixed reversed logic for deciding whether to "copy up" or "copy down"
184    in *-array-slice.sml.
185    
186    ----------------------------------------------------------------------
187    Name: Allen Leung (leunga (at) reservoir (dot) com)
188    Date: 2005/05/31 17:00:00 EST
189    Tag: leunga-20050531-cygwin-fault-2
190    Description:
191    
192    A typo in the cygwin code fixed.
193    
194    ----------------------------------------------------------------------
195    Name: Allen Leung (leunga (at) reservoir (dot) com)
196    Date: 2005/05/31 16:47:00 EST
197    Tag: leunga-20050531-cygwin-fault
198    Description:
199    
200    Updated Cygwin's fault/signal handling to match the Windows version.
201    Updated the export list.
202    
203    ----------------------------------------------------------------------
204    Name: Matthias Blume (blume (at) tti - c (dot) org)
205    Date: 2005/05/18 13:35:00 CDT
206    Tag: Release_110_54
207    Description:
208    
209    New working version (110.54).  NEW BOOTFILES!
210    
211    ----------------------------------------------------------------------
212    Name: Matthias Blume (blume (at) tti - c (dot) org)
213    Date: 2005/05/18 11:58:00 CDT
214    Tag: blume-20050518-installer
215    Description:
216    
217    Added support scripts for Mac OS X PackageMaker and modified
218    config/install.sh so that it supports re-dumping a heap image
219    after customization.
220    
221    ----------------------------------------------------------------------
222    Name: Matthias Blume (blume (at) tti - c (dot) org)
223    Date: 2005/05/18 10:55:00 CDT
224    Tag: blume-20050518-realdiv-noovld
225    Description:
226    
227    Un-overloaded / to work around bug in overloading resolution code.
228    
229    ----------------------------------------------------------------------
230    Name: Matthias Blume (blume (at) tti - c (dot) org)
231    Date: 2005/05/16 23:50:00 CDT
232    Tag: blume-20050516-redump-heap
233    Description:
234    
235    Added mechanism for re-creating a heap file for the interactive system
236    after configuration variables have been changed.
237    
238       CM.redump_heap : string -> unit
239    
240    This is much like SMLofNJ.exportML, but starting from the resulting
241    heap does not return to the caller of CM.redump_heap but
242    restarts the interactive system from scratch.  The original call of
243    CM.redump_heap does not return but ends the interactive session.
244    Thus, CM.redump_heap is a lot like SMLofNJ.exportFn.
245    
246    Internally, redump_heap winds the dynamic execution context back to
247    the point where the original heap image was created and re-executes
248    the heap image generation code in the boot code.
249    
250    ----------------------------------------------------------------------
251    Name: Matthias Blume (blume (at) tti - c (dot) org)
252    Date: 2005/05/09 21:55:00 CDT
253    Tag: blume-20050509-word64
254    Description:
255    
256    Added a hack to the existing hack known as Word64 to make fromString
257    behave correctly.  I am still not sure whether Word64.scan will work
258    as specified with respect to the interaction of radix and prefix.
259    
260    ----------------------------------------------------------------------
261    Name: Allen Leung (leunga (at) reservoir (dot) com)
262    Date: 2005/05/04 11:50:00 EST
263    Tag: leunga-20050504-checkgc
264    Description:
265    
266    Added a gc protocol checking phase.  This phase is enabled with
267    the flag "check-gc".  "debug-check-gc" turns on the verbose mode.
268    
269    ----------------------------------------------------------------------
270    Name: Matthias Blume (blume (at) tti - c (dot) org)
271    Date: 2005/05/04 10:45:00 CDT
272    Tag: blume-20050504-intinf
273    Description:
274    
275    Fixed a bug in the implementation of div and mod for IntInf.
276    Thanks to Neophytos Michael for reporting the problem.
277    
278    ----------------------------------------------------------------------
279    Name: Matthias Blume (blume (at) tti - c (dot) org)
280    Date: 2005/05/04 10:35:00 CDT
281    Tag: blume-20050504-join
282    Description:
283    
284    Added a "join" combinator to the ParserComb module in smlnj-lib.cm.
285    
286    ----------------------------------------------------------------------
287    Name: Matthias Blume (blume (at) tti - c (dot) org)
288    Date: 2005/02/28 23:40:00 CST
289    Tag: blume-20050228-mVar
290    Description:
291    
292    Fixed serious bug (brown paper bag variety) in new implementation of
293    structure Atom in CML.  (I had accidentally used a mailbox instead of
294    an mvar, leaving the door open for races.)
295    
296    ----------------------------------------------------------------------
297    Name: Matthias Blume (blume (at) tti - c (dot) org)
298    Date: 2005/02/25 15:00:00 CST
299    Tag: Release_110_53
300    Description:
301    
302    New working version (110.53).  NEW BOOTFILES!
303    
304    ----------------------------------------------------------------------
305    Name: Matthias Blume (blume (at) tti - c (dot) org)
306    Date: 2005/02/25 14:50:00 CST
307    Tag: blume-20050225-susp
308    Description:
309    
310    Brought back SMLofNJ.Susp.  The underlying suspension type is the one
311    implemented in Core -- which means that it is the same as the one used
312    by the lazy extension.
313    
314    ----------------------------------------------------------------------
315    Name: Matthias Blume (blume (at) tti - c (dot) org)
316    Date: 2005/02/24 16:50:00 CST
317    Tag: blume-20050224-cml-atom
318    Description:
319    
320    Simpler and at the same time more general implementation of structure
321    Atom in CML.
322    
323    ----------------------------------------------------------------------
324    Name: Matthias Blume (blume (at) tti - c (dot) org)
325    Date: 2005/02/15 17:35:00 CST
326    Tag: blume-20050215-tools
327    Description:
328    
329    Created new "tools" directory under "src" and moved "TraceDebugProf"
330    there.
331    
332    ----------------------------------------------------------------------
333    Name: Matthias Blume (blume (at) tti - c (dot) org)
334    Date: 2005/02/10 17:55:00 CST
335    Tag: blume-20050210-longlong
336    Description:
337    
338    Implemented "long long" arguments and results for NLFFI.  (Only the
339    PPC/MacOS implementation is complete, the other backends still need to
340    be updated.)
341    
342    ----------------------------------------------------------------------
343    Name: Matthias Blume (blume (at) tti - c (dot) org)
344    Date: 2005/01/24 17:40:00 CST
345    Tag: blume-20050124-mlyacc
346    Description:
347    
348    Minor cleanup in ML-Yacc rule printing mechanism.  This should fix a
349    problem with certain "as" patterns which previously got rendered
350    using incorrect syntax.
351    
352    ----------------------------------------------------------------------
353    Name: Matthias Blume (blume (at) tti - c (dot) org)
354    Date: 2005/01/18 12:00:00 CST
355    Tag: blume-20050118-profile
356    Description:
357    
358    Made time profiling code (interrupt handler) in runtime system aware
359    of new array representation.
360    
361    ----------------------------------------------------------------------
362    Name: Matthias Blume (blume (at) tti - c (dot) org)
363    Date: 2005/01/14 18:00:00 CST
364    Tag: blume-20050114-heap2exec
365    Description:
366    
367    Implemented new (but still experimental) heap2exec facility.  This is
368    tested under Mac OS X and should work under Linux (will test shortly).
369    It will probably also work on the Sparc (will test some time later).
370    
371      - removed old "HACKED_STANDALONE" hack from runtime
372    
373    To be able to test this, uncomment the request for "heap2asm" in
374    config/targets prior to installation.  (Notice that this is different
375    from "heap2exec" mentioned below.  Not a typo.)
376    
377    To perform an actual test, run the command
378    
379       $ bin/heap2exec heapfile execfile
380    
381    (You can put heap2exec on your shell's path.)
382    
383    For example, run
384    
385      $ bin/heap2exec bin/.heap/ml-yacc.ppc-darwin mly
386    
387    This will create a standalone executable called "mly" which you can
388    then invoke directly as a command.
389    
390    ----------------------------------------------------------------------
391    Name: Matthias Blume (blume (at) tti - c (dot) org)
392    Date: 2005/01/07 11:44:00 CST
393    Tag: blume-20050107-mlstring
394    Description:
395    
396    fixed off-by-one error in ML_STRING macro (globals.c)
397    
398    ----------------------------------------------------------------------
399    Name: Matthias Blume (blume (at) tti - c (dot) org)
400    Date: 2004/12/23 18:00:00 CST
401    Tag: blume-20041223-santa
402    Description:
403    
404    Made ml-build script "smarter" (but only very little).
405    
406    ----------------------------------------------------------------------
407    Name: Matthias Blume (blume (at) tti - c (dot) org)
408    Date: 2004/12/21 15:05:00 CST
409    Tag: blume-20041221-longlong
410    Description:
411    
412    * Implemented access to signed and unsigned long long data in NLFFI.
413    (The parameter-passing part of the picture has not complete. But
414    data structure access seems to work.)
415    
416    * Fixed CM's incorrect assumption that the PPC is little-endian.
417      (On the Mac, it is big-endian.  And that's currently our only
418      PPC platform.)
419    
420    ----------------------------------------------------------------------
421    Name: Matthias Blume (blume (at) tti - c (dot) org)
422    Date: 2004/12/21 12:50:00 CST
423    Tag: blume-20041221-memory
424    Description:
425    
426    Some cleanup in the $c/memory.cm library: separated some concerns by
427    moving allocation code and memory access code each into their own
428    files.
429    
430    ----------------------------------------------------------------------
431    Name: Allen Leung (leunga (at) reservoir (dot) com)
432    Date: 2004/12/17 16:12:00 EST
433    Tag: leunga-20041217-cygwin-smlnj-home
434    Description:
435    
436        The Unix I/O library of SML/NJ on cygwin does not understand
437    Windows style pathname, so problems arise when SMLNJ_HOME is set
438    to a Windows style pathname.  _run-sml now converts SMLNJ_HOME
439    to a POSIX pathname on cygwin.
440    
441    ----------------------------------------------------------------------
442    Name: Matthias Blume (blume (at) tti - c (dot) org)
443    Date: 2004/12/16 13:35:00 CST
444    Tag: Release_110_52
445    Description:
446    
447    Last-minute changes incorporated into 110.52.  Release tag moved.
448    
449    The changes:
450       - HashString.hashString' -> HashString.hashSubstring
451       - bug fix in UnivariateStats
452    
453    ----------------------------------------------------------------------
454    Name: Matthias Blume (blume (at) tti - c (dot) org)
455    Date: 2004/12/15 23:40:00 CST
456    Tag: blume-20041215-hashSubstring
457    Description:
458    
459    - HashString.hashString' -> HashString.hashSubstring
460    - corresponding changes in atom.sml
461    - "de-compressed" (aka. un-obfuscated) code for UnivariateStats and
462      added some comments
463    
464    ----------------------------------------------------------------------
465    Name: Matthias Blume (blume (at) tti - c (dot) org)
466    Date: 2004/12/15 15:30:00 CST
467    Tag: (Release_110_52)
468    Description:
469    
470    New working version (110.52).  NEW BOOTFILES!
471    
472    ----------------------------------------------------------------------
473    Name: Matthias Blume (blume (at) tti - c (dot) org)
474    Date: 2004/12/15 12:45:00 CST
475    Tag: blume-20041215-spaces
476    Description:
477    
478    More on the space problem (this time for Win32).
479    
480    ----------------------------------------------------------------------
481    Name: Matthias Blume (blume (at) tti - c (dot) org)
482    Date: 2004/12/14 17:30:00 CST
483    Tag: blume-20041214-spaces
484    Description:
485    
486    Hacked some of the scripts (in particular: the installer) to cope with
487    spaces in filenames a bit better.  But beware: the current "solution"
488    is likely still full of bugs and inherently incomplete.  (We need to
489    do away with those shell scripts for a comprehensive solution.)
490    
491    ----------------------------------------------------------------------
492    Name: Matthias Blume (blume (at) tti - c (dot) org)
493    Date: 2004/12/13 14:45:00 CST
494    Tag: blume-20041213-ml-makedepend
495    Description:
496    
497    Fixed bug in code for ml-makedepend.
498    
499    ----------------------------------------------------------------------
500    Name: Matthias Blume (blume (at) tti - c (dot) org)
501    Date: 2004/12/09 16:30:00 CST
502    Tag: blume-20041209-statistics
503    Description:
504    
505    Added two simple but potentially useful statistics modules to SML/NJ Library.
506    (See CHANGES file there.)
507    
508    ----------------------------------------------------------------------
509    Name: Matthias Blume (blume (at) tti - c (dot) org)
510    Date: 2004/12/01 16:50:00 CST
511    Tag: blume-20041201-atom
512    Description:
513    
514    smlnj-lib:
515    
516      Added function HashString.hashString' for substrings.
517      Hand-inlined CharVector.foldl into HashString (for speed).
518      Modified implementation of structure Atom to avoid extracting
519      strings from substrings unless necessary.
520      (Also see CHANGES file for smlnj-lib.)
521    
522    ----------------------------------------------------------------------
523    Name: Matthias Blume (blume (at) tti - c (dot) org)
524    Date: 2004/11/24 22:15:00 CST
525    Tag: blume-20041124-cml
526    Description:
527    
528    Made sure CML compiles when Position = Int64.
529    
530    ----------------------------------------------------------------------
531    Name: Matthias Blume (blume (at) tti - c (dot) org)
532    Date: 2004/11/24 14:30:00 CST
533    Tag: blume-20041124-position
534    Description:
535    
536    The compiler can now be compiled in a mode that makes structure Position
537    equal to Int64.  The default, however, is unchanged (Position = Int31)
538    for the time being.
539    
540    To enable 64-bit positions, use the following procedure:
541    
542    1. Start sml
543    2. Autoload $smlnj/cmb.cm (if not already autoloaded)
544    3. Type
545          #set (CMB.symval "USE_64_BIT_POSITIONS") (SOME 1);
546    4. Run CMB.make() as usual.
547    
548    This is barely tested.  The only test so far was a little SML program
549    counting the number of characters in an 8-gigabyte file by
550    reading it character-by-character.  That test was successful.
551    
552    In support of 64-bit positions, a number of new functions have been
553    added to the runtime system.
554    
555    ----------------------------------------------------------------------
556    Name: Matthias Blume (blume (at) tti - c (dot) org)
557    Date: 2004/11/23 14:45:00 CST
558    Tag: blume-20041123-useFile
559    Description:
560    
561    Fixed a problem with unhelpful error messages related to problems with
562    .cm- or .sml files that appear as part of the sml command line.
563    
564    ----------------------------------------------------------------------
565    Name: Matthias Blume (blume (at) tti - c (dot) org)
566    Date: 2004/11/18 15:40:00 CST
567    Tag: Release_110_51
568    Description:
569    
570    New working version (110.51).  NEW BOOTFILES!
571    
572    ----------------------------------------------------------------------
573    Name: Matthias Blume (blume (at) tti - c (dot) org)
574    Date: 2004/11/18 15:35:00 CST
575    Tag: <none>
576    Description:
577    
578    Enabled dlopen and friends for FreeBSD (as recommended by Johannes 5
579    Joemann).
580    
581    ----------------------------------------------------------------------
582    Name: Allen Leung (leunga (at) reservoir (dot) com)
583    Date: 2004/11/17 16:05:21 EST 2004
584    Tag: leunga-20041117-mlrisc-live-kill
585    Description:
586    
587       Added support for MLTree constructs LIVE and KILL
588    to all the architectures.
589    
590    ----------------------------------------------------------------------
591    Name: Matthias Blume (blume (at) tti - c (dot) org)
592    Date: 2004/11/13 00:20:00 CST
593    Tag: blume-20041113-versiontool
594    Description:
595    
596    - Stripped down the versiontool: It now only handles the version number.
597      The date string is generated at bootstrap time (during makeml).
598    
599    - In a previous commit, fixed a minor issue with how polyequal is being
600      translated.  In particular, the code now "looks through" abstractions.
601      This results in slightly fewer polyEqual warnings and hopefully slightly
602      more efficient code.  Important examples for where this matters are
603      the new int64 and word64 types.
604    
605    ----------------------------------------------------------------------
606    Name: Matthias Blume (blume (at) tti - c (dot) org)
607    Date: 2004/11/12 00:30:00 CST
608    Tag: blume-20041112-int64
609    Description:
610    
611    Structure Int64 fully hooked in.  (The implementation is not very
612    efficient, though.)
613    
614    ----------------------------------------------------------------------
615    Name: Matthias Blume (blume (at) tti - c (dot) org)
616    Date: 2004/11/11 17:30:00 CST
617    Tag: blume-20041111-more64
618    Description:
619    
620    All the pieces of Word64 are now there, with the exception of the
621    conversions from and to LargeWord. (Eventually these need to be identities,
622    but for the time being they don't even make sense because LargeWord is
623    32-bit wide.)
624    
625    Also started to add similar support for Int64, but major pieces of that
626    are still missing.
627    
628    ----------------------------------------------------------------------
629    Name: Matthias Blume (blume (at) tti - c (dot) org)
630    Date: 2004/11/11 00:15:00 CST
631    Tag: blume-20041111-word64
632    Description:
633    
634    Structure Word64 is now (almost) complete, word literals and patterns
635    seem to work.  There are a few odd pieces missing.  In particular,
636    I didn't do the {from,to}LargeWord parts because LargeWord is still Word32
637    at the moment.
638    
639    Making Word64 official would mean that LargeWord becomes Word64.  But
640    this requires extreme care because most word-word conversions have to
641    go through LargeWord, so making a mistake means loss of efficiency or
642    worse.  Eventually there will be a solution similar to (but actually
643    simpler than) what I did with IntInf.
644    
645    ----------------------------------------------------------------------
646    Name: Matthias Blume (blume (at) tti - c (dot) org)
647    Date: 2004/11/10 18:12:00 CST
648    Tag: blume-20041110-64bit
649    Description:
650    
651    More 64-bit hacking (but still not even half-way there yet).
652    Also, some assorted improvements to the handling of 8-bit words.
653    
654    ----------------------------------------------------------------------
655    Name: Matthias Blume (blume (at) tti - c (dot) org)
656    Date: 2004/11/09 17:50:00 CST
657    Tag: <none>
658    Description:
659    
660    Started adding some infrastructure for supporting 64-bit int- and
661    word-types.  (Still in its very early stages.)
662    
663    ----------------------------------------------------------------------
664    Name: Matthias Blume (blume (at) tti - c (dot) org)
665    Date: 2004/10/28 10:45:00 CDT
666    Tag: Release_110_50
667    Description:
668    
669    New working version (110.50).  NEW BOOTFILES!
670    
671                 =====================
672    
673    Also:
674    
675      - Changend config/srcarchiveurl from a file just
676        containing the URL string into a file containing
677        shell script code.  The code has access to the $VERSION variable.
678      - Made corresponding changes to config/install.sh and config/unpack.
679      - Default contents of config/srcarchiveurl uses $VERSION and
680        normally does not have to be edited to reflect a version change.
681    
682      (As a result, a version change can be done by just editing
683       config/version, the rest is now automatic.)
684    
685    ----------------------------------------------------------------------
686    Name: Matthias Blume (blume (at) tti - c (dot) org)
687    Date: 2004/10/27 17:50:00 CDT
688    Tag: blume-20041027-btrace-msg
689    Description:
690    
691    BackTrace.monitor now also reports the source of the exception that
692    triggered the trace.
693    
694    ----------------------------------------------------------------------
695    Name: Matthias Blume (blume (at) tti - c (dot) org)
696    Date: 2004/10/27 17:20:00 CDT
697    Tag: blume-20041027-x86-c-calls
698    Description:
699    
700    This is the HISTORY entry for two earlier commits, both concerning
701    the x86 c-calls code in MLRISC:
702    
703      - added a missing LOAD in the code that deals with struct arguments
704      - made sure the caller does not add the wrong number of bytes to the
705        stack pointer after a call of a function returning a struct
706        (the callee already pops the implicit argument which points to
707         the space reserved for the result)
708    
709    ----------------------------------------------------------------------
710    Name: Allen Leung (leunga (at) reservoir (dot) com)
711    Date: 2004/10/24 14:00:00 EST
712    Tag: leunga-20041024-x86-gas-fucomip
713    Description:
714    
715       John discovered a bug in the syntax of fucomip.
716       The opcodes FU?COMIP? have been changed to
717    
718           fu?comip? %st(i), %st
719    
720    ----------------------------------------------------------------------
721    Name: Matthias Blume (blume (at) tti - c (dot) org)
722    Date: 2004/10/20 15:06:00 CDT
723    Tag: blume-20041020-standalone-backtrace
724    Description:
725    
726    Added a mechanism for getting back-trace information from standalone
727    programs.  Here is how it works:
728    
729       1. The part of the program from which you want to get backtrace
730          information (usually the whole program) should be wrapped with
731          BackTrace.monitor.  This is a (unit->'a)->'a function, and your
732          main program could be modified from something like
733    
734             fun main (pgm, args) = ...
735    
736         to
737    
738            fun main (pgm, args) = BackTrace.monitor (fn () => ...)
739    
740       2. To be able to access BackTrace.monitor, you have to add
741          library $smlnj-tdp/plugins.cm to the .cm file that contains your
742          main function.
743    
744       3. Remove all compiled code (i.e., all the .cm/ subdirectories that
745          CM might have created in the past for your project).
746    
747       4. Build the system using this command line:
748    
749             ml-build -Ctdp.instrument=true \$smlnj-tdp/back-trace.cm \
750                      myprog.cm MyProg.main myprog
751    
752          instead of the usual
753    
754             ml-build myprog.cm MyProg.main myprog
755    
756    I changed a library name:
757    
758       $/trace-debug-profile.cm --> $smlnj-tdp/plugins.cm
759    
760    New libraries:
761    
762       $smlnj-tdp/back-trace.cm
763          -- when loaded causes the back-trace plugin to be installed
764       $smlnj-tdp/coverage.cm
765          -- when loaded causes the coverage plugin to be installed
766    
767    ----------------------------------------------------------------------
768    Name: Matthias Blume (blume (at) tti - c (dot) org)
769    Date: 2004/10/18 16:45:00 CDT
770    Tag: blume-20041018-groupowner
771    Description:
772    
773    Added an "obsolete" warning for the "group owner" syntax to CM's parser.
774    
775    Eliminated group owner specs from .cm files throughout the source tree.
776    
777    ----------------------------------------------------------------------
778    Name: Matthias Blume (blume (at) tti - c (dot) org)
779    Date: 2004/10/15 15:45:00 CDT
780    Tag: blume-20041015-coverage
781    Description:
782    
783    * Test coverage tool added!
784    * Further reorganization of tracing-, debugging-, and profiling support:
785    
786        - moved original BTImp -- now called BackTrace -- into a separate
787          library called $/trace-debug-profile.cm
788        - eliminated all mentions of BTrace from SMLofNJ.Internals
789        - only the instrumentation mechanism is now left in the compiler proper
790        - BackTrace module is a plugin which is NOT plugged in by default
791        - Coverage module is another such plugin
792    
793    To get the benefits of any of these plugin modules, the code in
794    question must be compiled with tdp instrumentation turned on.  This
795    can be done by setting SMLofNJ.Internals.TDP.mode to true.
796    (The ref cell is also controlled via the -Ctdp.instrument=... switch.)
797    
798    Plugins are selected at link time.  (Pre-compiled instrumented code
799    can be re-loaded with different plugins in effect.)  When an
800    instrumented module is linked, whatever plugins are at that time
801    enabled will come into effect for that module.
802    
803    To enable the back-trace plugin, load library $/trace-debug-profile.cm
804    and invoke BackTrace.install() (e.g., from the interactive prompt).
805    To enable the coverage plugin, load the same library and invoke
806    Coverage.install().
807    
808    Back-traces are generated automatically on uncaught exceptions and
809    when the code in question explicitly invokes BackTrace.trigger().
810    
811    Coverage (and execution frequency-) information must be queried
812    explicitly by calling Coverage.not_covered and Coverage.hot_spots.
813    
814    ----------------------------------------------------------------------
815    Name: Matthias Blume (blume (at) tti - c (dot) org)
816    Date: 2004/10/14 17:40:00 CDT
817    Tag: blume-20041014-tdp-core
818    Description:
819    
820    Snapshot of a significant overhaul of how the trace/debug/profile support
821    is hooked into the system (specifically: Core and SMLofNJ.Internals).
822    
823    ----------------------------------------------------------------------
824    Name: Matthias Blume (blume (at) tti - c (dot) org)
825    Date: 2004/10/13 16:34:00 CDT
826    Tag: blume-20041013-tdp
827    Description:
828    
829    Some rationalization of names:
830    
831       structure BTrace -> structure TDPInstrument
832       etc.
833    
834    This is is preparation of using the original back-trace
835    instrumentation for other purposes.  "TDP" stands for
836    Trace/Debug/Profile.
837    
838    The control flag controlling whether instrumentation is on or off is now
839    registered under a different name, so instead of running sml as
840    
841     sml -Cinstrument.btrace-mode=true
842    
843    one has to say
844    
845     sml -Ctdp.instrument=true
846    
847    ----------------------------------------------------------------------
848    Name: Matthias Blume (blume (at) tti - c (dot) org)
849    Date: 2004/10/11 16:37:00 CDT
850    Tag: blume-20041011-regions
851    Description:
852    
853    Made some minor modifications to elabcore.sml to have source regions
854    be propagated more tightly -- resulting in better (i.e., smaller)
855    regions being reported in error- and debug messages.
856    
857    ----------------------------------------------------------------------
858    Name: Matthias Blume (blume (at) tti - c (dot) org)
859    Date: 2004/10/08 22:50:00 CDT
860    Tag: blume-20041008-cmkw
861    Description:
862    
863    Fixed handling of keywords in .cm files: After seeing "is" the lexer
864    treats subsequent occurrences of "group", "library", "source", "is",
865    "*", and "-" as ordinary identifiers rather than keywords.
866    
867    Most seriously, this fixes a problem with CM's "shell" tool.  The tool
868    is supposed to accept a tool argument called "source", but this did
869    not work because of the clash with the keyword.
870    
871    ----------------------------------------------------------------------
872    Name: Matthias Blume (blume (at) tti - c (dot) org)
873    Date: 2004/10/07 16:00:00 CDT
874    Tag: blume-20041007-cleanup
875    Description:
876    
877    Assorted cleanup work:
878    
879      - got rid of intstrmap in favor of using the library's
880        hash table implementation
881      - threw out most of the pathnames stuff, as it was not used anyway
882      - simplified tokentable implementation
883      - fixed some minor spelling errors
884    
885    ----------------------------------------------------------------------
886    Name: Matthias Blume (blume (at) tti - c (dot) org)
887    Date: 2004/10/06 15:15:15 CDT
888    Tag: blume-20041006-handler
889    Description:
890    
891    Cleaned up the absyn to reflect the invariant that HANDLE always
892    carries a FNexp as part of the type definition.  This eliminates some
893    superfluous sanity checks at runtime down the road.
894    
895    Some minor cleanup of the btrace code.
896    
897    ----------------------------------------------------------------------
898    Name: Matthias Blume (blume (at) tti - c (dot) org)
899    Date: 2004/10/01 10:20:30 CDT
900    Tag: blume-20041001-slave
901    Description:
902    
903    Added hack to make slave mode work in the presence of the version
904    tool.  (Still, since the master does two passes over the code for
905    CMB.make, the release number gets bumped twice when slaves are
906    attached.  I don't know if this is worth fixing...)
907    
908    ----------------------------------------------------------------------
909    Name: Matthias Blume (blume (at) tti - c (dot) org)
910    Date: 2004/09/30 10:55:00 CDT
911    Tag: blume-20040930-version
912    Description:
913    
914    * Moved the "version" magic into its own little library under
915      src/system/smlnj/internal.  This avoids expensive reconstruction of
916      a stable src/compiler/core.cm.
917    
918    * At the same time, structure CompilerVersion is now known as
919      structure SMLNJVersion.
920    
921    * Arranged for the version tool to NOT kick in when rebuilding the system
922      (makeml -rebuild, fixpt).  Otherwise one would never reach a fixpoint.
923      Also, loading the versiontool does not work when rebuilding the system
924      because CM is not properly initialized at that time.
925    
926    ----------------------------------------------------------------------
927    Name: Matthias Blume (blume (at) tti - c (dot) org)
928    Date: 2004/09/29 14:00:00 CDT
929    Tag: blume-20040929-autoversion
930    Description:
931    
932    Implemented some CM magic to have
933        file src/compiler/TopLevel/main/version.sml
934    generated automagically.
935    The version is taken from two files: config/version and config/release.
936    The first is expected to contain a two-part version number such as 110.49.
937    The second should contain a single number, but it may be missing.
938    
939    If the environment variable VERSIONTOOL_BUMP_RELEASE is defined at the
940    time the version tool is loaded (which is the first time you say CMB.make),
941    then the tool will increment the value stored in config/release every
942    time CMB.make is invoked.
943    
944    The binfile format is now insensitive to anything beyond the first
945    two components of a version number, so bumping the release does not render
946    binfiles incompatible.  Auto-bumping can be used to keep track of versions
947    during development without invalidating existing binfiles.
948    
949    In any case, every CMB.make updates the date information in version.sml.
950    (This is the date that is printed in the banner.)
951    
952    ----------------------------------------------------------------------
953    Name: Matthias Blume (blume (at) tti - c (dot) org)
954    Date: 2004/09/28 10:53:00 CDT
955    Tag: blume-20040928-controls
956    Description:
957    
958    Some cleanup of the controls code.
959    
960    ----------------------------------------------------------------------
961    Name: Matthias Blume (blume (at) tti - c (dot) org)
962    Date: 2004/09/27 22:08:00 CDT
963    Tag: blume-20040927-controls
964    Description:
965    
966    Added two pieces of functionality to the Controls interface:
967    
968    1.   val save'restore: 'a control -> unit -> unit
969    
970       grabs the current value of the control in stage 1 and restores it
971       in stage 2.
972    
973    2.   val set' : 'a control * 'a -> unit -> unit
974    
975       stores the given value into the control in stage 2 (i.e., delayed)
976       but does all error checking in stage 1.
977       (This is for string controls that need to do parse their argument --
978        something that might fail.  In some cases, notably in CM, one
979        already knows the intended argument but wants to delay the actual
980        assignment until a time when error recovery would be more difficult.)
981    
982    Changed the handling of controls in tool arguments to classes "sml" and
983    "lazysml":
984       - use Controls.save'restore as a more robust way of restoring the
985         old value (in particular: without having to re-parse the string)
986       - use controls to handle the "overload" keyword in the init group
987         (I believe this change actually fixes a long-standing obscure bug.)
988    
989    ----------------------------------------------------------------------
990    Name: Matthias Blume (blume (at) tti - c (dot) org)
991    Date: 2004/09/27 17:00:00 CDT
992    Tag: blume-20040927-lazysml
993    Description:
994    
995    Added a new tool class called "lazysml" to CM's tool chest.  The only
996    difference to "sml" is that compilation is done with Control.lazysml
997    set to true.  A source of class "lazysml" is automatically recognized
998    by a file name suffix of ".lml".
999    
1000    In addition to the above feature, the original class "sml" now also
1001    supports a tool argument "lazy" which has the same effect.  As a
1002    result, the following three lines are equivalent:
1003    
1004        foo.sml : lazysml
1005        foo.sml : sml (lazy)
1006        foo.sml (lazy)
1007    
1008    The setting goes into effect both during parsing and during
1009    compilation.  The original setting is restored right after parsing and
1010    after compilation, respectively.
1011    
1012    In addition to all the above, there is also a general mechanism to set
1013    ANY of the "controls" that are available at the command line via
1014    "-C..." on a per-sml-file basis.  The same rules that apply for "lazy"
1015    apply as well. (In fact, "lazy" is implemented as a special case of
1016    the general mechanism.)
1017    
1018    The .cm file syntax uses a new keyword tool argument called "with".
1019    There are several ways of indicating the desired settings:
1020    
1021        foo.sml (with:parser.quotations=true)
1022        foo.sml (with:(name:parser.quotations value:true))
1023        foo.sml (with:(name:name1 value:value1 name:name2 value:value2 ...))
1024        foo.sml (with:(name1=value1 name2=value2 ...))
1025        foo.sml (with:(name1=value1 name:name2 value:value2 name3=value3 ...))
1026    
1027        etc.
1028    
1029    Another possible abbreviation is to leave out the =v or value:v part
1030    if the name refers to a boolean control (in which case the value is
1031    taken to be true).  Thus, one could get lazy sml also by saying:
1032    
1033        foo.sml (with:parser.lazy-keyword=true)
1034        foo.sml (with:parser.lazy-keyword)
1035        foo.sml (with:(name:parser.lazy-keyword value:true))
1036        foo.sml (with:(name:parser.lazy-keyword))
1037    
1038    ----------------------------------------------------------------------
1039    Name: Matthias Blume (blume (at) tti - c (dot) org)
1040    Date: 2004/09/24 16:22:00 CDT
1041    Tag: blume-20040924-ppc-long-branch
1042    Description:
1043    
1044    Turned message about "emiting long form of branch" off by default.
1045    Added a control flag to turn it back on when desired.
1046    
1047    ----------------------------------------------------------------------
1048    Name: Matthias Blume (blume (at) tti - c (dot) org)
1049    Date: 2004/09/24 16:05:00 CDT
1050    Tag: blume-20040924-rounding
1051    Description:
1052    
1053    Applied patch for setting rounding modes under Mac OS X.  Thanks to
1054    Melissa O'Neill for providing the code!
1055    
1056    ----------------------------------------------------------------------
1057    Name: Matthias Blume (blume (at) tti - c (dot) org)
1058    Date: 2004/09/23 17:30:00 CDT
1059    Tag: blume-20040923-envvars
1060    Description:
1061    
1062    1. Changed definition of type ControlRegistry.registry_tree to
1063       include control_info (i.e., the name of the controlling environment
1064       variable).
1065    
1066    2. Added command-line flags -e and -E to print the names of environment
1067       variables that can be used to control internal settings.
1068       (This uses the new API mentioned in 1.)
1069    
1070    ----------------------------------------------------------------------
1071    Name: Matthias Blume (blume (at) tti - c (dot) org)
1072    Date: 2004/09/13 16:50:00 CDT
1073    Tag: Release_110_49
1074    Description:
1075    
1076    New working version (110.49).  NEW BOOTFILES!
1077    
1078    ----------------------------------------------------------------------
1079    Name: Matthias Blume
1080    Date: 2004/09/13 16:20:00 CDT
1081    Tag: blume-20040913-config-mlrisc
1082    Description:
1083    
1084    Put target "mlrisc" back into the default list.
1085    (There is no harm in having it, and some users have expressed their
1086    wish to have "mlrisc" included by default.)
1087    
1088    ----------------------------------------------------------------------
1089    Name: John Reppy
1090    Date: 2004/09/13
1091    Tag: jhr-20040913-signals
1092    Description:
1093    
1094    Fixed the signal masking code to properly nest mask/unmask operations
1095    on a per-signal basis.
1096    
1097    ----------------------------------------------------------------------
1098    Name: Matthias Blume (blume (at) tti - c (dot) org)
1099    Date: 2004/09/08 13:20:00 CDT
1100    Tag: blume-20040908-heap-magic
1101    Description:
1102    
1103    Bumped the heap macig number to 0x09082004 to account for the changed
1104    layout of the ML frame under MacOS X.
1105    
1106    ----------------------------------------------------------------------
1107    Name: Allen Leung (leunga (at) reservoir (dot) com)
1108    Date: 2004/09/03 11:26:00 EST
1109    Tag: leunga-20040903-cygwin-install
1110    Description:
1111    
1112       Added a patch to _arch-n-opsys to enable the Cygwin runtime.
1113    The Cygwin runtime is turned on by setting the environment
1114    variable SMLNJ_CYGWIN_RUNTIME to 1.
1115    
1116    ----------------------------------------------------------------------
1117    Name: Matthias Blume (blume (at) tti - c (dot) org)
1118    Date: 2004/08/31 17:15:00 CDT
1119    Tag: blume-20040831-core
1120    Description:
1121    
1122    Added some exports to src/compiler/core.cm upon request by J. Joemann.
1123    
1124    ----------------------------------------------------------------------
1125    Name: Matthias Blume (blume (at) tti - c (dot) org)
1126    Date: 2004/08/30 17:55:00 CDT
1127    Tag: blume-20040830-installer
1128    Description:
1129    
1130    Upon request by Johannes Joemann:
1131    
1132    - improved ML code of installer to fall back to coping when renaming
1133      fails (i.e., when source and target are on different file systems);
1134      the code compiles but has yet to be tested in anger
1135    - removed mlrisc from list of default targets (config/targets)
1136    
1137    ----------------------------------------------------------------------
1138    Name: Matthias Blume (blume (at) tti - c (dot) org)
1139    Date: 2004/08/27 17:20:00 CDT
1140    Tag: blume-20040827-ptreql
1141    Description:
1142    
1143    Added ptreql primop to structure InlineT (upon request from Larry
1144    Paulson).
1145    
1146    ----------------------------------------------------------------------
1147    Name: Allen Leung (leunga (at) reservoir (dot) com)
1148    Date: 2004/08/15 21:21:00 EST
1149    Tag: leunga-110_48-udgraph
1150    Description:
1151    
1152    Another bug fix from Carl Hauser:
1153    
1154    diff /net/niflab/smlnj48/src/MLRISC/graphs/udgraph.sml udgraph.sml
1155    > 48c48
1156    > <              | rmv((e as (k,_))::es,L) = rmv(es,if k = i then es else
1157    > e::L)
1158    > ---
1159    > >              | rmv((e as (k,_))::es,L) = rmv(es,if k = i then L else e::L)
1160    > Without this, any deletion of an edge in an undirected graph does severe
1161    > violence to the graph.
1162    
1163    ----------------------------------------------------------------------
1164    Name: Allen Leung (leunga (at) reservoir (dot) com)
1165    Date: 2004/08/10 23:35:00 EST
1166    Tag: leunga-110_48-ppc
1167    Description:
1168    
1169       The IBM/MacOS syntax switch on PPC was incorrectly swapped.
1170    
1171    ----------------------------------------------------------------------
1172    Name: Matthias Blume (blume (at) tti - c (dot) org)
1173    Date: 2004/08/10 12:00:00 CDT
1174    Tag: Release_110_48
1175    Description:
1176    
1177    New working version (110.48).  NEW BOOTFILES!
1178    
1179    ----------------------------------------------------------------------
1180    Name: Allen Leung (leunga (at) reservoir (dot) com)
1181    Date: 2004/08/09 12:21:00 EST
1182    Tag: leunga-110_47-dijsktra
1183    Description:
1184    
1185    Bug fix from Carl Hauser:
1186    
1187    single_source_shortest_paths in dijkstra.sml was observed to get wrong
1188    answers (by comparing to single_source_shortest_paths in bellman-ford.sml).
1189    
1190    The problem is that following the expression A.update(dist,s,Num.zero)
1191    it is necessary to update the priority queue using Q.decreaseWeight(Q,s).
1192    
1193    ----------------------------------------------------------------------
1194    Name: Matthias Blume (blume (at) tti - c (dot) org)
1195    Date: 2004/08/06 18:10:00 CDT
1196    Tag: blume-20040806-cmdline
1197    Description:
1198    
1199    Fiddled with handling of command-line options:
1200    
1201      * sml now quits after processing the command line
1202        if -H, -S, -h<n>, or -s<n> appears as the last
1203        command-line argument
1204      * a new option -q terminates the session when encountered on
1205        the command line; subsequent arguments will be ignored
1206      * bug fixes: short (erroneous) arguments are no longer ignored
1207        completely
1208    
1209    ----------------------------------------------------------------------
1210    Name: Allen Leung (leunga (at) reservoir (dot) com)
1211    Date: 2004/08/04 18:17:00 EST
1212    Tag: leunga-110_47-ppc-ibm-asm
1213    Description:
1214    
1215      - Added minimal IBM assembly syntax support for PowerPC.
1216    
1217      - Cygwin: manually changed the file cygwin.def.  Some exported symbols have
1218        been altered in the runtime.  We need an automatic way to keep the file
1219        in sync.
1220    
1221    ----------------------------------------------------------------------
1222    Name: Matthias Blume (blume (at) tti - c (dot) org)
1223    Date: 2004/08/04 14:00:00 CDT
1224    Tag: Release_110_47
1225    Description:
1226    
1227    New working version (110.47).  NEW BOOTFILES!
1228    
1229    ----------------------------------------------------------------------
1230    Name: Matthias Blume (blume (at) tti - c (dot) org)
1231    Date: 2004/08/03 14:25:00 CDT
1232    Tag: blume-20040803-callingconv
1233    Description:
1234    
1235    Added low-level support for choosing C calling conventions by
1236    twiddling the type of rawccall.  (See
1237    src/compiler/Semant/types/cproto.sml for details.)
1238    
1239    ----------------------------------------------------------------------
1240    Name: Matthias Blume (blume (at) tti - c (dot) org)
1241    Date: 2004/08/02 15:55:00 CDT
1242    Tag: blume-20040802-backout
1243    Description:
1244    
1245    Backed out of change to win32-filesys.c.  The earlier patch to
1246    get_file_time caused CM to produce files with the wrong time stamp.
1247    
1248    ----------------------------------------------------------------------
1249    Name: Matthias Blume (blume (at) tti - c (dot) org)
1250    Date: 2004/08/02 14:45:00 CDT
1251    Tag: blume-20040802-nlffi-win32
1252    Description:
1253    
1254    Added NLFFI support for Win32, adapted from a patch provided by David
1255    Hansel.  This is currently completely untested.  Also, the issue
1256    concerning stdcall vs. ccall is still unresolved.
1257    
1258    ----------------------------------------------------------------------
1259    Name: Matthias Blume (blume (at) tti - c (dot) org)
1260    Date: 2004/07/30 17:55:00 CDT
1261    Tag: blume-20040730-various
1262    Description:
1263    
1264    Gearing up towards 110.47...
1265    
1266    - various minor bugfixes to ml-nlffigen
1267    - a beginning of a manual for nlffi
1268    
1269    - eliminated 'export name=value' in config/install.sh as this does
1270      not work with certain versions of /bin/sh
1271      (Thanks to David King at Motorola for catching this.)
1272    
1273    - several bugfixes provided or suggested by David Hansel at Reactive Systems:
1274      - added a test for tm==NULL to gmtime.c and localtime.c
1275      - applied patch for incorrect GetFileTime under win32
1276      - toSeconds -> toMilliseconds in Win32/win32-process.sml
1277    
1278    ----------------------------------------------------------------------
1279    Name: Matthias Blume (blume (at) tti - c (dot) org)
1280    Date: 2004/07/21 18:20:00 CDT
1281    Tag: blume-20040721-nlffigen
1282    Description:
1283    
1284    - Fixed minor issue in ml-nlffigen: Now generate structure T_foo
1285      for a typedef to an incomplete type, but leave out the "typ" member.
1286      (This is just for consistency.)
1287    - Started to produce what is supposed to become better (i.e., comprehensive)
1288      documentation of what ml-nlffigen does and produces.
1289    
1290    ----------------------------------------------------------------------
1291    Name: Matthias Blume (blume (at) tti - c (dot) org)
1292    Date: 2004/07/14 16:25:00 CDT
1293    Tag: blume-20040714-union
1294    Description:
1295    
1296    Added C_UNION to c-calls/c-types.sml and updated the machinery
1297    (ml-nlffigen, cproto.sml) that conveys C function interface
1298    information to the code generator.
1299    
1300    However, the actual architecture-specific implementation of function
1301    arguments and results that are C unions is still not implemented.
1302    
1303    ----------------------------------------------------------------------
1304    Name: Allen Leung (leunga (at) reservoir (dot) com)
1305    Date: 2004/07/14 14:38:00 EST
1306    Tag: leunga-110_46_1-ppc-lwzu
1307    Description:
1308    
1309        Added these instructions to the PowerPC architecture:
1310        LBZU(X), LHZU(X), LWZU(X),
1311        STWU(X), STFDU, STFSU
1312    
1313        etc...
1314    
1315        Note: I haven't added their instruction encoding into the description.
1316    
1317    ----------------------------------------------------------------------
1318    Name: Allen Leung (leunga (at) reservoir (dot) com)
1319    Date: 2004/07/13 15:04:00 EST
1320    Tag: leunga-110_46_1-ppc-lwarx
1321    Description:
1322    
1323       Added the two instructions LWARX and STWCX to the PowerPC
1324    instruction set.
1325    
1326       A (untested) rewrite of loop-structure.sml.  The old version
1327    is completely broken.
1328    
1329    ----------------------------------------------------------------------
1330    Name: Matthias Blume (blume (at) tti - c (dot) org)
1331    Date: 2004/07/13 13:50:00 CDT
1332    Tag: blume-20040713-nlffi
1333    Description:
1334    
1335    - use paramAlloc to report c-calls with too many arguments
1336      (for PPC version where parameter area is pre-allocated)
1337    - added ccall_maxargspace to machspec (to implement the above)
1338    - made "make" commend in CM's "make" tool configurable
1339    - added option (default: on) for passing the name of the SML/NJ's "bin"
1340      directory to "make"; the call looks like this:
1341    
1342         make <options> SMLNJ_BINDIR=<dir> <target>
1343    
1344      This can be used by the Makefile to, e.g., pick the "right" version
1345      of ml-nlffigen.
1346    - minor code tweaks
1347    
1348    ----------------------------------------------------------------------
1349    Name: Matthias Blume (blume (at) tti - c (dot) org)
1350    Date: 2004/07/12 22:50:00 CDT
1351    Tag: blume-110_46_1-macosx-nlffi
1352    Description:
1353    
1354    NLFFI under Mac OS X now working (sort of).  This is largely untested,
1355    though.
1356    
1357    Note:  1. You have to make a new, clean build of the runtime system.
1358           2. There are new BOOTFILES, you have to use them!
1359              (Doing the bootstrap process yourself would be *very* painful!
1360               If you absolutely have to do it, build the system under
1361               a different architecture and then cross-compile.)
1362    
1363    Version bumped to 110.46.1 to account for runtime data format changes.
1364    
1365    ----------------------------------------------------------------------
1366    Name: Matthias Blume (blume (at) tti - c (dot) org)
1367    Date: 2004/06/18 14:30:00 CDT
1368    Tag: blume-20040618-unix
1369    Description:
1370    
1371    Changed the implementation of structure Unix so that the same stream
1372    is returned every time one of the {text,bin}{In,Out}streamOf functions
1373    is invoked on the same proc.  This is not what the spec currently
1374    says -- although IMO it arguably should.  (See discussion below.)
1375    
1376    ----------------------------------------------------------------------
1377    Name: Matthias Blume (blume (at) tti - c (dot) org)
1378    Date: 2004/06/17 18:15:00 CDT
1379    Tag: Release_110_46
1380    Description:
1381    
1382    New working version (110.46).  NEW BOOTFILES!
1383    
1384    ----------------------------------------------------------------------
1385    Name: Matthias Blume (blume (at) tti - c (dot) org)
1386    Date: 2004/06/17 17:20:00 CDT
1387    Tag: blume-20040617-timer-unix
1388    Description:
1389    
1390    Changed the interface of structures Timer and Unix to match the most
1391    recent Basis spec.
1392    
1393    In the case of Unix there still seems to be an open/weird issue:
1394    
1395       The {text,bin}{In,Out}streamOf functions are supposed to create
1396       fresh streams whenever they are called -- as opposed to have them
1397       return the same stream every time.  This design is supposed to
1398       prevent space leaks caused by proc values hanging on to streams.
1399    
1400       The reap function, on the other hand, is supposed to close the
1401       streams.  This cannot be done without having a handle on the
1402       stream in proc after all...
1403    
1404    I took the liberty to implement the following stopgap solution:
1405    
1406      The proc value hangs on to the most recently created stream(s).
1407      Reap closes those.  If either or both of the two streams hadn't
1408      been created at all yet, then reap will close the corresponding
1409      file descriptors directly.
1410    
1411    PS: I don't understand the original space leak argument anymore.  If
1412    a proc hangs on to the imperative stream, then I/O operations on those
1413    will advance the state of the cached stream and avoid the space leak.
1414    
1415    ----------------------------------------------------------------------
1416    Name: Matthias Blume (blume (at) tti - c (dot) org)
1417    Date: 2004/05/28 16:45:00 CDT
1418    Tag: blume-20040528-basis
1419    Description:
1420    
1421    Added signature PACK_REAL and exported functor PrimIO.
1422    
1423    ----------------------------------------------------------------------
1424    Name: Matthias Blume (blume (at) tti - c (dot) org)
1425    Date: 2004/05/25 16:00:00 CDT
1426    Tag: blume-20040525-group-owner
1427    Description:
1428    
1429    CM now ignores (but still accepts) the "owner" information in group
1430    descriptions.  The owner of a group is its next enclosing
1431    library. Each group must have a unique owner.  (There is a virtual
1432    "toplevel" library that owns groups which are not nested within a real
1433    library.)  Previously, each group had to explicitly declare its owner,
1434    and CM would check that such a declaration is correct.  The new scheme
1435    is to have CM check that for each group there is precisely one owning
1436    library.
1437    
1438    The advantage of the new scheme is that the programmer no longer needs
1439    to maintain the somewhat annoying owner information.  The downside is
1440    that CM cannot enforce the ownership rule across multiple runs of
1441    CM.make.  Fortunately, enclosing the same group in two different
1442    libraries A and B which are not part of the same program does not
1443    cause real problems.
1444    
1445    ----------------------------------------------------------------------
1446    Name: Matthias Blume (blume (at) tti - c (dot) org)
1447    Date: 2004/05/20 16:00:00 CDT
1448    Tag: blume-20040520-win32
1449    Description:
1450    
1451    Made the win32 version work again.  (Strangely, a misplaced comma had
1452    slipped into win32-process.c which prevented the runtime from being
1453    compiled correctly.)
1454    
1455    Also, included a minor addition to ml-build.bat analogous to what was
1456    done in blume-20040519-ml-build.
1457    
1458    ----------------------------------------------------------------------
1459    Name: Matthias Blume (blume (at) tti - c (dot) org)
1460    Date: 2004/05/19 22:10:00 CDT
1461    Tag: blume-20040519-ml-build
1462    Description:
1463    
1464    Arranged for ml-build to clean up after itself a little bit better.
1465    The script generates a temporary SML source file and compiles it using
1466    CM, so CM generates metadata (GUID, SKEL, objectfile) for it.  It now
1467    gets rid of those at the end, so they don't accumulate under .cm.
1468    
1469    This required a minor change to install.sh because the name of the
1470    metadata directory (default: .cm) is actually configurable at
1471    installation time.
1472    
1473    ----------------------------------------------------------------------
1474    Name: Matthias Blume (blume (at) tti - c (dot) org)
1475    Date: 2004/05/18 15:50:00 CDT
1476    Tag: blume-20040518-mkreader
1477    Description:
1478    
1479    Added Posix.IO.mk{Bin,Text}{Reader,Writer} by lifting their respective
1480    implementations from internal modules PosixBinPrimIO and PosixTextPrimIO.
1481    
1482    ----------------------------------------------------------------------
1483    Name: Matthias Blume (blume (at) tti - c (dot) org)
1484    Date: 2004/05/11 14:35:00 CDT
1485    Tag: blume-20040511-win32sock
1486    Description:
1487    
1488    Added previously missing support for many socket-related functions
1489    under win32.  Thanks to David Hansel <hansel@reactive-systems.com>
1490    for the voluminous patch!
1491    
1492    (I have not tested this patch under win32 yet.)
1493    
1494    Here is David's e-mail:
1495    
1496    Hi,
1497    
1498    Attached to this email you find a diff against sml/nj 110.45
1499    that will enable socket support under Windows.
1500    
1501    To apply the patch (using unix or cygwin)
1502    1) gunzip runtime.diff.gz
1503    2) "cd" into "src/runtime" in the source tree of a fresh
1504       110.45 installation.
1505    3) patch -p 1 < [your/path/to]runtime.diff
1506    
1507    The code compiles fine but has NOT yet been extensively tested.
1508    I only ran a few tests for basic socket client functionality
1509    (which worked fine).  Especially the functions that use ioctl
1510    are not tested at all and might not work (see below).
1511    
1512    I implemented this since we want to move to a newer version of sml/nj
1513    but need socket support in order to use it.  This is the first time I
1514    even had a look at the sml/nj source,  so please review my changes
1515    before making this part of the distribution!  Here are a few issues
1516    that I think might be better for someone to solve who is more
1517    familiar with the sml/nj source (and socket programming):
1518    
1519    - getnetbyaddr.c and getnetbyname.c will raise a "not implemented"
1520      exception since I could not figure out what the windows equivalent
1521      of these functions is
1522    
1523    - In sockets-osdep.h there are a some #include statements that are
1524      only used in a few files that include sockets-osdep.h
1525    
1526    - In smlnj-sock-lib.c, function init_fn() calls WSAStartup() but
1527      does not process its return value since I don't know how to
1528      report an error upwards.
1529    
1530    - It would probably be good to have a call to WSACleanup() when
1531      the library is unloaded (if there is such a possibility).
1532      Otherwise I think Windows will take care of this automatically
1533      when the process finishes.
1534    
1535    - I used ioctlsocket() as a replacement for ioctl() but I have
1536      no idea if that is actually the proper replacement on Windows.
1537    
1538    - All these issues are marked in the code by "FIXME" comments.
1539    
1540    We use sml/nj extensively in our products and are quite happy
1541    with it.  I hope this contribution will help you.
1542    
1543    Keep up the good work!
1544    
1545    David
1546    
1547    ----------------------------------------------------------------------
1548    Name: Matthias Blume (blume (at) tti - c (dot) org)
1549    Date: 2004/05/11 14:20:00 CDT
1550    Tag: blume-20040511-installml
1551    Description:
1552    
1553    Fixed two bugs in installml script.  (Thanks to Vesa A. Norrman for
1554    the patch.)
1555    
1556    ----------------------------------------------------------------------
1557    Name: Matthias Blume (blume (at) tti - c (dot) org)
1558    Date: 2004/05/11 14:05:00 CDT
1559    Tag: blume-20040511-nlffi-netbsd
1560    Description:
1561    
1562    Added support for nlffi under netbsd.  (Thanks to Vesa A. Norrman for
1563    the patch.)
1564    
1565    ----------------------------------------------------------------------
1566    Name: Matthias Blume (blume (at) tti - c (dot) org)
1567    Date: 2004/05/11 12:05:00 CDT
1568    Tag: blume-20040511-exports
1569    Description:
1570    
1571    As per request by Adam Chlipala <adam@hcoop.net>, extended various
1572    export lists in compiler-related .cm-files.
1573    
1574    ----------------------------------------------------------------------
1575    Name: Matthias Blume (blume (at) tti - c (dot) org)
1576    Date: 2004/05/11 11:35:00 CDT
1577    Tag: blume-20040511-allsource
1578    Description:
1579    
1580    The installer now honors the "src-smlnj" target again, although its meaning
1581    has changed from "all sources required for the compiler" to "all sources
1582    the installer knows about".  In other words, if you enable "src-smlnj"
1583    in the "targets" file, then the installer will pull in sources for
1584    everything.  (Notice that this refers to source code only.  Compiled
1585    code is still only installed for modules that were requested explicitly
1586    or which are required for other modules that were requested explicitly.)
1587    
1588    ----------------------------------------------------------------------
1589    Name: Matthias Blume (blume (at) tti - c (dot) org)
1590    Date: 2004/04/23 17:40:00 CDT
1591    Tag: blume-20040423-ieee-scan
1592    Description:
1593    
1594    Fixed IEEEReal.scan (and .fromString) so that if there is an overflow
1595    in the exponent calculation we get INF or ZERO (depending on the mantissa
1596    and the sign of the exponent).
1597    
1598    ----------------------------------------------------------------------
1599    Name: Matthias Blume (blume (at) tti - c (dot) org)
1600    Date: 2004/04/23 10:40:00 CDT
1601    Tag: blume-20040423-ml-build
1602    Description:
1603    
1604    The ml-build script now terminates with a non-0 status when something
1605    goes wrong.
1606    
1607    ----------------------------------------------------------------------
1608    Name: Matthias Blume (blume (at) tti - c (dot) org)
1609    Date: 2004/04/22 16:35:00 CDT
1610    Tag: blume-20040422-Option
1611    Description:
1612    
1613    Made exception Option to be the same as exception Option.Option
1614    (as it should be).
1615    
1616    ----------------------------------------------------------------------
1617    Name: Allen Leung (leunga (at) reservoir (dot) com)
1618    Date: 2004/03/19 14:40:00 EST
1619    Tag: leunga-20040319-cygwin-nlffi
1620    Description:
1621    
1622    Fixed the runtime so that ml-nlffi-lib runs on the cygwin version
1623    of SML/NJ.  The problem is that
1624    
1625       lib = dlopen(NULL, ...)
1626       f   = dlsym(lib, "malloc");
1627    
1628    does not work on Windows unless we explicitly export symbols
1629    such as 'malloc' during linking.  We fixed this by explicitly
1630    exporting the required symbols with the magic gcc incantation:
1631    
1632        -Wl,--export-all cygwin.def
1633    
1634    where cygwin.def is a file containing all the symbols that
1635    we wish to export.
1636    
1637    I suspect this is a Windows problem and we'll have to
1638    do the same (somehow with windows compilers) when
1639    we build the native win32 version with the system
1640    calls LoadLibrary/GetProcAddress.
1641    
1642    ----------------------------------------------------------------------
1643    Name: Matthias Blume (blume (at) tti - c (dot) org)
1644    Date: 2004/03/04 16:35:00 CST
1645    Tag: blume-20040304-intinf-fmt
1646    Description:
1647    
1648    Fixed problem with IntInf.fmt (sign would show up on the right instead
1649    of on the left for BIN, OCT, and HEX).
1650    
1651    ----------------------------------------------------------------------
1652    Name: Matthias Blume (blume (at) tti - c (dot) org)
1653    Date: 2004/03/04 11:25:00 CST
1654    Tag: blume-20040304-symlinks
1655    Description:
1656    
1657    Fixed problem with installer script (unix only) where bin/ml-yacc and
1658    friends pointed (via symlinks) to absolute locations instead of just
1659    .run-sml.  This was reported by Vesa A Norrman.
1660    
1661    ----------------------------------------------------------------------
1662    Name: Matthias Blume (blume (at) tti - c (dot) org)
1663    Date: 2004/02/13 14:50:00 CST
1664    Tag: Release_110_45
1665    Description:
1666    
1667    New working version (110.45). New bootfiles.
1668    
1669    ----------------------------------------------------------------------
1670    Name: Matthias Blume (blume (at) tti - c (dot) org)
1671    Date: 2004/01/26 15:15:15 CST
1672    Tag: blume-20040126-toplevel
1673    Description:
1674    
1675    Improved handling of exceptions at the interactive toplevel.
1676    
1677    ----------------------------------------------------------------------
1678    Name: Matthias Blume (blume (at) tti - c (dot) org)
1679    Date: 2004/01/26 11:25:00
1680    Tag: blume-20040126-app
1681    Description:
1682    
1683    Type of top-level "app" corrected.
1684    Added code for setting vp_limitPtrMask to Win32-specific runtime.
1685    
1686    ----------------------------------------------------------------------
1687    Name: Matthias Blume (blume (at) tti - c (dot) org)
1688    Date: 2003/11/18 17:10 CST
1689    Tag: blume-20031118-basis-fiddle
1690    Description:
1691    
1692    - changed Timer interface to what might become the spec
1693    - POSIX_FLAGS -> BIT_FLAGS according to spec
1694    - some other minor discrepancies wrt. spec eliminated
1695    
1696    ----------------------------------------------------------------------
1697    Name: Matthias Blume (blume (at) tti - c (dot) org)
1698    Date: 2003/11/06 12:00:00 CST
1699    Tag: Release_110_44
1700    Description:
1701    
1702    New working version (110.44). New bootfiles.
1703    
1704    ----------------------------------------------------------------------
1705    Name: Matthias Blume (blume (at) tti - c (dot) org)
1706    Date: 2003/11/04 11:50:00 CST
1707    Tag: blume-20031104-move-libraries
1708    Description:
1709    
1710    Eliminated the "dont_move_libraries" directive in config/targets.
1711    (The mechanism was broken and could not be fixed easily.  Moreover,
1712    there does not seem to be any reason not to move all libraries into
1713    lib during installation.  I originally implemented this directive as a
1714    backward-compatibility feature when I first introduced the new CM.
1715    Now that things have been stable for a long time and going back to the
1716    old CM is not an option, there is no reason to keep it around.)
1717    
1718    ----------------------------------------------------------------------
1719    Name: Matthias Blume (blume (at) tti - c (dot) org)
1720    Date: 2003/11/03 16:00:00 CST
1721    Tag: blume-20031103-installdir
1722    Description:
1723    
1724    Made installer honor INSTALLDIR variable again.  (Thanks to Chris
1725    Richards for pointing out the problem and providing the solution.)
1726    
1727    ----------------------------------------------------------------------
1728    Name: Matthias Blume (blume (at) tti - c (dot) org)
1729    Date: 2003/10/01 17:05:00 CDT
1730    Tag: blume-20031001-lal-mlrisc
1731    Description:
1732    
1733    MLRISC bug fix from Lal.
1734    
1735    ----------------------------------------------------------------------
1736    Name: Matthias Blume (blume (at) tti - c (dot) org)
1737    Date: 2003/09/30 16:10:00 CDT
1738    Tag: blume-20030930-primio-bat
1739    Description:
1740    
1741    1. Added openVector, nullRd, and nullWr to PRIM_IO.
1742    2. Improved .bat files (for Win32 port) to make things work under Win95.
1743       (thanks to Aaron S. Hawley for this one)
1744    
1745    ----------------------------------------------------------------------
1746    Name: Matthias Blume (blume (at) tti - c (dot) org)
1747    Date: 2003/09/26 16:05:00 CDT
1748    Tag: blume-20030926-wrappriv
1749    Description:
1750    
1751    Added missing wrapper for privilege "primitive" in $smlnj/viscomp/core.cm.
1752    
1753    ----------------------------------------------------------------------
1754    Name: Matthias Blume (blume (at) tti - c (dot) org)
1755    Date: 2003/09/26 15:00:00 CDT
1756    Tag: blume-20030926-110_43_3
1757    Description:
1758    
1759    - additional cleanup
1760    - version number bump, NEW BOOTFILES
1761    
1762    ----------------------------------------------------------------------
1763    Name: Matthias Blume (blume (at) tti - c (dot) org)
1764    Date: 2003/09/26 12:00:00 CDT
1765    Tag: blume-20030926-ppautoload
1766    Description:
1767    
1768    I modified the read-eval-print loop so that the autoloader gets
1769    invoked whenever the prettyprinter tries to look up a symbol that
1770    is not currently defined in the toplevel environment but which
1771    appears in CM's autoload registry.  As a result, we see far fewer of
1772    those ?.Foo.Bar.xxx names in the prettyprinter's output.
1773    
1774    In addition to this I tried to clean up some pieces of the Basis
1775    implementation (e.g., Socket, Word8Array) in order to prevent other
1776    instances of these ?.Foo.Bar.xxx names from being printed.
1777    
1778    The mechanism that picks names for types still needs some work, though.
1779    (Right now it seems that if there is a type A.t which is defined to
1780    be B.u, but B is unavailable at toplevel, then A.t gets printed as
1781    "?.B.u" although the perhaps more sensible solution would be to use
1782    "A.t" in this case.  In other words, the prettyprinter should follow
1783    a chain of DEFtycs not farther than there are corresponding toplevel
1784    names in the current environment.)
1785    
1786    ----------------------------------------------------------------------
1787    Name: Matthias Blume (blume (at) tti - c (dot) org)
1788    Date: 2003/09/24 16:31:00 CDT
1789    Tag: blume-20030924-installer
1790    Description:
1791    
1792    Another installer tweak:  All the ML code for the installer is now
1793    compiled during CMB.make and put into a little library called
1794    $smlnj/installer.cm.  The installation then simply invokes
1795    
1796       sml -m $smlnj/installer.cm
1797    
1798    and everything happens automagically.
1799    
1800    Win32:  ML code senses value of environment variable SMLNJ_HOME.
1801    Unix:   ML code senses values of environment variables ROOT, CONFIGDIR,
1802            and BINDIR.
1803    
1804    The new scheme guarantees that the ML code responsible for the installation
1805    is in sync with the APIs of the main system.  Also, the installer is
1806    somewhat faster because the installer script is precompiled.
1807    
1808    ----------------------------------------------------------------------
1809    Name: Matthias Blume (blume (at) tti - c (dot) org)
1810    Date: 2003/09/24 15:35:00 CDT
1811    Tag: blume-20030924-synsock
1812    Description:
1813    
1814    Added a signature SYNCHRONOUS_SOCKET to basis.cm.  This is like SOCKET
1815    but excludes all non-blocking operations.  Defined SOCKET (in Basis)
1816    and CML_SOCKET in terms of SYNCHRONOUS_SOCKET.  Removed superfluous
1817    implementations of non-blocking operations from CML's Socket
1818    structure.
1819    
1820    ----------------------------------------------------------------------
1821    Name: Matthias Blume (blume (at) tti - c (dot) org)
1822    Date: 2003/09/24 15:10:05 CDT
1823    Tag: blume-20030924-sockets
1824    Description:
1825    
1826    1. Fixed SOCKET API and implementation to match Basis spec.
1827       This required changing the internal representation of sockets to one
1828       that remembers (for each socket file descriptor) whether it is currently
1829       blocking or non-blocking.  This state is maintained lazily (i.e., a system
1830       call is made only if the state actually needs to change).
1831    
1832    2. OS-specific details of sockets were moved into separate files, thus
1833       making it possible to unify the bulk of the socket implementations
1834       between Unix and Win32.
1835    
1836    3. CML's socket API changed accordingly.
1837       (Note that we need to remove non-blocking functions from this API
1838       since they are redundant in the case of CML!)
1839    
1840    4. CML's socket implementation now makes use of non-blocking functions
1841       provided by Basis, thus removing all OS-dependent code from this part
1842       of CML.
1843    
1844    5. Changed Real64.precision from 52 to 53.  Minor cleanup in Real64 code.
1845    
1846    ----------------------------------------------------------------------
1847    Name: Matthias Blume (blume (at) tti - c (dot) org)
1848    Date: 2003/09/22 12:10:00 CDT
1849    Tag: blume-20030922-110_43_2
1850    Description:
1851    
1852    Made a new interim version and bootfiles for developer's bootstrapping
1853    convenience.
1854    
1855       110.43.2 -- NEW BOOTFILES
1856    
1857    ----------------------------------------------------------------------
1858    Name: Matthias Blume (blume (at) tti - c (dot) org)
1859    Date: 2003/09/19 15:55:00 CDT
1860    Tag: blume-20030919-cmdir
1861    Description:
1862    
1863    1. new-install.sh -> install.sh
1864    2. changed default CM "metadata" directory name to ".cm" (instead of "CM")
1865    3. tweaked installer so that another name instead of .cm can be chosen
1866       at install time (by setting the CM_DIR_ARC environment variable
1867       during installation); once installation is complete, the name is
1868       fixed
1869    
1870    ----------------------------------------------------------------------
1871    Name: Matthias Blume (blume (at) tti - c (dot) org)
1872    Date: 2003/09/18 16:00:00 CDT
1873    Tag: blume-20030918-110_43_1
1874    Description:
1875    
1876    Made a new interim version and bootfiles for developer's bootstrapping
1877    convenience.
1878    
1879       110.43.1 -- NEW BOOTFILES
1880    
1881    ----------------------------------------------------------------------
1882    Name: Matthias Blume (blume (at) tti - c (dot) org)
1883    Date: 2003/09/18 15:20:00 CDT
1884    Tag: blume-20030918-misc
1885    Description:
1886    
1887    1. Exported fractionsPerSecond etc. from TimeImp (but not from Time as
1888       this seems to be controversial at the moment) and used those in
1889       Posix.ProcEnv.times.
1890    
1891    2. Added Time.{from,to}Nanoseconds to Time.
1892    
1893    3. Improved Real.{from,to}LargeInt by avoiding needless calculations.
1894       For example, fromLargeInt never needs to look at more than 3 "big
1895       digits" to get its 53 bits of precision.
1896    
1897    ----------------------------------------------------------------------
1898    Name: Matthias Blume (blume (at) tti - c (dot) org)
1899    Date: 2003/09/17 16:30:00 CDT
1900    Tag: blume-20030917-real32-slices
1901    Description:
1902    
1903    Added an entry to the primitive environment
1904    (compiler/Semant/statenv/prim.sml) for int32->real64 conversion and
1905    added code to compiler/CodeGen/main/mlriscGen.sml to implement it.
1906    
1907    Removed some of the "magic" constants in real64.sml and replaced them
1908    with code that generates these values from their corresponding
1909    integer counterparts.
1910    
1911    Made all(?) the slice-related changes to the Basis and made everything
1912    compile again...
1913    
1914    ----------------------------------------------------------------------
1915    Name: Matthias Blume (blume (at) tti - c (dot) org)
1916    Date: 2003/09/15 17:45:00 CDT
1917    Tag: blume-20030915-rbase
1918    Description:
1919    
1920    Fixed bug in Real.fromLargeInt.
1921    
1922    ----------------------------------------------------------------------
1923    Name: Matthias Blume (blume (at) tti - c (dot) org)
1924    Date: 2003/09/13 18:11:00 CDT
1925    Tag: blume-20030913-libinstall
1926    Description:
1927    
1928    Minor bugfix in config/libinstall (set anchor with path to
1929    standalone tool after installing it, otherwise libraries that
1930    need ml-lex or ml-yacc won't compile the first time the installer
1931    runs).
1932    
1933    ----------------------------------------------------------------------
1934    Name: Matthias Blume (blume (at) tti - c (dot) org)
1935    Date: 2003/09/12 11:45:00 CDT
1936    Tag: blume-20030912-various
1937    Description:
1938    
1939     - fixed bug in Real.toLargeInt
1940     - fixed bug in Posix.ProcEnv.times
1941     - changed inputLine functions to return an option
1942     - minor installer improvements / bugfixes
1943     - changed default @SMLalloc parameter for x86/celeron to 64k
1944    
1945    ----------------------------------------------------------------------
1946    Name: Matthias Blume (blume (at) tti - c (dot) org)
1947    Date: 2003/09/09 22:00:00 CDT
1948    Tag: Release_110_43
1949    Description:
1950    
1951        New working release 110.43.  New bootfiles.
1952    
1953    ----------------------------------------------------------------------
1954    Name: Matthias Blume (blume (at) tti - c (dot) org)
1955    Date: 2003/09/09 19:20:00 CDT
1956    Tag: blume-20030909-installer
1957    Description:
1958    
1959    Rewrote large parts of config/install.sh in SML (config/libinstall.sml).
1960    Modified config/install.bat to take advantage of it.  Also modified
1961    config/install.sh (and called it config/new-install.sh) to take advantage
1962    of it on Unix systems.  (The SML code is (supposed to be) platform-
1963    independent.)
1964    
1965    The installer can now install everything under Win32
1966    as well as under *nix as long as it compiles.
1967    
1968    Other changes:
1969    
1970      - made CML compile again under Win32
1971      - made eXene compile under Win32 (by providing a fake structure UnixSock
1972        and by using OS.Process.getEnv instead of Posix.ProcEnv.getenv)
1973      - fixed a bug in nowhere: it assumed that type OS.Process.status is the
1974        same as type int;  under Win32 it isn't
1975      - fixed some slice-related problems in the win32-specific parts of CML
1976      - added a functor argument "sameVol" to os-path-fn.sml in the Basis
1977        (under Win32, the volume name is case-insensitive, and the
1978        OS.Path code compares volume names for equality)
1979    
1980    ----------------------------------------------------------------------
1981    Name: Matthias Blume (blume (at) tti - c (dot) org)
1982    Date: 2003/09/08 11:55:00 CDT
1983    Tag: blume-20030908-fullpath
1984    Description:
1985    
1986    Made Win32 version of OS.FileSys.fullPath return current directory
1987    when given an empty string.  This is what the spec says, and incidentally,
1988    CM depends on it.  (CM otherwise goes into an infinite loop in certain
1989    cases when presented with the name of a non-existing .cm file.)
1990    
1991    ----------------------------------------------------------------------
1992    Name: Matthias Blume (blume (at) tti - c (dot) org)
1993    Date: 2003/09/04 16:30:00 CDT
1994    Tag: blume-20030905-slices-etc
1995    Description:
1996    
1997      1. Changed interface to vectors and arrays in Basis to match
1998         (draft) Basis spec.
1999      2. Added signatures and implementations of slices according to
2000         Basis spec.
2001      3. Edited source code throughout the system to make it compile again
2002         under 1. and 2.  (In some cases code had to be added to have it
2003         match the new signatures.)
2004      4. MLRISC should be backward-compatible: the copies of the originals
2005         of files that needed to change under 3. were retained, the .cm files
2006         check the compiler version number and use old versions when
2007         appropriate.
2008      5. Changed type of OS.FileSys.readDir and Posix.FileSys.readdir to
2009         dirstream -> string option (in accordance with Basis spec).
2010      6. When generating code that counts lines, ml-lex used function
2011         CharVector.foldli, taking advantage of its old interface.
2012         This has been replaced with the corresponding code from
2013         CharVectorSlice.  (html-lex must be re-lexed!)
2014      7. BitArray in smlnj-lib/Util has been extended/modified to match the
2015         new MONO_ARRAY signature.  (Do we need BitArraySlice?)
2016      8. Removed temporary additions (fromInternal, toInternal) from the
2017         (now obsolete) IntInf in smlnj-lib/Util.
2018      9. Cleaned up structure Byte.
2019     10. Added localOffset, scan, and fromString to Date (according to spec).
2020         Cleaned/corrected implementation of Date.
2021         (Still need to check for correctness; implement better canonicalizeDate.)
2022     11. Added "scan" to signature IEEE_REAL.
2023     12. Some improvements to IntInf [in particular: efficiency-hack for
2024         mod and rem when second operand is 2 (for parity checks).]
2025     13. Changed representation of type Time.time, using a single IntInf.int
2026         value counting microseconds.  This considerably simplified the
2027         implementation of structure Time.  We now support negative time
2028         values; scan and fromString handle signs.
2029     14. Functor PrimIO now takes two additional arguments (VectorSlice and
2030         ArraySlice).
2031    
2032    ----------------------------------------------------------------------
2033    Name: Matthias Blume (blume (at) tti - c (dot) org)
2034    Date: 2003/08/28 17:00:00 CDT
2035    Tag: blume-20030828-intinf
2036    Description:
2037    
2038    This is a major update which comes with a version number bump
2039    (110.42.99 -- yes, we are really close to 110.43 :-), NEW BOOTFILES,
2040    and an implementation of IntInf in the Basis.
2041    
2042    There are a fairly large number of related changes and updates throughout
2043    the system:
2044    
2045    Basis:
2046            - Implemented IntInf.
2047            - Made LargeInt a projection of IntInf (by filtering through INTEGER).
2048            - Added some missing Real64 operations, most notably Real.toLargeInt.
2049            - Added FixedInt as a synonym for Int32.
2050    
2051    compiler:
2052            * Added support for a built-in intinf type.
2053              - literals
2054              - pattern matching
2055              - conversion shortcuts (Int32.fromLarge o Int.toLarge etc.)
2056              - overloading on literals and operations
2057    
2058            This required adding a primitive type intinf, some additional
2059            primops, and implementations for several non-trivial intinf
2060            operations in Core.  (The intinf type is completely abstract
2061            to the compiler; all operations get delegated back to the Core.)
2062    
2063            * Intinf equality is handled by polyequal.  However, the compiler
2064            does not print its usual warning in this case (since polyequal
2065            is the right thing to do there).
2066    
2067            * Improved the organization of structure InlineT.
2068    
2069            * A word about conversion primops:
2070            If conversions involving intinf do not cancel out during
2071            CPS contract, then the compiler must insert calls to Core functions.
2072            Since all core access must be resolved already during the FLINT
2073            translate phase, it would be too late a the time of CPS contract
2074            to add new Core calls.  For this reason, conversion primops
2075            for intinf carry two arguments:  1. the numeric argument that
2076            they are supposed to convert, and 2. the Core function that
2077            can help with this conversion if necessary.  If CPS contract
2078            eliminates a primop, then the associated Core function becomes
2079            dead and goes away.  Intinf conversion primops that do not get
2080            eliminated by CPS contract get rewritten into calls of their
2081            core functions by a separate, new phase.
2082    
2083    interactive system:
2084            - Control.Print.intinfDepth controls max length of intinf constants
2085            being printed. (Analogous to Control.Print.stringDepth.)
2086            - Cleanup in printutil and pputil: got rid of unused stuff and
2087            duplicates; replaced some of the code with code that makes better
2088            use of library functionality.
2089    
2090    CM:
2091            Bugfix: parse-errors in init group (system/smlnj/init/init.cmi)
2092            are no longer silent.
2093    
2094    CKIT:
2095            Fixed mismatched uses of Int32 and LargeInt.  I always decided
2096            in favor of LargeInt -- which is now the same as IntInf.
2097            CKIT-knowledgable people should check whether this is what's
2098            intended and otherwise change things back to using Int32 or
2099            FixedInt.
2100    
2101    Throughout the code:
2102            Started using IntInf.int literals and built-in operations
2103            (e.g., comparison with 0) where this seems appropriate.
2104    
2105    
2106    ----------------------------------------------------------------------
2107    Name: Dave MacQueen (dbm@cs.uchicago.edu)
2108    Date: 2003/08/13 11:36:00 CDT
2109    Tag: dbm-20030813-mcz-merge1
2110    Description:
2111    
2112    Merging changes from the mcz-branch development branch into trunk.
2113    These changes involve replacement of the emulated old prettyprinter
2114    interface with direct use of the SML/NJ Lib PP library, and fixing
2115    of a couple of bugs (895, 1186) relating to error messages.  A new
2116    prettyprinter for ast datatypes (Elaborator/print/ppast.{sig,sml})
2117    has been added.
2118    
2119    ----------------------------------------------------------------------
2120    Name: Matthias Blume (blume (at) tti - c (dot) org)
2121    Date: 2003/08/11 15:45:00 CDT
2122    Tag: blume-20030811-windows
2123    Description:
2124    
2125    Version number bumped to 110.42.9.  NEW BOOTFILES!!!
2126    
2127        http://smlnj.cs.uchicago.edu/dist/working/110.42.9/
2128    
2129    This patch restores SML/NJ's ability to run under win32.  There are a
2130    number of changes, including fixes for several bugs that had gone
2131    unnoticed until now:
2132    
2133      - uname "CYGWIN_NT*" is recognized as win32 (This is relevant only when
2134        trying to run the win32 version from within cygwin.)
2135    
2136      - There are a number of simple .bat scripts that substitute for their
2137        corresponding Unix shell-scripts.  (See below.)
2138    
2139      - The internals of ml-build have been modified slightly.  The main
2140        difference is that instead of calling ".link-sml" (or link-sml.bat)
2141        using OS.Process.system, the ML process delegates this task back
2142        to the script.  Otherwise problems arise in mixed environments such
2143        as Cygwin where scripts look and work like Unix scripts, but
2144        where OS.Process.system cannot run them.
2145    
2146      - In CM, the srcpath pickler used native pathname syntax -- which
2147        is incorrect in the case of cross-compilation.  The new pickle format
2148        is independent of platform-specific naming conventions.
2149    
2150      - Path configuration files (such as lib/pathconfig) can now choose
2151        between native and standard syntax.  Placing a line of the form
2152    
2153            standard!
2154    
2155        into the file causes all subsequent paths to be interpreted using
2156        CM standard pathname syntax (= Unix conventions); a line
2157    
2158            native!
2159    
2160        switches back to native style.  This was needed so that
2161        path config files can be written portably, see src/system/pathconfig.
2162    
2163      - Runtime system:
2164    
2165          - win32-filesys.c:  get_file_time and set_file_time now
2166            access modification time, not creation time.
2167    
2168          - I/O code made aware of new array representation.
2169    
2170          - Bug fixes in X86.prim.masm.
2171    
2172       - src/system/makeml made aware of win32. (For use under cygwin
2173            and other Unix-environments for windows.)
2174    
2175       - In Basis, fixed off-by-one error in win32-io.sml (function vecF)
2176         which caused BinIO.inputAll to fail consistently.
2177    
2178    .bat scripts:
2179    
2180       Windows .bat scripts assume that SMLNJ_HOME is defined.
2181    
2182       - sml.bat, ml-yacc.bat, ml-lex.bat:  Driver scripts for standalone
2183         applications (sml, ml-yacc, ml-lex).
2184       - ml-build.bat: analogous to ml-build.
2185       - config\install.bat:  Analogous to config/install.sh.  This requires
2186         that SMLNJ_HOME is set and that Microsoft Visual C is ready to use.
2187         (nmake etc. must be on the path, and vcvars32 must have been run.)
2188         Moreover, sources for ml-lex and ml-yacc need to exist under src,
2189         and the bootfile hierarchy must have been unpacked under
2190         sml.boot.x86-win32.
2191         The script is very primitive and does a poor job at error checking.
2192         It only installs the base system, ml-lex, and ml-yacc.  No other
2193         libraries are being installed (i.e., you get only those that
2194         are part of the compiler.)
2195       - link-sml.bat:  analogous to .link-sml, but not currently used
2196    
2197    Unrelated bug fixes:
2198    
2199      - ml-nlffigen now exports structures ST_* corresponding to incomplete
2200        types.
2201      - Added getDevice to PP/src/pp-debug-fn.sml.  (Would not compile
2202        otherwise.)
2203    
2204    ----------------------------------------------------------------------
2205    Name: Dave MacQueen (macqueen@cs.uchicago.edu)
2206    Date: 2003/06/17
2207    Tag: macqueen-20030617-bug895
2208    Description:
2209    
2210    Modified compiler/Elaborator/print/pptype.sml to fix bug 895.
2211    Tag will be used for new development branch (mcz-branch) for
2212    use by MacQueen, (Lucasz) Zairek, and (George) Cao at uchicago.
2213    
2214    ----------------------------------------------------------------------
2215    Name: Matthias Blume (blume (at) tti - c (dot) org)
2216    Date: 2003/05/27 16:55:00 CDT
2217    Tag: blume-20030527-polyeq
2218    Description:
2219    
2220    Tried to eliminated most cases of polymorphic equality.
2221    
2222    ----------------------------------------------------------------------
2223    Name: Matthias Blume (blume (at) tti - c (dot) org)
2224    Date: 2003/05/21 17:45:00 CDT
2225    Tag: blume-20030517-complete
2226    Description:
2227    
2228    Two changes:
2229    
2230      1. Added a flag for controlling whether non-exhaustive bindings will
2231         be treated as errors (default is false).
2232      2. Cleaned up the *entire* source tree so that CMB.make goes through
2233         without a single non-exhaustive match- or bind warning.
2234    
2235    ----------------------------------------------------------------------
2236    Name: Matthias Blume (blume (at) tti - c (dot) org)
2237    Date: 2003/05/17 10:20:00 CDT
2238    Tag: blume-20030517-absyn
2239    Description:
2240    
2241    1. Added cases for IF, WHILE, ANDALSO, and ORELSE to Absyn.
2242    
2243       This mainly affects the quality of error messages.  However, some
2244       of the code is now more straightforward than before. (Treatment of
2245       the above four constructs in translate.sml is much simpler than
2246       the "macro-expansion" that was going on before.  Plus, the mach-
2247       compiler no longer gets invoked just to be able to compile an
2248       if-expression.)
2249    
2250    2. The ErrorMsg.Error exception is now caught and absorbed by the
2251       interactive loop.
2252    
2253    ----------------------------------------------------------------------
2254    Name: Allen Leung
2255    Date: 2003/05/16 13:05:00 CDT
2256    Tag: leunga-20030516-cygwin-runtime
2257    Description:
2258    
2259        Ported the runtime system to cygwin, which uses the unix
2260    x86-unix bin files.  Missing/buggy features:
2261    
2262       o getnetbyname, getnetbyaddr: these functions seem to be missing in
2263         the Cygwin library.
2264       o Ctrl-C handling may be flaky.
2265       o Windows system calls and Windows I/O are not supported.
2266    
2267       A new set of binfiles is located at:
2268    
2269         http://www.dorsai.org/~leunga/boot.x86-unix.tgz
2270    
2271       This is only needed for bootstrapping the cygwin version of smlnj.
2272       Other x86 versions can use the existing binfiles.
2273    
2274    ----------------------------------------------------------------------
2275    Name: Matthias Blume
2276    Date: 2003/04/08 15:42:00 CDT
2277    Tag: blume-20030408-listpair
2278    Description:
2279    
2280    1. Added a target 'mlrisc' to installer.
2281    
2282    2. Added missing elements to structure ListPair.
2283    
2284    ----------------------------------------------------------------------
2285    Name: Allen Leung
2286    Date: 2003/01/07 10:40:00 EST
2287    Tag: leunga-20030107-int-rem
2288    Description:
2289    
2290    Fixed a bug in Int.rem(x,y) where y is a power of 2 on x86.
2291    The arguments to the SUBL instruction were swapped.
2292    
2293    ----------------------------------------------------------------------
2294    Name: Matthias Blume
2295    Date: 2002/12/12 16:25:00 EST
2296    Tag: blume-20021212-risc-ra
2297    Description:
2298    
2299    Fixed a serious bug in the rewrite code for FP spilling/reloading that
2300    sent the RA into an infinite loop when floating point registers get
2301    spilled.  (Because of this bug, e.g., nucleic stopped compiling between
2302    110.37 and 110.38.)
2303    There was another set of potential problems related to the handling of
2304    MLRISC annotations (but those did not yet cause real problems, apparently).
2305    
2306    ----------------------------------------------------------------------
2307    Name: Matthias Blume
2308    Date: 2002/12/06 22:40:00 EST
2309    Tag: blume-20021206-cm-fileid
2310    Description:
2311    
2312    Added a call of SrcPath.sync at the beginning of Parse.parse (in CM).
2313    This fixes the problem of CM getting confused by files that suddenly
2314    change their identity (e.g., by getting unlinked and recreated by some
2315    text editor such as vi).  There might be a better/cheaper/cleaner way
2316    of doing this, but for now this will have to do.
2317    
2318    ----------------------------------------------------------------------
2319    Name: Matthias Blume
2320    Date: 2002/10/28 09:50:00 EST
2321    Tag: blume-20021028-typecheck
2322    Description:
2323    
2324    Exported structure Typecheck from $smlnj/viscomp/core.cm.
2325    
2326    ----------------------------------------------------------------------
2327    Name: Matthias Blume
2328    Date: 2002/10/17 09:10:00 EDT
2329    Tag: Release_110_42
2330    Description:
2331    
2332    In good old tradition, there has been a slight hiccup so that we have
2333    to patch 110.42 after the fact.   The old release tag has been replaced
2334    (see below).
2335    
2336    The change solves a problem with two competing approaches the
2337    configuration problem regarding MacOS 10.1 vs. MacOS 10.2 which got in
2338    each other's way.
2339    
2340    This change only affects the runtime system code and the installer script.
2341    (No new bootfiles.)
2342    
2343    ----------------------------------------------------------------------
2344    Name: Matthias Blume
2345    Date: 2002/10/16 12:00:00 EDT
2346    Tag: Release_110_42_removed
2347    Description:
2348    
2349    New working release.  New bootfiles.
2350    
2351    ----------------------------------------------------------------------
2352    Name: Matthias Blume
2353    Date: 2002/10/10 13:10:00 EDT
2354    Tag: blume-20021010-ppc-divs
2355    Description:
2356    
2357    The mltree operator DIVS must be implemented with an overflow check on
2358    the PPC because the hardware indicates divide-by-zero using "overflow" as
2359    well.
2360    
2361    ----------------------------------------------------------------------
2362    Name: Matthias Blume
2363    Date: 2002/07/23 11:45:00
2364    Tag: blume-20020723-smlnj-home
2365    Description:
2366    
2367    Sml now senses the SMLNJ_HOME environment variable.  If this is set,
2368    then the bin dir is assumed to be in $SMLNJ_HOME/bin and (unless
2369    CM_PATHCONFIG is also set), the path configuration file is assumed
2370    to be in $SMLNJ_HOME/lib/pathconfig.  This way one can easily move
2371    the entire tree to some other place and everything will "just work".
2372    
2373    (Companion commands such as ml-build and ml-makedepend also sense this
2374    variable.)
2375    
2376    ----------------------------------------------------------------------
2377    Name: Matthias Blume
2378    Date: 2002/07/12 21:19:00 EDT
2379    Tag: blume-20020712-liveness
2380    Description:
2381    
2382    Exported two useful "step" functions from liveness module (MLRISC).
2383    
2384    ----------------------------------------------------------------------
2385    Name: Matthias Blume
2386    Date: 2002/07/05 16:00 EDT
2387    Tag: Release_110_41
2388    Description:
2389    
2390    New working release.  New bootfiles.
2391    
2392    ----------------------------------------------------------------------
2393    Name: Matthias Blume
2394    Date: 2002/07/05 10:25:00 EDT
2395    Tag: blume-20020705-btimp
2396    Description:
2397    
2398    Exported structure BTImp from $smlnj/viscomp/debugprof.cm so that
2399    other clients can set up backtracing support.
2400    
2401    ----------------------------------------------------------------------
2402    Name: Matthias Blume
2403    Date: 2002/06/25 17:23:00 EDT
2404    Tag: blume-20020625-fpmax
2405    Description:
2406    
2407    Fixed a bug in translation of INLMAX (and INLMIN) for the floating-point
2408    case.  (The sense of the isNaN test was reversed -- which made min and
2409    max always return their first argument.)
2410    
2411    ----------------------------------------------------------------------
2412    Name: Matthias Blume
2413    Date: 2002/06/11
2414    Tag: blume-20020611-unixpath
2415    Description:
2416    
2417    Back-ported OS.Path.{from,to}UnixPath from idlbasis-devel branch.
2418    
2419    ----------------------------------------------------------------------
2420    Name: Matthias Blume
2421    Date: 2002/06/10 16:35:00 EDT
2422    Tag: blume-20020610-ieeereal
2423    Description:
2424    
2425    I back-ported my implementation of IEEEReal.fromString from the
2426    idlbasis-devel branch so that we can test it.
2427    
2428    Another small change is that ppDec tries to give more information
2429    than just "<sig>" in the case of functors.  However, this code is
2430    broken in some mysterious way if the functor's body's signature
2431    has not been declared by ascription but gets inferred from the
2432    implementation.  This needs fixing...
2433    
2434    ----------------------------------------------------------------------
2435    Name: Matthias Blume
2436    Date: 2002/05/31
2437    Tag: blume-20020531-btrace-mode
2438    Description:
2439    
2440    Resurrected SMLofNJ.Internals.BTrace.mode.  (It accidentally fell by
2441    the wayside when I switched over to using Controls everywhere.)
2442    
2443    ----------------------------------------------------------------------
2444    Name: Lal George
2445    Date: 2002/05/23 12:21:40 EDT
2446    Tag: george-20020523-visual-labels
2447    Description:
2448    
2449    Labels are now displayed in the graphical output to make
2450    the fall-through and target blocks obvious.
2451    
2452    ----------------------------------------------------------------------
2453    Name: Matthias Blume
2454    Date: 2002/05/22 11:03:00 EDT
2455    Tag: blume-20020522-shrink
2456    Description:
2457    
2458    John tweaked yesterday's fix for 1131 to handle an out-of-memory
2459    situation that comes up when allocating huge arrays.
2460    
2461    ----------------------------------------------------------------------
2462    Name: Matthias Blume
2463    Date: 2002/05/21 16:00:00 EDT
2464    Tag: Release_110_40
2465    Description:
2466    
2467    New working release (110.40).  New bootfiles.
2468    
2469    [Also: John Reppy fixed GC bug 1131.]
2470    
2471    ----------------------------------------------------------------------
2472    Name: Matthias Blume
2473    Date: 2002/05/21 12:35:00 EDT
2474    Tag: blume-20020521-cmdoc
2475    Description:
2476    
2477    CM documentation update.
2478    
2479    ----------------------------------------------------------------------
2480    Name: Matthias Blume
2481    Date: 2002/05/21 10:55:00 EDT
2482    Tag: blume-20020521-misc
2483    Description:
2484    
2485    - John tweaked runtime to be silent on heap export (except when
2486      GC messages are on).
2487    - I added a few more things (cross-compiling versions of CMB) to
2488      config/preloads (as suggestions).
2489    
2490    ----------------------------------------------------------------------
2491    Name: Matthias Blume
2492    Date: 2002/05/20 22:25:00 EDT
2493    Tag: blume-20020520-controls
2494    Description:
2495    
2496    - Added ControlUtil structure to control-lib.cm.
2497    - Use it throughout.
2498    - Used Controls facility to define MLRISC controls (as opposed to
2499      registering MLRISC control ref cells with Controls after the fact)
2500    - Fixed messed-up controls priorities.
2501    
2502    * Removed again all the stuff from config/preloads that one wouldn't
2503      be able to preload at the time the initial heap image is built.
2504      (Many libraries, e.g., CML, do not exist yet at this time.  The
2505       only libraries that can be preloaded via config/preloads are those
2506       that come bundled with the bootfiles.)
2507    
2508    ----------------------------------------------------------------------
2509    Name: Matthias Blume
2510    Date: 2002/05/20 10:59:00 EDT
2511    Tag: blume-20020520-preloads
2512    Description:
2513    
2514    Added a lot of commented-out suggestions for things to be included
2515    in config/preloads.
2516    
2517    ----------------------------------------------------------------------
2518    Name: Allen Leung
2519    Date: 2002/05/18 14:20:00 EDT
2520    Tag: leunga-20020518-mdl
2521    Description:
2522    
2523    o Made the mdl tool stuff compile and run again.
2524    o I've disabled all the stuff that depends on RTL specifications; they
2525      are all badly broken anyway.
2526    
2527    ----------------------------------------------------------------------
2528    Name: Matthias Blume
2529    Date: 2002/05/17 16:49:00 EDT
2530    Tag: blume-20020517-controls
2531    Description:
2532    
2533    0. John Reppy made several modifications to the SML/NJ library.
2534       In particular, there is a shiny new controls-lib.cm.
2535    
2536    1. Pushed new controls interface through compiler so that everything
2537       compiles again.
2538    
2539    2. Added FormatComb and FORMAT_COMB to the CML version of the
2540       SML/NJ library (so that CML compiles again).
2541    
2542    3. Modified init scripts because XXX_DEFAULT environment variables
2543       are no longer with us.  (Boot-time initialization is now done
2544       using the same environment variables that are also used for
2545       startup-time initialization of controls.)
2546    
2547    ----------------------------------------------------------------------
2548    Name: Lal George
2549    Date: 2002/05/15 09:20:10 EDT
2550    Tag: george-20020515-pseudo-op-decls
2551    Description:
2552    
2553            All pseudo-ops emitted before the first segment declaration
2554    such as TEXT, DATA, and BSS directives are assumed to be global
2555    declarations and are emitted first in the assembly file. This is
2556    useful in a number of situations where one has pseudo-ops that are not
2557    specific to any segment, and also works around the constraint that one
2558    cannot have client pseudo-ops in the TEXT segment.
2559    
2560            Because no segment is associated with these declarations it is
2561    an error to allocate any space or objects before the first segment
2562    directive and an exception will be raised. However, we cannot make
2563    this check for client pseudo-ops.
2564    
2565            These top level declarations are a field in the CFG graph_info.
2566    In theory you can continue to add to this field after the CFG has been
2567    built -- provided you know what you are doing;-)
2568    
2569    ----------------------------------------------------------------------
2570  Name: Matthias Blume  Name: Matthias Blume
2571  Date: 2002/05/13 16:40:00 EDT  Date: 2002/05/13 16:40:00 EDT
2572  Tag: blume-20020513-pp-etc  Tag: blume-20020513-pp-etc

Legend:
Removed from v.1190  
changed lines
  Added in v.1863

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0