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/trunk/NOTES/HISTORY
ViewVC logotype

Diff of /sml/trunk/NOTES/HISTORY

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

sml/trunk/HISTORY revision 1494, Thu May 20 03:09:17 2004 UTC sml/trunk/NOTES/HISTORY revision 3961, Sat Sep 13 14:10:27 2014 UTC
# Line 1  Line 1 
1  This is the HISTORY file for the Yale SML/NJ CVS repository.  This is the HISTORY file for the SML/NJ repository.
2    
3  An entry should be made for _every_ commit to the repository.  An entry should be made for _every_ commit to the repository.
4  The entries in this file will be used when creating the README  The entries in this file will be used when creating the README
# Line 7  Line 7 
7    
8  The form of an entry should be:  The form of an entry should be:
9    
10  Name:  Name: Your Name (web page or e-mail)
11    Date: yyyy/mm/dd hh:mm:ss
12    Tag: cvs-tag-for-this-change
13    Description:
14    
15    Here is a test entry
16    
17    ----------------------------------------------------------------------
18    Name: John Reppy (http://cs.uchicago.edu/~jhr)
19  Date: yyyy/mm/dd  Date: yyyy/mm/dd
 Tag: <post-commit CVS tag>  
20  Description:  Description:
21    
22  ----------------------------------------------------------------------  ----------------------------------------------------------------------
23    Name: John Reppy (http://cs.uchicago.edu/~jhr)
24    Date: 2014/09/13
25    Description:
26    
27    Added %keyword directive to ml-antlr; this addition improves the
28    error repair choices by allowing non-nullary tokens to be inserted
29    when making repairs.
30    
31    ----------------------------------------------------------------------
32    Name: John Reppy (http://cs.uchicago.edu/~jhr)
33    Date: 2014/08/22
34    Description:
35    
36    *************************** Version 110.77 ***************************
37    
38    ----------------------------------------------------------------------
39    Name: John Reppy (http://cs.uchicago.edu/~jhr)
40    Date: 2014/08/19
41    Description:
42    Compiling the runtime system on cygwin was failing because the file
43    exceptions.h was missing.  It appears to have been part of previous
44    versions, so a version has been incorporated verbatim in the
45    runtime/mach-base/cygwin-fault.c file (fixes bug #125).
46    
47    ----------------------------------------------------------------------
48    Name: John Reppy (http://cs.uchicago.edu/~jhr)
49    Date: 2014/08/19
50    Description:
51    Added the actionToString' and repairToString' functions
52    to the AntlrRepair structure.  These functions allow one to
53    specialize the printing of tokens based on whether they are
54    being added or deleted.
55    
56    ----------------------------------------------------------------------
57    Name: John Reppy (http://cs.uchicago.edu/~jhr)
58    Date: 2014/08/17
59    Description:
60    Added patches to support OpenBSD on PPC.  The patches were contributed
61    by Jasper Lievisse Adriaanse (fixes bug #124).
62    
63    ----------------------------------------------------------------------
64    Name: John Reppy (http://cs.uchicago.edu/~jhr)
65    Date: 2014/08/17
66    Description:
67    Use mkstemp to implement OS.FileSys.tmpName() on systems that support
68    it (should be all modern versions of Unix).  This change fixes bug #128.
69    (Thanks to Johannes 5 Joemann).
70    
71    ----------------------------------------------------------------------
72    Name: John Reppy (http://cs.uchicago.edu/~jhr)
73    Date: 2014/08/17
74    Description:
75    Fixed a bug in IntInf.~>>, which did not handle negative arguments
76    correctly (bug #110).
77    
78    ----------------------------------------------------------------------
79    Name: John Reppy (http://cs.uchicago.edu/~jhr)
80    Date: 2014/08/14
81    Description:
82    Fixed a problem in the CPS contraction phase.  An optimization that
83    eliminates construction of a record that already exists was not
84    checking that the existing record was the same record kind (bug #119).
85    
86    ----------------------------------------------------------------------
87    Name: John Reppy (http://cs.uchicago.edu/~jhr)
88    Date: 2014/07/28
89    Description:
90    Switch to using MAP_ANONYMOUS to allocate memory on Linux systems.
91    This change avoids problems when "/dev" does not support execute
92    permission (as seems to be the case with some versions of Linux
93    running on ChromeBooks; bug #120).
94    
95    ----------------------------------------------------------------------
96    Name: John Reppy (http://cs.uchicago.edu/~jhr)
97    Date: 2014/06/28
98    Description:
99    Fix for bug 127 (Crash on windows with OS.Process.system).
100    
101    ----------------------------------------------------------------------
102    Name: John Reppy (http://cs.uchicago.edu/~jhr)
103    Date: 2014/06/07
104    Description:
105    Fixed a long-standing bug in Socket.recvVec, which prevented the result
106    from being used in a string pattern match (thanks to Vesa Norrman
107    for the fix).
108    
109    ----------------------------------------------------------------------
110    Name: John Reppy (http://cs.uchicago.edu/~jhr)
111    Date: 2014/05/01
112    Description:
113    Fixed minor issue in an error message; type variable name should be
114    printed with leading '
115    
116    ----------------------------------------------------------------------
117    Name: John Reppy (http://cs.uchicago.edu/~jhr)
118    Date: 2013/11/25
119    Description:
120    Added PackWord{16,32}{Big,Little} structures to the Unsafe module.
121    This change makes the UNSAFE signature closer to the MLton version,
122    although we still need the PackReal structures.
123    
124    ----------------------------------------------------------------------
125    Name: John Reppy (http://cs.uchicago.edu/~jhr)
126    Date: 2013/07/01
127    Description:
128    
129    *************************** Version 110.76 ***************************
130    
131    ----------------------------------------------------------------------
132    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
133    Date: 2013/06/04
134    Description:
135    Fix bug #115 (BinPrimIO writer method getPos doesn't work under CML).
136    Just needed to port the position update from mkReader code to the
137    mkWriter code.
138    
139    ----------------------------------------------------------------------
140    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
141    Date: 2013/06/04
142    Description:
143    Fix bug #111 (Socket.acceptNB returns somewhat broken sockets).
144    The problem was that under Win32, sockets returned from accept inherit
145    their parents' non-blocking status, whereas on UNIX they are always
146    blocking.
147    
148    ----------------------------------------------------------------------
149    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
150    Date: 2013/05/20
151    Description:
152    Fix bug #117 (BinIO.openAppend raises IO on non-existent file).
153    We were opening the file for append if it existed but not creating it
154    if it did not exist.
155    
156    ----------------------------------------------------------------------
157    Name: John Reppy (http://cs.uchicago.edu/~jhr)
158    Date: 2013/05/02
159    Description:
160    Fix bug #116 (Socket.sameDesc raises Match exception).
161    The problem is that on Windows the iodesc datatype (defined in
162    Basis/Implementation/Win32/pre-os.sml) has both an IODesc constructor
163    and a SockDesc constructor.  Updated the code in Win32/os-io.sml to
164    handle the SockDesc constructor.
165    
166    ----------------------------------------------------------------------
167    Name: John Reppy (http://cs.uchicago.edu/~jhr)
168    Date: 2013/04/19
169    Description:
170    Fix bug #113 (Socket.select waits exactly twice the indicated timeout)
171    
172    ----------------------------------------------------------------------
173    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
174    Date: 2013/01/19
175    Description:
176    Fix AMD64 code generator to properly sign-extend arguments to IDIVQ.
177    
178    ----------------------------------------------------------------------
179    Name: John Reppy (http://cs.uchicago.edu/~jhr)
180    Date: 2012/10/20
181    Description:
182    Fix bug #108 (off-by-one error in Util/dynamic-array.sml; iterators crash)
183    
184    ----------------------------------------------------------------------
185    Name: John Reppy (http://cs.uchicago.edu/~jhr)
186    Date: 2012/10/20
187    Description:
188    Fix bug #107 (Bogus Int64 comparison operators)
189    
190    ----------------------------------------------------------------------
191    Name: John Reppy (http://cs.uchicago.edu/~jhr)
192    Date: 2012/10/01
193    Description:
194    
195    *************************** Version 110.75 ***************************
196    
197    ----------------------------------------------------------------------
198    Name: John Reppy (http://cs.uchicago.edu/~jhr)
199    Date: 2012/09/28
200    Description:
201    Fixed bug #92.  IntInf.scan now handles the "0x" prefix correctly.
202    Also made minor improvements to the NumScan module.
203    
204    ----------------------------------------------------------------------
205    Name: John Reppy (http://cs.uchicago.edu/~jhr)
206    Date: 201209/24
207    Description:
208    Added Base64 module to SML/NJ Library to support encoding and decoding
209    Word8 vectors as base64 strings.
210    
211    ----------------------------------------------------------------------
212    Name: John Reppy (http://cs.uchicago.edu/~jhr)
213    Date: 2012/09/23
214    Description:
215    Additions to the SML/NJ Library.  Added exists, existsi, all, and alli
216    functions to ORD_MAP signature and implementations, and added all
217    function to ORD_SET signature and implementations.
218    
219    ----------------------------------------------------------------------
220    Name: John Reppy (http://cs.uchicago.edu/~jhr)
221    Date: 2012/09/21
222    Description:
223    Bug fix in ml-antlr to ensure that the generated toString function
224    for tokens is strictly legal SML code (i.e., non-printing characters
225    and UTF8 multibyte sequences are properly escaped).
226    
227    ----------------------------------------------------------------------
228    Name: John Reppy (http://cs.uchicago.edu/~jhr)
229    Date: 2012/09/11
230    Description:
231    Added getu function to ULexBuffer as a way to improve ulex performance.
232    This addition allows a fastpath for processing ascii characters, which
233    improved lexer performance by 3-4%.
234    
235    ----------------------------------------------------------------------
236    Name: John Reppy (http://cs.uchicago.edu/~jhr)
237    Date: 2012/08/02
238    Description:
239    Fixed bugs #89 and #96: Build Failure with Xcode 4.3
240    Also removed build support for MacOS X pre-10.5 (Leopard) on PPC and
241    pre-10.6 (Snow Leopard) on Intel.
242    
243    ----------------------------------------------------------------------
244    Name: John Reppy (http://cs.uchicago.edu/~jhr)
245    Date: 2012/02/05
246    Description:
247    Fixed bug #88.  The check for valid arcs on Unix systems now allows
248    any character other than slash or nul.
249    
250    ----------------------------------------------------------------------
251    Name: David MacQueen (dbm@cs.uchicago.edu)
252    Date: 2012/01/20
253    Description:
254    
255    *************************** Version 110.74 ***************************
256    
257    ----------------------------------------------------------------------
258    Name: John Reppy (http://cs.uchicago.edu/~jhr)
259    Date: 2012/01/20
260    Description:
261    
262    Fixed implementation of Real.signBit on little-endian machines.
263    
264    ----------------------------------------------------------------------
265    Name: David MacQueen (dbm@cs.uchicago.edu)
266    Date: 2012/1/19
267    Revision: 3664, 3665
268    Description:
269    
270    1) Fix for (gforge) bug #60
271       recalculate strictness for DEFtycs in functor bodies when functor
272       is applied  (Elaborator/modules/evalent.sml)
273    
274    2) Fix for (gforge) bug #77
275       separate ast representations for datatypes and datatype replications
276       in decs and specs (multiple files)
277    
278    3) set version to 110.74
279    
280    Details in NOTES/changes/dbm_2012_1.
281    
282    ----------------------------------------------------------------------
283    Name: David MacQueen (dbm@cs.uchicago.edu)
284    Date: 2012/1/12
285    Revision: 3648, 3652
286    Description:
287    
288    1) Change of SourceMap interface.
289       related to fix of off-by-one error in lexer (committed earlier?), and cleanup of noweb code
290       added by Norman Ramsey many years ago (but little used today).
291    
292    3) Slight cleanup of match compiler, eliminatiing compiler/FLINT/tempexpn.sml file that
293       was part of unused implementation of pattern templates (pattern macros).
294    
295    4) Modification of type checker to add "culprit tracking" for improved type error messages
296       (printing of additional culprit information is controlled by ElabControl.showTypeErrorCulprits
297        flag, default false, added in revision 3652).  The culprit tracking needs to be debugged
298        and improved, and the presentation of the culprits needs to be done better.
299    
300    Details in NOTES/changes/dbm_2012_1.
301    
302    ----------------------------------------------------------------------
303    Name: John Reppy (http://cs.uchicago.edu/~jhr)
304    Date: 2011/11/25
305    Description:
306    
307    Bug fixes for Unsafe.blastRead (#76):
308      1) proper error handling when reading from memory and there are
309         not enough bytes.
310      2) pass correct data pointer and length to BlastIn (code was using
311         old macros).
312    
313    ----------------------------------------------------------------------
314    Name: John Reppy (http://cs.uchicago.edu/~jhr)
315    Date: 2011/11/25
316    Description:
317    
318    Added hash-table-based implementation of sets to SML/NJ Library.
319    
320    ----------------------------------------------------------------------
321    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
322    Date: 2011/10/25
323    Description:
324    
325    Better error reporting under 32-bit linux for the missing dpkg
326    support (#70).
327    Enable 3.x kernels to build (#80, 81, 83).
328    
329    ----------------------------------------------------------------------
330    Name: John Reppy (http://cs.uchicago.edu/~jhr)
331    Date: 2011/05/23
332    Description:
333    
334    Added new S-expression library to SML/NJ Library
335    (contributed by Damon Wang)
336    
337    ----------------------------------------------------------------------
338    Name: John Reppy (http://cs.uchicago.edu/~jhr)
339    Date: 2011/05/17
340    Description:
341    
342    Fixed bug in JSON scanner (SML/NJ Library).  It didn't handle escaped
343    backslash or double quote correctly.
344    
345    ----------------------------------------------------------------------
346    Name: John Reppy (http://cs.uchicago.edu/~jhr)
347    Date: 2011/05/13
348    Description:
349    
350    *************************** Version 110.73 ***************************
351    
352    ----------------------------------------------------------------------
353    Name: John Reppy (http://cs.uchicago.edu/~jhr)
354    Date: 2011/05/10
355    Description:
356    
357    Added boolean literals (true and false) to the conditional-expression
358    syntax in CM.  Thus, you can write
359    
360    #if true
361      structure Foo
362    #endif
363    
364    in a CM file.  This change is meant to make it easier to use autoconf
365    to configure the build process of an SML application.
366    
367    ----------------------------------------------------------------------
368    Name: John Reppy (http://cs.uchicago.edu/~jhr)
369    Date: 2011/05/09
370    Description:
371    
372    Added missing String.scan function (#69).  This also fixes the handling
373    of certain corner cases by String.fromString.
374    
375    ----------------------------------------------------------------------
376    Name Mike Rainey (http://www.mpi-sws.org/~mrainey)
377    Date 2011/05/03
378    Description:
379    
380    Added the RTDSC and RTDSCP instructions to the amd64 code generator.
381    
382    ----------------------------------------------------------------------
383    Name: John Reppy (http://cs.uchicago.edu/~jhr)
384    Date: 2011/04/08
385    Description:
386    
387    Added fix for comments in code bug (#63).
388    Thanks to Michael Norrish.
389    
390    ----------------------------------------------------------------------
391    Name: John Reppy (http://cs.uchicago.edu/~jhr)
392    Date: 2011/04/08
393    Description:
394    
395    Fixed bug in Socket.acceptNB (bug #59)
396    
397    ----------------------------------------------------------------------
398    Name: John Reppy (http://cs.uchicago.edu/~jhr)
399    Date: 2011/03/31
400    Description:
401    
402    Fixed syntax error in ml-lex compatibility mode (bug #49)
403    
404    ----------------------------------------------------------------------
405    Name: John Reppy (http://cs.uchicago.edu/~jhr)
406    Date: 2011/03/22
407    Description:
408    
409    Update _arch-n-opsys script for Mac OS X Lion (10.7).
410    
411    ----------------------------------------------------------------------
412    Name: John Reppy (http://cs.uchicago.edu/~jhr)
413    Date: 2011/02/18
414    Description:
415    
416    Added Barriers module to CML.
417    
418    ----------------------------------------------------------------------
419    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
420    Date: 2011/02/10
421    Description:
422    
423    Fixed ml-yacc examples to respect the changed signatures with respect
424    to TextIO.inputLine.
425    
426    ----------------------------------------------------------------------
427    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
428    Date: 2010/09/16
429    Description:
430    
431    Changed the Win32 implementation of validArc to support directories
432    with extended characters (umlauts, etc.).
433    
434    ----------------------------------------------------------------------
435    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
436    Date: 2010/09/16
437    Description:
438    
439    Fixed the Win32 socket and polling implementation to work correctly
440    with CML. Signature of poll was wrong and didn't handle sockets at all.
441    
442    ----------------------------------------------------------------------
443    Name: John Reppy (http://cs.uchicago.edu/~jhr)
444    Date: 2010/06/16
445    Description:
446    
447    Fixed Real.toString and Real.fmt to include sign for negative zero.
448    
449    ----------------------------------------------------------------------
450    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
451    Date: 2010/03/23
452    Description:
453    
454    Fixed the bug with Win32 calls to OS.Process.system not quoting the string.
455    
456    ----------------------------------------------------------------------
457    Name: Jon Riehl (http://jonriehl.com/)
458    Date: 2010/02/11
459    Description:
460    
461    Applied patch for building on more recent NetBSD's.  See bug #39 in the
462    tracker:
463    
464    http://smlnj-gforge.cs.uchicago.edu/tracker/index.php?func=detail&aid=39&group_id=33&atid=215
465    
466    ----------------------------------------------------------------------
467    Name: Jon Riehl (http://jonriehl.com/)
468    Date: 2010/02/02
469    Description:
470    
471    Cutting version 110.72.  New bootfiles.
472    
473    ----------------------------------------------------------------------
474    Name John Reppy (http://cs.uchicago.edu/~jhr)
475    Date 2009/12/20
476    Description:
477    
478    Fixed performance bugs in List module by making @ and foldr be
479    tail recursive.
480    
481    ----------------------------------------------------------------------
482    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
483    Date: 2009/12/11
484    Description:
485    
486    Fixed the Win32 unable to print long strings bug.
487    ----------------------------------------------------------------------
488    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
489    Date: 2009/12/10
490    Description:
491    
492    Fixed an overrun during major GC. If the string arena was nearly full, it was possible
493    for alignment padding added during copy to the to-space to overrun the allocated
494    size.
495    ----------------------------------------------------------------------
496    Name John Reppy (http://cs.uchicago.edu/~jhr)
497    Date 2009/11/18
498    Description:
499    
500    The ml-antlr and ml-ulex programs have been ported to build under
501    mlton.
502    
503    ----------------------------------------------------------------------
504    Name John Reppy (http://cs.uchicago.edu/~jhr)
505    Date 2009/11/17
506    Description:
507    
508    Added %header directive to the ml-ulex scanner generator.  Also
509    updated the documentation.
510    
511    ----------------------------------------------------------------------
512    Name John Reppy (http://cs.uchicago.edu/~jhr)
513    Date 2009/11/17
514    Description:
515    
516    Added "@SMLsuffix" flag to sml command.  This can be used to get
517    the suffix for heap files.
518    
519    ----------------------------------------------------------------------
520    Name John Reppy (http://cs.uchicago.edu/~jhr)
521    Date 2009/11/17
522    Description:
523    
524    Added "--strict-sml" flag to ml-ulex for MLton compatibility.
525    
526    ----------------------------------------------------------------------
527    Name John Reppy (http://cs.uchicago.edu/~jhr)
528    Date 2009/11/10
529    Description:
530    
531    Added %header directive to the ml-antlr parser generator.  Also
532    updated the documentation.
533    
534    ----------------------------------------------------------------------
535    Name: Jon Riehl (http://www.jonriehl.com/)
536    Date: 2009/09/16
537    Description:
538    
539    Cutting version 110.71.  New bootfiles.
540    
541    ----------------------------------------------------------------------
542    Name John Reppy (http://cs.uchicago.edu/~jhr)
543    Date 2009/09/13
544    Description:
545    
546    Changes to support compiling the runtime system on Mac OS X 10.6
547    (aka Snow Leopard).
548    
549    ----------------------------------------------------------------------
550    Name Mike Rainey (http://cs.uchicago.edu/~mrainey)
551    Date 2009/08/19
552    Description:
553    
554    Fixed a bug in the register-spill generator that is part of the MLRISC
555    register allocator. The problem was that the code in RASpillWithRenaming
556    functor assumed incorrectly that dedicated registers would appear in
557    def/use information generated by ClusterRA. Thanks to Allen Leung for
558    helping with this bug.
559    
560    ----------------------------------------------------------------------
561    Name John Reppy (http://cs.uchicago.edu/~jhr)
562    Date 2009/07/09
563    Description:
564    
565    Removed redundant implementations of various top-level operations by
566    consolidating them in base/system/smlnj/init/pervasive.sml.  This
567    change also fixes a bug in that the top-level version of round was
568    incorrect.
569    
570    ----------------------------------------------------------------------
571    Name: Matthias Blume (http://www.tti-c.org/blume/)
572    Date: 2009/06/15 11:17:00 CDT
573    Description:
574    
575    Bumped version number to 110.70.  New bootfiles.
576    
577    ----------------------------------------------------------------------
578    Name: Matthias Blume (http://www.tti-c.org/blume/)
579    Date: 2009/06/12 11:02:00 CDT
580    Description:
581    
582    1. Corrected problem in config/actions that led to the so-called
583       "unpickling bug" which appeared in version 110.68.
584    
585    2. Provided fix for the 64-bit pattern match bug.
586    
587    ----------------------------------------------------------------------
588    Name John Reppy (http://cs.uchicago.edu/~jhr)
589    Date 2009/03/21
590    Description:
591    
592    Fixed bug in Int32.fmt when the argument was the minimum int and the
593    radix was something other than DEC.
594    
595    ----------------------------------------------------------------------
596    Name Aaron Turon (turon@ccs.neu.edu)
597    Date 2009/02/21
598    Description:
599    
600    Fixed bugs in how ml-antlr parsed ML types in %tokens specifications.
601    
602    ----------------------------------------------------------------------
603    Name: Jon Riehl (http://www.jonriehl.com/)
604    Date: 2009/01/13
605    Description:
606    
607    Picking up some additional fixes for 110.69, including a fix for
608    spaces in CM file paths.
609    
610    ----------------------------------------------------------------------
611    Name: Jon Riehl (http://www.jonriehl.com/)
612    Date: 2008/12/22
613    Description:
614    
615    Version bumped to 110.69.  New bootfiles.
616    
617    ----------------------------------------------------------------------
618    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
619    Date: 2008/12/06
620    Description:
621    
622    Re-enabled some CPS optimizations (first_contract and eta).  The most
623    important effect of this change is to make uses of SMLofNJ.Cont.capture
624    be properly tail recursive.
625    
626    ----------------------------------------------------------------------
627    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
628    Date: 2008/12/03
629    Description:
630    
631    New concurrency-related instructions for x86 and amd64 code
632    generators.
633      - PAUSE: Notify the CPU that the program is spin waiting.
634      - MFENCE: memory fence for reads and writes.
635      - SFENCE: memory fence for writes.
636      - LFENCE: memory fence for reads.
637    
638    ----------------------------------------------------------------------
639    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
640    Date: 2008/12/02
641    Description:
642    
643    Added makefile and other support for building runtime on OpenBSD.
644    
645    ----------------------------------------------------------------------
646    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
647    Date: 2008/08/13
648    Description:
649    
650    Version bumped to 110.68.  New bootfiles.
651    
652    ----------------------------------------------------------------------
653    Name Aaron Turon (turon@ccs.neu.edu)
654    Date 2008/08/11
655    Description:
656    
657    Minor fix to ml-ulex backend for regexps that match any character
658    and perform a single action.  Previously the emitted code would
659    not allow the regexps to match any character at all.
660    
661    ----------------------------------------------------------------------
662    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
663    Date: 2008/08/05
664    Description:
665    
666    Added build support for OpenBSD (thanks to Brian O'Hanlon).
667    
668    ----------------------------------------------------------------------
669    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
670    Date: 2008/07/12
671    Description:
672    
673    Fixed Int64.fromString to use base-10.
674    
675    ----------------------------------------------------------------------
676    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
677    Date: 2008/04/12
678    Description:
679    
680    Various updates to the ml-lpt tree.  The documentation has been updated;
681    bugs in the parsing of negation and character classes in ml-ulex have
682    been fixed; and changes have been made to make the ml-lpt tools more
683    compatible with MLton (and other SML implementations).  Thanks to
684    Matthew Fluet and Aaron Turon for their patches.
685    
686    ----------------------------------------------------------------------
687    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
688    Date: 2008/20/04
689    Description:
690    
691    Implemented timer-based profiling on Windows, with behavior as close
692    to the *nix ITIMER-based profiling as possible.
693    ----------------------------------------------------------------------
694    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
695    Date: 2008/07/04
696    Description:
697    
698    Finished off the Windows subset of the basis library. Added process
699    support and various configuration and system identification utils.
700    ----------------------------------------------------------------------
701    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
702    Date: 2008/03/18
703    Description:
704    
705    Major changes to the RegExp library: see smlnj-lib/CHANGES for details.
706    ----------------------------------------------------------------------
707    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
708    Date: 2008/02/14
709    Description:
710    
711    Added the Windows Status structure
712    ----------------------------------------------------------------------
713    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
714    Date: 2008/02/14
715    Description:
716    
717    Added the Windows DDE structure
718    ----------------------------------------------------------------------
719    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
720    Date: 2008/02/05
721    Description:
722    
723    Added the Windows Config structure
724    ----------------------------------------------------------------------
725    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
726    Date: 2008/01/31
727    Description:
728    
729    Added outline of the Windows basis library and the basic registry
730    functionality.
731    ----------------------------------------------------------------------
732    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
733    Date: 2008/01/23
734    Description:
735    
736    Fixed the amd64 code generator to compile with the current MLRISC.
737    ----------------------------------------------------------------------
738    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
739    Date: 2007/11/26
740    Description:
741    
742    nlffi was updated to work on Windows. It needed to pass in the correct
743    value for the name of the kernel32 DLL to obtain 'base' bindings.
744    Additionally updated the README for the most basic nlffi sample with
745    what you need to do on MacOSX and on Windows to make it work.
746    ----------------------------------------------------------------------
747    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
748    Date: 2007/11/21
749    Description:
750    
751    Overwrite the SMLNJ_HOME environment variable on installation
752    Properly change the package code so that subsequent version
753    installations prompt for uninstall (instead of 'repair/remove')
754    ----------------------------------------------------------------------
755    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
756    Date: 2007/11/14
757    Description:
758    
759    Cleaned up WININSTALL file for new MSI-based setup.
760    ----------------------------------------------------------------------
761    Name: Matthias Blume (http://www.tti-c.org/blume/)
762    Date: 2007/11/13 14:05:00 CST
763    Description:
764    
765    Version bumped to 110.67.  New bootfiles.
766    
767    ----------------------------------------------------------------------
768    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
769    Date: 2007/11/12
770    Description:
771    
772    Ensure that the size of the allocation space is at least 128K.
773    ----------------------------------------------------------------------
774    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
775    Date: 2007/11/05
776    Description:
777    
778    Fixed type error in ml-lpt library that occurs when compiling
779    against a basis that was compiled with the USE_64_BIT_POSITIONS
780    symbol set.
781    (Thanks to Johannes Joemann)
782    ----------------------------------------------------------------------
783    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
784    Date: 2007/11/03
785    Description:
786    
787    Fixed the amd64 code generator to compile with the current MLRISC.
788    ----------------------------------------------------------------------
789    Name: Lars Bergstrom (web page or e-mail)
790    Date: 2007/11/02
791    Description:
792    
793    Made sml.bat more resilient to either not having run the installer
794    and having no SMLNJ_HOME set or having just shuffled the directory
795    around.
796    ----------------------------------------------------------------------
797    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
798    Date: 2007/11/01
799    Description:
800    
801    A collection of bug fixes for machine.sml in the Reactive library.
802    (Thanks to Timothy Bourke)
803    ----------------------------------------------------------------------
804    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
805    Date: 2007/10/28
806    Description:
807    
808    Patches for Mac OS X 10.5 (Leopard).
809    ----------------------------------------------------------------------
810    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
811    Date: 2007/10/28
812    Description:
813    
814    Fixed some bugs in the AMD64 floating-point spilling code.
815    ----------------------------------------------------------------------
816    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
817    Date: 2007/10/25
818    Description:
819    
820    Added support for the atomic XCHG instruction.
821    ----------------------------------------------------------------------
822    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
823    Date: 2007/10/22
824    Description:
825    
826    Added AMD64 support for floating-point negation.
827    ----------------------------------------------------------------------
828    Name: Lars Bergstrom (web page or e-mail)
829    Date: 2007/10/22
830    Description:
831    
832    Fixed ^C handling in Windows
833    Added a Windows installer
834    Made it possible to build for Windows on a mapped drive from Parallels
835    ----------------------------------------------------------------------
836    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
837    Date: 2007/10/22
838    Description:
839    
840    Added AMD64 support for the atomic fetch and add instruction.
841    ----------------------------------------------------------------------
842    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
843    Date: 2007/10/18
844    Description:
845    
846    The GAS output now favors p2align over align, since the
847    former is guaranteed to be consistent over multiple architectures
848    and the latter is not.
849    ----------------------------------------------------------------------
850    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
851    Date: 2007/10/18
852    Description:
853    
854    Fixed a bug in register spilling.
855    ----------------------------------------------------------------------
856    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
857    Date: 2007/10/2
858    Description:
859    
860    Added demo support for AMD64 for quick testing and fixed support for
861    64-bit label constants.
862    ----------------------------------------------------------------------
863    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
864    Date: 2007/09/20
865    Description:
866    
867    Added support for the MLRISC COND instruction and the x86-64 CMOVCC
868    instruction.
869    ----------------------------------------------------------------------
870    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
871    Date: 2007/09/17
872    Description:
873    
874    Fixed an instruction-selection bug when loading 64-bit labels.
875    
876    ----------------------------------------------------------------------
877    Name: George Kuan (http://www.cs.uchicago.edu/~gkuan)
878    Date: 2007/09/14
879    Description:
880    
881    Fixed Elaborator and Translate performance bugs
882    
883    ----------------------------------------------------------------------
884    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
885    Date: 2007/09/12
886    Description:
887    
888    Fixed xorl memory argument bug.
889    
890    ----------------------------------------------------------------------
891    Name: George Kuan (http://www.cs.uchicago.edu/~gkuan)
892    Date: 2007/07/27
893    Description:
894    
895    Added f64sgn (for Real64.signBit) as a primop defined
896    in MLRiscGen. signBit(~0.0) not handled correctly.
897    
898    ----------------------------------------------------------------------
899    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
900    Date: 2007/06/21
901    Description:
902    
903    Fixed bug in {TextIO,BinIO}.StreamIO.endOfStream that would incorrectly
904    signal end of stream.
905    
906    ----------------------------------------------------------------------
907    Name: Matthias Blume (http://www.tti-c.org/blume/)
908    Date: 2007/06/12 11:22:00 CDT
909    Description:
910    
911    Eliminated config/allsources.  The information is now drawn directly
912    from config/actions.
913    
914    ----------------------------------------------------------------------
915    Name: Matthias Blume (http://www.tti-c.org/blume/)
916    Date: 2007/06/07 23:30:00 CDT
917    Tag: release-110.65
918    Description:
919    
920    Version 110.65. NEW BOOTFILES!
921    
922    ----------------------------------------------------------------------
923    Name: Matthias Blume (http://www.tti-c.org/blume/)
924    Date: 2007/06/06 21:45:00 CDT
925    Description:
926    
927    - Aaron: fixed a number of bugs in ml-ulex.
928    - Matthias:
929       - added CM control "cm.force-tools"; this is false by default;
930         when set to true, then tools like ml-yacc, ml-lex, ml-ulex, etc.
931         will be forced to run regardless of whether or not their targets
932         are up-to-date
933       - changed installer code so that config/install.sh will re-build
934         heap images for all tools even if those heap images already existed
935    
936    ----------------------------------------------------------------------
937    Name: Matthias Blume (http://www.tti-c.org/blume/)
938    Date: 2007/06/04 21:21:00 CDT
939    Description:
940    
941    After Aaron Turon's bug fix for ml-ulex (handling the ^ character
942    in legacy mode), re-ran the lexer generator on all lex input files
943    and committed the results.
944    
945    This should fix the problem with ckit and nlffi that was reported
946    by Vesa A. Norrman.
947    
948    ----------------------------------------------------------------------
949    Name: Matthias Blume (http://www.tti-c.org/blume/)
950    Date: 2007/05/31 11:40:00 CDT
951    Tag: release-110.64
952    Description:
953    
954    Version 110.64. NEW BOOTFILES!
955    
956    ----------------------------------------------------------------------
957    Name: Dave MacQueen (dbm@cs.uchicago.edu)
958    Date: 2007/05/31 14:55:00 CDT
959    Revision: 2650
960    Description:
961    
962    3rd merge of base from primop-branch-3 into the trunk.
963    Additional bug fixes included:
964    
965     * Timer.cpu_timer, etc. type printing corrected (by making
966         Timer have opaque sig constraint in basis/Implementation/timer.sml)
967     * Infinite loop in FLINT (tests/typing/tests/25.sml) (fix by
968         Stefan Monnier)
969    
970    ----------------------------------------------------------------------
971    Name: Matthias Blume (http://www.tti-c.org/blume/)
972    Date: 2007/05/31 11:40:00 CDT
973    Description:
974    
975    Fixed some bugs in new Div code in FLINT/trans/translate.sml.
976    
977    Also, changed the handling of "no core access":  When translate.sml
978    needs access to a core exception at a time when the core has not
979    been set up yet (this only happens when compiling system/smlnj/init/*),
980    then don't bother generating the corresponding tests.
981    
982    The old scheme was to generate a bogus value to be used in place of
983    the exception.  Unfortunately, that confuses the plambda type checker.
984    Moreover, it does not do any good, because at runtime we don't expect
985    such an exception to be ever raised.  (The code in system/smlnj/init/*
986    has to be written very carefully with this in mind!)
987    
988    ----------------------------------------------------------------------
989    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
990    Date: 2007/05/29
991    Description:
992    
993    Added FSQRT instructions for the AMD64 code generator.
994    
995    ----------------------------------------------------------------------
996    Name: Matthias Blume (http://www.tti-c.org/blume/)
997    Date: 2007/05/29 19:00:00 CDT
998    Description:
999    
1000    FLINT/trans/translate.sml now wraps all DIV/MOD/QUOT/REM operations
1001    with an explicit test for zero division.  This should fixes several
1002    regressions and makes it possible for downstream optimization phases
1003    to treat these operations as "pure" when they are applied to unsigned
1004    operands.
1005    
1006    ----------------------------------------------------------------------
1007    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
1008    Date: 2007/05/29
1009    Description:
1010    
1011    Added the new MLRISC code generator for the AMD64.  This version,
1012    in contrast to the previous one, uses SSE registers and instructions
1013    for all floating-point computations.
1014    
1015    ----------------------------------------------------------------------
1016    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1017    Date: 2007/05/29
1018    Description:
1019    
1020    A number of fixes related to the formatting of dates.  These include fixes
1021    for bugs #1415 and #1416.  We also now correctly handle format characters that
1022    lie outside the specified set.
1023    
1024    ----------------------------------------------------------------------
1025    Name: Matthias Blume (http://www.tti-c.org/blume/)
1026    Date: 2007/05/23 22:30:00 CDT
1027    Description:
1028    
1029    CMB (and CM) now automatically defines the CM "preprocessor" symbol
1030    NO_PLUGINS during "makeml -rebuild" or when CM operates in "slave" mode.
1031    
1032      (In addition, CMB_REBUILD_MODE is defined for makeml -rebuild,
1033       CM_SLAVE_MODE is defined in attached slaves while running CM.make
1034       or CM.rebuild, and CMB_SLAVE_MODE is defined in attached slaves
1035       while running CMB.make.  The point is that the single symbol
1036       NO_PLUGINS is definde in all three cases.)
1037    
1038    I changed the three locations within the sources that get compiled
1039    during CMB.make where ml-yacc or ml-lex input is processed: When
1040    NO_PLUGINS defined, then the use of the mlyacc and mllex tools
1041    is bypassed.
1042    
1043    When bootstrapping new versions of the compiler, there can be
1044    situations where the plugin tools for ml-yacc and ml-lex (or ml-ulex)
1045    are not available or otherwise not operational.  In this case one can
1046    manually define the NO_PLUGINS symbol prior to running CMB.make().  To
1047    do so, the following command should be issued at the interactive
1048    prompt:
1049    
1050       #set (CMB.symval "NO_PLUGINS") (SOME 1);
1051    
1052    A CMB.make with NO_PLUGINS defined relies on the existence of the
1053    files that normally would be generated by ml-yacc and ml-lex.
1054    (Copies of these files are in the repository.)
1055    
1056    ----------------------------------------------------------------------
1057    Name: David MacQueen (dbm@cs.uchicago.edu)
1058    Date: 2007/5/23 17:23:00 CDT
1059    Revision: 2603
1060    Description:
1061    
1062    2nd merge of base from primop-branch-3 into the trunk.
1063    Additional bug fixes included:
1064     Date.scan and Date.fromString fixed;
1065     Overloading resolution fixed and some type printing problems corrected.
1066    
1067    ----------------------------------------------------------------------
1068    Name: Matthias Blume (http://www.tti-c.org/blume/)
1069    Date: 2007/05/23 09:50:00 CDT
1070    Description:
1071    
1072    Changed the installation mechanism for CM tool plugins.  These are
1073    just libaries and now get installed like ordinary libaries.
1074    
1075    There are now a number of new installation targets that give some
1076    fine-grain control over what classes and suffixes are known, and what
1077    they will map to.
1078    See config/targets for details.
1079    
1080    The code that caused plugin installation as part of running a
1081    tool's "build" script has been removed.  (The build script is for
1082    building, not for installing.)
1083    
1084    ----------------------------------------------------------------------
1085    Name: Matthias Blume (http://www.tti-c.org/blume/)
1086    Date: 2007/05/22 11:50:00 CDT
1087    Description:
1088    
1089    Added a boolean control named cm.tolerate-tool-failures (env. variable
1090    name: CM_TOLERATE_TOOL_FAILURES).  The default is false and makes
1091    CM fail if a shell tool reports a non-success exit status.  If
1092    the control is set to true, then CM will press on after tool failures
1093    in the event that the target files exist (even though they are
1094    considered outdated).  Turning the control to true can be useful for
1095    bootstrapping.
1096    
1097    ----------------------------------------------------------------------
1098    Name: Aaron Turon (http://www.cs.uchicago.edu/~adrassi)
1099    Date: 2007/05/19
1100    Description:
1101    
1102    Merge of ml-lpt revisions for 110.64.
1103    
1104    The name of several ml-lpt-lib modules has changed:
1105      Repair        => AntlrRepair
1106      StreamPos     => AntlrStreamPos
1107      ErrHandlerFn  => AntlrErrHandler
1108      EBNF          => AntlrEBNF
1109    
1110    The ml-antlr specification format has changed: declarations such as
1111    %tokens and nonterminal definitions can occur *multiple* times in the
1112    same specification.  The semantics are such that each new declaration
1113    extends the previous ones.  This does not apply to %start or %name,
1114    of course.
1115    
1116    Importing a grammar via %import now includes *all* declarations in from
1117    the imported grammar, except for %name, %entry, and %start.  Tokens
1118    and nonterminals can be dropped using the new %dropping clause of the
1119    %import directive; the separate %drop and %extend have been removed.
1120    
1121    We now allow optional type annotations on nonterminals, using the %nonterms
1122    directive as in ml-yacc.
1123    
1124    The refcell construct is now implemented using SML's regular reference
1125    cells, so the :== and !! notation has been deprecated.
1126    
1127    The ml-antlr tool now does much more checking of specifications, and
1128    its error messages have been greatly improved.  Error repair for
1129    generated parsers has been completely rewritten, and is now both
1130    much faster and more accurate.
1131    
1132    ml-ulex is now more lenient with escape codes (non-SML-standard
1133    escape codes are now interpreted literally, so e.g. \| denotes "|").
1134    Also, character classes may now include a "-" character at the beginning
1135    as is standard in most other regexp tools.
1136    
1137    All of these changes are documented in the user guide, which has
1138    been updated and improved with this merge.
1139    
1140    ----------------------------------------------------------------------
1141    Name: David MacQueen (http://www.cs.uchicago.edu/~jhr)
1142    Date: 2007/05/03
1143    Revision: r2492
1144    Description:
1145    
1146    Merge of the primop3 branch (base) into the trunk to create 110.63.1.
1147    Significant changes in FLINT and the front end, mostly having to do
1148    with a reorganized system for handling primops.  Various bug fixes
1149    and improvements in printing signatures.
1150    
1151    ----------------------------------------------------------------------
1152    Name: Aaron Turon (http://www.cs.uchicago.edu/~adrassi)
1153    Date: 2007/05/02
1154    Description:
1155    
1156    Preliminary commit of large ml-lpt revisions (more to come for 110.64).
1157    The ml-antlr specification format has changed: declarations such as
1158    %tokens and nonterminal definitions can occur *multiple* times in the
1159    same specification.  The semantics are such that each new declaration
1160    extends the previous ones.  Grammar extension constructs have also
1161    changed.  We now allow type annotations on nonterminals.  Finally,
1162    the refcell construct is now implemented using SML's regular reference
1163    cells, so the :== and !! notation has been deprecated.  All of these
1164    changes will appear in the 110.64 user guide for ml-lpt.
1165    
1166    The ml-antlr tool now does much more checking of specifications, and
1167    its error messages have been greatly improved.  There has also been
1168    some work on the error repair process for generated parsers, but this
1169    will be further improved in 110.64.
1170    
1171    ----------------------------------------------------------------------
1172    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1173    Date: 2007/04/24
1174    Description:
1175    
1176    More Basis fixes: The Char.fromString (etc.) functions did not handle
1177    the "\uxxxx" escape sequence.  There is still an outstanding bug with
1178    String.fromString the tail is a format escape.  I added a comment to
1179    this effect in Basis/Implementation/string.sml.
1180    Thanks to Andreas Rossberg.
1181    
1182    ----------------------------------------------------------------------
1183    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1184    Date: 2007/04/24
1185    Description:
1186    
1187    Added next function to Fifo and Queue modules in the SML/NJ Library.
1188    
1189    ----------------------------------------------------------------------
1190    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1191    Date: 2007/04/23
1192    Description:
1193    
1194    More Basis fixes: Time.fmt dropped the leading "~" for negative time
1195    values that had no whole part.
1196    
1197    ----------------------------------------------------------------------
1198    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1199    Date: 2007/04/23
1200    Description:
1201    
1202    More Basis fixes: the OS.Path module did not include the InvalidArc
1203    exception and did not do sufficient argument checking.
1204    Thanks to Stephen Weeks and Adam Chilpala.
1205    
1206    ----------------------------------------------------------------------
1207    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
1208    Date: 2007/04/16
1209    Description:
1210    
1211    Fixed an unbound functor bug in the AMD64 CM file.
1212    
1213    ----------------------------------------------------------------------
1214    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
1215    Date: 2007/04/12
1216    Description:
1217    
1218    Substantially changed the signature and implementation of AMD64
1219    SVID.  It now looks similar to the ia32 SVID, yet uses staged
1220    allocation.
1221    
1222    ----------------------------------------------------------------------
1223    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1224    Date: 2007/04/07
1225    Description:
1226    
1227    More Basis fixes: the WORD signature was missing {to,from}Large.
1228    Thanks to Andreas Rossberg.
1229    
1230    ----------------------------------------------------------------------
1231    Name: Matthias Blume (http://www.tti-c.org/blume/)
1232    Date: 2007/03/22 16:07:00 CDT
1233    Tag: release-110.63
1234    Description:
1235    
1236    Bumped version number to 110.63.
1237    
1238       !!!NEW BOOTFILES!!!
1239    
1240    ----------------------------------------------------------------------
1241    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
1242    Date: 2007/03/19
1243    Description:
1244    
1245    Fixed bogus operand sizes in AMD64 instruction spilling.
1246    
1247    ----------------------------------------------------------------------
1248    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1249    Date: 2007/03/19
1250    Description:
1251    
1252    Fixed a number of inconsistencies between the Posix.TTY structure
1253    and the Basis specification.  Thanks to Adam Chilpala.
1254    
1255    ----------------------------------------------------------------------
1256    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
1257    Date: 2007/02/26
1258    Description:
1259    
1260    Added preliminary support in MLRISC for Staged Allocation, a technique
1261    for specifying calling conventions (see
1262    http://www.eecs.harvard.edu/~nr/pubs/staged-abstract.html).
1263    Initially, we plan to use this code to generate C calls for the AMD64.
1264    
1265    The staged allocation code base resides in MLRISC/staged-allocation,
1266    and specialized calling conventions go in MLRISC/ARCH/staged-allocation.
1267    
1268    ----------------------------------------------------------------------
1269    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1270    Date: 2007/02/20
1271    Description:
1272    
1273      Bug fix: when SaveCState was called with two values to save, a subsequent
1274      GC could cause the RestoreCState to fail because the saved state had been
1275      promoted to tagless pair.
1276    
1277    ----------------------------------------------------------------------
1278    Name: Allen Leung (leunga (at) reservoir (dot) com)
1279    Date: 2007/02/20 19:08:00 EST
1280    Description:
1281    
1282        Bug triggered by:
1283    
1284        val a1 = Word8Array.array(a1, 0w0);
1285        val _  = Word8Array.update(a1, 0, 0w128);
1286    
1287        x86MCEmitter crashed when the immediate operand to MOVB was outside
1288    of the range -128 ... 127.  I've changed the code so that the range
1289    check is disabled.   Only the low order 8 bits of the immediate operand
1290    are now significant.
1291    
1292    
1293    ----------------------------------------------------------------------
1294    Name: Matthias Blume (http://www.tti-c.org/blume/)
1295    Date: 2007/02/15 09:20:00 CST
1296    Description:
1297    
1298    Eliminated any mention of lexgen.  (Lexgen was an early precursor
1299    to ml-ulex.)
1300    
1301    You should update your admin directory, so the shell scripts for
1302    maintaining your local copy of the repository reflect this change.
1303    
1304    ----------------------------------------------------------------------
1305    Name: Matthias Blume (http://www.tti-c.org/blume/)
1306    Date: 2007/02/14 15:45:00 CST
1307    Description:
1308    
1309    Fixed bug in CM's parallel make facility that failed to have
1310    the master re-link modules after letting slaves compile them.
1311    
1312    ----------------------------------------------------------------------
1313    Name: Matthias Blume (http://www.tti-c.org/blume/)
1314    Date: 2007/02/12 15:10:00 CST
1315    Description:
1316    
1317    Fixed typo in ml-build script that prevented library anchors
1318    from being registered.
1319    
1320    ----------------------------------------------------------------------
1321    Name: Matthias Blume (http://www.tti-c.org/blume/)
1322    Date: 2007/02/02 15:20:00 CST
1323    Tag: release-110.62
1324    Description:
1325    
1326    New working release (110.62).  NEW BOOTFILES!
1327    
1328    ----------------------------------------------------------------------
1329    Name: Aaron Turon (http://www.cs.uchicago.edu/~adrassi)
1330    Date: 2007/01/31
1331    Description:
1332    
1333    Brought ml-lpt manual up-to-date with the code.  Many minor
1334    improvements to the tools, and a few minor bugfixes.  Prepared
1335    ml-lpt-lib for integration with new UTF8 structure.  Changed
1336    the interface for creating streams in ml-ulex (we now support
1337    stream creation from several kinds of sources).  Overall, the
1338    tools are now quite stable, and their interfaces are unlikely to
1339    change in a way that would break compatibility.  More work,
1340    however, is needed in the documentation.
1341    
1342    ----------------------------------------------------------------------
1343    Name: Matthias Blume (http://www.tti-c.org/blume/)
1344    Date: 2007/02/01 10:05:00 CST
1345    Description:
1346    
1347    Implemented library installer.  Moved CM plugin code for
1348    ml-burg, ml-lex, and ml-yacc out of CM source tree and into
1349    their respective trees.  Implemented CM plugin for ml-ulex
1350    and ml-antlr.  Used library installer for ml-burg, ml-ulex,
1351    and ml-antlr.
1352    
1353    For ml-yacc and ml-lex we continue to have permanently "plugged-in"
1354    CM tools.  (It turns out to be too messy to do otherwise because
1355    there is too much code that during installation relies on the presence
1356    of these tools -- resulting in a tricky ordering problem.)
1357    
1358    ----------------------------------------------------------------------
1359    Name: Matthias Blume (http://www.tti-c.org/blume/)
1360    Date: 2007/01/30 11:05:00 CST
1361    Description:
1362    
1363    Added SMLofNJ.shiftArgs which is like a shell's "shift" command.
1364    Modified CM's startup code to use shiftArgs as it processes
1365    command line arguments.  This way, the init code in each .sml-file
1366    or library that is mentioned at the top level will see only
1367    those arguments that have not yet been processed at this point.
1368    In other words, the init code can "seize control" and process the
1369    remaining command line.
1370    
1371    ----------------------------------------------------------------------
1372    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1373    Date: 2007/01/30
1374    Description:
1375    
1376    Added fromList function to the ORD_SET interface and lookup to the
1377    ORD_MAP interface.  See the SML/NJ Library CHANGES file for details.
1378    
1379    ----------------------------------------------------------------------
1380    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1381    Date: 2007/01/28
1382    Description:
1383    
1384    Added the UTF8 structure and signature from the Moby compiler to
1385    the SML/NJ library (and the CML library).  These modules will replace
1386    the version in the ml-lpt-lib.
1387    
1388    ----------------------------------------------------------------------
1389    Name: Matthias Blume (http://www.tti-c.org/blume/)
1390    Date: 2007/01/26 15:10:00 CST
1391    Description:
1392    
1393    Added entries to handle ml-lpt-lib.cm in installer.
1394    
1395    ----------------------------------------------------------------------
1396    Name: Matthias Blume (http://www.tti-c.org/blume/)
1397    Date: 2006/12/15 11:10:00 CST
1398    Tag: release-110.61
1399    Description:
1400    
1401    New working release (110.61).  NEW BOOTFILES!
1402    
1403    This supersedes the pre-brown-paper-bug release (see below).
1404    
1405    ----------------------------------------------------------------------
1406    Name: Matthias Blume (http://www.tti-c.org/blume/)
1407    Date: 2006/12/15 11:00:00 CST
1408    Description:
1409    
1410    Fixed brown-paper-bag bug with CM's pathname handling, which made
1411    installation fail under Win32.
1412    
1413    ----------------------------------------------------------------------
1414    Name: Matthias Blume (http://www.tti-c.org/blume/)
1415    Date: 2006/12/14 12:00:00 CST
1416    Description:
1417    
1418    Obsolete!
1419    
1420    [New working release (110.61).  NEW BOOTFILES!]
1421    
1422    ----------------------------------------------------------------------
1423    Name: John Reppy (http://cs.uchicago.edu/~jhr)
1424    Date: 2006/14/06 09:50:00 CST
1425    Description:
1426    
1427    Fixed the code in runtime/c-libs/posix-tty/{tcgetattr,tcsetattr}.c to
1428    get the c_cc termios data copied correctly.  Also moved the allocation
1429    of the string to avoid problems if it caused a GC.
1430    
1431    Thanks to Timothy Bourke for the bug report and fix.
1432    
1433    ----------------------------------------------------------------------
1434    Name: Matthias Blume (http://www.tti-c.org/blume)
1435    Date: 2006/12/08 09:50:00 CST
1436    Description:
1437    
1438    Added code to CM's "standard shell tool" implementation which
1439    causes it to tolerate (with a warning) the situation where the shell
1440    command fails (e.g., due to the shell command's non-existence)
1441    as long as all target files exist.
1442    
1443    This makes it possible to, e.g., build ml-yacc from sources even if
1444    svn checkout messed up the time stamps on files in such a way that
1445    yacc.grm is younger than yacc.grm.sml or yacc.grm.sig.  (Ml-yacc would
1446    be needed to re-process yacc.grm, but obviously it might not yet be
1447    available at that time.)
1448    
1449    ----------------------------------------------------------------------
1450    Name: John Reppy (http://cs.uchicago.edu/~jhr)
1451    Date: 2006/12/06 12:06:00 CST
1452    Description:
1453    
1454    Fixed the types of recvVecFrom, recvVecFrom', recvVecFromNB, and
1455    recvVecFromNB' in the SOCKET signature.  This error is actually
1456    in the SML Basis specification too.
1457    
1458    ----------------------------------------------------------------------
1459    Name: Matthias Blume (http://www.tti-c.org/blume/)
1460    Date: 2006/12/05 22:40:00 CST
1461    Description:
1462    
1463    CM now reports undefined anchors as errors and aborts execution
1464    rather than silently pressing on using bogus values.
1465    
1466    ----------------------------------------------------------------------
1467    Name: Matthias Blume (http://www.tti-c.org/blume/)
1468    Date: 2006/11/29 10:00:00 CST
1469    Description:
1470    
1471    Use Say.vsay for printing the "[autoloading]" message, so
1472    #set CM.Control.verbose false (or -Ccm.verbose=false) can be used
1473    to suppress them.
1474    
1475    ----------------------------------------------------------------------
1476    Name: Matthias Blume (http://www.tti-c.org/blume/)
1477    Date: 2006/11/10 11:00:00 CST
1478    Description:
1479    
1480    Fixed bug in CM where "with:" specifications that affect compilation
1481    (as opposed to parsing) were ignored.
1482    
1483    ----------------------------------------------------------------------
1484    Name: Matthias Blume (http://www.tti-c.org/blume/)
1485    Date: 2006/11/09 14:30:00 CST
1486    Tag: release-110.60
1487    Description:
1488    
1489    New working release (110.60).  NEW BOOTFILES!
1490    
1491    This is the first subversion-hosted release.  There are also changes
1492    to the directory layout.  Here is a table:
1493    
1494    (All pathnames are relative to the SML/NJ "root" directory.)
1495    
1496      config -> config
1497    
1498      src/cm -> base/cm
1499      src/compiler -> base/compiler
1500      src/runtime -> base/runtime
1501      src/system -> base/system
1502    
1503      src/cm/pgraph -> pgraph
1504    
1505      src/READMES -> base/READMES
1506      src/$notefile -> base/NOTES/$notefile
1507         for <notefile> in BOOT CVSNOTES CYGWININSTALL HISTORY INSTALL
1508                           MACOSXINSTALL WININSTALL
1509    
1510      src/smlnj-lib -> smlnj-lib
1511      src/MLRISC -> MLRISC
1512      ckit -> ckit
1513      src/cml -> cml
1514      src/eXene -> eXene
1515      src/heap2asm -> heap2asm
1516      src/lexgen -> lexgen
1517      src/ml-burg -> ml-burg
1518      src/ml-lex -> ml-lex
1519      src/ml-yacc -> ml-yacc
1520      src/ml-nlffi-lib -> nlffi/lib
1521      src/ml-nlffigen -> nlffi/gen
1522      src/smlnj-c -> smlnj-c
1523      src/tools/TraceDebugProf -> trace-debug-profile
1524    
1525    In addition, there is also a new
1526    
1527      ml-lpt
1528    
1529    directory containing two new program generator tools: ml-ulex and
1530    ml-antlr (a lexer generator that handles unicode and an ANTRL-inspired
1531    LL(k) parser generator). These tools are currently "beta-quality"
1532    
1533    The latest versios of the sources can now be obtained anonymously
1534    via subversion.  For this, it is useful to first check out
1535    
1536       svn://smlnj-gforge.cs.uchicago.edu/smlnj/admin
1537    
1538    and put the resulting directory on your shell's PATH.  This provides
1539    access to three shell scripts: checkout-all.sh, stat-all.sh,
1540    and refresh-all.sh.
1541    
1542    To create a freshly checked-out copy of the sources, do
1543    
1544       checkout-all.sh [dir]
1545    
1546    where dir is the optional SML/NJ root directory (default is ".").
1547    
1548    This creates the above directory layout.  Each subdirectory of
1549    the root is under individual subversion control.  The stat-all.sh
1550    and refresh-al.sh scripts apply "svn stat" or "svn update" to
1551    each of these subtrees.
1552    
1553    ----------------------------------------------------------------------
1554    Name: Matthias Blume (http://www.tti-c.org/blume/)
1555    Date: 2006/11/02 12:20:00 CST
1556    Description:
1557    
1558    Reorganized directory layout.
1559    
1560    This is a temporary solution, more reorganization is to come.
1561    
1562    The basic idea is to have a number of toplevel trees, each corresponding
1563    to a well-defined part of the overall system.  Each part can be
1564    maintained individually, even in separate source repositories,
1565    although currently we still serve everything out of the main
1566    smlnj-gforge tree.
1567    
1568    Installer and and scripts have been updated to reflect the new
1569    layout.  The installer (base/src/system/smlnj/installer) is now
1570    "scriptable" to avoid burning too much knowledge about the
1571    layout into SML source code.  The main script used by the installer
1572    is in config/actions.
1573    
1574    The main change is that many of the subdirectories of what used to
1575    be known as "src" have moved to the toplevel.  The "src" directory
1576    itself has moved down into a subtree called "base".  (We may eventually
1577    get rid of the extra level of indirection represented by "src".)
1578    
1579    The layout is now as follows:
1580    
1581      toplevel tree name | default repository
1582                         | (using gf=svn://smlnj-gforge.cs.uchicago.edu/smlnj)
1583      -------------------+----------------------------------------------------
1584      config             | $gf/config/trunk
1585                         |
1586      base               | $gf/sml/trunk
1587                         |
1588      smlnj-lib          | $gf/smlnj-lib/trunk
1589      MLRISC             | $gf/MLRISC/trunk
1590                         |
1591      ml-yacc            | $gf/ml-yacc/trunk
1592      ml-lex             | $gf/ml-lex/trunk
1593      ml-burg            | $gf/ml-burg/trunk
1594      lexgen             | $gf/lexgen/trunk
1595      heap2asm           | $gf/heap2asm/trunk
1596                         |
1597      cml                | $gf/cml/trunk
1598      eXene              | $gf/eXene/trunk
1599      ckit               | $gf/ckit/trunk
1600      nlffi              | $gf/nlffi/trunk
1601                         |
1602      smlnj-c            | $gf/smlnj-c/trunk
1603    
1604    In $gf/admin there are a few useful shell scripts for checking out
1605    and maintaining the entire collection of trees:
1606    
1607       admin/checkout-all.sh [dir]
1608          -- optionally creates dir and checks out all trees from their
1609             default repositories; if dir is missing, checkout into .
1610       admin/refresh-all.sh [dir]
1611          -- looks at all trees (from the above list) in dir (default: .)
1612             and runs "svn update" if the tree exists and is under
1613             subversion control;
1614             non-existing or non-subversion trees are skipped
1615       admin/stat-all.sh [dir]
1616          -- like refresh-all.sh, but runs "svn stat" instead
1617    
1618    ----------------------------------------------------------------------
1619    Name: Matthias Blume (http://www.tti-c.org/blume/)
1620    Date: 2006/10/05 11:30:00 CDT
1621    Tag: blume-20061005-merge-amd64
1622    Description:
1623    
1624    Merged code for AMD64 backend (Mike Rainey's work).
1625    Everything is hooked up but untested.
1626    
1627    ----------------------------------------------------------------------
1628    Name: Matthias Blume (http://www.tti-c.org/blume/)
1629    Date: 2006/05/17 14:00:00 CST
1630    Tag: Release_110_59
1631    Description:
1632    
1633    New working version (110.59).  NEW BOOTFILES!
1634    
1635    I am freezing 110.59.  Changes other than the version-number increase:
1636    
1637      eXene:
1638    
1639         * committed changes to eXene from Alley Stoughton:
1640             "fixed bugs in X authorization and resource handling, as well
1641              as in the pile and viewport widgets"
1642    
1643      Runtime:
1644        * fixed linking problem with NetBSD 3.x.
1645    
1646      Lexgen:
1647        * lexgen tool handles non-ascii characters in 7-bit mode the same
1648          way that ml-lex does
1649    
1650        * lexgen propagates exceptions the same way that ml-lex does
1651    
1652      CML:
1653        * Fixed a bug in the SyncVar polling functions (iGetPoll,
1654          mTakePoll, and mGetPoll) that could lead to livelock.
1655    
1656    ----------------------------------------------------------------------
1657    Name: Matthias Blume (http://www.tti-c.org/blume/)
1658    Date: 2006/05/12 15:20:00 CST
1659    Tag: blume-20060515-makedepend
1660    Description:
1661    
1662    Implemented ml-makedepend (i.e., CM.sources) in a better (more robust)
1663    way.  This should hopefully fix the ml-makedepend problem permanently.
1664    
1665    ----------------------------------------------------------------------
1666    Name: Matthias Blume (http://www.tti-c.org/blume/)
1667    Date: 2006/05/12 15:15:00 CST
1668    Tag: blume-20060512-makedepend
1669    Description:
1670    
1671    Fixed long-standing bug with ml-makedepend where it would output a
1672    spurious dependency to a non-existing file.  (This is a simple fix.
1673    It might need further looking into.)
1674    
1675    ----------------------------------------------------------------------
1676    Name: Matthias Blume (http://www.tti-c.org/blume/)
1677    Date: 2006/04/20 10:30:00 CDT
1678    Tag: blume-20060420-heap2exec
1679    Description:
1680    
1681    Committed patches received from Johannes 5 Joemann (joemann@befree.free.de)
1682    that enable heap2exec under Linux and FreeBSD.
1683    
1684    ----------------------------------------------------------------------
1685    Name: John Reppy
1686    Date: 2006/04/14
1687    Tag:
1688    Description:
1689    
1690    MLRISC changes:
1691      1) renamed GAS_PSEUDO_OPS to AS_PSEUDO_OPS and put it in its own file.
1692      2) added support for NOTB and XORB operators in pseudo-op expressions
1693      3) added DarwinPseudoOp functor that supports Darwin's assembler syntax.
1694      4) added support for 64-bit integer literals
1695    
1696    ----------------------------------------------------------------------
1697    Name: Matthias Blume (http://www.tti-c.org/blume/)
1698    Date: yyyy/mm/dd
1699    Tag: Release_110_58
1700    Description:
1701    
1702    New working version (110.58).  NEW BOOTFILES!
1703    
1704    ----------------------------------------------------------------------
1705    Name: Matthias Blume (http://www.tti-c.org/blume/)
1706    Date: 2006/03/01 22:15:00 CST
1707    Tag: blume-20060301-lexgen
1708    Description:
1709    
1710    Incorporated several bugfixes to lexgen.  Compiler now compiles to
1711    fixpoint when using lexgen instead of ml-lex.
1712    
1713    ----------------------------------------------------------------------
1714    Name: Matthias Blume (http://www.tti-c.org/blume/)
1715    Date: 2006/02/28 22:45:00 CST
1716    Tag: blume-20060228-lexgen
1717    Description:
1718    
1719    Removed ml-flex and added lexgen instead, using Aaron Turon's newly
1720    provided tarball.  The generated lexers still have problems.
1721    
1722    ----------------------------------------------------------------------
1723    Name: Matthias Blume (http://www.tti-c.org/blume/)
1724    Date: 2006/02/26 23:30:00 CST
1725    Tag: blume-20060226-ml-flex
1726    Description:
1727    
1728    Removed ml-flex' dependency on regexp-lib.cm.  Turned installation
1729    of ml-flex on by default.
1730    
1731    ----------------------------------------------------------------------
1732    Name: Matthias Blume (http://www.tti-c.org/blume/)
1733    Date: 2006/02/24 16:30:00 CST
1734    Tag: blume-20060224-ml-flex
1735    Description:
1736    
1737    Added ml-flex sources.  Partially integrated, but should not be
1738    turned on yet!  (Read: leave it commented-out in config/targets!)
1739    
1740    ----------------------------------------------------------------------
1741    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1742    Date: 2006/02/23
1743    Tag: jhr-20060223-x86-64
1744    Description:
1745    Changes to support building on x86-64 systems (using the 32-bit mode).
1746    Also cleaned up signal handling on Linux.  Support for pre-2.2 Linux
1747    kernels dropped.
1748    
1749    ----------------------------------------------------------------------
1750    Name: Allen Leung (leunga (at) reservoir (dot) com)
1751    Date: 2006/02/22 15:07:00 EST
1752    Tag: leunga-20060222-mdl-gen
1753    Description:
1754    
1755      CM has changed.  Updated the script for rebuilding the MLRISC generated
1756    files.
1757    
1758    ----------------------------------------------------------------------
1759    Name: Matthias Blume (http://www.tti-c.org/blume/)
1760    Date: 2006/02/14 17:30:00 CST
1761    Tag: blume-20060214-intel-mac
1762    Description:
1763    
1764    Hooked code for Darwin-specific Intel ABI into main compiler.
1765    (This is a temporary solution which relies on the fact that the
1766    compiler itself does not use NLFFI.  Eventually we need to divorce
1767    intel mac from generic x86 unix code and make separate sets of binaries.)
1768    
1769    ----------------------------------------------------------------------
1770    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1771    Date: 2006/02/13
1772    Tag: jhr-20060213-intel-mac
1773    Description:
1774    Changed MLRISC x86 CCalls for partial support of MacOS X ABI.
1775    
1776    ----------------------------------------------------------------------
1777    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1778    Date: 2006/02/06
1779    Tag: jhr-20060206-intel-mac
1780    Description:
1781    Changes to support MacOS X on Intel hardware.  The C-calls support in
1782    MLRISC must also be updated to support the MacOS X ABI.
1783    
1784    ----------------------------------------------------------------------
1785    Name: Matthias Blume (http://www.tti-c.org/blume/)
1786    Date: 2005/12/16 00:15:00 CST
1787    Tag: blume-20051216-cm
1788    Description:
1789    
1790    Improved error reporting and handling in CM.
1791    
1792    ----------------------------------------------------------------------
1793    Name: Matthias Blume (http://www.tti-c.org/blume/)
1794    Date: 2005/11/21 14:00:00 CST
1795    Tag: blume-20051121-html-lib
1796    Description:
1797    
1798    Enabling $/html-lib.cm in config/preloads did not work.  This is fixed
1799    now.  (Since the anchor mapping for html-lib.cm is not yet in effect
1800    at the time when config/preloads is processed, the library has to
1801    be referred to by another name.  In 110.57 this would be
1802    $SMLNJ-LIB/HTML/html-lib.cm.  I arranged for $smlnj/smlnj-lib/html-lib.cm
1803    to be valid as well.)
1804    
1805    Thanks to Todd Wilson (Fresno) for alerting me to this issue.
1806    
1807    ----------------------------------------------------------------------
1808    Name: Matthias Blume (http://www.tti-c.org/blume/)
1809    Date: 2005/11/19 13:45:00 CST
1810    Tag: Release_110_57
1811    Description:
1812    
1813    Moved release tag for 110.57.
1814    
1815    ----------------------------------------------------------------------
1816    Name: Matthias Blume (http://www.tti-c.org/blume/)
1817    Date: 2005/11/19 23:35:00 CST
1818    Tag: blume-20051119-fish
1819    Description:
1820    
1821    Fixed a problem in config/install.sh where it tries to "fish" the
1822    name of the CM metadata directory from the wrong place (because
1823    the physical location of basis.cm has changed).  Also, corrected the
1824    path anchor for $/html-lib.cm.  (Thanks to M. Fluet for pointing out
1825    these problems.)
1826    
1827    ----------------------------------------------------------------------
1828    Name: Matthias Blume (http://www.tti-c.org/blume/)
1829    Date: 2005/11/16 14:30:00 CST
1830    Tag: blume-orig-110_57
1831    Description:
1832    
1833    New working version (110.57).  NEW BOOTFILES!
1834    
1835    UPDATE: The release tag has been moved to include a fix for a brown-paper-
1836            bag glitch (see above).
1837    
1838    ----------------------------------------------------------------------
1839    Name: Matthias Blume (http://www.tti-c.org/blume/)
1840    Date: 2005/11/16 10:25:00 CST
1841    Tag: blume-22051116-btrace
1842    Description:
1843    
1844    Fixed problem with bogus exception message when using back-trace
1845    facility.
1846    
1847    ----------------------------------------------------------------------
1848    Name: Matthias Blume (http://www.tti-c.org/blume/)
1849    Date: 2005/11/15 22:35:00 CST
1850    Tag: blume-22051115-array2copy
1851    Description:
1852    
1853    Added simple implementation of Array2.copy.  (Warning: mostly untested.)
1854    
1855    ----------------------------------------------------------------------
1856    Name: Matthias Blume (http://www.tti-c.org/blume/)
1857    Date: 2005/11/15 21:35:00 CST
1858    Tag: blume-22051115-versiontool
1859    Description:
1860    
1861    Reversed change to src/system/smlnj/internals/versiontool.cm.  This
1862    file gets loaded as a tool -- by the equivalent of CM.make during the
1863    run of CMB.make.  Thus, CMB's path configuration is meaningless for
1864    it.  Instead, it has the status of "user code", so it should use
1865    $/basis.cm to refer to the Basis library.  (At least that's true for
1866    the purpose of bootstrapping the previous change.  In the future it
1867    might make sense to have versiontool.cm refer to
1868    $smlnj/basis/basis.cm, i.e., the version of the Basis that the
1869    compiler itself uses.)
1870    
1871    Also patched src/system/testml to have it activate those extra anchor
1872    bindings in config/extrapathconfig.
1873    
1874    ----------------------------------------------------------------------
1875    Name: Matthias Blume (http://www.tti-c.org/blume/)
1876    Date: 2005/11/15 16:35:00 CST
1877    Tag: blume-22051115-libraries
1878    Description:
1879    
1880    This change affects the way the following libraries are tied into
1881    the system:
1882    
1883       $/basis.cm
1884       $/smlnj-lib.cm
1885       $/pp-lib.cm
1886       $/controls-lib.cm
1887       $/html-lib.cm
1888       $/ml-yacc-lib.cm
1889    
1890    These libraries are now internally (as seen from the source code
1891    of the implementation itself) known by the following names:
1892    
1893       $smlnj/basis/basis.cm
1894       $smlnj/smlnj-lib/smlnj-lib.cm
1895       $smlnj/smlnj-lib/pp-lib.cm
1896       $smlnj/smlnj-lib/controls-lib.cm
1897       $smlnj/smlnj-lib/html-lib.cm
1898       $smlnj/ml-yacc/ml-yacc-lib.cm
1899    
1900    This makes it possible to work with code that requires different
1901    versions of these libraries, and which refers to these libraries using
1902    their "default" names (i.e., the first set of names above).  In other
1903    words, one can un-define or re-define those default names without
1904    compromising the proper functioning of the compiler itself.
1905    
1906    A similar procedure had already been performed for several of the
1907    MLRISC libraries that are linked into the compiler.  I did some
1908    cleanup on this code.
1909    
1910    A new file in the config directory (named extrapathconfig) is
1911    responsible for setting up path anchors that the compiler itself does
1912    not need, but that are typically required by user code.
1913    
1914    ----------------------------------------------------------------------
1915    Name: Matthias Blume
1916    Date: 2005/11/07 17:05:00 CST
1917    Tag: blume-20051107-slice
1918    Description:
1919    
1920    Fixed erroneous out-of-bounds test in the "update" function of
1921    various *ArraySlice modules.  (Thanks to Vesa A. Norrman for pointing
1922    out the problem.)
1923    
1924    Pushed some Basis changes through ML-Lex, CML, and eXene.
1925    
1926    ----------------------------------------------------------------------
1927    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1928    Date: 2005/11/07
1929    Description:
1930    Fixed a Basis incompatibility: The depreciated function Substring.all
1931    was removed (use Substring.full instead).
1932    
1933    ----------------------------------------------------------------------
1934    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1935    Date: 2005/11/05
1936    Description:
1937    Tweaked interval set API in SML/NJ library; see the CHANGES file for details.
1938    
1939    ----------------------------------------------------------------------
1940    Name: Matthias Blume (http://www.tti-c.org/blume/)
1941    Date: 2005/11/02 16:25:00 CST
1942    Tag: blume-20051102-hex
1943    Description:
1944    
1945    * Runtime system bootstrap code now accepts hex digits in BOOTLIST
1946      in either upper case or lower case format.
1947    * Pushed changes to names of Pack<N>{Big,Little} structures through
1948      CML and eXene.
1949    
1950    ----------------------------------------------------------------------
1951    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1952    Date: 2005/11/02
1953    Description:
1954    Fixed a Basis incompatibility: Pack<N>{Big,Little} structures should
1955    be called PackWord<N>{Big,Little}.
1956    
1957    ----------------------------------------------------------------------
1958    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1959    Date: 2005/10/28
1960    Description:
1961    Fixed a minor Basis incompatibility: hex digits should be upper case.
1962    
1963    ----------------------------------------------------------------------
1964    Name: Matthias Blume (blume (at) tti - c (dot) org)
1965    Date: 2005/10/25 16:00:00 CDT
1966    Tag: Release_110_56
1967    Description:
1968    
1969    New working version (110.56).  NEW BOOTFILES!
1970    
1971    ----------------------------------------------------------------------
1972    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1973    Date: 2005/10/25
1974    Description:
1975    Added interval sets to utility library (signatures INTERVAL_DOMAIN
1976    and INTERVAL_SET, and functor IntervalSetFn).
1977    
1978    ----------------------------------------------------------------------
1979    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1980    Date: 2005/10/14
1981    Description:
1982    Add Zhong Shao's fix for datatype equality functions.
1983    
1984    ----------------------------------------------------------------------
1985    Name: Allen Leung (leunga (at) reservoir (dot) com)
1986    Date: 2005/10/14 12:30:00 EST
1987    Tag: leunga-20051014-x86-spill
1988    Description:
1989    
1990    Bug fix a bug found by Carl Hauser.
1991    There was a typo in the reload code for FCMP in x86SpillInstr.sml.
1992    
1993    ----------------------------------------------------------------------
1994    Name: Allen Leung (leunga (at) reservoir (dot) com)
1995    Date: 2005/10/14 11:15:00 EST
1996    Tag: leunga-20051014-x86-asm
1997    Description:
1998    
1999    Removed some debugging code in file x86Asm.sml.
2000    The function emit_operand was printing out debugging output.
2001    
2002    ----------------------------------------------------------------------
2003    Name: John Reppy
2004    Date: 2005/07/27
2005    Tag:
2006    Description:
2007    
2008    Fixed ml-lex to recognize "\r" as representing carriage return.
2009    
2010    ----------------------------------------------------------------------
2011    Name: John Reppy
2012    Date: 2005/07/27
2013    Tag:
2014    Description:
2015    
2016    Fixed ml-yacc to work on files with non-native end-of-line
2017    encodings (e.g., Windows text file on a Unix system).
2018    
2019    ----------------------------------------------------------------------
2020    Name: John Reppy
2021    Date: 2005/07/20
2022    Tag:
2023    Description:
2024    
2025    Added changes from Dominic Evans (oldmanuk (at) gmail (dot) com)
2026    to support HPUX 11.
2027    
2028    ----------------------------------------------------------------------
2029    Name: John Reppy
2030    Date: 2005/07/06
2031    Tag:
2032    Description:
2033    
2034    Changes to the SML/NJ library.  See smlnj-lib/CHANGES for details.
2035    
2036    ----------------------------------------------------------------------
2037    Name: Matthias Blume (blume (at) tti - c (dot) org)
2038    Date: 2005/07/06 00:45:00 CDT
2039    Tag: blume-20050706-slice-copy
2040    Description:
2041    
2042    Fixed reversed logic for deciding whether to "copy up" or "copy down"
2043    in *-array-slice.sml.
2044    
2045    ----------------------------------------------------------------------
2046    Name: Allen Leung (leunga (at) reservoir (dot) com)
2047    Date: 2005/05/31 17:00:00 EST
2048    Tag: leunga-20050531-cygwin-fault-2
2049    Description:
2050    
2051    A typo in the cygwin code fixed.
2052    
2053    ----------------------------------------------------------------------
2054    Name: Allen Leung (leunga (at) reservoir (dot) com)
2055    Date: 2005/05/31 16:47:00 EST
2056    Tag: leunga-20050531-cygwin-fault
2057    Description:
2058    
2059    Updated Cygwin's fault/signal handling to match the Windows version.
2060    Updated the export list.
2061    
2062    ----------------------------------------------------------------------
2063    Name: Matthias Blume (blume (at) tti - c (dot) org)
2064    Date: 2005/05/18 13:35:00 CDT
2065    Tag: Release_110_54
2066    Description:
2067    
2068    New working version (110.54).  NEW BOOTFILES!
2069    
2070    ----------------------------------------------------------------------
2071    Name: Matthias Blume (blume (at) tti - c (dot) org)
2072    Date: 2005/05/18 11:58:00 CDT
2073    Tag: blume-20050518-installer
2074    Description:
2075    
2076    Added support scripts for Mac OS X PackageMaker and modified
2077    config/install.sh so that it supports re-dumping a heap image
2078    after customization.
2079    
2080    ----------------------------------------------------------------------
2081    Name: Matthias Blume (blume (at) tti - c (dot) org)
2082    Date: 2005/05/18 10:55:00 CDT
2083    Tag: blume-20050518-realdiv-noovld
2084    Description:
2085    
2086    Un-overloaded / to work around bug in overloading resolution code.
2087    
2088    ----------------------------------------------------------------------
2089    Name: Matthias Blume (blume (at) tti - c (dot) org)
2090    Date: 2005/05/16 23:50:00 CDT
2091    Tag: blume-20050516-redump-heap
2092    Description:
2093    
2094    Added mechanism for re-creating a heap file for the interactive system
2095    after configuration variables have been changed.
2096    
2097       CM.redump_heap : string -> unit
2098    
2099    This is much like SMLofNJ.exportML, but starting from the resulting
2100    heap does not return to the caller of CM.redump_heap but
2101    restarts the interactive system from scratch.  The original call of
2102    CM.redump_heap does not return but ends the interactive session.
2103    Thus, CM.redump_heap is a lot like SMLofNJ.exportFn.
2104    
2105    Internally, redump_heap winds the dynamic execution context back to
2106    the point where the original heap image was created and re-executes
2107    the heap image generation code in the boot code.
2108    
2109    ----------------------------------------------------------------------
2110    Name: Matthias Blume (blume (at) tti - c (dot) org)
2111    Date: 2005/05/09 21:55:00 CDT
2112    Tag: blume-20050509-word64
2113    Description:
2114    
2115    Added a hack to the existing hack known as Word64 to make fromString
2116    behave correctly.  I am still not sure whether Word64.scan will work
2117    as specified with respect to the interaction of radix and prefix.
2118    
2119    ----------------------------------------------------------------------
2120    Name: Allen Leung (leunga (at) reservoir (dot) com)
2121    Date: 2005/05/04 11:50:00 EST
2122    Tag: leunga-20050504-checkgc
2123    Description:
2124    
2125    Added a gc protocol checking phase.  This phase is enabled with
2126    the flag "check-gc".  "debug-check-gc" turns on the verbose mode.
2127    
2128    ----------------------------------------------------------------------
2129    Name: Matthias Blume (blume (at) tti - c (dot) org)
2130    Date: 2005/05/04 10:45:00 CDT
2131    Tag: blume-20050504-intinf
2132    Description:
2133    
2134    Fixed a bug in the implementation of div and mod for IntInf.
2135    Thanks to Neophytos Michael for reporting the problem.
2136    
2137    ----------------------------------------------------------------------
2138    Name: Matthias Blume (blume (at) tti - c (dot) org)
2139    Date: 2005/05/04 10:35:00 CDT
2140    Tag: blume-20050504-join
2141    Description:
2142    
2143    Added a "join" combinator to the ParserComb module in smlnj-lib.cm.
2144    
2145    ----------------------------------------------------------------------
2146    Name: Matthias Blume (blume (at) tti - c (dot) org)
2147    Date: 2005/02/28 23:40:00 CST
2148    Tag: blume-20050228-mVar
2149    Description:
2150    
2151    Fixed serious bug (brown paper bag variety) in new implementation of
2152    structure Atom in CML.  (I had accidentally used a mailbox instead of
2153    an mvar, leaving the door open for races.)
2154    
2155    ----------------------------------------------------------------------
2156    Name: Matthias Blume (blume (at) tti - c (dot) org)
2157    Date: 2005/02/25 15:00:00 CST
2158    Tag: Release_110_53
2159    Description:
2160    
2161    New working version (110.53).  NEW BOOTFILES!
2162    
2163    ----------------------------------------------------------------------
2164    Name: Matthias Blume (blume (at) tti - c (dot) org)
2165    Date: 2005/02/25 14:50:00 CST
2166    Tag: blume-20050225-susp
2167    Description:
2168    
2169    Brought back SMLofNJ.Susp.  The underlying suspension type is the one
2170    implemented in Core -- which means that it is the same as the one used
2171    by the lazy extension.
2172    
2173    ----------------------------------------------------------------------
2174    Name: Matthias Blume (blume (at) tti - c (dot) org)
2175    Date: 2005/02/24 16:50:00 CST
2176    Tag: blume-20050224-cml-atom
2177    Description:
2178    
2179    Simpler and at the same time more general implementation of structure
2180    Atom in CML.
2181    
2182    ----------------------------------------------------------------------
2183    Name: Matthias Blume (blume (at) tti - c (dot) org)
2184    Date: 2005/02/15 17:35:00 CST
2185    Tag: blume-20050215-tools
2186    Description:
2187    
2188    Created new "tools" directory under "src" and moved "TraceDebugProf"
2189    there.
2190    
2191    ----------------------------------------------------------------------
2192    Name: Matthias Blume (blume (at) tti - c (dot) org)
2193    Date: 2005/02/10 17:55:00 CST
2194    Tag: blume-20050210-longlong
2195    Description:
2196    
2197    Implemented "long long" arguments and results for NLFFI.  (Only the
2198    PPC/MacOS implementation is complete, the other backends still need to
2199    be updated.)
2200    
2201    ----------------------------------------------------------------------
2202    Name: Matthias Blume (blume (at) tti - c (dot) org)
2203    Date: 2005/01/24 17:40:00 CST
2204    Tag: blume-20050124-mlyacc
2205    Description:
2206    
2207    Minor cleanup in ML-Yacc rule printing mechanism.  This should fix a
2208    problem with certain "as" patterns which previously got rendered
2209    using incorrect syntax.
2210    
2211    ----------------------------------------------------------------------
2212    Name: Matthias Blume (blume (at) tti - c (dot) org)
2213    Date: 2005/01/18 12:00:00 CST
2214    Tag: blume-20050118-profile
2215    Description:
2216    
2217    Made time profiling code (interrupt handler) in runtime system aware
2218    of new array representation.
2219    
2220    ----------------------------------------------------------------------
2221    Name: Matthias Blume (blume (at) tti - c (dot) org)
2222    Date: 2005/01/14 18:00:00 CST
2223    Tag: blume-20050114-heap2exec
2224    Description:
2225    
2226    Implemented new (but still experimental) heap2exec facility.  This is
2227    tested under Mac OS X and should work under Linux (will test shortly).
2228    It will probably also work on the Sparc (will test some time later).
2229    
2230      - removed old "HACKED_STANDALONE" hack from runtime
2231    
2232    To be able to test this, uncomment the request for "heap2asm" in
2233    config/targets prior to installation.  (Notice that this is different
2234    from "heap2exec" mentioned below.  Not a typo.)
2235    
2236    To perform an actual test, run the command
2237    
2238       $ bin/heap2exec heapfile execfile
2239    
2240    (You can put heap2exec on your shell's path.)
2241    
2242    For example, run
2243    
2244      $ bin/heap2exec bin/.heap/ml-yacc.ppc-darwin mly
2245    
2246    This will create a standalone executable called "mly" which you can
2247    then invoke directly as a command.
2248    
2249    ----------------------------------------------------------------------
2250    Name: Matthias Blume (blume (at) tti - c (dot) org)
2251    Date: 2005/01/07 11:44:00 CST
2252    Tag: blume-20050107-mlstring
2253    Description:
2254    
2255    fixed off-by-one error in ML_STRING macro (globals.c)
2256    
2257    ----------------------------------------------------------------------
2258    Name: Matthias Blume (blume (at) tti - c (dot) org)
2259    Date: 2004/12/23 18:00:00 CST
2260    Tag: blume-20041223-santa
2261    Description:
2262    
2263    Made ml-build script "smarter" (but only very little).
2264    
2265    ----------------------------------------------------------------------
2266    Name: Matthias Blume (blume (at) tti - c (dot) org)
2267    Date: 2004/12/21 15:05:00 CST
2268    Tag: blume-20041221-longlong
2269    Description:
2270    
2271    * Implemented access to signed and unsigned long long data in NLFFI.
2272    (The parameter-passing part of the picture has not complete. But
2273    data structure access seems to work.)
2274    
2275    * Fixed CM's incorrect assumption that the PPC is little-endian.
2276      (On the Mac, it is big-endian.  And that's currently our only
2277      PPC platform.)
2278    
2279    ----------------------------------------------------------------------
2280    Name: Matthias Blume (blume (at) tti - c (dot) org)
2281    Date: 2004/12/21 12:50:00 CST
2282    Tag: blume-20041221-memory
2283    Description:
2284    
2285    Some cleanup in the $c/memory.cm library: separated some concerns by
2286    moving allocation code and memory access code each into their own
2287    files.
2288    
2289    ----------------------------------------------------------------------
2290    Name: Allen Leung (leunga (at) reservoir (dot) com)
2291    Date: 2004/12/17 16:12:00 EST
2292    Tag: leunga-20041217-cygwin-smlnj-home
2293    Description:
2294    
2295        The Unix I/O library of SML/NJ on cygwin does not understand
2296    Windows style pathname, so problems arise when SMLNJ_HOME is set
2297    to a Windows style pathname.  _run-sml now converts SMLNJ_HOME
2298    to a POSIX pathname on cygwin.
2299    
2300    ----------------------------------------------------------------------
2301    Name: Matthias Blume (blume (at) tti - c (dot) org)
2302    Date: 2004/12/16 13:35:00 CST
2303    Tag: Release_110_52
2304    Description:
2305    
2306    Last-minute changes incorporated into 110.52.  Release tag moved.
2307    
2308    The changes:
2309       - HashString.hashString' -> HashString.hashSubstring
2310       - bug fix in UnivariateStats
2311    
2312    ----------------------------------------------------------------------
2313    Name: Matthias Blume (blume (at) tti - c (dot) org)
2314    Date: 2004/12/15 23:40:00 CST
2315    Tag: blume-20041215-hashSubstring
2316    Description:
2317    
2318    - HashString.hashString' -> HashString.hashSubstring
2319    - corresponding changes in atom.sml
2320    - "de-compressed" (aka. un-obfuscated) code for UnivariateStats and
2321      added some comments
2322    
2323    ----------------------------------------------------------------------
2324    Name: Matthias Blume (blume (at) tti - c (dot) org)
2325    Date: 2004/12/15 15:30:00 CST
2326    Tag: (Release_110_52)
2327    Description:
2328    
2329    New working version (110.52).  NEW BOOTFILES!
2330    
2331    ----------------------------------------------------------------------
2332    Name: Matthias Blume (blume (at) tti - c (dot) org)
2333    Date: 2004/12/15 12:45:00 CST
2334    Tag: blume-20041215-spaces
2335    Description:
2336    
2337    More on the space problem (this time for Win32).
2338    
2339    ----------------------------------------------------------------------
2340    Name: Matthias Blume (blume (at) tti - c (dot) org)
2341    Date: 2004/12/14 17:30:00 CST
2342    Tag: blume-20041214-spaces
2343    Description:
2344    
2345    Hacked some of the scripts (in particular: the installer) to cope with
2346    spaces in filenames a bit better.  But beware: the current "solution"
2347    is likely still full of bugs and inherently incomplete.  (We need to
2348    do away with those shell scripts for a comprehensive solution.)
2349    
2350    ----------------------------------------------------------------------
2351    Name: Matthias Blume (blume (at) tti - c (dot) org)
2352    Date: 2004/12/13 14:45:00 CST
2353    Tag: blume-20041213-ml-makedepend
2354    Description:
2355    
2356    Fixed bug in code for ml-makedepend.
2357    
2358    ----------------------------------------------------------------------
2359    Name: Matthias Blume (blume (at) tti - c (dot) org)
2360    Date: 2004/12/09 16:30:00 CST
2361    Tag: blume-20041209-statistics
2362    Description:
2363    
2364    Added two simple but potentially useful statistics modules to SML/NJ Library.
2365    (See CHANGES file there.)
2366    
2367    ----------------------------------------------------------------------
2368    Name: Matthias Blume (blume (at) tti - c (dot) org)
2369    Date: 2004/12/01 16:50:00 CST
2370    Tag: blume-20041201-atom
2371    Description:
2372    
2373    smlnj-lib:
2374    
2375      Added function HashString.hashString' for substrings.
2376      Hand-inlined CharVector.foldl into HashString (for speed).
2377      Modified implementation of structure Atom to avoid extracting
2378      strings from substrings unless necessary.
2379      (Also see CHANGES file for smlnj-lib.)
2380    
2381    ----------------------------------------------------------------------
2382    Name: Matthias Blume (blume (at) tti - c (dot) org)
2383    Date: 2004/11/24 22:15:00 CST
2384    Tag: blume-20041124-cml
2385    Description:
2386    
2387    Made sure CML compiles when Position = Int64.
2388    
2389    ----------------------------------------------------------------------
2390    Name: Matthias Blume (blume (at) tti - c (dot) org)
2391    Date: 2004/11/24 14:30:00 CST
2392    Tag: blume-20041124-position
2393    Description:
2394    
2395    The compiler can now be compiled in a mode that makes structure Position
2396    equal to Int64.  The default, however, is unchanged (Position = Int31)
2397    for the time being.
2398    
2399    To enable 64-bit positions, use the following procedure:
2400    
2401    1. Start sml
2402    2. Autoload $smlnj/cmb.cm (if not already autoloaded)
2403    3. Type
2404          #set (CMB.symval "USE_64_BIT_POSITIONS") (SOME 1);
2405    4. Run CMB.make() as usual.
2406    
2407    This is barely tested.  The only test so far was a little SML program
2408    counting the number of characters in an 8-gigabyte file by
2409    reading it character-by-character.  That test was successful.
2410    
2411    In support of 64-bit positions, a number of new functions have been
2412    added to the runtime system.
2413    
2414    ----------------------------------------------------------------------
2415    Name: Matthias Blume (blume (at) tti - c (dot) org)
2416    Date: 2004/11/23 14:45:00 CST
2417    Tag: blume-20041123-useFile
2418    Description:
2419    
2420    Fixed a problem with unhelpful error messages related to problems with
2421    .cm- or .sml files that appear as part of the sml command line.
2422    
2423    ----------------------------------------------------------------------
2424    Name: Matthias Blume (blume (at) tti - c (dot) org)
2425    Date: 2004/11/18 15:40:00 CST
2426    Tag: Release_110_51
2427    Description:
2428    
2429    New working version (110.51).  NEW BOOTFILES!
2430    
2431    ----------------------------------------------------------------------
2432    Name: Matthias Blume (blume (at) tti - c (dot) org)
2433    Date: 2004/11/18 15:35:00 CST
2434    Tag: <none>
2435    Description:
2436    
2437    Enabled dlopen and friends for FreeBSD (as recommended by Johannes 5
2438    Joemann).
2439    
2440    ----------------------------------------------------------------------
2441    Name: Allen Leung (leunga (at) reservoir (dot) com)
2442    Date: 2004/11/17 16:05:21 EST 2004
2443    Tag: leunga-20041117-mlrisc-live-kill
2444    Description:
2445    
2446       Added support for MLTree constructs LIVE and KILL
2447    to all the architectures.
2448    
2449    ----------------------------------------------------------------------
2450    Name: Matthias Blume (blume (at) tti - c (dot) org)
2451    Date: 2004/11/13 00:20:00 CST
2452    Tag: blume-20041113-versiontool
2453    Description:
2454    
2455    - Stripped down the versiontool: It now only handles the version number.
2456      The date string is generated at bootstrap time (during makeml).
2457    
2458    - In a previous commit, fixed a minor issue with how polyequal is being
2459      translated.  In particular, the code now "looks through" abstractions.
2460      This results in slightly fewer polyEqual warnings and hopefully slightly
2461      more efficient code.  Important examples for where this matters are
2462      the new int64 and word64 types.
2463    
2464    ----------------------------------------------------------------------
2465    Name: Matthias Blume (blume (at) tti - c (dot) org)
2466    Date: 2004/11/12 00:30:00 CST
2467    Tag: blume-20041112-int64
2468    Description:
2469    
2470    Structure Int64 fully hooked in.  (The implementation is not very
2471    efficient, though.)
2472    
2473    ----------------------------------------------------------------------
2474    Name: Matthias Blume (blume (at) tti - c (dot) org)
2475    Date: 2004/11/11 17:30:00 CST
2476    Tag: blume-20041111-more64
2477    Description:
2478    
2479    All the pieces of Word64 are now there, with the exception of the
2480    conversions from and to LargeWord. (Eventually these need to be identities,
2481    but for the time being they don't even make sense because LargeWord is
2482    32-bit wide.)
2483    
2484    Also started to add similar support for Int64, but major pieces of that
2485    are still missing.
2486    
2487    ----------------------------------------------------------------------
2488    Name: Matthias Blume (blume (at) tti - c (dot) org)
2489    Date: 2004/11/11 00:15:00 CST
2490    Tag: blume-20041111-word64
2491    Description:
2492    
2493    Structure Word64 is now (almost) complete, word literals and patterns
2494    seem to work.  There are a few odd pieces missing.  In particular,
2495    I didn't do the {from,to}LargeWord parts because LargeWord is still Word32
2496    at the moment.
2497    
2498    Making Word64 official would mean that LargeWord becomes Word64.  But
2499    this requires extreme care because most word-word conversions have to
2500    go through LargeWord, so making a mistake means loss of efficiency or
2501    worse.  Eventually there will be a solution similar to (but actually
2502    simpler than) what I did with IntInf.
2503    
2504    ----------------------------------------------------------------------
2505    Name: Matthias Blume (blume (at) tti - c (dot) org)
2506    Date: 2004/11/10 18:12:00 CST
2507    Tag: blume-20041110-64bit
2508    Description:
2509    
2510    More 64-bit hacking (but still not even half-way there yet).
2511    Also, some assorted improvements to the handling of 8-bit words.
2512    
2513    ----------------------------------------------------------------------
2514    Name: Matthias Blume (blume (at) tti - c (dot) org)
2515    Date: 2004/11/09 17:50:00 CST
2516    Tag: <none>
2517    Description:
2518    
2519    Started adding some infrastructure for supporting 64-bit int- and
2520    word-types.  (Still in its very early stages.)
2521    
2522    ----------------------------------------------------------------------
2523    Name: Matthias Blume (blume (at) tti - c (dot) org)
2524    Date: 2004/10/28 10:45:00 CDT
2525    Tag: Release_110_50
2526    Description:
2527    
2528    New working version (110.50).  NEW BOOTFILES!
2529    
2530                 =====================
2531    
2532    Also:
2533    
2534      - Changend config/srcarchiveurl from a file just
2535        containing the URL string into a file containing
2536        shell script code.  The code has access to the $VERSION variable.
2537      - Made corresponding changes to config/install.sh and config/unpack.
2538      - Default contents of config/srcarchiveurl uses $VERSION and
2539        normally does not have to be edited to reflect a version change.
2540    
2541      (As a result, a version change can be done by just editing
2542       config/version, the rest is now automatic.)
2543    
2544    ----------------------------------------------------------------------
2545    Name: Matthias Blume (blume (at) tti - c (dot) org)
2546    Date: 2004/10/27 17:50:00 CDT
2547    Tag: blume-20041027-btrace-msg
2548    Description:
2549    
2550    BackTrace.monitor now also reports the source of the exception that
2551    triggered the trace.
2552    
2553    ----------------------------------------------------------------------
2554    Name: Matthias Blume (blume (at) tti - c (dot) org)
2555    Date: 2004/10/27 17:20:00 CDT
2556    Tag: blume-20041027-x86-c-calls
2557    Description:
2558    
2559    This is the HISTORY entry for two earlier commits, both concerning
2560    the x86 c-calls code in MLRISC:
2561    
2562      - added a missing LOAD in the code that deals with struct arguments
2563      - made sure the caller does not add the wrong number of bytes to the
2564        stack pointer after a call of a function returning a struct
2565        (the callee already pops the implicit argument which points to
2566         the space reserved for the result)
2567    
2568    ----------------------------------------------------------------------
2569    Name: Allen Leung (leunga (at) reservoir (dot) com)
2570    Date: 2004/10/24 14:00:00 EST
2571    Tag: leunga-20041024-x86-gas-fucomip
2572    Description:
2573    
2574       John discovered a bug in the syntax of fucomip.
2575       The opcodes FU?COMIP? have been changed to
2576    
2577           fu?comip? %st(i), %st
2578    
2579    ----------------------------------------------------------------------
2580    Name: Matthias Blume (blume (at) tti - c (dot) org)
2581    Date: 2004/10/20 15:06:00 CDT
2582    Tag: blume-20041020-standalone-backtrace
2583    Description:
2584    
2585    Added a mechanism for getting back-trace information from standalone
2586    programs.  Here is how it works:
2587    
2588       1. The part of the program from which you want to get backtrace
2589          information (usually the whole program) should be wrapped with
2590          BackTrace.monitor.  This is a (unit->'a)->'a function, and your
2591          main program could be modified from something like
2592    
2593             fun main (pgm, args) = ...
2594    
2595         to
2596    
2597            fun main (pgm, args) = BackTrace.monitor (fn () => ...)
2598    
2599       2. To be able to access BackTrace.monitor, you have to add
2600          library $smlnj-tdp/plugins.cm to the .cm file that contains your
2601          main function.
2602    
2603       3. Remove all compiled code (i.e., all the .cm/ subdirectories that
2604          CM might have created in the past for your project).
2605    
2606       4. Build the system using this command line:
2607    
2608             ml-build -Ctdp.instrument=true \$smlnj-tdp/back-trace.cm \
2609                      myprog.cm MyProg.main myprog
2610    
2611          instead of the usual
2612    
2613             ml-build myprog.cm MyProg.main myprog
2614    
2615    I changed a library name:
2616    
2617       $/trace-debug-profile.cm --> $smlnj-tdp/plugins.cm
2618    
2619    New libraries:
2620    
2621       $smlnj-tdp/back-trace.cm
2622          -- when loaded causes the back-trace plugin to be installed
2623       $smlnj-tdp/coverage.cm
2624          -- when loaded causes the coverage plugin to be installed
2625    
2626    ----------------------------------------------------------------------
2627    Name: Matthias Blume (blume (at) tti - c (dot) org)
2628    Date: 2004/10/18 16:45:00 CDT
2629    Tag: blume-20041018-groupowner
2630    Description:
2631    
2632    Added an "obsolete" warning for the "group owner" syntax to CM's parser.
2633    
2634    Eliminated group owner specs from .cm files throughout the source tree.
2635    
2636    ----------------------------------------------------------------------
2637    Name: Matthias Blume (blume (at) tti - c (dot) org)
2638    Date: 2004/10/15 15:45:00 CDT
2639    Tag: blume-20041015-coverage
2640    Description:
2641    
2642    * Test coverage tool added!
2643    * Further reorganization of tracing-, debugging-, and profiling support:
2644    
2645        - moved original BTImp -- now called BackTrace -- into a separate
2646          library called $/trace-debug-profile.cm
2647        - eliminated all mentions of BTrace from SMLofNJ.Internals
2648        - only the instrumentation mechanism is now left in the compiler proper
2649        - BackTrace module is a plugin which is NOT plugged in by default
2650        - Coverage module is another such plugin
2651    
2652    To get the benefits of any of these plugin modules, the code in
2653    question must be compiled with tdp instrumentation turned on.  This
2654    can be done by setting SMLofNJ.Internals.TDP.mode to true.
2655    (The ref cell is also controlled via the -Ctdp.instrument=... switch.)
2656    
2657    Plugins are selected at link time.  (Pre-compiled instrumented code
2658    can be re-loaded with different plugins in effect.)  When an
2659    instrumented module is linked, whatever plugins are at that time
2660    enabled will come into effect for that module.
2661    
2662    To enable the back-trace plugin, load library $/trace-debug-profile.cm
2663    and invoke BackTrace.install() (e.g., from the interactive prompt).
2664    To enable the coverage plugin, load the same library and invoke
2665    Coverage.install().
2666    
2667    Back-traces are generated automatically on uncaught exceptions and
2668    when the code in question explicitly invokes BackTrace.trigger().
2669    
2670    Coverage (and execution frequency-) information must be queried
2671    explicitly by calling Coverage.not_covered and Coverage.hot_spots.
2672    
2673    ----------------------------------------------------------------------
2674    Name: Matthias Blume (blume (at) tti - c (dot) org)
2675    Date: 2004/10/14 17:40:00 CDT
2676    Tag: blume-20041014-tdp-core
2677    Description:
2678    
2679    Snapshot of a significant overhaul of how the trace/debug/profile support
2680    is hooked into the system (specifically: Core and SMLofNJ.Internals).
2681    
2682    ----------------------------------------------------------------------
2683    Name: Matthias Blume (blume (at) tti - c (dot) org)
2684    Date: 2004/10/13 16:34:00 CDT
2685    Tag: blume-20041013-tdp
2686    Description:
2687    
2688    Some rationalization of names:
2689    
2690       structure BTrace -> structure TDPInstrument
2691       etc.
2692    
2693    This is is preparation of using the original back-trace
2694    instrumentation for other purposes.  "TDP" stands for
2695    Trace/Debug/Profile.
2696    
2697    The control flag controlling whether instrumentation is on or off is now
2698    registered under a different name, so instead of running sml as
2699    
2700     sml -Cinstrument.btrace-mode=true
2701    
2702    one has to say
2703    
2704     sml -Ctdp.instrument=true
2705    
2706    ----------------------------------------------------------------------
2707    Name: Matthias Blume (blume (at) tti - c (dot) org)
2708    Date: 2004/10/11 16:37:00 CDT
2709    Tag: blume-20041011-regions
2710    Description:
2711    
2712    Made some minor modifications to elabcore.sml to have source regions
2713    be propagated more tightly -- resulting in better (i.e., smaller)
2714    regions being reported in error- and debug messages.
2715    
2716    ----------------------------------------------------------------------
2717    Name: Matthias Blume (blume (at) tti - c (dot) org)
2718    Date: 2004/10/08 22:50:00 CDT
2719    Tag: blume-20041008-cmkw
2720    Description:
2721    
2722    Fixed handling of keywords in .cm files: After seeing "is" the lexer
2723    treats subsequent occurrences of "group", "library", "source", "is",
2724    "*", and "-" as ordinary identifiers rather than keywords.
2725    
2726    Most seriously, this fixes a problem with CM's "shell" tool.  The tool
2727    is supposed to accept a tool argument called "source", but this did
2728    not work because of the clash with the keyword.
2729    
2730    ----------------------------------------------------------------------
2731    Name: Matthias Blume (blume (at) tti - c (dot) org)
2732    Date: 2004/10/07 16:00:00 CDT
2733    Tag: blume-20041007-cleanup
2734    Description:
2735    
2736    Assorted cleanup work:
2737    
2738      - got rid of intstrmap in favor of using the library's
2739        hash table implementation
2740      - threw out most of the pathnames stuff, as it was not used anyway
2741      - simplified tokentable implementation
2742      - fixed some minor spelling errors
2743    
2744    ----------------------------------------------------------------------
2745    Name: Matthias Blume (blume (at) tti - c (dot) org)
2746    Date: 2004/10/06 15:15:15 CDT
2747    Tag: blume-20041006-handler
2748    Description:
2749    
2750    Cleaned up the absyn to reflect the invariant that HANDLE always
2751    carries a FNexp as part of the type definition.  This eliminates some
2752    superfluous sanity checks at runtime down the road.
2753    
2754    Some minor cleanup of the btrace code.
2755    
2756    ----------------------------------------------------------------------
2757    Name: Matthias Blume (blume (at) tti - c (dot) org)
2758    Date: 2004/10/01 10:20:30 CDT
2759    Tag: blume-20041001-slave
2760    Description:
2761    
2762    Added hack to make slave mode work in the presence of the version
2763    tool.  (Still, since the master does two passes over the code for
2764    CMB.make, the release number gets bumped twice when slaves are
2765    attached.  I don't know if this is worth fixing...)
2766    
2767    ----------------------------------------------------------------------
2768    Name: Matthias Blume (blume (at) tti - c (dot) org)
2769    Date: 2004/09/30 10:55:00 CDT
2770    Tag: blume-20040930-version
2771    Description:
2772    
2773    * Moved the "version" magic into its own little library under
2774      src/system/smlnj/internal.  This avoids expensive reconstruction of
2775      a stable src/compiler/core.cm.
2776    
2777    * At the same time, structure CompilerVersion is now known as
2778      structure SMLNJVersion.
2779    
2780    * Arranged for the version tool to NOT kick in when rebuilding the system
2781      (makeml -rebuild, fixpt).  Otherwise one would never reach a fixpoint.
2782      Also, loading the versiontool does not work when rebuilding the system
2783      because CM is not properly initialized at that time.
2784    
2785    ----------------------------------------------------------------------
2786    Name: Matthias Blume (blume (at) tti - c (dot) org)
2787    Date: 2004/09/29 14:00:00 CDT
2788    Tag: blume-20040929-autoversion
2789    Description:
2790    
2791    Implemented some CM magic to have
2792        file src/compiler/TopLevel/main/version.sml
2793    generated automagically.
2794    The version is taken from two files: config/version and config/release.
2795    The first is expected to contain a two-part version number such as 110.49.
2796    The second should contain a single number, but it may be missing.
2797    
2798    If the environment variable VERSIONTOOL_BUMP_RELEASE is defined at the
2799    time the version tool is loaded (which is the first time you say CMB.make),
2800    then the tool will increment the value stored in config/release every
2801    time CMB.make is invoked.
2802    
2803    The binfile format is now insensitive to anything beyond the first
2804    two components of a version number, so bumping the release does not render
2805    binfiles incompatible.  Auto-bumping can be used to keep track of versions
2806    during development without invalidating existing binfiles.
2807    
2808    In any case, every CMB.make updates the date information in version.sml.
2809    (This is the date that is printed in the banner.)
2810    
2811    ----------------------------------------------------------------------
2812    Name: Matthias Blume (blume (at) tti - c (dot) org)
2813    Date: 2004/09/28 10:53:00 CDT
2814    Tag: blume-20040928-controls
2815    Description:
2816    
2817    Some cleanup of the controls code.
2818    
2819    ----------------------------------------------------------------------
2820    Name: Matthias Blume (blume (at) tti - c (dot) org)
2821    Date: 2004/09/27 22:08:00 CDT
2822    Tag: blume-20040927-controls
2823    Description:
2824    
2825    Added two pieces of functionality to the Controls interface:
2826    
2827    1.   val save'restore: 'a control -> unit -> unit
2828    
2829       grabs the current value of the control in stage 1 and restores it
2830       in stage 2.
2831    
2832    2.   val set' : 'a control * 'a -> unit -> unit
2833    
2834       stores the given value into the control in stage 2 (i.e., delayed)
2835       but does all error checking in stage 1.
2836       (This is for string controls that need to do parse their argument --
2837        something that might fail.  In some cases, notably in CM, one
2838        already knows the intended argument but wants to delay the actual
2839        assignment until a time when error recovery would be more difficult.)
2840    
2841    Changed the handling of controls in tool arguments to classes "sml" and
2842    "lazysml":
2843       - use Controls.save'restore as a more robust way of restoring the
2844         old value (in particular: without having to re-parse the string)
2845       - use controls to handle the "overload" keyword in the init group
2846         (I believe this change actually fixes a long-standing obscure bug.)
2847    
2848    ----------------------------------------------------------------------
2849    Name: Matthias Blume (blume (at) tti - c (dot) org)
2850    Date: 2004/09/27 17:00:00 CDT
2851    Tag: blume-20040927-lazysml
2852    Description:
2853    
2854    Added a new tool class called "lazysml" to CM's tool chest.  The only
2855    difference to "sml" is that compilation is done with Control.lazysml
2856    set to true.  A source of class "lazysml" is automatically recognized
2857    by a file name suffix of ".lml".
2858    
2859    In addition to the above feature, the original class "sml" now also
2860    supports a tool argument "lazy" which has the same effect.  As a
2861    result, the following three lines are equivalent:
2862    
2863        foo.sml : lazysml
2864        foo.sml : sml (lazy)
2865        foo.sml (lazy)
2866    
2867    The setting goes into effect both during parsing and during
2868    compilation.  The original setting is restored right after parsing and
2869    after compilation, respectively.
2870    
2871    In addition to all the above, there is also a general mechanism to set
2872    ANY of the "controls" that are available at the command line via
2873    "-C..." on a per-sml-file basis.  The same rules that apply for "lazy"
2874    apply as well. (In fact, "lazy" is implemented as a special case of
2875    the general mechanism.)
2876    
2877    The .cm file syntax uses a new keyword tool argument called "with".
2878    There are several ways of indicating the desired settings:
2879    
2880        foo.sml (with:parser.quotations=true)
2881        foo.sml (with:(name:parser.quotations value:true))
2882        foo.sml (with:(name:name1 value:value1 name:name2 value:value2 ...))
2883        foo.sml (with:(name1=value1 name2=value2 ...))
2884        foo.sml (with:(name1=value1 name:name2 value:value2 name3=value3 ...))
2885    
2886        etc.
2887    
2888    Another possible abbreviation is to leave out the =v or value:v part
2889    if the name refers to a boolean control (in which case the value is
2890    taken to be true).  Thus, one could get lazy sml also by saying:
2891    
2892        foo.sml (with:parser.lazy-keyword=true)
2893        foo.sml (with:parser.lazy-keyword)
2894        foo.sml (with:(name:parser.lazy-keyword value:true))
2895        foo.sml (with:(name:parser.lazy-keyword))
2896    
2897    ----------------------------------------------------------------------
2898    Name: Matthias Blume (blume (at) tti - c (dot) org)
2899    Date: 2004/09/24 16:22:00 CDT
2900    Tag: blume-20040924-ppc-long-branch
2901    Description:
2902    
2903    Turned message about "emiting long form of branch" off by default.
2904    Added a control flag to turn it back on when desired.
2905    
2906    ----------------------------------------------------------------------
2907    Name: Matthias Blume (blume (at) tti - c (dot) org)
2908    Date: 2004/09/24 16:05:00 CDT
2909    Tag: blume-20040924-rounding
2910    Description:
2911    
2912    Applied patch for setting rounding modes under Mac OS X.  Thanks to
2913    Melissa O'Neill for providing the code!
2914    
2915    ----------------------------------------------------------------------
2916    Name: Matthias Blume (blume (at) tti - c (dot) org)
2917    Date: 2004/09/23 17:30:00 CDT
2918    Tag: blume-20040923-envvars
2919    Description:
2920    
2921    1. Changed definition of type ControlRegistry.registry_tree to
2922       include control_info (i.e., the name of the controlling environment
2923       variable).
2924    
2925    2. Added command-line flags -e and -E to print the names of environment
2926       variables that can be used to control internal settings.
2927       (This uses the new API mentioned in 1.)
2928    
2929    ----------------------------------------------------------------------
2930    Name: Matthias Blume (blume (at) tti - c (dot) org)
2931    Date: 2004/09/13 16:50:00 CDT
2932    Tag: Release_110_49
2933    Description:
2934    
2935    New working version (110.49).  NEW BOOTFILES!
2936    
2937    ----------------------------------------------------------------------
2938    Name: Matthias Blume
2939    Date: 2004/09/13 16:20:00 CDT
2940    Tag: blume-20040913-config-mlrisc
2941    Description:
2942    
2943    Put target "mlrisc" back into the default list.
2944    (There is no harm in having it, and some users have expressed their
2945    wish to have "mlrisc" included by default.)
2946    
2947    ----------------------------------------------------------------------
2948    Name: John Reppy
2949    Date: 2004/09/13
2950    Tag: jhr-20040913-signals
2951    Description:
2952    
2953    Fixed the signal masking code to properly nest mask/unmask operations
2954    on a per-signal basis.
2955    
2956    ----------------------------------------------------------------------
2957    Name: Matthias Blume (blume (at) tti - c (dot) org)
2958    Date: 2004/09/08 13:20:00 CDT
2959    Tag: blume-20040908-heap-magic
2960    Description:
2961    
2962    Bumped the heap macig number to 0x09082004 to account for the changed
2963    layout of the ML frame under MacOS X.
2964    
2965    ----------------------------------------------------------------------
2966    Name: Allen Leung (leunga (at) reservoir (dot) com)
2967    Date: 2004/09/03 11:26:00 EST
2968    Tag: leunga-20040903-cygwin-install
2969    Description:
2970    
2971       Added a patch to _arch-n-opsys to enable the Cygwin runtime.
2972    The Cygwin runtime is turned on by setting the environment
2973    variable SMLNJ_CYGWIN_RUNTIME to 1.
2974    
2975    ----------------------------------------------------------------------
2976    Name: Matthias Blume (blume (at) tti - c (dot) org)
2977    Date: 2004/08/31 17:15:00 CDT
2978    Tag: blume-20040831-core
2979    Description:
2980    
2981    Added some exports to src/compiler/core.cm upon request by J. Joemann.
2982    
2983    ----------------------------------------------------------------------
2984    Name: Matthias Blume (blume (at) tti - c (dot) org)
2985    Date: 2004/08/30 17:55:00 CDT
2986    Tag: blume-20040830-installer
2987    Description:
2988    
2989    Upon request by Johannes Joemann:
2990    
2991    - improved ML code of installer to fall back to coping when renaming
2992      fails (i.e., when source and target are on different file systems);
2993      the code compiles but has yet to be tested in anger
2994    - removed mlrisc from list of default targets (config/targets)
2995    
2996    ----------------------------------------------------------------------
2997    Name: Matthias Blume (blume (at) tti - c (dot) org)
2998    Date: 2004/08/27 17:20:00 CDT
2999    Tag: blume-20040827-ptreql
3000    Description:
3001    
3002    Added ptreql primop to structure InlineT (upon request from Larry
3003    Paulson).
3004    
3005    ----------------------------------------------------------------------
3006    Name: Allen Leung (leunga (at) reservoir (dot) com)
3007    Date: 2004/08/15 21:21:00 EST
3008    Tag: leunga-110_48-udgraph
3009    Description:
3010    
3011    Another bug fix from Carl Hauser:
3012    
3013    diff /net/niflab/smlnj48/src/MLRISC/graphs/udgraph.sml udgraph.sml
3014    > 48c48
3015    > <              | rmv((e as (k,_))::es,L) = rmv(es,if k = i then es else
3016    > e::L)
3017    > ---
3018    > >              | rmv((e as (k,_))::es,L) = rmv(es,if k = i then L else e::L)
3019    > Without this, any deletion of an edge in an undirected graph does severe
3020    > violence to the graph.
3021    
3022    ----------------------------------------------------------------------
3023    Name: Allen Leung (leunga (at) reservoir (dot) com)
3024    Date: 2004/08/10 23:35:00 EST
3025    Tag: leunga-110_48-ppc
3026    Description:
3027    
3028       The IBM/MacOS syntax switch on PPC was incorrectly swapped.
3029    
3030    ----------------------------------------------------------------------
3031    Name: Matthias Blume (blume (at) tti - c (dot) org)
3032    Date: 2004/08/10 12:00:00 CDT
3033    Tag: Release_110_48
3034    Description:
3035    
3036    New working version (110.48).  NEW BOOTFILES!
3037    
3038    ----------------------------------------------------------------------
3039    Name: Allen Leung (leunga (at) reservoir (dot) com)
3040    Date: 2004/08/09 12:21:00 EST
3041    Tag: leunga-110_47-dijsktra
3042    Description:
3043    
3044    Bug fix from Carl Hauser:
3045    
3046    single_source_shortest_paths in dijkstra.sml was observed to get wrong
3047    answers (by comparing to single_source_shortest_paths in bellman-ford.sml).
3048    
3049    The problem is that following the expression A.update(dist,s,Num.zero)
3050    it is necessary to update the priority queue using Q.decreaseWeight(Q,s).
3051    
3052    ----------------------------------------------------------------------
3053    Name: Matthias Blume (blume (at) tti - c (dot) org)
3054    Date: 2004/08/06 18:10:00 CDT
3055    Tag: blume-20040806-cmdline
3056    Description:
3057    
3058    Fiddled with handling of command-line options:
3059    
3060      * sml now quits after processing the command line
3061        if -H, -S, -h<n>, or -s<n> appears as the last
3062        command-line argument
3063      * a new option -q terminates the session when encountered on
3064        the command line; subsequent arguments will be ignored
3065      * bug fixes: short (erroneous) arguments are no longer ignored
3066        completely
3067    
3068    ----------------------------------------------------------------------
3069    Name: Allen Leung (leunga (at) reservoir (dot) com)
3070    Date: 2004/08/04 18:17:00 EST
3071    Tag: leunga-110_47-ppc-ibm-asm
3072    Description:
3073    
3074      - Added minimal IBM assembly syntax support for PowerPC.
3075    
3076      - Cygwin: manually changed the file cygwin.def.  Some exported symbols have
3077        been altered in the runtime.  We need an automatic way to keep the file
3078        in sync.
3079    
3080    ----------------------------------------------------------------------
3081    Name: Matthias Blume (blume (at) tti - c (dot) org)
3082    Date: 2004/08/04 14:00:00 CDT
3083    Tag: Release_110_47
3084    Description:
3085    
3086    New working version (110.47).  NEW BOOTFILES!
3087    
3088    ----------------------------------------------------------------------
3089    Name: Matthias Blume (blume (at) tti - c (dot) org)
3090    Date: 2004/08/03 14:25:00 CDT
3091    Tag: blume-20040803-callingconv
3092    Description:
3093    
3094    Added low-level support for choosing C calling conventions by
3095    twiddling the type of rawccall.  (See
3096    src/compiler/Semant/types/cproto.sml for details.)
3097    
3098    ----------------------------------------------------------------------
3099    Name: Matthias Blume (blume (at) tti - c (dot) org)
3100    Date: 2004/08/02 15:55:00 CDT
3101    Tag: blume-20040802-backout
3102    Description:
3103    
3104    Backed out of change to win32-filesys.c.  The earlier patch to
3105    get_file_time caused CM to produce files with the wrong time stamp.
3106    
3107    ----------------------------------------------------------------------
3108    Name: Matthias Blume (blume (at) tti - c (dot) org)
3109    Date: 2004/08/02 14:45:00 CDT
3110    Tag: blume-20040802-nlffi-win32
3111    Description:
3112    
3113    Added NLFFI support for Win32, adapted from a patch provided by David
3114    Hansel.  This is currently completely untested.  Also, the issue
3115    concerning stdcall vs. ccall is still unresolved.
3116    
3117    ----------------------------------------------------------------------
3118    Name: Matthias Blume (blume (at) tti - c (dot) org)
3119    Date: 2004/07/30 17:55:00 CDT
3120    Tag: blume-20040730-various
3121    Description:
3122    
3123    Gearing up towards 110.47...
3124    
3125    - various minor bugfixes to ml-nlffigen
3126    - a beginning of a manual for nlffi
3127    
3128    - eliminated 'export name=value' in config/install.sh as this does
3129      not work with certain versions of /bin/sh
3130      (Thanks to David King at Motorola for catching this.)
3131    
3132    - several bugfixes provided or suggested by David Hansel at Reactive Systems:
3133      - added a test for tm==NULL to gmtime.c and localtime.c
3134      - applied patch for incorrect GetFileTime under win32
3135      - toSeconds -> toMilliseconds in Win32/win32-process.sml
3136    
3137    ----------------------------------------------------------------------
3138    Name: Matthias Blume (blume (at) tti - c (dot) org)
3139    Date: 2004/07/21 18:20:00 CDT
3140    Tag: blume-20040721-nlffigen
3141    Description:
3142    
3143    - Fixed minor issue in ml-nlffigen: Now generate structure T_foo
3144      for a typedef to an incomplete type, but leave out the "typ" member.
3145      (This is just for consistency.)
3146    - Started to produce what is supposed to become better (i.e., comprehensive)
3147      documentation of what ml-nlffigen does and produces.
3148    
3149    ----------------------------------------------------------------------
3150    Name: Matthias Blume (blume (at) tti - c (dot) org)
3151    Date: 2004/07/14 16:25:00 CDT
3152    Tag: blume-20040714-union
3153    Description:
3154    
3155    Added C_UNION to c-calls/c-types.sml and updated the machinery
3156    (ml-nlffigen, cproto.sml) that conveys C function interface
3157    information to the code generator.
3158    
3159    However, the actual architecture-specific implementation of function
3160    arguments and results that are C unions is still not implemented.
3161    
3162    ----------------------------------------------------------------------
3163    Name: Allen Leung (leunga (at) reservoir (dot) com)
3164    Date: 2004/07/14 14:38:00 EST
3165    Tag: leunga-110_46_1-ppc-lwzu
3166    Description:
3167    
3168        Added these instructions to the PowerPC architecture:
3169        LBZU(X), LHZU(X), LWZU(X),
3170        STWU(X), STFDU, STFSU
3171    
3172        etc...
3173    
3174        Note: I haven't added their instruction encoding into the description.
3175    
3176    ----------------------------------------------------------------------
3177    Name: Allen Leung (leunga (at) reservoir (dot) com)
3178    Date: 2004/07/13 15:04:00 EST
3179    Tag: leunga-110_46_1-ppc-lwarx
3180    Description:
3181    
3182       Added the two instructions LWARX and STWCX to the PowerPC
3183    instruction set.
3184    
3185       A (untested) rewrite of loop-structure.sml.  The old version
3186    is completely broken.
3187    
3188    ----------------------------------------------------------------------
3189    Name: Matthias Blume (blume (at) tti - c (dot) org)
3190    Date: 2004/07/13 13:50:00 CDT
3191    Tag: blume-20040713-nlffi
3192    Description:
3193    
3194    - use paramAlloc to report c-calls with too many arguments
3195      (for PPC version where parameter area is pre-allocated)
3196    - added ccall_maxargspace to machspec (to implement the above)
3197    - made "make" commend in CM's "make" tool configurable
3198    - added option (default: on) for passing the name of the SML/NJ's "bin"
3199      directory to "make"; the call looks like this:
3200    
3201         make <options> SMLNJ_BINDIR=<dir> <target>
3202    
3203      This can be used by the Makefile to, e.g., pick the "right" version
3204      of ml-nlffigen.
3205    - minor code tweaks
3206    
3207    ----------------------------------------------------------------------
3208    Name: Matthias Blume (blume (at) tti - c (dot) org)
3209    Date: 2004/07/12 22:50:00 CDT
3210    Tag: blume-110_46_1-macosx-nlffi
3211    Description:
3212    
3213    NLFFI under Mac OS X now working (sort of).  This is largely untested,
3214    though.
3215    
3216    Note:  1. You have to make a new, clean build of the runtime system.
3217           2. There are new BOOTFILES, you have to use them!
3218              (Doing the bootstrap process yourself would be *very* painful!
3219               If you absolutely have to do it, build the system under
3220               a different architecture and then cross-compile.)
3221    
3222    Version bumped to 110.46.1 to account for runtime data format changes.
3223    
3224    ----------------------------------------------------------------------
3225    Name: Matthias Blume (blume (at) tti - c (dot) org)
3226    Date: 2004/06/18 14:30:00 CDT
3227    Tag: blume-20040618-unix
3228    Description:
3229    
3230    Changed the implementation of structure Unix so that the same stream
3231    is returned every time one of the {text,bin}{In,Out}streamOf functions
3232    is invoked on the same proc.  This is not what the spec currently
3233    says -- although IMO it arguably should.  (See discussion below.)
3234    
3235    ----------------------------------------------------------------------
3236    Name: Matthias Blume (blume (at) tti - c (dot) org)
3237    Date: 2004/06/17 18:15:00 CDT
3238    Tag: Release_110_46
3239    Description:
3240    
3241    New working version (110.46).  NEW BOOTFILES!
3242    
3243    ----------------------------------------------------------------------
3244    Name: Matthias Blume (blume (at) tti - c (dot) org)
3245    Date: 2004/06/17 17:20:00 CDT
3246    Tag: blume-20040617-timer-unix
3247    Description:
3248    
3249    Changed the interface of structures Timer and Unix to match the most
3250    recent Basis spec.
3251    
3252    In the case of Unix there still seems to be an open/weird issue:
3253    
3254       The {text,bin}{In,Out}streamOf functions are supposed to create
3255       fresh streams whenever they are called -- as opposed to have them
3256       return the same stream every time.  This design is supposed to
3257       prevent space leaks caused by proc values hanging on to streams.
3258    
3259       The reap function, on the other hand, is supposed to close the
3260       streams.  This cannot be done without having a handle on the
3261       stream in proc after all...
3262    
3263    I took the liberty to implement the following stopgap solution:
3264    
3265      The proc value hangs on to the most recently created stream(s).
3266      Reap closes those.  If either or both of the two streams hadn't
3267      been created at all yet, then reap will close the corresponding
3268      file descriptors directly.
3269    
3270    PS: I don't understand the original space leak argument anymore.  If
3271    a proc hangs on to the imperative stream, then I/O operations on those
3272    will advance the state of the cached stream and avoid the space leak.
3273    
3274    ----------------------------------------------------------------------
3275    Name: Matthias Blume (blume (at) tti - c (dot) org)
3276    Date: 2004/05/28 16:45:00 CDT
3277    Tag: blume-20040528-basis
3278    Description:
3279    
3280    Added signature PACK_REAL and exported functor PrimIO.
3281    
3282    ----------------------------------------------------------------------
3283    Name: Matthias Blume (blume (at) tti - c (dot) org)
3284    Date: 2004/05/25 16:00:00 CDT
3285    Tag: blume-20040525-group-owner
3286    Description:
3287    
3288    CM now ignores (but still accepts) the "owner" information in group
3289    descriptions.  The owner of a group is its next enclosing
3290    library. Each group must have a unique owner.  (There is a virtual
3291    "toplevel" library that owns groups which are not nested within a real
3292    library.)  Previously, each group had to explicitly declare its owner,
3293    and CM would check that such a declaration is correct.  The new scheme
3294    is to have CM check that for each group there is precisely one owning
3295    library.
3296    
3297    The advantage of the new scheme is that the programmer no longer needs
3298    to maintain the somewhat annoying owner information.  The downside is
3299    that CM cannot enforce the ownership rule across multiple runs of
3300    CM.make.  Fortunately, enclosing the same group in two different
3301    libraries A and B which are not part of the same program does not
3302    cause real problems.
3303    
3304    ----------------------------------------------------------------------
3305    Name: Matthias Blume (blume (at) tti - c (dot) org)
3306    Date: 2004/05/20 16:00:00 CDT
3307    Tag: blume-20040520-win32
3308    Description:
3309    
3310    Made the win32 version work again.  (Strangely, a misplaced comma had
3311    slipped into win32-process.c which prevented the runtime from being
3312    compiled correctly.)
3313    
3314    Also, included a minor addition to ml-build.bat analogous to what was
3315    done in blume-20040519-ml-build.
3316    
3317    ----------------------------------------------------------------------
3318  Name: Matthias Blume (blume (at) tti - c (dot) org)  Name: Matthias Blume (blume (at) tti - c (dot) org)
3319  Date: 2004/05/19 22:10:00 CDT  Date: 2004/05/19 22:10:00 CDT
3320  Tag: blume-20040519-ml-build  Tag: blume-20040519-ml-build

Legend:
Removed from v.1494  
changed lines
  Added in v.3961

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