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 1662, Sun Oct 24 17:56:50 2004 UTC sml/trunk/NOTES/HISTORY revision 3990, Sat Dec 13 23:39:28 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/10/23
25    Description:
26    
27    Improved error messages in ml-ulex for unclosed strings.  Also made
28    documentation improvements.
29    
30    ----------------------------------------------------------------------
31    Name: John Reppy (http://cs.uchicago.edu/~jhr)
32    Date: 2014/10/11
33    Description:
34    
35    Added -D_FILE_OFFSET_BITS=64 flag to x86-linux makefile.  This flag
36    is necessary to avoid spurious EOVERFLOW errors on some versions of
37    Linux.  The problem appears to be limited to large file systems that
38    have more than 2^32 inodes.
39    
40    ----------------------------------------------------------------------
41    Name: John Reppy (http://cs.uchicago.edu/~jhr)
42    Date: 2014/09/13
43    Description:
44    
45    Added %value directive to ml-antlr; this addition improves the
46    error repair choices by allowing non-nullary tokens to be inserted
47    when making repairs.
48    
49    ----------------------------------------------------------------------
50    Name: John Reppy (http://cs.uchicago.edu/~jhr)
51    Date: 2014/08/22
52    Description:
53    
54    *************************** Version 110.77 ***************************
55    
56    ----------------------------------------------------------------------
57    Name: John Reppy (http://cs.uchicago.edu/~jhr)
58    Date: 2014/08/19
59    Description:
60    Compiling the runtime system on cygwin was failing because the file
61    exceptions.h was missing.  It appears to have been part of previous
62    versions, so a version has been incorporated verbatim in the
63    runtime/mach-base/cygwin-fault.c file (fixes bug #125).
64    
65    ----------------------------------------------------------------------
66    Name: John Reppy (http://cs.uchicago.edu/~jhr)
67    Date: 2014/08/19
68    Description:
69    Added the actionToString' and repairToString' functions
70    to the AntlrRepair structure.  These functions allow one to
71    specialize the printing of tokens based on whether they are
72    being added or deleted.
73    
74    ----------------------------------------------------------------------
75    Name: John Reppy (http://cs.uchicago.edu/~jhr)
76    Date: 2014/08/17
77    Description:
78    Added patches to support OpenBSD on PPC.  The patches were contributed
79    by Jasper Lievisse Adriaanse (fixes bug #124).
80    
81    ----------------------------------------------------------------------
82    Name: John Reppy (http://cs.uchicago.edu/~jhr)
83    Date: 2014/08/17
84    Description:
85    Use mkstemp to implement OS.FileSys.tmpName() on systems that support
86    it (should be all modern versions of Unix).  This change fixes bug #128.
87    (Thanks to Johannes 5 Joemann).
88    
89    ----------------------------------------------------------------------
90    Name: John Reppy (http://cs.uchicago.edu/~jhr)
91    Date: 2014/08/17
92    Description:
93    Fixed a bug in IntInf.~>>, which did not handle negative arguments
94    correctly (bug #110).
95    
96    ----------------------------------------------------------------------
97    Name: John Reppy (http://cs.uchicago.edu/~jhr)
98    Date: 2014/08/14
99    Description:
100    Fixed a problem in the CPS contraction phase.  An optimization that
101    eliminates construction of a record that already exists was not
102    checking that the existing record was the same record kind (bug #119).
103    
104    ----------------------------------------------------------------------
105    Name: John Reppy (http://cs.uchicago.edu/~jhr)
106    Date: 2014/07/28
107    Description:
108    Switch to using MAP_ANONYMOUS to allocate memory on Linux systems.
109    This change avoids problems when "/dev" does not support execute
110    permission (as seems to be the case with some versions of Linux
111    running on ChromeBooks; bug #120).
112    
113    ----------------------------------------------------------------------
114    Name: John Reppy (http://cs.uchicago.edu/~jhr)
115    Date: 2014/06/28
116    Description:
117    Fix for bug 127 (Crash on windows with OS.Process.system).
118    
119    ----------------------------------------------------------------------
120    Name: John Reppy (http://cs.uchicago.edu/~jhr)
121    Date: 2014/06/07
122    Description:
123    Fixed a long-standing bug in Socket.recvVec, which prevented the result
124    from being used in a string pattern match (thanks to Vesa Norrman
125    for the fix).
126    
127    ----------------------------------------------------------------------
128    Name: John Reppy (http://cs.uchicago.edu/~jhr)
129    Date: 2014/05/01
130    Description:
131    Fixed minor issue in an error message; type variable name should be
132    printed with leading '
133    
134    ----------------------------------------------------------------------
135    Name: John Reppy (http://cs.uchicago.edu/~jhr)
136    Date: 2013/11/25
137    Description:
138    Added PackWord{16,32}{Big,Little} structures to the Unsafe module.
139    This change makes the UNSAFE signature closer to the MLton version,
140    although we still need the PackReal structures.
141    
142    ----------------------------------------------------------------------
143    Name: John Reppy (http://cs.uchicago.edu/~jhr)
144    Date: 2013/07/01
145    Description:
146    
147    *************************** Version 110.76 ***************************
148    
149    ----------------------------------------------------------------------
150    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
151    Date: 2013/06/04
152    Description:
153    Fix bug #115 (BinPrimIO writer method getPos doesn't work under CML).
154    Just needed to port the position update from mkReader code to the
155    mkWriter code.
156    
157    ----------------------------------------------------------------------
158    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
159    Date: 2013/06/04
160    Description:
161    Fix bug #111 (Socket.acceptNB returns somewhat broken sockets).
162    The problem was that under Win32, sockets returned from accept inherit
163    their parents' non-blocking status, whereas on UNIX they are always
164    blocking.
165    
166    ----------------------------------------------------------------------
167    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
168    Date: 2013/05/20
169    Description:
170    Fix bug #117 (BinIO.openAppend raises IO on non-existent file).
171    We were opening the file for append if it existed but not creating it
172    if it did not exist.
173    
174    ----------------------------------------------------------------------
175    Name: John Reppy (http://cs.uchicago.edu/~jhr)
176    Date: 2013/05/02
177    Description:
178    Fix bug #116 (Socket.sameDesc raises Match exception).
179    The problem is that on Windows the iodesc datatype (defined in
180    Basis/Implementation/Win32/pre-os.sml) has both an IODesc constructor
181    and a SockDesc constructor.  Updated the code in Win32/os-io.sml to
182    handle the SockDesc constructor.
183    
184    ----------------------------------------------------------------------
185    Name: John Reppy (http://cs.uchicago.edu/~jhr)
186    Date: 2013/04/19
187    Description:
188    Fix bug #113 (Socket.select waits exactly twice the indicated timeout)
189    
190    ----------------------------------------------------------------------
191    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
192    Date: 2013/01/19
193    Description:
194    Fix AMD64 code generator to properly sign-extend arguments to IDIVQ.
195    
196    ----------------------------------------------------------------------
197    Name: John Reppy (http://cs.uchicago.edu/~jhr)
198    Date: 2012/10/20
199    Description:
200    Fix bug #108 (off-by-one error in Util/dynamic-array.sml; iterators crash)
201    
202    ----------------------------------------------------------------------
203    Name: John Reppy (http://cs.uchicago.edu/~jhr)
204    Date: 2012/10/20
205    Description:
206    Fix bug #107 (Bogus Int64 comparison operators)
207    
208    ----------------------------------------------------------------------
209    Name: John Reppy (http://cs.uchicago.edu/~jhr)
210    Date: 2012/10/01
211    Description:
212    
213    *************************** Version 110.75 ***************************
214    
215    ----------------------------------------------------------------------
216    Name: John Reppy (http://cs.uchicago.edu/~jhr)
217    Date: 2012/09/28
218    Description:
219    Fixed bug #92.  IntInf.scan now handles the "0x" prefix correctly.
220    Also made minor improvements to the NumScan module.
221    
222    ----------------------------------------------------------------------
223    Name: John Reppy (http://cs.uchicago.edu/~jhr)
224    Date: 2012/09/24
225    Description:
226    Added Base64 module to SML/NJ Library to support encoding and decoding
227    Word8 vectors as base64 strings.
228    
229    ----------------------------------------------------------------------
230    Name: John Reppy (http://cs.uchicago.edu/~jhr)
231    Date: 2012/09/23
232    Description:
233    Additions to the SML/NJ Library.  Added exists, existsi, all, and alli
234    functions to ORD_MAP signature and implementations, and added all
235    function to ORD_SET signature and implementations.
236    
237    ----------------------------------------------------------------------
238    Name: John Reppy (http://cs.uchicago.edu/~jhr)
239    Date: 2012/09/21
240    Description:
241    Bug fix in ml-antlr to ensure that the generated toString function
242    for tokens is strictly legal SML code (i.e., non-printing characters
243    and UTF8 multibyte sequences are properly escaped).
244    
245    ----------------------------------------------------------------------
246    Name: John Reppy (http://cs.uchicago.edu/~jhr)
247    Date: 2012/09/11
248    Description:
249    Added getu function to ULexBuffer as a way to improve ulex performance.
250    This addition allows a fastpath for processing ascii characters, which
251    improved lexer performance by 3-4%.
252    
253    ----------------------------------------------------------------------
254    Name: John Reppy (http://cs.uchicago.edu/~jhr)
255    Date: 2012/08/02
256    Description:
257    Fixed bugs #89 and #96: Build Failure with Xcode 4.3
258    Also removed build support for MacOS X pre-10.5 (Leopard) on PPC and
259    pre-10.6 (Snow Leopard) on Intel.
260    
261    ----------------------------------------------------------------------
262    Name: John Reppy (http://cs.uchicago.edu/~jhr)
263    Date: 2012/02/05
264    Description:
265    Fixed bug #88.  The check for valid arcs on Unix systems now allows
266    any character other than slash or nul.
267    
268    ----------------------------------------------------------------------
269    Name: David MacQueen (dbm@cs.uchicago.edu)
270    Date: 2012/01/20
271    Description:
272    
273    *************************** Version 110.74 ***************************
274    
275    ----------------------------------------------------------------------
276    Name: John Reppy (http://cs.uchicago.edu/~jhr)
277    Date: 2012/01/20
278    Description:
279    
280    Fixed implementation of Real.signBit on little-endian machines.
281    
282    ----------------------------------------------------------------------
283    Name: David MacQueen (dbm@cs.uchicago.edu)
284    Date: 2012/01/19
285    Revision: 3664, 3665
286    Description:
287    
288    1) Fix for (gforge) bug #60
289       recalculate strictness for DEFtycs in functor bodies when functor
290       is applied  (Elaborator/modules/evalent.sml)
291    
292    2) Fix for (gforge) bug #77
293       separate ast representations for datatypes and datatype replications
294       in decs and specs (multiple files)
295    
296    3) set version to 110.74
297    
298    Details in NOTES/changes/dbm_2012_1.
299    
300    ----------------------------------------------------------------------
301    Name: David MacQueen (dbm@cs.uchicago.edu)
302    Date: 2012/01/12
303    Revision: 3648, 3652
304    Description:
305    
306    1) Change of SourceMap interface.
307       related to fix of off-by-one error in lexer (committed earlier?), and cleanup of noweb code
308       added by Norman Ramsey many years ago (but little used today).
309    
310    3) Slight cleanup of match compiler, eliminatiing compiler/FLINT/tempexpn.sml file that
311       was part of unused implementation of pattern templates (pattern macros).
312    
313    4) Modification of type checker to add "culprit tracking" for improved type error messages
314       (printing of additional culprit information is controlled by ElabControl.showTypeErrorCulprits
315        flag, default false, added in revision 3652).  The culprit tracking needs to be debugged
316        and improved, and the presentation of the culprits needs to be done better.
317    
318    Details in NOTES/changes/dbm_2012_1.
319    
320    ----------------------------------------------------------------------
321    Name: John Reppy (http://cs.uchicago.edu/~jhr)
322    Date: 2011/11/25
323    Description:
324    
325    Bug fixes for Unsafe.blastRead (#76):
326      1) proper error handling when reading from memory and there are
327         not enough bytes.
328      2) pass correct data pointer and length to BlastIn (code was using
329         old macros).
330    
331    ----------------------------------------------------------------------
332    Name: John Reppy (http://cs.uchicago.edu/~jhr)
333    Date: 2011/11/25
334    Description:
335    
336    Added hash-table-based implementation of sets to SML/NJ Library.
337    
338    ----------------------------------------------------------------------
339    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
340    Date: 2011/10/25
341    Description:
342    
343    Better error reporting under 32-bit linux for the missing dpkg
344    support (#70).
345    Enable 3.x kernels to build (#80, 81, 83).
346    
347    ----------------------------------------------------------------------
348    Name: John Reppy (http://cs.uchicago.edu/~jhr)
349    Date: 2011/05/23
350    Description:
351    
352    Added new S-expression library to SML/NJ Library
353    (contributed by Damon Wang)
354    
355    ----------------------------------------------------------------------
356    Name: John Reppy (http://cs.uchicago.edu/~jhr)
357    Date: 2011/05/17
358    Description:
359    
360    Fixed bug in JSON scanner (SML/NJ Library).  It didn't handle escaped
361    backslash or double quote correctly.
362    
363    ----------------------------------------------------------------------
364    Name: John Reppy (http://cs.uchicago.edu/~jhr)
365    Date: 2011/05/13
366    Description:
367    
368    *************************** Version 110.73 ***************************
369    
370    ----------------------------------------------------------------------
371    Name: John Reppy (http://cs.uchicago.edu/~jhr)
372    Date: 2011/05/10
373    Description:
374    
375    Added boolean literals (true and false) to the conditional-expression
376    syntax in CM.  Thus, you can write
377    
378    #if true
379      structure Foo
380    #endif
381    
382    in a CM file.  This change is meant to make it easier to use autoconf
383    to configure the build process of an SML application.
384    
385    ----------------------------------------------------------------------
386    Name: John Reppy (http://cs.uchicago.edu/~jhr)
387    Date: 2011/05/09
388    Description:
389    
390    Added missing String.scan function (#69).  This also fixes the handling
391    of certain corner cases by String.fromString.
392    
393    ----------------------------------------------------------------------
394    Name Mike Rainey (http://www.mpi-sws.org/~mrainey)
395    Date 2011/05/03
396    Description:
397    
398    Added the RTDSC and RTDSCP instructions to the amd64 code generator.
399    
400    ----------------------------------------------------------------------
401    Name: John Reppy (http://cs.uchicago.edu/~jhr)
402    Date: 2011/04/08
403    Description:
404    
405    Added fix for comments in code bug (#63).
406    Thanks to Michael Norrish.
407    
408    ----------------------------------------------------------------------
409    Name: John Reppy (http://cs.uchicago.edu/~jhr)
410    Date: 2011/04/08
411    Description:
412    
413    Fixed bug in Socket.acceptNB (bug #59)
414    
415    ----------------------------------------------------------------------
416    Name: John Reppy (http://cs.uchicago.edu/~jhr)
417    Date: 2011/03/31
418    Description:
419    
420    Fixed syntax error in ml-lex compatibility mode (bug #49)
421    
422    ----------------------------------------------------------------------
423    Name: John Reppy (http://cs.uchicago.edu/~jhr)
424    Date: 2011/03/22
425    Description:
426    
427    Update _arch-n-opsys script for Mac OS X Lion (10.7).
428    
429    ----------------------------------------------------------------------
430    Name: John Reppy (http://cs.uchicago.edu/~jhr)
431    Date: 2011/02/18
432    Description:
433    
434    Added Barriers module to CML.
435    
436    ----------------------------------------------------------------------
437    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
438    Date: 2011/02/10
439    Description:
440    
441    Fixed ml-yacc examples to respect the changed signatures with respect
442    to TextIO.inputLine.
443    
444    ----------------------------------------------------------------------
445    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
446    Date: 2010/09/16
447    Description:
448    
449    Changed the Win32 implementation of validArc to support directories
450    with extended characters (umlauts, etc.).
451    
452    ----------------------------------------------------------------------
453    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
454    Date: 2010/09/16
455    Description:
456    
457    Fixed the Win32 socket and polling implementation to work correctly
458    with CML. Signature of poll was wrong and didn't handle sockets at all.
459    
460    ----------------------------------------------------------------------
461    Name: John Reppy (http://cs.uchicago.edu/~jhr)
462    Date: 2010/06/16
463    Description:
464    
465    Fixed Real.toString and Real.fmt to include sign for negative zero.
466    
467    ----------------------------------------------------------------------
468    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
469    Date: 2010/03/23
470    Description:
471    
472    Fixed the bug with Win32 calls to OS.Process.system not quoting the string.
473    
474    ----------------------------------------------------------------------
475    Name: Jon Riehl (http://jonriehl.com/)
476    Date: 2010/02/11
477    Description:
478    
479    Applied patch for building on more recent NetBSD's.  See bug #39 in the
480    tracker:
481    
482    http://smlnj-gforge.cs.uchicago.edu/tracker/index.php?func=detail&aid=39&group_id=33&atid=215
483    
484    ----------------------------------------------------------------------
485    Name: Jon Riehl (http://jonriehl.com/)
486    Date: 2010/02/02
487    Description:
488    
489    *************************** Version 110.72 ***************************
490    
491    ----------------------------------------------------------------------
492    Name John Reppy (http://cs.uchicago.edu/~jhr)
493    Date 2009/12/20
494    Description:
495    
496    Fixed performance bugs in List module by making @ and foldr be
497    tail recursive.
498    
499    ----------------------------------------------------------------------
500    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
501    Date: 2009/12/11
502    Description:
503    
504    Fixed the Win32 unable to print long strings bug.
505    ----------------------------------------------------------------------
506    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
507    Date: 2009/12/10
508    Description:
509    
510    Fixed an overrun during major GC. If the string arena was nearly full, it was possible
511    for alignment padding added during copy to the to-space to overrun the allocated
512    size.
513    ----------------------------------------------------------------------
514    Name: John Reppy (http://cs.uchicago.edu/~jhr)
515    Date: 2009/11/18
516    Description:
517    
518    The ml-antlr and ml-ulex programs have been ported to build under
519    mlton.
520    
521    ----------------------------------------------------------------------
522    Name: John Reppy (http://cs.uchicago.edu/~jhr)
523    Date: 2009/11/17
524    Description:
525    
526    Added %header directive to the ml-ulex scanner generator.  Also
527    updated the documentation.
528    
529    ----------------------------------------------------------------------
530    Name: John Reppy (http://cs.uchicago.edu/~jhr)
531    Date: 2009/11/17
532    Description:
533    
534    Added "@SMLsuffix" flag to sml command.  This can be used to get
535    the suffix for heap files.
536    
537    ----------------------------------------------------------------------
538    Name: John Reppy (http://cs.uchicago.edu/~jhr)
539    Date: 2009/11/17
540    Description:
541    
542    Added "--strict-sml" flag to ml-ulex for MLton compatibility.
543    
544    ----------------------------------------------------------------------
545    Name: John Reppy (http://cs.uchicago.edu/~jhr)
546    Date: 2009/11/10
547    Description:
548    
549    Added %header directive to the ml-antlr parser generator.  Also
550    updated the documentation.
551    
552    ----------------------------------------------------------------------
553    Name: Jon Riehl (http://www.jonriehl.com/)
554    Date: 2009/09/16
555    Description:
556    
557    *************************** Version 110.71 ***************************
558    
559    ----------------------------------------------------------------------
560    Name: John Reppy (http://cs.uchicago.edu/~jhr)
561    Date: 2009/09/13
562    Description:
563    
564    Changes to support compiling the runtime system on Mac OS X 10.6
565    (aka Snow Leopard).
566    
567    ----------------------------------------------------------------------
568    Name: Mike Rainey (http://cs.uchicago.edu/~mrainey)
569    Date: 2009/08/19
570    Description:
571    
572    Fixed a bug in the register-spill generator that is part of the MLRISC
573    register allocator. The problem was that the code in RASpillWithRenaming
574    functor assumed incorrectly that dedicated registers would appear in
575    def/use information generated by ClusterRA. Thanks to Allen Leung for
576    helping with this bug.
577    
578    ----------------------------------------------------------------------
579    Name: John Reppy (http://cs.uchicago.edu/~jhr)
580    Date: 2009/07/09
581    Description:
582    
583    Removed redundant implementations of various top-level operations by
584    consolidating them in base/system/smlnj/init/pervasive.sml.  This
585    change also fixes a bug in that the top-level version of round was
586    incorrect.
587    
588    ----------------------------------------------------------------------
589    Name: Matthias Blume (http://www.tti-c.org/blume/)
590    Date: 2009/06/15 11:17:00 CDT
591    Description:
592    
593    *************************** Version 110.70 ***************************
594    
595    ----------------------------------------------------------------------
596    Name: Matthias Blume (http://www.tti-c.org/blume/)
597    Date: 2009/06/12 11:02:00 CDT
598    Description:
599    
600    1. Corrected problem in config/actions that led to the so-called
601       "unpickling bug" which appeared in version 110.68.
602    
603    2. Provided fix for the 64-bit pattern match bug.
604    
605    ----------------------------------------------------------------------
606    Name: John Reppy (http://cs.uchicago.edu/~jhr)
607    Date: 2009/03/21
608    Description:
609    
610    Fixed bug in Int32.fmt when the argument was the minimum int and the
611    radix was something other than DEC.
612    
613    ----------------------------------------------------------------------
614    Name: Aaron Turon (turon@ccs.neu.edu)
615    Date: 2009/02/21
616    Description:
617    
618    Fixed bugs in how ml-antlr parsed ML types in %tokens specifications.
619    
620    ----------------------------------------------------------------------
621    Name: Jon Riehl (http://www.jonriehl.com/)
622    Date: 2009/01/13
623    Description:
624    
625    Picking up some additional fixes for 110.69, including a fix for
626    spaces in CM file paths.
627    
628    ----------------------------------------------------------------------
629    Name: Jon Riehl (http://www.jonriehl.com/)
630    Date: 2008/12/22
631    Description:
632    
633    *************************** Version 110.69 ***************************
634    
635    ----------------------------------------------------------------------
636    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
637    Date: 2008/12/06
638    Description:
639    
640    Re-enabled some CPS optimizations (first_contract and eta).  The most
641    important effect of this change is to make uses of SMLofNJ.Cont.capture
642    be properly tail recursive.
643    
644    ----------------------------------------------------------------------
645    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
646    Date: 2008/12/03
647    Description:
648    
649    New concurrency-related instructions for x86 and amd64 code
650    generators.
651      - PAUSE: Notify the CPU that the program is spin waiting.
652      - MFENCE: memory fence for reads and writes.
653      - SFENCE: memory fence for writes.
654      - LFENCE: memory fence for reads.
655    
656    ----------------------------------------------------------------------
657    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
658    Date: 2008/12/02
659    Description:
660    
661    Added makefile and other support for building runtime on OpenBSD.
662    
663    ----------------------------------------------------------------------
664    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
665    Date: 2008/08/13
666    Description:
667    
668    *************************** Version 110.68 ***************************
669    
670    ----------------------------------------------------------------------
671    Name: Aaron Turon (turon@ccs.neu.edu)
672    Date: 2008/08/11
673    Description:
674    
675    Minor fix to ml-ulex backend for regexps that match any character
676    and perform a single action.  Previously the emitted code would
677    not allow the regexps to match any character at all.
678    
679    ----------------------------------------------------------------------
680    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
681    Date: 2008/08/05
682    Description:
683    
684    Added build support for OpenBSD (thanks to Brian O'Hanlon).
685    
686    ----------------------------------------------------------------------
687    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
688    Date: 2008/07/12
689    Description:
690    
691    Fixed Int64.fromString to use base-10.
692    
693    ----------------------------------------------------------------------
694    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
695    Date: 2008/04/12
696    Description:
697    
698    Various updates to the ml-lpt tree.  The documentation has been updated;
699    bugs in the parsing of negation and character classes in ml-ulex have
700    been fixed; and changes have been made to make the ml-lpt tools more
701    compatible with MLton (and other SML implementations).  Thanks to
702    Matthew Fluet and Aaron Turon for their patches.
703    
704    ----------------------------------------------------------------------
705    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
706    Date: 2008/20/04
707    Description:
708    
709    Implemented timer-based profiling on Windows, with behavior as close
710    to the *nix ITIMER-based profiling as possible.
711    ----------------------------------------------------------------------
712    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
713    Date: 2008/07/04
714    Description:
715    
716    Finished off the Windows subset of the basis library. Added process
717    support and various configuration and system identification utils.
718    ----------------------------------------------------------------------
719    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
720    Date: 2008/03/18
721    Description:
722    
723    Major changes to the RegExp library: see smlnj-lib/CHANGES for details.
724    ----------------------------------------------------------------------
725    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
726    Date: 2008/02/14
727    Description:
728    
729    Added the Windows Status structure
730    ----------------------------------------------------------------------
731    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
732    Date: 2008/02/14
733    Description:
734    
735    Added the Windows DDE structure
736    ----------------------------------------------------------------------
737    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
738    Date: 2008/02/05
739    Description:
740    
741    Added the Windows Config structure
742    ----------------------------------------------------------------------
743    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
744    Date: 2008/01/31
745    Description:
746    
747    Added outline of the Windows basis library and the basic registry
748    functionality.
749    ----------------------------------------------------------------------
750    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
751    Date: 2008/01/23
752    Description:
753    
754    Fixed the amd64 code generator to compile with the current MLRISC.
755    ----------------------------------------------------------------------
756    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
757    Date: 2007/11/26
758    Description:
759    
760    nlffi was updated to work on Windows. It needed to pass in the correct
761    value for the name of the kernel32 DLL to obtain 'base' bindings.
762    Additionally updated the README for the most basic nlffi sample with
763    what you need to do on MacOSX and on Windows to make it work.
764    ----------------------------------------------------------------------
765    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
766    Date: 2007/11/21
767    Description:
768    
769    Overwrite the SMLNJ_HOME environment variable on installation
770    Properly change the package code so that subsequent version
771    installations prompt for uninstall (instead of 'repair/remove')
772    ----------------------------------------------------------------------
773    Name: Lars Bergstrom (larsberg@cs.uchicago.edu)
774    Date: 2007/11/14
775    Description:
776    
777    Cleaned up WININSTALL file for new MSI-based setup.
778    ----------------------------------------------------------------------
779    Name: Matthias Blume (http://www.tti-c.org/blume/)
780    Date: 2007/11/13 14:05:00 CST
781    Description:
782    
783    *************************** Version 110.67 ***************************
784    
785    ----------------------------------------------------------------------
786    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
787    Date: 2007/11/12
788    Description:
789    
790    Ensure that the size of the allocation space is at least 128K.
791    ----------------------------------------------------------------------
792    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
793    Date: 2007/11/05
794    Description:
795    
796    Fixed type error in ml-lpt library that occurs when compiling
797    against a basis that was compiled with the USE_64_BIT_POSITIONS
798    symbol set.
799    (Thanks to Johannes Joemann)
800    ----------------------------------------------------------------------
801    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
802    Date: 2007/11/03
803    Description:
804    
805    Fixed the amd64 code generator to compile with the current MLRISC.
806    ----------------------------------------------------------------------
807    Name: Lars Bergstrom (web page or e-mail)
808    Date: 2007/11/02
809    Description:
810    
811    Made sml.bat more resilient to either not having run the installer
812    and having no SMLNJ_HOME set or having just shuffled the directory
813    around.
814    ----------------------------------------------------------------------
815    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
816    Date: 2007/11/01
817    Description:
818    
819    A collection of bug fixes for machine.sml in the Reactive library.
820    (Thanks to Timothy Bourke)
821    ----------------------------------------------------------------------
822    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
823    Date: 2007/10/28
824    Description:
825    
826    Patches for Mac OS X 10.5 (Leopard).
827    ----------------------------------------------------------------------
828    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
829    Date: 2007/10/28
830    Description:
831    
832    Fixed some bugs in the AMD64 floating-point spilling code.
833    ----------------------------------------------------------------------
834    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
835    Date: 2007/10/25
836    Description:
837    
838    Added support for the atomic XCHG instruction.
839    ----------------------------------------------------------------------
840    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
841    Date: 2007/10/22
842    Description:
843    
844    Added AMD64 support for floating-point negation.
845    ----------------------------------------------------------------------
846    Name: Lars Bergstrom (web page or e-mail)
847    Date: 2007/10/22
848    Description:
849    
850    Fixed ^C handling in Windows
851    Added a Windows installer
852    Made it possible to build for Windows on a mapped drive from Parallels
853    ----------------------------------------------------------------------
854    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
855    Date: 2007/10/22
856    Description:
857    
858    Added AMD64 support for the atomic fetch and add instruction.
859    ----------------------------------------------------------------------
860    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
861    Date: 2007/10/18
862    Description:
863    
864    The GAS output now favors p2align over align, since the
865    former is guaranteed to be consistent over multiple architectures
866    and the latter is not.
867    ----------------------------------------------------------------------
868    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
869    Date: 2007/10/18
870    Description:
871    
872    Fixed a bug in register spilling.
873    ----------------------------------------------------------------------
874    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
875    Date: 2007/10/2
876    Description:
877    
878    Added demo support for AMD64 for quick testing and fixed support for
879    64-bit label constants.
880    ----------------------------------------------------------------------
881    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
882    Date: 2007/09/20
883    Description:
884    
885    Added support for the MLRISC COND instruction and the x86-64 CMOVCC
886    instruction.
887    ----------------------------------------------------------------------
888    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
889    Date: 2007/09/17
890    Description:
891    
892    Fixed an instruction-selection bug when loading 64-bit labels.
893    
894    ----------------------------------------------------------------------
895    Name: George Kuan (http://www.cs.uchicago.edu/~gkuan)
896    Date: 2007/09/14
897    Description:
898    
899    Fixed Elaborator and Translate performance bugs
900    
901    ----------------------------------------------------------------------
902    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
903    Date: 2007/09/12
904    Description:
905    
906    Fixed xorl memory argument bug.
907    
908    ----------------------------------------------------------------------
909    Name: George Kuan (http://www.cs.uchicago.edu/~gkuan)
910    Date: 2007/07/27
911    Description:
912    
913    Added f64sgn (for Real64.signBit) as a primop defined
914    in MLRiscGen. signBit(~0.0) not handled correctly.
915    
916    ----------------------------------------------------------------------
917    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
918    Date: 2007/06/21
919    Description:
920    
921    Fixed bug in {TextIO,BinIO}.StreamIO.endOfStream that would incorrectly
922    signal end of stream.
923    
924    ----------------------------------------------------------------------
925    Name: Matthias Blume (http://www.tti-c.org/blume/)
926    Date: 2007/06/12 11:22:00 CDT
927    Description:
928    
929    Eliminated config/allsources.  The information is now drawn directly
930    from config/actions.
931    
932    ----------------------------------------------------------------------
933    Name: Matthias Blume (http://www.tti-c.org/blume/)
934    Date: 2007/06/07 23:30:00 CDT
935    Tag: release-110.65
936    Description:
937    
938    *************************** Version 110.65 ***************************
939    
940    ----------------------------------------------------------------------
941    Name: Matthias Blume (http://www.tti-c.org/blume/)
942    Date: 2007/06/06 21:45:00 CDT
943    Description:
944    
945    - Aaron: fixed a number of bugs in ml-ulex.
946    - Matthias:
947       - added CM control "cm.force-tools"; this is false by default;
948         when set to true, then tools like ml-yacc, ml-lex, ml-ulex, etc.
949         will be forced to run regardless of whether or not their targets
950         are up-to-date
951       - changed installer code so that config/install.sh will re-build
952         heap images for all tools even if those heap images already existed
953    
954    ----------------------------------------------------------------------
955    Name: Matthias Blume (http://www.tti-c.org/blume/)
956    Date: 2007/06/04 21:21:00 CDT
957    Description:
958    
959    After Aaron Turon's bug fix for ml-ulex (handling the ^ character
960    in legacy mode), re-ran the lexer generator on all lex input files
961    and committed the results.
962    
963    This should fix the problem with ckit and nlffi that was reported
964    by Vesa A. Norrman.
965    
966    ----------------------------------------------------------------------
967    Name: Matthias Blume (http://www.tti-c.org/blume/)
968    Date: 2007/05/31 11:40:00 CDT
969    Tag: release-110.64
970    Description:
971    
972    *************************** Version 110.64 ***************************
973    
974    ----------------------------------------------------------------------
975    Name: Dave MacQueen (dbm@cs.uchicago.edu)
976    Date: 2007/05/31 14:55:00 CDT
977    Revision: 2650
978    Description:
979    
980    3rd merge of base from primop-branch-3 into the trunk.
981    Additional bug fixes included:
982    
983     * Timer.cpu_timer, etc. type printing corrected (by making
984         Timer have opaque sig constraint in basis/Implementation/timer.sml)
985     * Infinite loop in FLINT (tests/typing/tests/25.sml) (fix by
986         Stefan Monnier)
987    
988    ----------------------------------------------------------------------
989    Name: Matthias Blume (http://www.tti-c.org/blume/)
990    Date: 2007/05/31 11:40:00 CDT
991    Description:
992    
993    Fixed some bugs in new Div code in FLINT/trans/translate.sml.
994    
995    Also, changed the handling of "no core access":  When translate.sml
996    needs access to a core exception at a time when the core has not
997    been set up yet (this only happens when compiling system/smlnj/init/*),
998    then don't bother generating the corresponding tests.
999    
1000    The old scheme was to generate a bogus value to be used in place of
1001    the exception.  Unfortunately, that confuses the plambda type checker.
1002    Moreover, it does not do any good, because at runtime we don't expect
1003    such an exception to be ever raised.  (The code in system/smlnj/init/*
1004    has to be written very carefully with this in mind!)
1005    
1006    ----------------------------------------------------------------------
1007    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
1008    Date: 2007/05/29
1009    Description:
1010    
1011    Added FSQRT instructions for the AMD64 code generator.
1012    
1013    ----------------------------------------------------------------------
1014    Name: Matthias Blume (http://www.tti-c.org/blume/)
1015    Date: 2007/05/29 19:00:00 CDT
1016    Description:
1017    
1018    FLINT/trans/translate.sml now wraps all DIV/MOD/QUOT/REM operations
1019    with an explicit test for zero division.  This should fixes several
1020    regressions and makes it possible for downstream optimization phases
1021    to treat these operations as "pure" when they are applied to unsigned
1022    operands.
1023    
1024    ----------------------------------------------------------------------
1025    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
1026    Date: 2007/05/29
1027    Description:
1028    
1029    Added the new MLRISC code generator for the AMD64.  This version,
1030    in contrast to the previous one, uses SSE registers and instructions
1031    for all floating-point computations.
1032    
1033    ----------------------------------------------------------------------
1034    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1035    Date: 2007/05/29
1036    Description:
1037    
1038    A number of fixes related to the formatting of dates.  These include fixes
1039    for bugs #1415 and #1416.  We also now correctly handle format characters that
1040    lie outside the specified set.
1041    
1042    ----------------------------------------------------------------------
1043    Name: Matthias Blume (http://www.tti-c.org/blume/)
1044    Date: 2007/05/23 22:30:00 CDT
1045    Description:
1046    
1047    CMB (and CM) now automatically defines the CM "preprocessor" symbol
1048    NO_PLUGINS during "makeml -rebuild" or when CM operates in "slave" mode.
1049    
1050      (In addition, CMB_REBUILD_MODE is defined for makeml -rebuild,
1051       CM_SLAVE_MODE is defined in attached slaves while running CM.make
1052       or CM.rebuild, and CMB_SLAVE_MODE is defined in attached slaves
1053       while running CMB.make.  The point is that the single symbol
1054       NO_PLUGINS is definde in all three cases.)
1055    
1056    I changed the three locations within the sources that get compiled
1057    during CMB.make where ml-yacc or ml-lex input is processed: When
1058    NO_PLUGINS defined, then the use of the mlyacc and mllex tools
1059    is bypassed.
1060    
1061    When bootstrapping new versions of the compiler, there can be
1062    situations where the plugin tools for ml-yacc and ml-lex (or ml-ulex)
1063    are not available or otherwise not operational.  In this case one can
1064    manually define the NO_PLUGINS symbol prior to running CMB.make().  To
1065    do so, the following command should be issued at the interactive
1066    prompt:
1067    
1068       #set (CMB.symval "NO_PLUGINS") (SOME 1);
1069    
1070    A CMB.make with NO_PLUGINS defined relies on the existence of the
1071    files that normally would be generated by ml-yacc and ml-lex.
1072    (Copies of these files are in the repository.)
1073    
1074    ----------------------------------------------------------------------
1075    Name: David MacQueen (dbm@cs.uchicago.edu)
1076    Date: 2007/5/23 17:23:00 CDT
1077    Revision: 2603
1078    Description:
1079    
1080    2nd merge of base from primop-branch-3 into the trunk.
1081    Additional bug fixes included:
1082     Date.scan and Date.fromString fixed;
1083     Overloading resolution fixed and some type printing problems corrected.
1084    
1085    ----------------------------------------------------------------------
1086    Name: Matthias Blume (http://www.tti-c.org/blume/)
1087    Date: 2007/05/23 09:50:00 CDT
1088    Description:
1089    
1090    Changed the installation mechanism for CM tool plugins.  These are
1091    just libaries and now get installed like ordinary libaries.
1092    
1093    There are now a number of new installation targets that give some
1094    fine-grain control over what classes and suffixes are known, and what
1095    they will map to.
1096    See config/targets for details.
1097    
1098    The code that caused plugin installation as part of running a
1099    tool's "build" script has been removed.  (The build script is for
1100    building, not for installing.)
1101    
1102    ----------------------------------------------------------------------
1103    Name: Matthias Blume (http://www.tti-c.org/blume/)
1104    Date: 2007/05/22 11:50:00 CDT
1105    Description:
1106    
1107    Added a boolean control named cm.tolerate-tool-failures (env. variable
1108    name: CM_TOLERATE_TOOL_FAILURES).  The default is false and makes
1109    CM fail if a shell tool reports a non-success exit status.  If
1110    the control is set to true, then CM will press on after tool failures
1111    in the event that the target files exist (even though they are
1112    considered outdated).  Turning the control to true can be useful for
1113    bootstrapping.
1114    
1115    ----------------------------------------------------------------------
1116    Name: Aaron Turon (http://www.cs.uchicago.edu/~adrassi)
1117    Date: 2007/05/19
1118    Description:
1119    
1120    Merge of ml-lpt revisions for 110.64.
1121    
1122    The name of several ml-lpt-lib modules has changed:
1123      Repair        => AntlrRepair
1124      StreamPos     => AntlrStreamPos
1125      ErrHandlerFn  => AntlrErrHandler
1126      EBNF          => AntlrEBNF
1127    
1128    The ml-antlr specification format has changed: declarations such as
1129    %tokens and nonterminal definitions can occur *multiple* times in the
1130    same specification.  The semantics are such that each new declaration
1131    extends the previous ones.  This does not apply to %start or %name,
1132    of course.
1133    
1134    Importing a grammar via %import now includes *all* declarations in from
1135    the imported grammar, except for %name, %entry, and %start.  Tokens
1136    and nonterminals can be dropped using the new %dropping clause of the
1137    %import directive; the separate %drop and %extend have been removed.
1138    
1139    We now allow optional type annotations on nonterminals, using the %nonterms
1140    directive as in ml-yacc.
1141    
1142    The refcell construct is now implemented using SML's regular reference
1143    cells, so the :== and !! notation has been deprecated.
1144    
1145    The ml-antlr tool now does much more checking of specifications, and
1146    its error messages have been greatly improved.  Error repair for
1147    generated parsers has been completely rewritten, and is now both
1148    much faster and more accurate.
1149    
1150    ml-ulex is now more lenient with escape codes (non-SML-standard
1151    escape codes are now interpreted literally, so e.g. \| denotes "|").
1152    Also, character classes may now include a "-" character at the beginning
1153    as is standard in most other regexp tools.
1154    
1155    All of these changes are documented in the user guide, which has
1156    been updated and improved with this merge.
1157    
1158    ----------------------------------------------------------------------
1159    Name: David MacQueen (http://www.cs.uchicago.edu/~jhr)
1160    Date: 2007/05/03
1161    Revision: r2492
1162    Description:
1163    
1164    Merge of the primop3 branch (base) into the trunk to create 110.63.1.
1165    Significant changes in FLINT and the front end, mostly having to do
1166    with a reorganized system for handling primops.  Various bug fixes
1167    and improvements in printing signatures.
1168    
1169    ----------------------------------------------------------------------
1170    Name: Aaron Turon (http://www.cs.uchicago.edu/~adrassi)
1171    Date: 2007/05/02
1172    Description:
1173    
1174    Preliminary commit of large ml-lpt revisions (more to come for 110.64).
1175    The ml-antlr specification format has changed: declarations such as
1176    %tokens and nonterminal definitions can occur *multiple* times in the
1177    same specification.  The semantics are such that each new declaration
1178    extends the previous ones.  Grammar extension constructs have also
1179    changed.  We now allow type annotations on nonterminals.  Finally,
1180    the refcell construct is now implemented using SML's regular reference
1181    cells, so the :== and !! notation has been deprecated.  All of these
1182    changes will appear in the 110.64 user guide for ml-lpt.
1183    
1184    The ml-antlr tool now does much more checking of specifications, and
1185    its error messages have been greatly improved.  There has also been
1186    some work on the error repair process for generated parsers, but this
1187    will be further improved in 110.64.
1188    
1189    ----------------------------------------------------------------------
1190    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1191    Date: 2007/04/24
1192    Description:
1193    
1194    More Basis fixes: The Char.fromString (etc.) functions did not handle
1195    the "\uxxxx" escape sequence.  There is still an outstanding bug with
1196    String.fromString the tail is a format escape.  I added a comment to
1197    this effect in Basis/Implementation/string.sml.
1198    Thanks to Andreas Rossberg.
1199    
1200    ----------------------------------------------------------------------
1201    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1202    Date: 2007/04/24
1203    Description:
1204    
1205    Added next function to Fifo and Queue modules in the SML/NJ Library.
1206    
1207    ----------------------------------------------------------------------
1208    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1209    Date: 2007/04/23
1210    Description:
1211    
1212    More Basis fixes: Time.fmt dropped the leading "~" for negative time
1213    values that had no whole part.
1214    
1215    ----------------------------------------------------------------------
1216    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1217    Date: 2007/04/23
1218    Description:
1219    
1220    More Basis fixes: the OS.Path module did not include the InvalidArc
1221    exception and did not do sufficient argument checking.
1222    Thanks to Stephen Weeks and Adam Chilpala.
1223    
1224    ----------------------------------------------------------------------
1225    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
1226    Date: 2007/04/16
1227    Description:
1228    
1229    Fixed an unbound functor bug in the AMD64 CM file.
1230    
1231    ----------------------------------------------------------------------
1232    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
1233    Date: 2007/04/12
1234    Description:
1235    
1236    Substantially changed the signature and implementation of AMD64
1237    SVID.  It now looks similar to the ia32 SVID, yet uses staged
1238    allocation.
1239    
1240    ----------------------------------------------------------------------
1241    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1242    Date: 2007/04/07
1243    Description:
1244    
1245    More Basis fixes: the WORD signature was missing {to,from}Large.
1246    Thanks to Andreas Rossberg.
1247    
1248    ----------------------------------------------------------------------
1249    Name: Matthias Blume (http://www.tti-c.org/blume/)
1250    Date: 2007/03/22 16:07:00 CDT
1251    Tag: release-110.63
1252    Description:
1253    
1254    *************************** Version 110.63 ***************************
1255    
1256    ----------------------------------------------------------------------
1257    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
1258    Date: 2007/03/19
1259    Description:
1260    
1261    Fixed bogus operand sizes in AMD64 instruction spilling.
1262    
1263    ----------------------------------------------------------------------
1264    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1265    Date: 2007/03/19
1266    Description:
1267    
1268    Fixed a number of inconsistencies between the Posix.TTY structure
1269    and the Basis specification.  Thanks to Adam Chilpala.
1270    
1271    ----------------------------------------------------------------------
1272    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
1273    Date: 2007/02/26
1274    Description:
1275    
1276    Added preliminary support in MLRISC for Staged Allocation, a technique
1277    for specifying calling conventions (see
1278    http://www.eecs.harvard.edu/~nr/pubs/staged-abstract.html).
1279    Initially, we plan to use this code to generate C calls for the AMD64.
1280    
1281    The staged allocation code base resides in MLRISC/staged-allocation,
1282    and specialized calling conventions go in MLRISC/ARCH/staged-allocation.
1283    
1284    ----------------------------------------------------------------------
1285    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1286    Date: 2007/02/20
1287    Description:
1288    
1289      Bug fix: when SaveCState was called with two values to save, a subsequent
1290      GC could cause the RestoreCState to fail because the saved state had been
1291      promoted to tagless pair.
1292    
1293    ----------------------------------------------------------------------
1294    Name: Allen Leung (leunga (at) reservoir (dot) com)
1295    Date: 2007/02/20 19:08:00 EST
1296    Description:
1297    
1298        Bug triggered by:
1299    
1300        val a1 = Word8Array.array(a1, 0w0);
1301        val _  = Word8Array.update(a1, 0, 0w128);
1302    
1303        x86MCEmitter crashed when the immediate operand to MOVB was outside
1304    of the range -128 ... 127.  I've changed the code so that the range
1305    check is disabled.   Only the low order 8 bits of the immediate operand
1306    are now significant.
1307    
1308    
1309    ----------------------------------------------------------------------
1310    Name: Matthias Blume (http://www.tti-c.org/blume/)
1311    Date: 2007/02/15 09:20:00 CST
1312    Description:
1313    
1314    Eliminated any mention of lexgen.  (Lexgen was an early precursor
1315    to ml-ulex.)
1316    
1317    You should update your admin directory, so the shell scripts for
1318    maintaining your local copy of the repository reflect this change.
1319    
1320    ----------------------------------------------------------------------
1321    Name: Matthias Blume (http://www.tti-c.org/blume/)
1322    Date: 2007/02/14 15:45:00 CST
1323    Description:
1324    
1325    Fixed bug in CM's parallel make facility that failed to have
1326    the master re-link modules after letting slaves compile them.
1327    
1328    ----------------------------------------------------------------------
1329    Name: Matthias Blume (http://www.tti-c.org/blume/)
1330    Date: 2007/02/12 15:10:00 CST
1331    Description:
1332    
1333    Fixed typo in ml-build script that prevented library anchors
1334    from being registered.
1335    
1336    ----------------------------------------------------------------------
1337    Name: Matthias Blume (http://www.tti-c.org/blume/)
1338    Date: 2007/02/02 15:20:00 CST
1339    Tag: release-110.62
1340    Description:
1341    
1342    *************************** Version 110.62 ***************************
1343    
1344    ----------------------------------------------------------------------
1345    Name: Aaron Turon (http://www.cs.uchicago.edu/~adrassi)
1346    Date: 2007/01/31
1347    Description:
1348    
1349    Brought ml-lpt manual up-to-date with the code.  Many minor
1350    improvements to the tools, and a few minor bugfixes.  Prepared
1351    ml-lpt-lib for integration with new UTF8 structure.  Changed
1352    the interface for creating streams in ml-ulex (we now support
1353    stream creation from several kinds of sources).  Overall, the
1354    tools are now quite stable, and their interfaces are unlikely to
1355    change in a way that would break compatibility.  More work,
1356    however, is needed in the documentation.
1357    
1358    ----------------------------------------------------------------------
1359    Name: Matthias Blume (http://www.tti-c.org/blume/)
1360    Date: 2007/02/01 10:05:00 CST
1361    Description:
1362    
1363    Implemented library installer.  Moved CM plugin code for
1364    ml-burg, ml-lex, and ml-yacc out of CM source tree and into
1365    their respective trees.  Implemented CM plugin for ml-ulex
1366    and ml-antlr.  Used library installer for ml-burg, ml-ulex,
1367    and ml-antlr.
1368    
1369    For ml-yacc and ml-lex we continue to have permanently "plugged-in"
1370    CM tools.  (It turns out to be too messy to do otherwise because
1371    there is too much code that during installation relies on the presence
1372    of these tools -- resulting in a tricky ordering problem.)
1373    
1374    ----------------------------------------------------------------------
1375    Name: Matthias Blume (http://www.tti-c.org/blume/)
1376    Date: 2007/01/30 11:05:00 CST
1377    Description:
1378    
1379    Added SMLofNJ.shiftArgs which is like a shell's "shift" command.
1380    Modified CM's startup code to use shiftArgs as it processes
1381    command line arguments.  This way, the init code in each .sml-file
1382    or library that is mentioned at the top level will see only
1383    those arguments that have not yet been processed at this point.
1384    In other words, the init code can "seize control" and process the
1385    remaining command line.
1386    
1387    ----------------------------------------------------------------------
1388    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1389    Date: 2007/01/30
1390    Description:
1391    
1392    Added fromList function to the ORD_SET interface and lookup to the
1393    ORD_MAP interface.  See the SML/NJ Library CHANGES file for details.
1394    
1395    ----------------------------------------------------------------------
1396    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1397    Date: 2007/01/28
1398    Description:
1399    
1400    Added the UTF8 structure and signature from the Moby compiler to
1401    the SML/NJ library (and the CML library).  These modules will replace
1402    the version in the ml-lpt-lib.
1403    
1404    ----------------------------------------------------------------------
1405    Name: Matthias Blume (http://www.tti-c.org/blume/)
1406    Date: 2007/01/26 15:10:00 CST
1407    Description:
1408    
1409    Added entries to handle ml-lpt-lib.cm in installer.
1410    
1411    ----------------------------------------------------------------------
1412    Name: Matthias Blume (http://www.tti-c.org/blume/)
1413    Date: 2006/12/15 11:10:00 CST
1414    Tag: release-110.61
1415    Description:
1416    
1417    New working release (110.61).  NEW BOOTFILES!
1418    
1419    This supersedes the pre-brown-paper-bug release (see below).
1420    
1421    ----------------------------------------------------------------------
1422    Name: Matthias Blume (http://www.tti-c.org/blume/)
1423    Date: 2006/12/15 11:00:00 CST
1424    Description:
1425    
1426    Fixed brown-paper-bag bug with CM's pathname handling, which made
1427    installation fail under Win32.
1428    
1429    ----------------------------------------------------------------------
1430    Name: Matthias Blume (http://www.tti-c.org/blume/)
1431    Date: 2006/12/14 12:00:00 CST
1432    Description:
1433    
1434    Obsolete!
1435    
1436    [New working release (110.61).  NEW BOOTFILES!]
1437    
1438    ----------------------------------------------------------------------
1439    Name: John Reppy (http://cs.uchicago.edu/~jhr)
1440    Date: 2006/14/06 09:50:00 CST
1441    Description:
1442    
1443    Fixed the code in runtime/c-libs/posix-tty/{tcgetattr,tcsetattr}.c to
1444    get the c_cc termios data copied correctly.  Also moved the allocation
1445    of the string to avoid problems if it caused a GC.
1446    
1447    Thanks to Timothy Bourke for the bug report and fix.
1448    
1449    ----------------------------------------------------------------------
1450    Name: Matthias Blume (http://www.tti-c.org/blume)
1451    Date: 2006/12/08 09:50:00 CST
1452    Description:
1453    
1454    Added code to CM's "standard shell tool" implementation which
1455    causes it to tolerate (with a warning) the situation where the shell
1456    command fails (e.g., due to the shell command's non-existence)
1457    as long as all target files exist.
1458    
1459    This makes it possible to, e.g., build ml-yacc from sources even if
1460    svn checkout messed up the time stamps on files in such a way that
1461    yacc.grm is younger than yacc.grm.sml or yacc.grm.sig.  (Ml-yacc would
1462    be needed to re-process yacc.grm, but obviously it might not yet be
1463    available at that time.)
1464    
1465    ----------------------------------------------------------------------
1466    Name: John Reppy (http://cs.uchicago.edu/~jhr)
1467    Date: 2006/12/06 12:06:00 CST
1468    Description:
1469    
1470    Fixed the types of recvVecFrom, recvVecFrom', recvVecFromNB, and
1471    recvVecFromNB' in the SOCKET signature.  This error is actually
1472    in the SML Basis specification too.
1473    
1474    ----------------------------------------------------------------------
1475    Name: Matthias Blume (http://www.tti-c.org/blume/)
1476    Date: 2006/12/05 22:40:00 CST
1477    Description:
1478    
1479    CM now reports undefined anchors as errors and aborts execution
1480    rather than silently pressing on using bogus values.
1481    
1482    ----------------------------------------------------------------------
1483    Name: Matthias Blume (http://www.tti-c.org/blume/)
1484    Date: 2006/11/29 10:00:00 CST
1485    Description:
1486    
1487    Use Say.vsay for printing the "[autoloading]" message, so
1488    #set CM.Control.verbose false (or -Ccm.verbose=false) can be used
1489    to suppress them.
1490    
1491    ----------------------------------------------------------------------
1492    Name: Matthias Blume (http://www.tti-c.org/blume/)
1493    Date: 2006/11/10 11:00:00 CST
1494    Description:
1495    
1496    Fixed bug in CM where "with:" specifications that affect compilation
1497    (as opposed to parsing) were ignored.
1498    
1499    ----------------------------------------------------------------------
1500    Name: Matthias Blume (http://www.tti-c.org/blume/)
1501    Date: 2006/11/09 14:30:00 CST
1502    Tag: release-110.60
1503    Description:
1504    
1505    New working release (110.60).  NEW BOOTFILES!
1506    
1507    This is the first subversion-hosted release.  There are also changes
1508    to the directory layout.  Here is a table:
1509    
1510    (All pathnames are relative to the SML/NJ "root" directory.)
1511    
1512      config -> config
1513    
1514      src/cm -> base/cm
1515      src/compiler -> base/compiler
1516      src/runtime -> base/runtime
1517      src/system -> base/system
1518    
1519      src/cm/pgraph -> pgraph
1520    
1521      src/READMES -> base/READMES
1522      src/$notefile -> base/NOTES/$notefile
1523         for <notefile> in BOOT CVSNOTES CYGWININSTALL HISTORY INSTALL
1524                           MACOSXINSTALL WININSTALL
1525    
1526      src/smlnj-lib -> smlnj-lib
1527      src/MLRISC -> MLRISC
1528      ckit -> ckit
1529      src/cml -> cml
1530      src/eXene -> eXene
1531      src/heap2asm -> heap2asm
1532      src/lexgen -> lexgen
1533      src/ml-burg -> ml-burg
1534      src/ml-lex -> ml-lex
1535      src/ml-yacc -> ml-yacc
1536      src/ml-nlffi-lib -> nlffi/lib
1537      src/ml-nlffigen -> nlffi/gen
1538      src/smlnj-c -> smlnj-c
1539      src/tools/TraceDebugProf -> trace-debug-profile
1540    
1541    In addition, there is also a new
1542    
1543      ml-lpt
1544    
1545    directory containing two new program generator tools: ml-ulex and
1546    ml-antlr (a lexer generator that handles unicode and an ANTRL-inspired
1547    LL(k) parser generator). These tools are currently "beta-quality"
1548    
1549    The latest versios of the sources can now be obtained anonymously
1550    via subversion.  For this, it is useful to first check out
1551    
1552       svn://smlnj-gforge.cs.uchicago.edu/smlnj/admin
1553    
1554    and put the resulting directory on your shell's PATH.  This provides
1555    access to three shell scripts: checkout-all.sh, stat-all.sh,
1556    and refresh-all.sh.
1557    
1558    To create a freshly checked-out copy of the sources, do
1559    
1560       checkout-all.sh [dir]
1561    
1562    where dir is the optional SML/NJ root directory (default is ".").
1563    
1564    This creates the above directory layout.  Each subdirectory of
1565    the root is under individual subversion control.  The stat-all.sh
1566    and refresh-al.sh scripts apply "svn stat" or "svn update" to
1567    each of these subtrees.
1568    
1569    ----------------------------------------------------------------------
1570    Name: Matthias Blume (http://www.tti-c.org/blume/)
1571    Date: 2006/11/02 12:20:00 CST
1572    Description:
1573    
1574    Reorganized directory layout.
1575    
1576    This is a temporary solution, more reorganization is to come.
1577    
1578    The basic idea is to have a number of toplevel trees, each corresponding
1579    to a well-defined part of the overall system.  Each part can be
1580    maintained individually, even in separate source repositories,
1581    although currently we still serve everything out of the main
1582    smlnj-gforge tree.
1583    
1584    Installer and and scripts have been updated to reflect the new
1585    layout.  The installer (base/src/system/smlnj/installer) is now
1586    "scriptable" to avoid burning too much knowledge about the
1587    layout into SML source code.  The main script used by the installer
1588    is in config/actions.
1589    
1590    The main change is that many of the subdirectories of what used to
1591    be known as "src" have moved to the toplevel.  The "src" directory
1592    itself has moved down into a subtree called "base".  (We may eventually
1593    get rid of the extra level of indirection represented by "src".)
1594    
1595    The layout is now as follows:
1596    
1597      toplevel tree name | default repository
1598                         | (using gf=svn://smlnj-gforge.cs.uchicago.edu/smlnj)
1599      -------------------+----------------------------------------------------
1600      config             | $gf/config/trunk
1601                         |
1602      base               | $gf/sml/trunk
1603                         |
1604      smlnj-lib          | $gf/smlnj-lib/trunk
1605      MLRISC             | $gf/MLRISC/trunk
1606                         |
1607      ml-yacc            | $gf/ml-yacc/trunk
1608      ml-lex             | $gf/ml-lex/trunk
1609      ml-burg            | $gf/ml-burg/trunk
1610      lexgen             | $gf/lexgen/trunk
1611      heap2asm           | $gf/heap2asm/trunk
1612                         |
1613      cml                | $gf/cml/trunk
1614      eXene              | $gf/eXene/trunk
1615      ckit               | $gf/ckit/trunk
1616      nlffi              | $gf/nlffi/trunk
1617                         |
1618      smlnj-c            | $gf/smlnj-c/trunk
1619    
1620    In $gf/admin there are a few useful shell scripts for checking out
1621    and maintaining the entire collection of trees:
1622    
1623       admin/checkout-all.sh [dir]
1624          -- optionally creates dir and checks out all trees from their
1625             default repositories; if dir is missing, checkout into .
1626       admin/refresh-all.sh [dir]
1627          -- looks at all trees (from the above list) in dir (default: .)
1628             and runs "svn update" if the tree exists and is under
1629             subversion control;
1630             non-existing or non-subversion trees are skipped
1631       admin/stat-all.sh [dir]
1632          -- like refresh-all.sh, but runs "svn stat" instead
1633    
1634    ----------------------------------------------------------------------
1635    Name: Matthias Blume (http://www.tti-c.org/blume/)
1636    Date: 2006/10/05 11:30:00 CDT
1637    Tag: blume-20061005-merge-amd64
1638    Description:
1639    
1640    Merged code for AMD64 backend (Mike Rainey's work).
1641    Everything is hooked up but untested.
1642    
1643    ----------------------------------------------------------------------
1644    Name: Matthias Blume (http://www.tti-c.org/blume/)
1645    Date: 2006/05/17 14:00:00 CST
1646    Tag: Release_110_59
1647    Description:
1648    
1649    New working version (110.59).  NEW BOOTFILES!
1650    
1651    I am freezing 110.59.  Changes other than the version-number increase:
1652    
1653      eXene:
1654    
1655         * committed changes to eXene from Alley Stoughton:
1656             "fixed bugs in X authorization and resource handling, as well
1657              as in the pile and viewport widgets"
1658    
1659      Runtime:
1660        * fixed linking problem with NetBSD 3.x.
1661    
1662      Lexgen:
1663        * lexgen tool handles non-ascii characters in 7-bit mode the same
1664          way that ml-lex does
1665    
1666        * lexgen propagates exceptions the same way that ml-lex does
1667    
1668      CML:
1669        * Fixed a bug in the SyncVar polling functions (iGetPoll,
1670          mTakePoll, and mGetPoll) that could lead to livelock.
1671    
1672    ----------------------------------------------------------------------
1673    Name: Matthias Blume (http://www.tti-c.org/blume/)
1674    Date: 2006/05/12 15:20:00 CST
1675    Tag: blume-20060515-makedepend
1676    Description:
1677    
1678    Implemented ml-makedepend (i.e., CM.sources) in a better (more robust)
1679    way.  This should hopefully fix the ml-makedepend problem permanently.
1680    
1681    ----------------------------------------------------------------------
1682    Name: Matthias Blume (http://www.tti-c.org/blume/)
1683    Date: 2006/05/12 15:15:00 CST
1684    Tag: blume-20060512-makedepend
1685    Description:
1686    
1687    Fixed long-standing bug with ml-makedepend where it would output a
1688    spurious dependency to a non-existing file.  (This is a simple fix.
1689    It might need further looking into.)
1690    
1691    ----------------------------------------------------------------------
1692    Name: Matthias Blume (http://www.tti-c.org/blume/)
1693    Date: 2006/04/20 10:30:00 CDT
1694    Tag: blume-20060420-heap2exec
1695    Description:
1696    
1697    Committed patches received from Johannes 5 Joemann (joemann@befree.free.de)
1698    that enable heap2exec under Linux and FreeBSD.
1699    
1700    ----------------------------------------------------------------------
1701    Name: John Reppy
1702    Date: 2006/04/14
1703    Tag:
1704    Description:
1705    
1706    MLRISC changes:
1707      1) renamed GAS_PSEUDO_OPS to AS_PSEUDO_OPS and put it in its own file.
1708      2) added support for NOTB and XORB operators in pseudo-op expressions
1709      3) added DarwinPseudoOp functor that supports Darwin's assembler syntax.
1710      4) added support for 64-bit integer literals
1711    
1712    ----------------------------------------------------------------------
1713    Name: Matthias Blume (http://www.tti-c.org/blume/)
1714    Date: yyyy/mm/dd
1715    Tag: Release_110_58
1716    Description:
1717    
1718    New working version (110.58).  NEW BOOTFILES!
1719    
1720    ----------------------------------------------------------------------
1721    Name: Matthias Blume (http://www.tti-c.org/blume/)
1722    Date: 2006/03/01 22:15:00 CST
1723    Tag: blume-20060301-lexgen
1724    Description:
1725    
1726    Incorporated several bugfixes to lexgen.  Compiler now compiles to
1727    fixpoint when using lexgen instead of ml-lex.
1728    
1729    ----------------------------------------------------------------------
1730    Name: Matthias Blume (http://www.tti-c.org/blume/)
1731    Date: 2006/02/28 22:45:00 CST
1732    Tag: blume-20060228-lexgen
1733    Description:
1734    
1735    Removed ml-flex and added lexgen instead, using Aaron Turon's newly
1736    provided tarball.  The generated lexers still have problems.
1737    
1738    ----------------------------------------------------------------------
1739    Name: Matthias Blume (http://www.tti-c.org/blume/)
1740    Date: 2006/02/26 23:30:00 CST
1741    Tag: blume-20060226-ml-flex
1742    Description:
1743    
1744    Removed ml-flex' dependency on regexp-lib.cm.  Turned installation
1745    of ml-flex on by default.
1746    
1747    ----------------------------------------------------------------------
1748    Name: Matthias Blume (http://www.tti-c.org/blume/)
1749    Date: 2006/02/24 16:30:00 CST
1750    Tag: blume-20060224-ml-flex
1751    Description:
1752    
1753    Added ml-flex sources.  Partially integrated, but should not be
1754    turned on yet!  (Read: leave it commented-out in config/targets!)
1755    
1756    ----------------------------------------------------------------------
1757    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1758    Date: 2006/02/23
1759    Tag: jhr-20060223-x86-64
1760    Description:
1761    Changes to support building on x86-64 systems (using the 32-bit mode).
1762    Also cleaned up signal handling on Linux.  Support for pre-2.2 Linux
1763    kernels dropped.
1764    
1765    ----------------------------------------------------------------------
1766    Name: Allen Leung (leunga (at) reservoir (dot) com)
1767    Date: 2006/02/22 15:07:00 EST
1768    Tag: leunga-20060222-mdl-gen
1769    Description:
1770    
1771      CM has changed.  Updated the script for rebuilding the MLRISC generated
1772    files.
1773    
1774    ----------------------------------------------------------------------
1775    Name: Matthias Blume (http://www.tti-c.org/blume/)
1776    Date: 2006/02/14 17:30:00 CST
1777    Tag: blume-20060214-intel-mac
1778    Description:
1779    
1780    Hooked code for Darwin-specific Intel ABI into main compiler.
1781    (This is a temporary solution which relies on the fact that the
1782    compiler itself does not use NLFFI.  Eventually we need to divorce
1783    intel mac from generic x86 unix code and make separate sets of binaries.)
1784    
1785    ----------------------------------------------------------------------
1786    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1787    Date: 2006/02/13
1788    Tag: jhr-20060213-intel-mac
1789    Description:
1790    Changed MLRISC x86 CCalls for partial support of MacOS X ABI.
1791    
1792    ----------------------------------------------------------------------
1793    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1794    Date: 2006/02/06
1795    Tag: jhr-20060206-intel-mac
1796    Description:
1797    Changes to support MacOS X on Intel hardware.  The C-calls support in
1798    MLRISC must also be updated to support the MacOS X ABI.
1799    
1800    ----------------------------------------------------------------------
1801    Name: Matthias Blume (http://www.tti-c.org/blume/)
1802    Date: 2005/12/16 00:15:00 CST
1803    Tag: blume-20051216-cm
1804    Description:
1805    
1806    Improved error reporting and handling in CM.
1807    
1808    ----------------------------------------------------------------------
1809    Name: Matthias Blume (http://www.tti-c.org/blume/)
1810    Date: 2005/11/21 14:00:00 CST
1811    Tag: blume-20051121-html-lib
1812    Description:
1813    
1814    Enabling $/html-lib.cm in config/preloads did not work.  This is fixed
1815    now.  (Since the anchor mapping for html-lib.cm is not yet in effect
1816    at the time when config/preloads is processed, the library has to
1817    be referred to by another name.  In 110.57 this would be
1818    $SMLNJ-LIB/HTML/html-lib.cm.  I arranged for $smlnj/smlnj-lib/html-lib.cm
1819    to be valid as well.)
1820    
1821    Thanks to Todd Wilson (Fresno) for alerting me to this issue.
1822    
1823    ----------------------------------------------------------------------
1824    Name: Matthias Blume (http://www.tti-c.org/blume/)
1825    Date: 2005/11/19 13:45:00 CST
1826    Tag: Release_110_57
1827    Description:
1828    
1829    Moved release tag for 110.57.
1830    
1831    ----------------------------------------------------------------------
1832    Name: Matthias Blume (http://www.tti-c.org/blume/)
1833    Date: 2005/11/19 23:35:00 CST
1834    Tag: blume-20051119-fish
1835    Description:
1836    
1837    Fixed a problem in config/install.sh where it tries to "fish" the
1838    name of the CM metadata directory from the wrong place (because
1839    the physical location of basis.cm has changed).  Also, corrected the
1840    path anchor for $/html-lib.cm.  (Thanks to M. Fluet for pointing out
1841    these problems.)
1842    
1843    ----------------------------------------------------------------------
1844    Name: Matthias Blume (http://www.tti-c.org/blume/)
1845    Date: 2005/11/16 14:30:00 CST
1846    Tag: blume-orig-110_57
1847    Description:
1848    
1849    New working version (110.57).  NEW BOOTFILES!
1850    
1851    UPDATE: The release tag has been moved to include a fix for a brown-paper-
1852            bag glitch (see above).
1853    
1854    ----------------------------------------------------------------------
1855    Name: Matthias Blume (http://www.tti-c.org/blume/)
1856    Date: 2005/11/16 10:25:00 CST
1857    Tag: blume-22051116-btrace
1858    Description:
1859    
1860    Fixed problem with bogus exception message when using back-trace
1861    facility.
1862    
1863    ----------------------------------------------------------------------
1864    Name: Matthias Blume (http://www.tti-c.org/blume/)
1865    Date: 2005/11/15 22:35:00 CST
1866    Tag: blume-22051115-array2copy
1867    Description:
1868    
1869    Added simple implementation of Array2.copy.  (Warning: mostly untested.)
1870    
1871    ----------------------------------------------------------------------
1872    Name: Matthias Blume (http://www.tti-c.org/blume/)
1873    Date: 2005/11/15 21:35:00 CST
1874    Tag: blume-22051115-versiontool
1875    Description:
1876    
1877    Reversed change to src/system/smlnj/internals/versiontool.cm.  This
1878    file gets loaded as a tool -- by the equivalent of CM.make during the
1879    run of CMB.make.  Thus, CMB's path configuration is meaningless for
1880    it.  Instead, it has the status of "user code", so it should use
1881    $/basis.cm to refer to the Basis library.  (At least that's true for
1882    the purpose of bootstrapping the previous change.  In the future it
1883    might make sense to have versiontool.cm refer to
1884    $smlnj/basis/basis.cm, i.e., the version of the Basis that the
1885    compiler itself uses.)
1886    
1887    Also patched src/system/testml to have it activate those extra anchor
1888    bindings in config/extrapathconfig.
1889    
1890    ----------------------------------------------------------------------
1891    Name: Matthias Blume (http://www.tti-c.org/blume/)
1892    Date: 2005/11/15 16:35:00 CST
1893    Tag: blume-22051115-libraries
1894    Description:
1895    
1896    This change affects the way the following libraries are tied into
1897    the system:
1898    
1899       $/basis.cm
1900       $/smlnj-lib.cm
1901       $/pp-lib.cm
1902       $/controls-lib.cm
1903       $/html-lib.cm
1904       $/ml-yacc-lib.cm
1905    
1906    These libraries are now internally (as seen from the source code
1907    of the implementation itself) known by the following names:
1908    
1909       $smlnj/basis/basis.cm
1910       $smlnj/smlnj-lib/smlnj-lib.cm
1911       $smlnj/smlnj-lib/pp-lib.cm
1912       $smlnj/smlnj-lib/controls-lib.cm
1913       $smlnj/smlnj-lib/html-lib.cm
1914       $smlnj/ml-yacc/ml-yacc-lib.cm
1915    
1916    This makes it possible to work with code that requires different
1917    versions of these libraries, and which refers to these libraries using
1918    their "default" names (i.e., the first set of names above).  In other
1919    words, one can un-define or re-define those default names without
1920    compromising the proper functioning of the compiler itself.
1921    
1922    A similar procedure had already been performed for several of the
1923    MLRISC libraries that are linked into the compiler.  I did some
1924    cleanup on this code.
1925    
1926    A new file in the config directory (named extrapathconfig) is
1927    responsible for setting up path anchors that the compiler itself does
1928    not need, but that are typically required by user code.
1929    
1930    ----------------------------------------------------------------------
1931    Name: Matthias Blume
1932    Date: 2005/11/07 17:05:00 CST
1933    Tag: blume-20051107-slice
1934    Description:
1935    
1936    Fixed erroneous out-of-bounds test in the "update" function of
1937    various *ArraySlice modules.  (Thanks to Vesa A. Norrman for pointing
1938    out the problem.)
1939    
1940    Pushed some Basis changes through ML-Lex, CML, and eXene.
1941    
1942    ----------------------------------------------------------------------
1943    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1944    Date: 2005/11/07
1945    Description:
1946    Fixed a Basis incompatibility: The depreciated function Substring.all
1947    was removed (use Substring.full instead).
1948    
1949    ----------------------------------------------------------------------
1950    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1951    Date: 2005/11/05
1952    Description:
1953    Tweaked interval set API in SML/NJ library; see the CHANGES file for details.
1954    
1955    ----------------------------------------------------------------------
1956    Name: Matthias Blume (http://www.tti-c.org/blume/)
1957    Date: 2005/11/02 16:25:00 CST
1958    Tag: blume-20051102-hex
1959    Description:
1960    
1961    * Runtime system bootstrap code now accepts hex digits in BOOTLIST
1962      in either upper case or lower case format.
1963    * Pushed changes to names of Pack<N>{Big,Little} structures through
1964      CML and eXene.
1965    
1966    ----------------------------------------------------------------------
1967    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1968    Date: 2005/11/02
1969    Description:
1970    Fixed a Basis incompatibility: Pack<N>{Big,Little} structures should
1971    be called PackWord<N>{Big,Little}.
1972    
1973    ----------------------------------------------------------------------
1974    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1975    Date: 2005/10/28
1976    Description:
1977    Fixed a minor Basis incompatibility: hex digits should be upper case.
1978    
1979    ----------------------------------------------------------------------
1980    Name: Matthias Blume (blume (at) tti - c (dot) org)
1981    Date: 2005/10/25 16:00:00 CDT
1982    Tag: Release_110_56
1983    Description:
1984    
1985    New working version (110.56).  NEW BOOTFILES!
1986    
1987    ----------------------------------------------------------------------
1988    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1989    Date: 2005/10/25
1990    Description:
1991    Added interval sets to utility library (signatures INTERVAL_DOMAIN
1992    and INTERVAL_SET, and functor IntervalSetFn).
1993    
1994    ----------------------------------------------------------------------
1995    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1996    Date: 2005/10/14
1997    Description:
1998    Add Zhong Shao's fix for datatype equality functions.
1999    
2000    ----------------------------------------------------------------------
2001    Name: Allen Leung (leunga (at) reservoir (dot) com)
2002    Date: 2005/10/14 12:30:00 EST
2003    Tag: leunga-20051014-x86-spill
2004    Description:
2005    
2006    Bug fix a bug found by Carl Hauser.
2007    There was a typo in the reload code for FCMP in x86SpillInstr.sml.
2008    
2009    ----------------------------------------------------------------------
2010    Name: Allen Leung (leunga (at) reservoir (dot) com)
2011    Date: 2005/10/14 11:15:00 EST
2012    Tag: leunga-20051014-x86-asm
2013    Description:
2014    
2015    Removed some debugging code in file x86Asm.sml.
2016    The function emit_operand was printing out debugging output.
2017    
2018    ----------------------------------------------------------------------
2019    Name: John Reppy
2020    Date: 2005/07/27
2021    Tag:
2022    Description:
2023    
2024    Fixed ml-lex to recognize "\r" as representing carriage return.
2025    
2026    ----------------------------------------------------------------------
2027    Name: John Reppy
2028    Date: 2005/07/27
2029    Tag:
2030    Description:
2031    
2032    Fixed ml-yacc to work on files with non-native end-of-line
2033    encodings (e.g., Windows text file on a Unix system).
2034    
2035    ----------------------------------------------------------------------
2036    Name: John Reppy
2037    Date: 2005/07/20
2038    Tag:
2039    Description:
2040    
2041    Added changes from Dominic Evans (oldmanuk (at) gmail (dot) com)
2042    to support HPUX 11.
2043    
2044    ----------------------------------------------------------------------
2045    Name: John Reppy
2046    Date: 2005/07/06
2047    Tag:
2048    Description:
2049    
2050    Changes to the SML/NJ library.  See smlnj-lib/CHANGES for details.
2051    
2052    ----------------------------------------------------------------------
2053    Name: Matthias Blume (blume (at) tti - c (dot) org)
2054    Date: 2005/07/06 00:45:00 CDT
2055    Tag: blume-20050706-slice-copy
2056    Description:
2057    
2058    Fixed reversed logic for deciding whether to "copy up" or "copy down"
2059    in *-array-slice.sml.
2060    
2061    ----------------------------------------------------------------------
2062    Name: Allen Leung (leunga (at) reservoir (dot) com)
2063    Date: 2005/05/31 17:00:00 EST
2064    Tag: leunga-20050531-cygwin-fault-2
2065    Description:
2066    
2067    A typo in the cygwin code fixed.
2068    
2069    ----------------------------------------------------------------------
2070    Name: Allen Leung (leunga (at) reservoir (dot) com)
2071    Date: 2005/05/31 16:47:00 EST
2072    Tag: leunga-20050531-cygwin-fault
2073    Description:
2074    
2075    Updated Cygwin's fault/signal handling to match the Windows version.
2076    Updated the export list.
2077    
2078    ----------------------------------------------------------------------
2079    Name: Matthias Blume (blume (at) tti - c (dot) org)
2080    Date: 2005/05/18 13:35:00 CDT
2081    Tag: Release_110_54
2082    Description:
2083    
2084    New working version (110.54).  NEW BOOTFILES!
2085    
2086    ----------------------------------------------------------------------
2087    Name: Matthias Blume (blume (at) tti - c (dot) org)
2088    Date: 2005/05/18 11:58:00 CDT
2089    Tag: blume-20050518-installer
2090    Description:
2091    
2092    Added support scripts for Mac OS X PackageMaker and modified
2093    config/install.sh so that it supports re-dumping a heap image
2094    after customization.
2095    
2096    ----------------------------------------------------------------------
2097    Name: Matthias Blume (blume (at) tti - c (dot) org)
2098    Date: 2005/05/18 10:55:00 CDT
2099    Tag: blume-20050518-realdiv-noovld
2100    Description:
2101    
2102    Un-overloaded / to work around bug in overloading resolution code.
2103    
2104    ----------------------------------------------------------------------
2105    Name: Matthias Blume (blume (at) tti - c (dot) org)
2106    Date: 2005/05/16 23:50:00 CDT
2107    Tag: blume-20050516-redump-heap
2108    Description:
2109    
2110    Added mechanism for re-creating a heap file for the interactive system
2111    after configuration variables have been changed.
2112    
2113       CM.redump_heap : string -> unit
2114    
2115    This is much like SMLofNJ.exportML, but starting from the resulting
2116    heap does not return to the caller of CM.redump_heap but
2117    restarts the interactive system from scratch.  The original call of
2118    CM.redump_heap does not return but ends the interactive session.
2119    Thus, CM.redump_heap is a lot like SMLofNJ.exportFn.
2120    
2121    Internally, redump_heap winds the dynamic execution context back to
2122    the point where the original heap image was created and re-executes
2123    the heap image generation code in the boot code.
2124    
2125    ----------------------------------------------------------------------
2126    Name: Matthias Blume (blume (at) tti - c (dot) org)
2127    Date: 2005/05/09 21:55:00 CDT
2128    Tag: blume-20050509-word64
2129    Description:
2130    
2131    Added a hack to the existing hack known as Word64 to make fromString
2132    behave correctly.  I am still not sure whether Word64.scan will work
2133    as specified with respect to the interaction of radix and prefix.
2134    
2135    ----------------------------------------------------------------------
2136    Name: Allen Leung (leunga (at) reservoir (dot) com)
2137    Date: 2005/05/04 11:50:00 EST
2138    Tag: leunga-20050504-checkgc
2139    Description:
2140    
2141    Added a gc protocol checking phase.  This phase is enabled with
2142    the flag "check-gc".  "debug-check-gc" turns on the verbose mode.
2143    
2144    ----------------------------------------------------------------------
2145    Name: Matthias Blume (blume (at) tti - c (dot) org)
2146    Date: 2005/05/04 10:45:00 CDT
2147    Tag: blume-20050504-intinf
2148    Description:
2149    
2150    Fixed a bug in the implementation of div and mod for IntInf.
2151    Thanks to Neophytos Michael for reporting the problem.
2152    
2153    ----------------------------------------------------------------------
2154    Name: Matthias Blume (blume (at) tti - c (dot) org)
2155    Date: 2005/05/04 10:35:00 CDT
2156    Tag: blume-20050504-join
2157    Description:
2158    
2159    Added a "join" combinator to the ParserComb module in smlnj-lib.cm.
2160    
2161    ----------------------------------------------------------------------
2162    Name: Matthias Blume (blume (at) tti - c (dot) org)
2163    Date: 2005/02/28 23:40:00 CST
2164    Tag: blume-20050228-mVar
2165    Description:
2166    
2167    Fixed serious bug (brown paper bag variety) in new implementation of
2168    structure Atom in CML.  (I had accidentally used a mailbox instead of
2169    an mvar, leaving the door open for races.)
2170    
2171    ----------------------------------------------------------------------
2172    Name: Matthias Blume (blume (at) tti - c (dot) org)
2173    Date: 2005/02/25 15:00:00 CST
2174    Tag: Release_110_53
2175    Description:
2176    
2177    New working version (110.53).  NEW BOOTFILES!
2178    
2179    ----------------------------------------------------------------------
2180    Name: Matthias Blume (blume (at) tti - c (dot) org)
2181    Date: 2005/02/25 14:50:00 CST
2182    Tag: blume-20050225-susp
2183    Description:
2184    
2185    Brought back SMLofNJ.Susp.  The underlying suspension type is the one
2186    implemented in Core -- which means that it is the same as the one used
2187    by the lazy extension.
2188    
2189    ----------------------------------------------------------------------
2190    Name: Matthias Blume (blume (at) tti - c (dot) org)
2191    Date: 2005/02/24 16:50:00 CST
2192    Tag: blume-20050224-cml-atom
2193    Description:
2194    
2195    Simpler and at the same time more general implementation of structure
2196    Atom in CML.
2197    
2198    ----------------------------------------------------------------------
2199    Name: Matthias Blume (blume (at) tti - c (dot) org)
2200    Date: 2005/02/15 17:35:00 CST
2201    Tag: blume-20050215-tools
2202    Description:
2203    
2204    Created new "tools" directory under "src" and moved "TraceDebugProf"
2205    there.
2206    
2207    ----------------------------------------------------------------------
2208    Name: Matthias Blume (blume (at) tti - c (dot) org)
2209    Date: 2005/02/10 17:55:00 CST
2210    Tag: blume-20050210-longlong
2211    Description:
2212    
2213    Implemented "long long" arguments and results for NLFFI.  (Only the
2214    PPC/MacOS implementation is complete, the other backends still need to
2215    be updated.)
2216    
2217    ----------------------------------------------------------------------
2218    Name: Matthias Blume (blume (at) tti - c (dot) org)
2219    Date: 2005/01/24 17:40:00 CST
2220    Tag: blume-20050124-mlyacc
2221    Description:
2222    
2223    Minor cleanup in ML-Yacc rule printing mechanism.  This should fix a
2224    problem with certain "as" patterns which previously got rendered
2225    using incorrect syntax.
2226    
2227    ----------------------------------------------------------------------
2228    Name: Matthias Blume (blume (at) tti - c (dot) org)
2229    Date: 2005/01/18 12:00:00 CST
2230    Tag: blume-20050118-profile
2231    Description:
2232    
2233    Made time profiling code (interrupt handler) in runtime system aware
2234    of new array representation.
2235    
2236    ----------------------------------------------------------------------
2237    Name: Matthias Blume (blume (at) tti - c (dot) org)
2238    Date: 2005/01/14 18:00:00 CST
2239    Tag: blume-20050114-heap2exec
2240    Description:
2241    
2242    Implemented new (but still experimental) heap2exec facility.  This is
2243    tested under Mac OS X and should work under Linux (will test shortly).
2244    It will probably also work on the Sparc (will test some time later).
2245    
2246      - removed old "HACKED_STANDALONE" hack from runtime
2247    
2248    To be able to test this, uncomment the request for "heap2asm" in
2249    config/targets prior to installation.  (Notice that this is different
2250    from "heap2exec" mentioned below.  Not a typo.)
2251    
2252    To perform an actual test, run the command
2253    
2254       $ bin/heap2exec heapfile execfile
2255    
2256    (You can put heap2exec on your shell's path.)
2257    
2258    For example, run
2259    
2260      $ bin/heap2exec bin/.heap/ml-yacc.ppc-darwin mly
2261    
2262    This will create a standalone executable called "mly" which you can
2263    then invoke directly as a command.
2264    
2265    ----------------------------------------------------------------------
2266    Name: Matthias Blume (blume (at) tti - c (dot) org)
2267    Date: 2005/01/07 11:44:00 CST
2268    Tag: blume-20050107-mlstring
2269    Description:
2270    
2271    fixed off-by-one error in ML_STRING macro (globals.c)
2272    
2273    ----------------------------------------------------------------------
2274    Name: Matthias Blume (blume (at) tti - c (dot) org)
2275    Date: 2004/12/23 18:00:00 CST
2276    Tag: blume-20041223-santa
2277    Description:
2278    
2279    Made ml-build script "smarter" (but only very little).
2280    
2281    ----------------------------------------------------------------------
2282    Name: Matthias Blume (blume (at) tti - c (dot) org)
2283    Date: 2004/12/21 15:05:00 CST
2284    Tag: blume-20041221-longlong
2285    Description:
2286    
2287    * Implemented access to signed and unsigned long long data in NLFFI.
2288    (The parameter-passing part of the picture has not complete. But
2289    data structure access seems to work.)
2290    
2291    * Fixed CM's incorrect assumption that the PPC is little-endian.
2292      (On the Mac, it is big-endian.  And that's currently our only
2293      PPC platform.)
2294    
2295    ----------------------------------------------------------------------
2296    Name: Matthias Blume (blume (at) tti - c (dot) org)
2297    Date: 2004/12/21 12:50:00 CST
2298    Tag: blume-20041221-memory
2299    Description:
2300    
2301    Some cleanup in the $c/memory.cm library: separated some concerns by
2302    moving allocation code and memory access code each into their own
2303    files.
2304    
2305    ----------------------------------------------------------------------
2306    Name: Allen Leung (leunga (at) reservoir (dot) com)
2307    Date: 2004/12/17 16:12:00 EST
2308    Tag: leunga-20041217-cygwin-smlnj-home
2309    Description:
2310    
2311        The Unix I/O library of SML/NJ on cygwin does not understand
2312    Windows style pathname, so problems arise when SMLNJ_HOME is set
2313    to a Windows style pathname.  _run-sml now converts SMLNJ_HOME
2314    to a POSIX pathname on cygwin.
2315    
2316    ----------------------------------------------------------------------
2317    Name: Matthias Blume (blume (at) tti - c (dot) org)
2318    Date: 2004/12/16 13:35:00 CST
2319    Tag: Release_110_52
2320    Description:
2321    
2322    Last-minute changes incorporated into 110.52.  Release tag moved.
2323    
2324    The changes:
2325       - HashString.hashString' -> HashString.hashSubstring
2326       - bug fix in UnivariateStats
2327    
2328    ----------------------------------------------------------------------
2329    Name: Matthias Blume (blume (at) tti - c (dot) org)
2330    Date: 2004/12/15 23:40:00 CST
2331    Tag: blume-20041215-hashSubstring
2332    Description:
2333    
2334    - HashString.hashString' -> HashString.hashSubstring
2335    - corresponding changes in atom.sml
2336    - "de-compressed" (aka. un-obfuscated) code for UnivariateStats and
2337      added some comments
2338    
2339    ----------------------------------------------------------------------
2340    Name: Matthias Blume (blume (at) tti - c (dot) org)
2341    Date: 2004/12/15 15:30:00 CST
2342    Tag: (Release_110_52)
2343    Description:
2344    
2345    New working version (110.52).  NEW BOOTFILES!
2346    
2347    ----------------------------------------------------------------------
2348    Name: Matthias Blume (blume (at) tti - c (dot) org)
2349    Date: 2004/12/15 12:45:00 CST
2350    Tag: blume-20041215-spaces
2351    Description:
2352    
2353    More on the space problem (this time for Win32).
2354    
2355    ----------------------------------------------------------------------
2356    Name: Matthias Blume (blume (at) tti - c (dot) org)
2357    Date: 2004/12/14 17:30:00 CST
2358    Tag: blume-20041214-spaces
2359    Description:
2360    
2361    Hacked some of the scripts (in particular: the installer) to cope with
2362    spaces in filenames a bit better.  But beware: the current "solution"
2363    is likely still full of bugs and inherently incomplete.  (We need to
2364    do away with those shell scripts for a comprehensive solution.)
2365    
2366    ----------------------------------------------------------------------
2367    Name: Matthias Blume (blume (at) tti - c (dot) org)
2368    Date: 2004/12/13 14:45:00 CST
2369    Tag: blume-20041213-ml-makedepend
2370    Description:
2371    
2372    Fixed bug in code for ml-makedepend.
2373    
2374    ----------------------------------------------------------------------
2375    Name: Matthias Blume (blume (at) tti - c (dot) org)
2376    Date: 2004/12/09 16:30:00 CST
2377    Tag: blume-20041209-statistics
2378    Description:
2379    
2380    Added two simple but potentially useful statistics modules to SML/NJ Library.
2381    (See CHANGES file there.)
2382    
2383    ----------------------------------------------------------------------
2384    Name: Matthias Blume (blume (at) tti - c (dot) org)
2385    Date: 2004/12/01 16:50:00 CST
2386    Tag: blume-20041201-atom
2387    Description:
2388    
2389    smlnj-lib:
2390    
2391      Added function HashString.hashString' for substrings.
2392      Hand-inlined CharVector.foldl into HashString (for speed).
2393      Modified implementation of structure Atom to avoid extracting
2394      strings from substrings unless necessary.
2395      (Also see CHANGES file for smlnj-lib.)
2396    
2397    ----------------------------------------------------------------------
2398    Name: Matthias Blume (blume (at) tti - c (dot) org)
2399    Date: 2004/11/24 22:15:00 CST
2400    Tag: blume-20041124-cml
2401    Description:
2402    
2403    Made sure CML compiles when Position = Int64.
2404    
2405    ----------------------------------------------------------------------
2406    Name: Matthias Blume (blume (at) tti - c (dot) org)
2407    Date: 2004/11/24 14:30:00 CST
2408    Tag: blume-20041124-position
2409    Description:
2410    
2411    The compiler can now be compiled in a mode that makes structure Position
2412    equal to Int64.  The default, however, is unchanged (Position = Int31)
2413    for the time being.
2414    
2415    To enable 64-bit positions, use the following procedure:
2416    
2417    1. Start sml
2418    2. Autoload $smlnj/cmb.cm (if not already autoloaded)
2419    3. Type
2420          #set (CMB.symval "USE_64_BIT_POSITIONS") (SOME 1);
2421    4. Run CMB.make() as usual.
2422    
2423    This is barely tested.  The only test so far was a little SML program
2424    counting the number of characters in an 8-gigabyte file by
2425    reading it character-by-character.  That test was successful.
2426    
2427    In support of 64-bit positions, a number of new functions have been
2428    added to the runtime system.
2429    
2430    ----------------------------------------------------------------------
2431    Name: Matthias Blume (blume (at) tti - c (dot) org)
2432    Date: 2004/11/23 14:45:00 CST
2433    Tag: blume-20041123-useFile
2434    Description:
2435    
2436    Fixed a problem with unhelpful error messages related to problems with
2437    .cm- or .sml files that appear as part of the sml command line.
2438    
2439    ----------------------------------------------------------------------
2440    Name: Matthias Blume (blume (at) tti - c (dot) org)
2441    Date: 2004/11/18 15:40:00 CST
2442    Tag: Release_110_51
2443    Description:
2444    
2445    New working version (110.51).  NEW BOOTFILES!
2446    
2447    ----------------------------------------------------------------------
2448    Name: Matthias Blume (blume (at) tti - c (dot) org)
2449    Date: 2004/11/18 15:35:00 CST
2450    Tag: <none>
2451    Description:
2452    
2453    Enabled dlopen and friends for FreeBSD (as recommended by Johannes 5
2454    Joemann).
2455    
2456    ----------------------------------------------------------------------
2457    Name: Allen Leung (leunga (at) reservoir (dot) com)
2458    Date: 2004/11/17 16:05:21 EST 2004
2459    Tag: leunga-20041117-mlrisc-live-kill
2460    Description:
2461    
2462       Added support for MLTree constructs LIVE and KILL
2463    to all the architectures.
2464    
2465    ----------------------------------------------------------------------
2466    Name: Matthias Blume (blume (at) tti - c (dot) org)
2467    Date: 2004/11/13 00:20:00 CST
2468    Tag: blume-20041113-versiontool
2469    Description:
2470    
2471    - Stripped down the versiontool: It now only handles the version number.
2472      The date string is generated at bootstrap time (during makeml).
2473    
2474    - In a previous commit, fixed a minor issue with how polyequal is being
2475      translated.  In particular, the code now "looks through" abstractions.
2476      This results in slightly fewer polyEqual warnings and hopefully slightly
2477      more efficient code.  Important examples for where this matters are
2478      the new int64 and word64 types.
2479    
2480    ----------------------------------------------------------------------
2481    Name: Matthias Blume (blume (at) tti - c (dot) org)
2482    Date: 2004/11/12 00:30:00 CST
2483    Tag: blume-20041112-int64
2484    Description:
2485    
2486    Structure Int64 fully hooked in.  (The implementation is not very
2487    efficient, though.)
2488    
2489    ----------------------------------------------------------------------
2490    Name: Matthias Blume (blume (at) tti - c (dot) org)
2491    Date: 2004/11/11 17:30:00 CST
2492    Tag: blume-20041111-more64
2493    Description:
2494    
2495    All the pieces of Word64 are now there, with the exception of the
2496    conversions from and to LargeWord. (Eventually these need to be identities,
2497    but for the time being they don't even make sense because LargeWord is
2498    32-bit wide.)
2499    
2500    Also started to add similar support for Int64, but major pieces of that
2501    are still missing.
2502    
2503    ----------------------------------------------------------------------
2504    Name: Matthias Blume (blume (at) tti - c (dot) org)
2505    Date: 2004/11/11 00:15:00 CST
2506    Tag: blume-20041111-word64
2507    Description:
2508    
2509    Structure Word64 is now (almost) complete, word literals and patterns
2510    seem to work.  There are a few odd pieces missing.  In particular,
2511    I didn't do the {from,to}LargeWord parts because LargeWord is still Word32
2512    at the moment.
2513    
2514    Making Word64 official would mean that LargeWord becomes Word64.  But
2515    this requires extreme care because most word-word conversions have to
2516    go through LargeWord, so making a mistake means loss of efficiency or
2517    worse.  Eventually there will be a solution similar to (but actually
2518    simpler than) what I did with IntInf.
2519    
2520    ----------------------------------------------------------------------
2521    Name: Matthias Blume (blume (at) tti - c (dot) org)
2522    Date: 2004/11/10 18:12:00 CST
2523    Tag: blume-20041110-64bit
2524    Description:
2525    
2526    More 64-bit hacking (but still not even half-way there yet).
2527    Also, some assorted improvements to the handling of 8-bit words.
2528    
2529    ----------------------------------------------------------------------
2530    Name: Matthias Blume (blume (at) tti - c (dot) org)
2531    Date: 2004/11/09 17:50:00 CST
2532    Tag: <none>
2533    Description:
2534    
2535    Started adding some infrastructure for supporting 64-bit int- and
2536    word-types.  (Still in its very early stages.)
2537    
2538    ----------------------------------------------------------------------
2539    Name: Matthias Blume (blume (at) tti - c (dot) org)
2540    Date: 2004/10/28 10:45:00 CDT
2541    Tag: Release_110_50
2542    Description:
2543    
2544    New working version (110.50).  NEW BOOTFILES!
2545    
2546                 =====================
2547    
2548    Also:
2549    
2550      - Changend config/srcarchiveurl from a file just
2551        containing the URL string into a file containing
2552        shell script code.  The code has access to the $VERSION variable.
2553      - Made corresponding changes to config/install.sh and config/unpack.
2554      - Default contents of config/srcarchiveurl uses $VERSION and
2555        normally does not have to be edited to reflect a version change.
2556    
2557      (As a result, a version change can be done by just editing
2558       config/version, the rest is now automatic.)
2559    
2560    ----------------------------------------------------------------------
2561    Name: Matthias Blume (blume (at) tti - c (dot) org)
2562    Date: 2004/10/27 17:50:00 CDT
2563    Tag: blume-20041027-btrace-msg
2564    Description:
2565    
2566    BackTrace.monitor now also reports the source of the exception that
2567    triggered the trace.
2568    
2569    ----------------------------------------------------------------------
2570    Name: Matthias Blume (blume (at) tti - c (dot) org)
2571    Date: 2004/10/27 17:20:00 CDT
2572    Tag: blume-20041027-x86-c-calls
2573    Description:
2574    
2575    This is the HISTORY entry for two earlier commits, both concerning
2576    the x86 c-calls code in MLRISC:
2577    
2578      - added a missing LOAD in the code that deals with struct arguments
2579      - made sure the caller does not add the wrong number of bytes to the
2580        stack pointer after a call of a function returning a struct
2581        (the callee already pops the implicit argument which points to
2582         the space reserved for the result)
2583    
2584    ----------------------------------------------------------------------
2585  Name: Allen Leung (leunga (at) reservoir (dot) com)  Name: Allen Leung (leunga (at) reservoir (dot) com)
2586  Date: 2004/10/24 14:00:00 EST  Date: 2004/10/24 14:00:00 EST
2587  Tag: leunga-20041024-x86-gas-fucomip  Tag: leunga-20041024-x86-gas-fucomip
# Line 218  Line 2787 
2787  Description:  Description:
2788    
2789  * Moved the "version" magic into its own little library under  * Moved the "version" magic into its own little library under
2790  src/system/smlnj/internal.  This avoids expensive reconstruction    src/system/smlnj/internal.  This avoids expensive reconstruction of
2791  of a stable src/compiler/core.cm.    a stable src/compiler/core.cm.
2792    
2793  * At the same time, structure CompilerVersion is now known as structure  * At the same time, structure CompilerVersion is now known as
2794  SMLNJVersion.    structure SMLNJVersion.
2795    
2796  * Arranged for the version tool to NOT kick in when rebuilding the system  * Arranged for the version tool to NOT kick in when rebuilding the system
2797    (makeml -rebuild, fixpt).  Otherwise one would never reach a fixpoint.    (makeml -rebuild, fixpt).  Otherwise one would never reach a fixpoint.

Legend:
Removed from v.1662  
changed lines
  Added in v.3990

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