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 1638, Wed Sep 29 19:07:58 2004 UTC sml/trunk/NOTES/HISTORY revision 3981, Wed Dec 10 16:33:44 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    Cutting version 110.72.  New bootfiles.
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    Cutting version 110.71.  New bootfiles.
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    Bumped version number to 110.70.  New bootfiles.
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 bumped to 110.69.  New bootfiles.
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 bumped to 110.68.  New bootfiles.
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 bumped to 110.67.  New bootfiles.
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. NEW BOOTFILES!
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. NEW BOOTFILES!
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    Bumped version number to 110.63.
1255    
1256       !!!NEW BOOTFILES!!!
1257    
1258    ----------------------------------------------------------------------
1259    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
1260    Date: 2007/03/19
1261    Description:
1262    
1263    Fixed bogus operand sizes in AMD64 instruction spilling.
1264    
1265    ----------------------------------------------------------------------
1266    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1267    Date: 2007/03/19
1268    Description:
1269    
1270    Fixed a number of inconsistencies between the Posix.TTY structure
1271    and the Basis specification.  Thanks to Adam Chilpala.
1272    
1273    ----------------------------------------------------------------------
1274    Name: Mike Rainey (http://www.cs.uchicago.edu/~mrainey)
1275    Date: 2007/02/26
1276    Description:
1277    
1278    Added preliminary support in MLRISC for Staged Allocation, a technique
1279    for specifying calling conventions (see
1280    http://www.eecs.harvard.edu/~nr/pubs/staged-abstract.html).
1281    Initially, we plan to use this code to generate C calls for the AMD64.
1282    
1283    The staged allocation code base resides in MLRISC/staged-allocation,
1284    and specialized calling conventions go in MLRISC/ARCH/staged-allocation.
1285    
1286    ----------------------------------------------------------------------
1287    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1288    Date: 2007/02/20
1289    Description:
1290    
1291      Bug fix: when SaveCState was called with two values to save, a subsequent
1292      GC could cause the RestoreCState to fail because the saved state had been
1293      promoted to tagless pair.
1294    
1295    ----------------------------------------------------------------------
1296    Name: Allen Leung (leunga (at) reservoir (dot) com)
1297    Date: 2007/02/20 19:08:00 EST
1298    Description:
1299    
1300        Bug triggered by:
1301    
1302        val a1 = Word8Array.array(a1, 0w0);
1303        val _  = Word8Array.update(a1, 0, 0w128);
1304    
1305        x86MCEmitter crashed when the immediate operand to MOVB was outside
1306    of the range -128 ... 127.  I've changed the code so that the range
1307    check is disabled.   Only the low order 8 bits of the immediate operand
1308    are now significant.
1309    
1310    
1311    ----------------------------------------------------------------------
1312    Name: Matthias Blume (http://www.tti-c.org/blume/)
1313    Date: 2007/02/15 09:20:00 CST
1314    Description:
1315    
1316    Eliminated any mention of lexgen.  (Lexgen was an early precursor
1317    to ml-ulex.)
1318    
1319    You should update your admin directory, so the shell scripts for
1320    maintaining your local copy of the repository reflect this change.
1321    
1322    ----------------------------------------------------------------------
1323    Name: Matthias Blume (http://www.tti-c.org/blume/)
1324    Date: 2007/02/14 15:45:00 CST
1325    Description:
1326    
1327    Fixed bug in CM's parallel make facility that failed to have
1328    the master re-link modules after letting slaves compile them.
1329    
1330    ----------------------------------------------------------------------
1331    Name: Matthias Blume (http://www.tti-c.org/blume/)
1332    Date: 2007/02/12 15:10:00 CST
1333    Description:
1334    
1335    Fixed typo in ml-build script that prevented library anchors
1336    from being registered.
1337    
1338    ----------------------------------------------------------------------
1339    Name: Matthias Blume (http://www.tti-c.org/blume/)
1340    Date: 2007/02/02 15:20:00 CST
1341    Tag: release-110.62
1342    Description:
1343    
1344    New working release (110.62).  NEW BOOTFILES!
1345    
1346    ----------------------------------------------------------------------
1347    Name: Aaron Turon (http://www.cs.uchicago.edu/~adrassi)
1348    Date: 2007/01/31
1349    Description:
1350    
1351    Brought ml-lpt manual up-to-date with the code.  Many minor
1352    improvements to the tools, and a few minor bugfixes.  Prepared
1353    ml-lpt-lib for integration with new UTF8 structure.  Changed
1354    the interface for creating streams in ml-ulex (we now support
1355    stream creation from several kinds of sources).  Overall, the
1356    tools are now quite stable, and their interfaces are unlikely to
1357    change in a way that would break compatibility.  More work,
1358    however, is needed in the documentation.
1359    
1360    ----------------------------------------------------------------------
1361    Name: Matthias Blume (http://www.tti-c.org/blume/)
1362    Date: 2007/02/01 10:05:00 CST
1363    Description:
1364    
1365    Implemented library installer.  Moved CM plugin code for
1366    ml-burg, ml-lex, and ml-yacc out of CM source tree and into
1367    their respective trees.  Implemented CM plugin for ml-ulex
1368    and ml-antlr.  Used library installer for ml-burg, ml-ulex,
1369    and ml-antlr.
1370    
1371    For ml-yacc and ml-lex we continue to have permanently "plugged-in"
1372    CM tools.  (It turns out to be too messy to do otherwise because
1373    there is too much code that during installation relies on the presence
1374    of these tools -- resulting in a tricky ordering problem.)
1375    
1376    ----------------------------------------------------------------------
1377    Name: Matthias Blume (http://www.tti-c.org/blume/)
1378    Date: 2007/01/30 11:05:00 CST
1379    Description:
1380    
1381    Added SMLofNJ.shiftArgs which is like a shell's "shift" command.
1382    Modified CM's startup code to use shiftArgs as it processes
1383    command line arguments.  This way, the init code in each .sml-file
1384    or library that is mentioned at the top level will see only
1385    those arguments that have not yet been processed at this point.
1386    In other words, the init code can "seize control" and process the
1387    remaining command line.
1388    
1389    ----------------------------------------------------------------------
1390    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1391    Date: 2007/01/30
1392    Description:
1393    
1394    Added fromList function to the ORD_SET interface and lookup to the
1395    ORD_MAP interface.  See the SML/NJ Library CHANGES file for details.
1396    
1397    ----------------------------------------------------------------------
1398    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1399    Date: 2007/01/28
1400    Description:
1401    
1402    Added the UTF8 structure and signature from the Moby compiler to
1403    the SML/NJ library (and the CML library).  These modules will replace
1404    the version in the ml-lpt-lib.
1405    
1406    ----------------------------------------------------------------------
1407    Name: Matthias Blume (http://www.tti-c.org/blume/)
1408    Date: 2007/01/26 15:10:00 CST
1409    Description:
1410    
1411    Added entries to handle ml-lpt-lib.cm in installer.
1412    
1413    ----------------------------------------------------------------------
1414    Name: Matthias Blume (http://www.tti-c.org/blume/)
1415    Date: 2006/12/15 11:10:00 CST
1416    Tag: release-110.61
1417    Description:
1418    
1419    New working release (110.61).  NEW BOOTFILES!
1420    
1421    This supersedes the pre-brown-paper-bug release (see below).
1422    
1423    ----------------------------------------------------------------------
1424    Name: Matthias Blume (http://www.tti-c.org/blume/)
1425    Date: 2006/12/15 11:00:00 CST
1426    Description:
1427    
1428    Fixed brown-paper-bag bug with CM's pathname handling, which made
1429    installation fail under Win32.
1430    
1431    ----------------------------------------------------------------------
1432    Name: Matthias Blume (http://www.tti-c.org/blume/)
1433    Date: 2006/12/14 12:00:00 CST
1434    Description:
1435    
1436    Obsolete!
1437    
1438    [New working release (110.61).  NEW BOOTFILES!]
1439    
1440    ----------------------------------------------------------------------
1441    Name: John Reppy (http://cs.uchicago.edu/~jhr)
1442    Date: 2006/14/06 09:50:00 CST
1443    Description:
1444    
1445    Fixed the code in runtime/c-libs/posix-tty/{tcgetattr,tcsetattr}.c to
1446    get the c_cc termios data copied correctly.  Also moved the allocation
1447    of the string to avoid problems if it caused a GC.
1448    
1449    Thanks to Timothy Bourke for the bug report and fix.
1450    
1451    ----------------------------------------------------------------------
1452    Name: Matthias Blume (http://www.tti-c.org/blume)
1453    Date: 2006/12/08 09:50:00 CST
1454    Description:
1455    
1456    Added code to CM's "standard shell tool" implementation which
1457    causes it to tolerate (with a warning) the situation where the shell
1458    command fails (e.g., due to the shell command's non-existence)
1459    as long as all target files exist.
1460    
1461    This makes it possible to, e.g., build ml-yacc from sources even if
1462    svn checkout messed up the time stamps on files in such a way that
1463    yacc.grm is younger than yacc.grm.sml or yacc.grm.sig.  (Ml-yacc would
1464    be needed to re-process yacc.grm, but obviously it might not yet be
1465    available at that time.)
1466    
1467    ----------------------------------------------------------------------
1468    Name: John Reppy (http://cs.uchicago.edu/~jhr)
1469    Date: 2006/12/06 12:06:00 CST
1470    Description:
1471    
1472    Fixed the types of recvVecFrom, recvVecFrom', recvVecFromNB, and
1473    recvVecFromNB' in the SOCKET signature.  This error is actually
1474    in the SML Basis specification too.
1475    
1476    ----------------------------------------------------------------------
1477    Name: Matthias Blume (http://www.tti-c.org/blume/)
1478    Date: 2006/12/05 22:40:00 CST
1479    Description:
1480    
1481    CM now reports undefined anchors as errors and aborts execution
1482    rather than silently pressing on using bogus values.
1483    
1484    ----------------------------------------------------------------------
1485    Name: Matthias Blume (http://www.tti-c.org/blume/)
1486    Date: 2006/11/29 10:00:00 CST
1487    Description:
1488    
1489    Use Say.vsay for printing the "[autoloading]" message, so
1490    #set CM.Control.verbose false (or -Ccm.verbose=false) can be used
1491    to suppress them.
1492    
1493    ----------------------------------------------------------------------
1494    Name: Matthias Blume (http://www.tti-c.org/blume/)
1495    Date: 2006/11/10 11:00:00 CST
1496    Description:
1497    
1498    Fixed bug in CM where "with:" specifications that affect compilation
1499    (as opposed to parsing) were ignored.
1500    
1501    ----------------------------------------------------------------------
1502    Name: Matthias Blume (http://www.tti-c.org/blume/)
1503    Date: 2006/11/09 14:30:00 CST
1504    Tag: release-110.60
1505    Description:
1506    
1507    New working release (110.60).  NEW BOOTFILES!
1508    
1509    This is the first subversion-hosted release.  There are also changes
1510    to the directory layout.  Here is a table:
1511    
1512    (All pathnames are relative to the SML/NJ "root" directory.)
1513    
1514      config -> config
1515    
1516      src/cm -> base/cm
1517      src/compiler -> base/compiler
1518      src/runtime -> base/runtime
1519      src/system -> base/system
1520    
1521      src/cm/pgraph -> pgraph
1522    
1523      src/READMES -> base/READMES
1524      src/$notefile -> base/NOTES/$notefile
1525         for <notefile> in BOOT CVSNOTES CYGWININSTALL HISTORY INSTALL
1526                           MACOSXINSTALL WININSTALL
1527    
1528      src/smlnj-lib -> smlnj-lib
1529      src/MLRISC -> MLRISC
1530      ckit -> ckit
1531      src/cml -> cml
1532      src/eXene -> eXene
1533      src/heap2asm -> heap2asm
1534      src/lexgen -> lexgen
1535      src/ml-burg -> ml-burg
1536      src/ml-lex -> ml-lex
1537      src/ml-yacc -> ml-yacc
1538      src/ml-nlffi-lib -> nlffi/lib
1539      src/ml-nlffigen -> nlffi/gen
1540      src/smlnj-c -> smlnj-c
1541      src/tools/TraceDebugProf -> trace-debug-profile
1542    
1543    In addition, there is also a new
1544    
1545      ml-lpt
1546    
1547    directory containing two new program generator tools: ml-ulex and
1548    ml-antlr (a lexer generator that handles unicode and an ANTRL-inspired
1549    LL(k) parser generator). These tools are currently "beta-quality"
1550    
1551    The latest versios of the sources can now be obtained anonymously
1552    via subversion.  For this, it is useful to first check out
1553    
1554       svn://smlnj-gforge.cs.uchicago.edu/smlnj/admin
1555    
1556    and put the resulting directory on your shell's PATH.  This provides
1557    access to three shell scripts: checkout-all.sh, stat-all.sh,
1558    and refresh-all.sh.
1559    
1560    To create a freshly checked-out copy of the sources, do
1561    
1562       checkout-all.sh [dir]
1563    
1564    where dir is the optional SML/NJ root directory (default is ".").
1565    
1566    This creates the above directory layout.  Each subdirectory of
1567    the root is under individual subversion control.  The stat-all.sh
1568    and refresh-al.sh scripts apply "svn stat" or "svn update" to
1569    each of these subtrees.
1570    
1571    ----------------------------------------------------------------------
1572    Name: Matthias Blume (http://www.tti-c.org/blume/)
1573    Date: 2006/11/02 12:20:00 CST
1574    Description:
1575    
1576    Reorganized directory layout.
1577    
1578    This is a temporary solution, more reorganization is to come.
1579    
1580    The basic idea is to have a number of toplevel trees, each corresponding
1581    to a well-defined part of the overall system.  Each part can be
1582    maintained individually, even in separate source repositories,
1583    although currently we still serve everything out of the main
1584    smlnj-gforge tree.
1585    
1586    Installer and and scripts have been updated to reflect the new
1587    layout.  The installer (base/src/system/smlnj/installer) is now
1588    "scriptable" to avoid burning too much knowledge about the
1589    layout into SML source code.  The main script used by the installer
1590    is in config/actions.
1591    
1592    The main change is that many of the subdirectories of what used to
1593    be known as "src" have moved to the toplevel.  The "src" directory
1594    itself has moved down into a subtree called "base".  (We may eventually
1595    get rid of the extra level of indirection represented by "src".)
1596    
1597    The layout is now as follows:
1598    
1599      toplevel tree name | default repository
1600                         | (using gf=svn://smlnj-gforge.cs.uchicago.edu/smlnj)
1601      -------------------+----------------------------------------------------
1602      config             | $gf/config/trunk
1603                         |
1604      base               | $gf/sml/trunk
1605                         |
1606      smlnj-lib          | $gf/smlnj-lib/trunk
1607      MLRISC             | $gf/MLRISC/trunk
1608                         |
1609      ml-yacc            | $gf/ml-yacc/trunk
1610      ml-lex             | $gf/ml-lex/trunk
1611      ml-burg            | $gf/ml-burg/trunk
1612      lexgen             | $gf/lexgen/trunk
1613      heap2asm           | $gf/heap2asm/trunk
1614                         |
1615      cml                | $gf/cml/trunk
1616      eXene              | $gf/eXene/trunk
1617      ckit               | $gf/ckit/trunk
1618      nlffi              | $gf/nlffi/trunk
1619                         |
1620      smlnj-c            | $gf/smlnj-c/trunk
1621    
1622    In $gf/admin there are a few useful shell scripts for checking out
1623    and maintaining the entire collection of trees:
1624    
1625       admin/checkout-all.sh [dir]
1626          -- optionally creates dir and checks out all trees from their
1627             default repositories; if dir is missing, checkout into .
1628       admin/refresh-all.sh [dir]
1629          -- looks at all trees (from the above list) in dir (default: .)
1630             and runs "svn update" if the tree exists and is under
1631             subversion control;
1632             non-existing or non-subversion trees are skipped
1633       admin/stat-all.sh [dir]
1634          -- like refresh-all.sh, but runs "svn stat" instead
1635    
1636    ----------------------------------------------------------------------
1637    Name: Matthias Blume (http://www.tti-c.org/blume/)
1638    Date: 2006/10/05 11:30:00 CDT
1639    Tag: blume-20061005-merge-amd64
1640    Description:
1641    
1642    Merged code for AMD64 backend (Mike Rainey's work).
1643    Everything is hooked up but untested.
1644    
1645    ----------------------------------------------------------------------
1646    Name: Matthias Blume (http://www.tti-c.org/blume/)
1647    Date: 2006/05/17 14:00:00 CST
1648    Tag: Release_110_59
1649    Description:
1650    
1651    New working version (110.59).  NEW BOOTFILES!
1652    
1653    I am freezing 110.59.  Changes other than the version-number increase:
1654    
1655      eXene:
1656    
1657         * committed changes to eXene from Alley Stoughton:
1658             "fixed bugs in X authorization and resource handling, as well
1659              as in the pile and viewport widgets"
1660    
1661      Runtime:
1662        * fixed linking problem with NetBSD 3.x.
1663    
1664      Lexgen:
1665        * lexgen tool handles non-ascii characters in 7-bit mode the same
1666          way that ml-lex does
1667    
1668        * lexgen propagates exceptions the same way that ml-lex does
1669    
1670      CML:
1671        * Fixed a bug in the SyncVar polling functions (iGetPoll,
1672          mTakePoll, and mGetPoll) that could lead to livelock.
1673    
1674    ----------------------------------------------------------------------
1675    Name: Matthias Blume (http://www.tti-c.org/blume/)
1676    Date: 2006/05/12 15:20:00 CST
1677    Tag: blume-20060515-makedepend
1678    Description:
1679    
1680    Implemented ml-makedepend (i.e., CM.sources) in a better (more robust)
1681    way.  This should hopefully fix the ml-makedepend problem permanently.
1682    
1683    ----------------------------------------------------------------------
1684    Name: Matthias Blume (http://www.tti-c.org/blume/)
1685    Date: 2006/05/12 15:15:00 CST
1686    Tag: blume-20060512-makedepend
1687    Description:
1688    
1689    Fixed long-standing bug with ml-makedepend where it would output a
1690    spurious dependency to a non-existing file.  (This is a simple fix.
1691    It might need further looking into.)
1692    
1693    ----------------------------------------------------------------------
1694    Name: Matthias Blume (http://www.tti-c.org/blume/)
1695    Date: 2006/04/20 10:30:00 CDT
1696    Tag: blume-20060420-heap2exec
1697    Description:
1698    
1699    Committed patches received from Johannes 5 Joemann (joemann@befree.free.de)
1700    that enable heap2exec under Linux and FreeBSD.
1701    
1702    ----------------------------------------------------------------------
1703    Name: John Reppy
1704    Date: 2006/04/14
1705    Tag:
1706    Description:
1707    
1708    MLRISC changes:
1709      1) renamed GAS_PSEUDO_OPS to AS_PSEUDO_OPS and put it in its own file.
1710      2) added support for NOTB and XORB operators in pseudo-op expressions
1711      3) added DarwinPseudoOp functor that supports Darwin's assembler syntax.
1712      4) added support for 64-bit integer literals
1713    
1714    ----------------------------------------------------------------------
1715    Name: Matthias Blume (http://www.tti-c.org/blume/)
1716    Date: yyyy/mm/dd
1717    Tag: Release_110_58
1718    Description:
1719    
1720    New working version (110.58).  NEW BOOTFILES!
1721    
1722    ----------------------------------------------------------------------
1723    Name: Matthias Blume (http://www.tti-c.org/blume/)
1724    Date: 2006/03/01 22:15:00 CST
1725    Tag: blume-20060301-lexgen
1726    Description:
1727    
1728    Incorporated several bugfixes to lexgen.  Compiler now compiles to
1729    fixpoint when using lexgen instead of ml-lex.
1730    
1731    ----------------------------------------------------------------------
1732    Name: Matthias Blume (http://www.tti-c.org/blume/)
1733    Date: 2006/02/28 22:45:00 CST
1734    Tag: blume-20060228-lexgen
1735    Description:
1736    
1737    Removed ml-flex and added lexgen instead, using Aaron Turon's newly
1738    provided tarball.  The generated lexers still have problems.
1739    
1740    ----------------------------------------------------------------------
1741    Name: Matthias Blume (http://www.tti-c.org/blume/)
1742    Date: 2006/02/26 23:30:00 CST
1743    Tag: blume-20060226-ml-flex
1744    Description:
1745    
1746    Removed ml-flex' dependency on regexp-lib.cm.  Turned installation
1747    of ml-flex on by default.
1748    
1749    ----------------------------------------------------------------------
1750    Name: Matthias Blume (http://www.tti-c.org/blume/)
1751    Date: 2006/02/24 16:30:00 CST
1752    Tag: blume-20060224-ml-flex
1753    Description:
1754    
1755    Added ml-flex sources.  Partially integrated, but should not be
1756    turned on yet!  (Read: leave it commented-out in config/targets!)
1757    
1758    ----------------------------------------------------------------------
1759    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1760    Date: 2006/02/23
1761    Tag: jhr-20060223-x86-64
1762    Description:
1763    Changes to support building on x86-64 systems (using the 32-bit mode).
1764    Also cleaned up signal handling on Linux.  Support for pre-2.2 Linux
1765    kernels dropped.
1766    
1767    ----------------------------------------------------------------------
1768    Name: Allen Leung (leunga (at) reservoir (dot) com)
1769    Date: 2006/02/22 15:07:00 EST
1770    Tag: leunga-20060222-mdl-gen
1771    Description:
1772    
1773      CM has changed.  Updated the script for rebuilding the MLRISC generated
1774    files.
1775    
1776    ----------------------------------------------------------------------
1777    Name: Matthias Blume (http://www.tti-c.org/blume/)
1778    Date: 2006/02/14 17:30:00 CST
1779    Tag: blume-20060214-intel-mac
1780    Description:
1781    
1782    Hooked code for Darwin-specific Intel ABI into main compiler.
1783    (This is a temporary solution which relies on the fact that the
1784    compiler itself does not use NLFFI.  Eventually we need to divorce
1785    intel mac from generic x86 unix code and make separate sets of binaries.)
1786    
1787    ----------------------------------------------------------------------
1788    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1789    Date: 2006/02/13
1790    Tag: jhr-20060213-intel-mac
1791    Description:
1792    Changed MLRISC x86 CCalls for partial support of MacOS X ABI.
1793    
1794    ----------------------------------------------------------------------
1795    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1796    Date: 2006/02/06
1797    Tag: jhr-20060206-intel-mac
1798    Description:
1799    Changes to support MacOS X on Intel hardware.  The C-calls support in
1800    MLRISC must also be updated to support the MacOS X ABI.
1801    
1802    ----------------------------------------------------------------------
1803    Name: Matthias Blume (http://www.tti-c.org/blume/)
1804    Date: 2005/12/16 00:15:00 CST
1805    Tag: blume-20051216-cm
1806    Description:
1807    
1808    Improved error reporting and handling in CM.
1809    
1810    ----------------------------------------------------------------------
1811    Name: Matthias Blume (http://www.tti-c.org/blume/)
1812    Date: 2005/11/21 14:00:00 CST
1813    Tag: blume-20051121-html-lib
1814    Description:
1815    
1816    Enabling $/html-lib.cm in config/preloads did not work.  This is fixed
1817    now.  (Since the anchor mapping for html-lib.cm is not yet in effect
1818    at the time when config/preloads is processed, the library has to
1819    be referred to by another name.  In 110.57 this would be
1820    $SMLNJ-LIB/HTML/html-lib.cm.  I arranged for $smlnj/smlnj-lib/html-lib.cm
1821    to be valid as well.)
1822    
1823    Thanks to Todd Wilson (Fresno) for alerting me to this issue.
1824    
1825    ----------------------------------------------------------------------
1826    Name: Matthias Blume (http://www.tti-c.org/blume/)
1827    Date: 2005/11/19 13:45:00 CST
1828    Tag: Release_110_57
1829    Description:
1830    
1831    Moved release tag for 110.57.
1832    
1833    ----------------------------------------------------------------------
1834    Name: Matthias Blume (http://www.tti-c.org/blume/)
1835    Date: 2005/11/19 23:35:00 CST
1836    Tag: blume-20051119-fish
1837    Description:
1838    
1839    Fixed a problem in config/install.sh where it tries to "fish" the
1840    name of the CM metadata directory from the wrong place (because
1841    the physical location of basis.cm has changed).  Also, corrected the
1842    path anchor for $/html-lib.cm.  (Thanks to M. Fluet for pointing out
1843    these problems.)
1844    
1845    ----------------------------------------------------------------------
1846    Name: Matthias Blume (http://www.tti-c.org/blume/)
1847    Date: 2005/11/16 14:30:00 CST
1848    Tag: blume-orig-110_57
1849    Description:
1850    
1851    New working version (110.57).  NEW BOOTFILES!
1852    
1853    UPDATE: The release tag has been moved to include a fix for a brown-paper-
1854            bag glitch (see above).
1855    
1856    ----------------------------------------------------------------------
1857    Name: Matthias Blume (http://www.tti-c.org/blume/)
1858    Date: 2005/11/16 10:25:00 CST
1859    Tag: blume-22051116-btrace
1860    Description:
1861    
1862    Fixed problem with bogus exception message when using back-trace
1863    facility.
1864    
1865    ----------------------------------------------------------------------
1866    Name: Matthias Blume (http://www.tti-c.org/blume/)
1867    Date: 2005/11/15 22:35:00 CST
1868    Tag: blume-22051115-array2copy
1869    Description:
1870    
1871    Added simple implementation of Array2.copy.  (Warning: mostly untested.)
1872    
1873    ----------------------------------------------------------------------
1874    Name: Matthias Blume (http://www.tti-c.org/blume/)
1875    Date: 2005/11/15 21:35:00 CST
1876    Tag: blume-22051115-versiontool
1877    Description:
1878    
1879    Reversed change to src/system/smlnj/internals/versiontool.cm.  This
1880    file gets loaded as a tool -- by the equivalent of CM.make during the
1881    run of CMB.make.  Thus, CMB's path configuration is meaningless for
1882    it.  Instead, it has the status of "user code", so it should use
1883    $/basis.cm to refer to the Basis library.  (At least that's true for
1884    the purpose of bootstrapping the previous change.  In the future it
1885    might make sense to have versiontool.cm refer to
1886    $smlnj/basis/basis.cm, i.e., the version of the Basis that the
1887    compiler itself uses.)
1888    
1889    Also patched src/system/testml to have it activate those extra anchor
1890    bindings in config/extrapathconfig.
1891    
1892    ----------------------------------------------------------------------
1893    Name: Matthias Blume (http://www.tti-c.org/blume/)
1894    Date: 2005/11/15 16:35:00 CST
1895    Tag: blume-22051115-libraries
1896    Description:
1897    
1898    This change affects the way the following libraries are tied into
1899    the system:
1900    
1901       $/basis.cm
1902       $/smlnj-lib.cm
1903       $/pp-lib.cm
1904       $/controls-lib.cm
1905       $/html-lib.cm
1906       $/ml-yacc-lib.cm
1907    
1908    These libraries are now internally (as seen from the source code
1909    of the implementation itself) known by the following names:
1910    
1911       $smlnj/basis/basis.cm
1912       $smlnj/smlnj-lib/smlnj-lib.cm
1913       $smlnj/smlnj-lib/pp-lib.cm
1914       $smlnj/smlnj-lib/controls-lib.cm
1915       $smlnj/smlnj-lib/html-lib.cm
1916       $smlnj/ml-yacc/ml-yacc-lib.cm
1917    
1918    This makes it possible to work with code that requires different
1919    versions of these libraries, and which refers to these libraries using
1920    their "default" names (i.e., the first set of names above).  In other
1921    words, one can un-define or re-define those default names without
1922    compromising the proper functioning of the compiler itself.
1923    
1924    A similar procedure had already been performed for several of the
1925    MLRISC libraries that are linked into the compiler.  I did some
1926    cleanup on this code.
1927    
1928    A new file in the config directory (named extrapathconfig) is
1929    responsible for setting up path anchors that the compiler itself does
1930    not need, but that are typically required by user code.
1931    
1932    ----------------------------------------------------------------------
1933    Name: Matthias Blume
1934    Date: 2005/11/07 17:05:00 CST
1935    Tag: blume-20051107-slice
1936    Description:
1937    
1938    Fixed erroneous out-of-bounds test in the "update" function of
1939    various *ArraySlice modules.  (Thanks to Vesa A. Norrman for pointing
1940    out the problem.)
1941    
1942    Pushed some Basis changes through ML-Lex, CML, and eXene.
1943    
1944    ----------------------------------------------------------------------
1945    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1946    Date: 2005/11/07
1947    Description:
1948    Fixed a Basis incompatibility: The depreciated function Substring.all
1949    was removed (use Substring.full instead).
1950    
1951    ----------------------------------------------------------------------
1952    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1953    Date: 2005/11/05
1954    Description:
1955    Tweaked interval set API in SML/NJ library; see the CHANGES file for details.
1956    
1957    ----------------------------------------------------------------------
1958    Name: Matthias Blume (http://www.tti-c.org/blume/)
1959    Date: 2005/11/02 16:25:00 CST
1960    Tag: blume-20051102-hex
1961    Description:
1962    
1963    * Runtime system bootstrap code now accepts hex digits in BOOTLIST
1964      in either upper case or lower case format.
1965    * Pushed changes to names of Pack<N>{Big,Little} structures through
1966      CML and eXene.
1967    
1968    ----------------------------------------------------------------------
1969    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1970    Date: 2005/11/02
1971    Description:
1972    Fixed a Basis incompatibility: Pack<N>{Big,Little} structures should
1973    be called PackWord<N>{Big,Little}.
1974    
1975    ----------------------------------------------------------------------
1976    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1977    Date: 2005/10/28
1978    Description:
1979    Fixed a minor Basis incompatibility: hex digits should be upper case.
1980    
1981    ----------------------------------------------------------------------
1982    Name: Matthias Blume (blume (at) tti - c (dot) org)
1983    Date: 2005/10/25 16:00:00 CDT
1984    Tag: Release_110_56
1985    Description:
1986    
1987    New working version (110.56).  NEW BOOTFILES!
1988    
1989    ----------------------------------------------------------------------
1990    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1991    Date: 2005/10/25
1992    Description:
1993    Added interval sets to utility library (signatures INTERVAL_DOMAIN
1994    and INTERVAL_SET, and functor IntervalSetFn).
1995    
1996    ----------------------------------------------------------------------
1997    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
1998    Date: 2005/10/14
1999    Description:
2000    Add Zhong Shao's fix for datatype equality functions.
2001    
2002    ----------------------------------------------------------------------
2003    Name: Allen Leung (leunga (at) reservoir (dot) com)
2004    Date: 2005/10/14 12:30:00 EST
2005    Tag: leunga-20051014-x86-spill
2006    Description:
2007    
2008    Bug fix a bug found by Carl Hauser.
2009    There was a typo in the reload code for FCMP in x86SpillInstr.sml.
2010    
2011    ----------------------------------------------------------------------
2012    Name: Allen Leung (leunga (at) reservoir (dot) com)
2013    Date: 2005/10/14 11:15:00 EST
2014    Tag: leunga-20051014-x86-asm
2015    Description:
2016    
2017    Removed some debugging code in file x86Asm.sml.
2018    The function emit_operand was printing out debugging output.
2019    
2020    ----------------------------------------------------------------------
2021    Name: John Reppy
2022    Date: 2005/07/27
2023    Tag:
2024    Description:
2025    
2026    Fixed ml-lex to recognize "\r" as representing carriage return.
2027    
2028    ----------------------------------------------------------------------
2029    Name: John Reppy
2030    Date: 2005/07/27
2031    Tag:
2032    Description:
2033    
2034    Fixed ml-yacc to work on files with non-native end-of-line
2035    encodings (e.g., Windows text file on a Unix system).
2036    
2037    ----------------------------------------------------------------------
2038    Name: John Reppy
2039    Date: 2005/07/20
2040    Tag:
2041    Description:
2042    
2043    Added changes from Dominic Evans (oldmanuk (at) gmail (dot) com)
2044    to support HPUX 11.
2045    
2046    ----------------------------------------------------------------------
2047    Name: John Reppy
2048    Date: 2005/07/06
2049    Tag:
2050    Description:
2051    
2052    Changes to the SML/NJ library.  See smlnj-lib/CHANGES for details.
2053    
2054    ----------------------------------------------------------------------
2055    Name: Matthias Blume (blume (at) tti - c (dot) org)
2056    Date: 2005/07/06 00:45:00 CDT
2057    Tag: blume-20050706-slice-copy
2058    Description:
2059    
2060    Fixed reversed logic for deciding whether to "copy up" or "copy down"
2061    in *-array-slice.sml.
2062    
2063    ----------------------------------------------------------------------
2064    Name: Allen Leung (leunga (at) reservoir (dot) com)
2065    Date: 2005/05/31 17:00:00 EST
2066    Tag: leunga-20050531-cygwin-fault-2
2067    Description:
2068    
2069    A typo in the cygwin code fixed.
2070    
2071    ----------------------------------------------------------------------
2072    Name: Allen Leung (leunga (at) reservoir (dot) com)
2073    Date: 2005/05/31 16:47:00 EST
2074    Tag: leunga-20050531-cygwin-fault
2075    Description:
2076    
2077    Updated Cygwin's fault/signal handling to match the Windows version.
2078    Updated the export list.
2079    
2080    ----------------------------------------------------------------------
2081    Name: Matthias Blume (blume (at) tti - c (dot) org)
2082    Date: 2005/05/18 13:35:00 CDT
2083    Tag: Release_110_54
2084    Description:
2085    
2086    New working version (110.54).  NEW BOOTFILES!
2087    
2088    ----------------------------------------------------------------------
2089    Name: Matthias Blume (blume (at) tti - c (dot) org)
2090    Date: 2005/05/18 11:58:00 CDT
2091    Tag: blume-20050518-installer
2092    Description:
2093    
2094    Added support scripts for Mac OS X PackageMaker and modified
2095    config/install.sh so that it supports re-dumping a heap image
2096    after customization.
2097    
2098    ----------------------------------------------------------------------
2099    Name: Matthias Blume (blume (at) tti - c (dot) org)
2100    Date: 2005/05/18 10:55:00 CDT
2101    Tag: blume-20050518-realdiv-noovld
2102    Description:
2103    
2104    Un-overloaded / to work around bug in overloading resolution code.
2105    
2106    ----------------------------------------------------------------------
2107    Name: Matthias Blume (blume (at) tti - c (dot) org)
2108    Date: 2005/05/16 23:50:00 CDT
2109    Tag: blume-20050516-redump-heap
2110    Description:
2111    
2112    Added mechanism for re-creating a heap file for the interactive system
2113    after configuration variables have been changed.
2114    
2115       CM.redump_heap : string -> unit
2116    
2117    This is much like SMLofNJ.exportML, but starting from the resulting
2118    heap does not return to the caller of CM.redump_heap but
2119    restarts the interactive system from scratch.  The original call of
2120    CM.redump_heap does not return but ends the interactive session.
2121    Thus, CM.redump_heap is a lot like SMLofNJ.exportFn.
2122    
2123    Internally, redump_heap winds the dynamic execution context back to
2124    the point where the original heap image was created and re-executes
2125    the heap image generation code in the boot code.
2126    
2127    ----------------------------------------------------------------------
2128    Name: Matthias Blume (blume (at) tti - c (dot) org)
2129    Date: 2005/05/09 21:55:00 CDT
2130    Tag: blume-20050509-word64
2131    Description:
2132    
2133    Added a hack to the existing hack known as Word64 to make fromString
2134    behave correctly.  I am still not sure whether Word64.scan will work
2135    as specified with respect to the interaction of radix and prefix.
2136    
2137    ----------------------------------------------------------------------
2138    Name: Allen Leung (leunga (at) reservoir (dot) com)
2139    Date: 2005/05/04 11:50:00 EST
2140    Tag: leunga-20050504-checkgc
2141    Description:
2142    
2143    Added a gc protocol checking phase.  This phase is enabled with
2144    the flag "check-gc".  "debug-check-gc" turns on the verbose mode.
2145    
2146    ----------------------------------------------------------------------
2147    Name: Matthias Blume (blume (at) tti - c (dot) org)
2148    Date: 2005/05/04 10:45:00 CDT
2149    Tag: blume-20050504-intinf
2150    Description:
2151    
2152    Fixed a bug in the implementation of div and mod for IntInf.
2153    Thanks to Neophytos Michael for reporting the problem.
2154    
2155    ----------------------------------------------------------------------
2156    Name: Matthias Blume (blume (at) tti - c (dot) org)
2157    Date: 2005/05/04 10:35:00 CDT
2158    Tag: blume-20050504-join
2159    Description:
2160    
2161    Added a "join" combinator to the ParserComb module in smlnj-lib.cm.
2162    
2163    ----------------------------------------------------------------------
2164    Name: Matthias Blume (blume (at) tti - c (dot) org)
2165    Date: 2005/02/28 23:40:00 CST
2166    Tag: blume-20050228-mVar
2167    Description:
2168    
2169    Fixed serious bug (brown paper bag variety) in new implementation of
2170    structure Atom in CML.  (I had accidentally used a mailbox instead of
2171    an mvar, leaving the door open for races.)
2172    
2173    ----------------------------------------------------------------------
2174    Name: Matthias Blume (blume (at) tti - c (dot) org)
2175    Date: 2005/02/25 15:00:00 CST
2176    Tag: Release_110_53
2177    Description:
2178    
2179    New working version (110.53).  NEW BOOTFILES!
2180    
2181    ----------------------------------------------------------------------
2182    Name: Matthias Blume (blume (at) tti - c (dot) org)
2183    Date: 2005/02/25 14:50:00 CST
2184    Tag: blume-20050225-susp
2185    Description:
2186    
2187    Brought back SMLofNJ.Susp.  The underlying suspension type is the one
2188    implemented in Core -- which means that it is the same as the one used
2189    by the lazy extension.
2190    
2191    ----------------------------------------------------------------------
2192    Name: Matthias Blume (blume (at) tti - c (dot) org)
2193    Date: 2005/02/24 16:50:00 CST
2194    Tag: blume-20050224-cml-atom
2195    Description:
2196    
2197    Simpler and at the same time more general implementation of structure
2198    Atom in CML.
2199    
2200    ----------------------------------------------------------------------
2201    Name: Matthias Blume (blume (at) tti - c (dot) org)
2202    Date: 2005/02/15 17:35:00 CST
2203    Tag: blume-20050215-tools
2204    Description:
2205    
2206    Created new "tools" directory under "src" and moved "TraceDebugProf"
2207    there.
2208    
2209    ----------------------------------------------------------------------
2210    Name: Matthias Blume (blume (at) tti - c (dot) org)
2211    Date: 2005/02/10 17:55:00 CST
2212    Tag: blume-20050210-longlong
2213    Description:
2214    
2215    Implemented "long long" arguments and results for NLFFI.  (Only the
2216    PPC/MacOS implementation is complete, the other backends still need to
2217    be updated.)
2218    
2219    ----------------------------------------------------------------------
2220    Name: Matthias Blume (blume (at) tti - c (dot) org)
2221    Date: 2005/01/24 17:40:00 CST
2222    Tag: blume-20050124-mlyacc
2223    Description:
2224    
2225    Minor cleanup in ML-Yacc rule printing mechanism.  This should fix a
2226    problem with certain "as" patterns which previously got rendered
2227    using incorrect syntax.
2228    
2229    ----------------------------------------------------------------------
2230    Name: Matthias Blume (blume (at) tti - c (dot) org)
2231    Date: 2005/01/18 12:00:00 CST
2232    Tag: blume-20050118-profile
2233    Description:
2234    
2235    Made time profiling code (interrupt handler) in runtime system aware
2236    of new array representation.
2237    
2238    ----------------------------------------------------------------------
2239    Name: Matthias Blume (blume (at) tti - c (dot) org)
2240    Date: 2005/01/14 18:00:00 CST
2241    Tag: blume-20050114-heap2exec
2242    Description:
2243    
2244    Implemented new (but still experimental) heap2exec facility.  This is
2245    tested under Mac OS X and should work under Linux (will test shortly).
2246    It will probably also work on the Sparc (will test some time later).
2247    
2248      - removed old "HACKED_STANDALONE" hack from runtime
2249    
2250    To be able to test this, uncomment the request for "heap2asm" in
2251    config/targets prior to installation.  (Notice that this is different
2252    from "heap2exec" mentioned below.  Not a typo.)
2253    
2254    To perform an actual test, run the command
2255    
2256       $ bin/heap2exec heapfile execfile
2257    
2258    (You can put heap2exec on your shell's path.)
2259    
2260    For example, run
2261    
2262      $ bin/heap2exec bin/.heap/ml-yacc.ppc-darwin mly
2263    
2264    This will create a standalone executable called "mly" which you can
2265    then invoke directly as a command.
2266    
2267    ----------------------------------------------------------------------
2268    Name: Matthias Blume (blume (at) tti - c (dot) org)
2269    Date: 2005/01/07 11:44:00 CST
2270    Tag: blume-20050107-mlstring
2271    Description:
2272    
2273    fixed off-by-one error in ML_STRING macro (globals.c)
2274    
2275    ----------------------------------------------------------------------
2276    Name: Matthias Blume (blume (at) tti - c (dot) org)
2277    Date: 2004/12/23 18:00:00 CST
2278    Tag: blume-20041223-santa
2279    Description:
2280    
2281    Made ml-build script "smarter" (but only very little).
2282    
2283    ----------------------------------------------------------------------
2284    Name: Matthias Blume (blume (at) tti - c (dot) org)
2285    Date: 2004/12/21 15:05:00 CST
2286    Tag: blume-20041221-longlong
2287    Description:
2288    
2289    * Implemented access to signed and unsigned long long data in NLFFI.
2290    (The parameter-passing part of the picture has not complete. But
2291    data structure access seems to work.)
2292    
2293    * Fixed CM's incorrect assumption that the PPC is little-endian.
2294      (On the Mac, it is big-endian.  And that's currently our only
2295      PPC platform.)
2296    
2297    ----------------------------------------------------------------------
2298    Name: Matthias Blume (blume (at) tti - c (dot) org)
2299    Date: 2004/12/21 12:50:00 CST
2300    Tag: blume-20041221-memory
2301    Description:
2302    
2303    Some cleanup in the $c/memory.cm library: separated some concerns by
2304    moving allocation code and memory access code each into their own
2305    files.
2306    
2307    ----------------------------------------------------------------------
2308    Name: Allen Leung (leunga (at) reservoir (dot) com)
2309    Date: 2004/12/17 16:12:00 EST
2310    Tag: leunga-20041217-cygwin-smlnj-home
2311    Description:
2312    
2313        The Unix I/O library of SML/NJ on cygwin does not understand
2314    Windows style pathname, so problems arise when SMLNJ_HOME is set
2315    to a Windows style pathname.  _run-sml now converts SMLNJ_HOME
2316    to a POSIX pathname on cygwin.
2317    
2318    ----------------------------------------------------------------------
2319    Name: Matthias Blume (blume (at) tti - c (dot) org)
2320    Date: 2004/12/16 13:35:00 CST
2321    Tag: Release_110_52
2322    Description:
2323    
2324    Last-minute changes incorporated into 110.52.  Release tag moved.
2325    
2326    The changes:
2327       - HashString.hashString' -> HashString.hashSubstring
2328       - bug fix in UnivariateStats
2329    
2330    ----------------------------------------------------------------------
2331    Name: Matthias Blume (blume (at) tti - c (dot) org)
2332    Date: 2004/12/15 23:40:00 CST
2333    Tag: blume-20041215-hashSubstring
2334    Description:
2335    
2336    - HashString.hashString' -> HashString.hashSubstring
2337    - corresponding changes in atom.sml
2338    - "de-compressed" (aka. un-obfuscated) code for UnivariateStats and
2339      added some comments
2340    
2341    ----------------------------------------------------------------------
2342    Name: Matthias Blume (blume (at) tti - c (dot) org)
2343    Date: 2004/12/15 15:30:00 CST
2344    Tag: (Release_110_52)
2345    Description:
2346    
2347    New working version (110.52).  NEW BOOTFILES!
2348    
2349    ----------------------------------------------------------------------
2350    Name: Matthias Blume (blume (at) tti - c (dot) org)
2351    Date: 2004/12/15 12:45:00 CST
2352    Tag: blume-20041215-spaces
2353    Description:
2354    
2355    More on the space problem (this time for Win32).
2356    
2357    ----------------------------------------------------------------------
2358    Name: Matthias Blume (blume (at) tti - c (dot) org)
2359    Date: 2004/12/14 17:30:00 CST
2360    Tag: blume-20041214-spaces
2361    Description:
2362    
2363    Hacked some of the scripts (in particular: the installer) to cope with
2364    spaces in filenames a bit better.  But beware: the current "solution"
2365    is likely still full of bugs and inherently incomplete.  (We need to
2366    do away with those shell scripts for a comprehensive solution.)
2367    
2368    ----------------------------------------------------------------------
2369    Name: Matthias Blume (blume (at) tti - c (dot) org)
2370    Date: 2004/12/13 14:45:00 CST
2371    Tag: blume-20041213-ml-makedepend
2372    Description:
2373    
2374    Fixed bug in code for ml-makedepend.
2375    
2376    ----------------------------------------------------------------------
2377    Name: Matthias Blume (blume (at) tti - c (dot) org)
2378    Date: 2004/12/09 16:30:00 CST
2379    Tag: blume-20041209-statistics
2380    Description:
2381    
2382    Added two simple but potentially useful statistics modules to SML/NJ Library.
2383    (See CHANGES file there.)
2384    
2385    ----------------------------------------------------------------------
2386    Name: Matthias Blume (blume (at) tti - c (dot) org)
2387    Date: 2004/12/01 16:50:00 CST
2388    Tag: blume-20041201-atom
2389    Description:
2390    
2391    smlnj-lib:
2392    
2393      Added function HashString.hashString' for substrings.
2394      Hand-inlined CharVector.foldl into HashString (for speed).
2395      Modified implementation of structure Atom to avoid extracting
2396      strings from substrings unless necessary.
2397      (Also see CHANGES file for smlnj-lib.)
2398    
2399    ----------------------------------------------------------------------
2400    Name: Matthias Blume (blume (at) tti - c (dot) org)
2401    Date: 2004/11/24 22:15:00 CST
2402    Tag: blume-20041124-cml
2403    Description:
2404    
2405    Made sure CML compiles when Position = Int64.
2406    
2407    ----------------------------------------------------------------------
2408    Name: Matthias Blume (blume (at) tti - c (dot) org)
2409    Date: 2004/11/24 14:30:00 CST
2410    Tag: blume-20041124-position
2411    Description:
2412    
2413    The compiler can now be compiled in a mode that makes structure Position
2414    equal to Int64.  The default, however, is unchanged (Position = Int31)
2415    for the time being.
2416    
2417    To enable 64-bit positions, use the following procedure:
2418    
2419    1. Start sml
2420    2. Autoload $smlnj/cmb.cm (if not already autoloaded)
2421    3. Type
2422          #set (CMB.symval "USE_64_BIT_POSITIONS") (SOME 1);
2423    4. Run CMB.make() as usual.
2424    
2425    This is barely tested.  The only test so far was a little SML program
2426    counting the number of characters in an 8-gigabyte file by
2427    reading it character-by-character.  That test was successful.
2428    
2429    In support of 64-bit positions, a number of new functions have been
2430    added to the runtime system.
2431    
2432    ----------------------------------------------------------------------
2433    Name: Matthias Blume (blume (at) tti - c (dot) org)
2434    Date: 2004/11/23 14:45:00 CST
2435    Tag: blume-20041123-useFile
2436    Description:
2437    
2438    Fixed a problem with unhelpful error messages related to problems with
2439    .cm- or .sml files that appear as part of the sml command line.
2440    
2441    ----------------------------------------------------------------------
2442    Name: Matthias Blume (blume (at) tti - c (dot) org)
2443    Date: 2004/11/18 15:40:00 CST
2444    Tag: Release_110_51
2445    Description:
2446    
2447    New working version (110.51).  NEW BOOTFILES!
2448    
2449    ----------------------------------------------------------------------
2450    Name: Matthias Blume (blume (at) tti - c (dot) org)
2451    Date: 2004/11/18 15:35:00 CST
2452    Tag: <none>
2453    Description:
2454    
2455    Enabled dlopen and friends for FreeBSD (as recommended by Johannes 5
2456    Joemann).
2457    
2458    ----------------------------------------------------------------------
2459    Name: Allen Leung (leunga (at) reservoir (dot) com)
2460    Date: 2004/11/17 16:05:21 EST 2004
2461    Tag: leunga-20041117-mlrisc-live-kill
2462    Description:
2463    
2464       Added support for MLTree constructs LIVE and KILL
2465    to all the architectures.
2466    
2467    ----------------------------------------------------------------------
2468    Name: Matthias Blume (blume (at) tti - c (dot) org)
2469    Date: 2004/11/13 00:20:00 CST
2470    Tag: blume-20041113-versiontool
2471    Description:
2472    
2473    - Stripped down the versiontool: It now only handles the version number.
2474      The date string is generated at bootstrap time (during makeml).
2475    
2476    - In a previous commit, fixed a minor issue with how polyequal is being
2477      translated.  In particular, the code now "looks through" abstractions.
2478      This results in slightly fewer polyEqual warnings and hopefully slightly
2479      more efficient code.  Important examples for where this matters are
2480      the new int64 and word64 types.
2481    
2482    ----------------------------------------------------------------------
2483    Name: Matthias Blume (blume (at) tti - c (dot) org)
2484    Date: 2004/11/12 00:30:00 CST
2485    Tag: blume-20041112-int64
2486    Description:
2487    
2488    Structure Int64 fully hooked in.  (The implementation is not very
2489    efficient, though.)
2490    
2491    ----------------------------------------------------------------------
2492    Name: Matthias Blume (blume (at) tti - c (dot) org)
2493    Date: 2004/11/11 17:30:00 CST
2494    Tag: blume-20041111-more64
2495    Description:
2496    
2497    All the pieces of Word64 are now there, with the exception of the
2498    conversions from and to LargeWord. (Eventually these need to be identities,
2499    but for the time being they don't even make sense because LargeWord is
2500    32-bit wide.)
2501    
2502    Also started to add similar support for Int64, but major pieces of that
2503    are still missing.
2504    
2505    ----------------------------------------------------------------------
2506    Name: Matthias Blume (blume (at) tti - c (dot) org)
2507    Date: 2004/11/11 00:15:00 CST
2508    Tag: blume-20041111-word64
2509    Description:
2510    
2511    Structure Word64 is now (almost) complete, word literals and patterns
2512    seem to work.  There are a few odd pieces missing.  In particular,
2513    I didn't do the {from,to}LargeWord parts because LargeWord is still Word32
2514    at the moment.
2515    
2516    Making Word64 official would mean that LargeWord becomes Word64.  But
2517    this requires extreme care because most word-word conversions have to
2518    go through LargeWord, so making a mistake means loss of efficiency or
2519    worse.  Eventually there will be a solution similar to (but actually
2520    simpler than) what I did with IntInf.
2521    
2522    ----------------------------------------------------------------------
2523    Name: Matthias Blume (blume (at) tti - c (dot) org)
2524    Date: 2004/11/10 18:12:00 CST
2525    Tag: blume-20041110-64bit
2526    Description:
2527    
2528    More 64-bit hacking (but still not even half-way there yet).
2529    Also, some assorted improvements to the handling of 8-bit words.
2530    
2531    ----------------------------------------------------------------------
2532    Name: Matthias Blume (blume (at) tti - c (dot) org)
2533    Date: 2004/11/09 17:50:00 CST
2534    Tag: <none>
2535    Description:
2536    
2537    Started adding some infrastructure for supporting 64-bit int- and
2538    word-types.  (Still in its very early stages.)
2539    
2540    ----------------------------------------------------------------------
2541    Name: Matthias Blume (blume (at) tti - c (dot) org)
2542    Date: 2004/10/28 10:45:00 CDT
2543    Tag: Release_110_50
2544    Description:
2545    
2546    New working version (110.50).  NEW BOOTFILES!
2547    
2548                 =====================
2549    
2550    Also:
2551    
2552      - Changend config/srcarchiveurl from a file just
2553        containing the URL string into a file containing
2554        shell script code.  The code has access to the $VERSION variable.
2555      - Made corresponding changes to config/install.sh and config/unpack.
2556      - Default contents of config/srcarchiveurl uses $VERSION and
2557        normally does not have to be edited to reflect a version change.
2558    
2559      (As a result, a version change can be done by just editing
2560       config/version, the rest is now automatic.)
2561    
2562    ----------------------------------------------------------------------
2563    Name: Matthias Blume (blume (at) tti - c (dot) org)
2564    Date: 2004/10/27 17:50:00 CDT
2565    Tag: blume-20041027-btrace-msg
2566    Description:
2567    
2568    BackTrace.monitor now also reports the source of the exception that
2569    triggered the trace.
2570    
2571    ----------------------------------------------------------------------
2572    Name: Matthias Blume (blume (at) tti - c (dot) org)
2573    Date: 2004/10/27 17:20:00 CDT
2574    Tag: blume-20041027-x86-c-calls
2575    Description:
2576    
2577    This is the HISTORY entry for two earlier commits, both concerning
2578    the x86 c-calls code in MLRISC:
2579    
2580      - added a missing LOAD in the code that deals with struct arguments
2581      - made sure the caller does not add the wrong number of bytes to the
2582        stack pointer after a call of a function returning a struct
2583        (the callee already pops the implicit argument which points to
2584         the space reserved for the result)
2585    
2586    ----------------------------------------------------------------------
2587    Name: Allen Leung (leunga (at) reservoir (dot) com)
2588    Date: 2004/10/24 14:00:00 EST
2589    Tag: leunga-20041024-x86-gas-fucomip
2590    Description:
2591    
2592       John discovered a bug in the syntax of fucomip.
2593       The opcodes FU?COMIP? have been changed to
2594    
2595           fu?comip? %st(i), %st
2596    
2597    ----------------------------------------------------------------------
2598    Name: Matthias Blume (blume (at) tti - c (dot) org)
2599    Date: 2004/10/20 15:06:00 CDT
2600    Tag: blume-20041020-standalone-backtrace
2601    Description:
2602    
2603    Added a mechanism for getting back-trace information from standalone
2604    programs.  Here is how it works:
2605    
2606       1. The part of the program from which you want to get backtrace
2607          information (usually the whole program) should be wrapped with
2608          BackTrace.monitor.  This is a (unit->'a)->'a function, and your
2609          main program could be modified from something like
2610    
2611             fun main (pgm, args) = ...
2612    
2613         to
2614    
2615            fun main (pgm, args) = BackTrace.monitor (fn () => ...)
2616    
2617       2. To be able to access BackTrace.monitor, you have to add
2618          library $smlnj-tdp/plugins.cm to the .cm file that contains your
2619          main function.
2620    
2621       3. Remove all compiled code (i.e., all the .cm/ subdirectories that
2622          CM might have created in the past for your project).
2623    
2624       4. Build the system using this command line:
2625    
2626             ml-build -Ctdp.instrument=true \$smlnj-tdp/back-trace.cm \
2627                      myprog.cm MyProg.main myprog
2628    
2629          instead of the usual
2630    
2631             ml-build myprog.cm MyProg.main myprog
2632    
2633    I changed a library name:
2634    
2635       $/trace-debug-profile.cm --> $smlnj-tdp/plugins.cm
2636    
2637    New libraries:
2638    
2639       $smlnj-tdp/back-trace.cm
2640          -- when loaded causes the back-trace plugin to be installed
2641       $smlnj-tdp/coverage.cm
2642          -- when loaded causes the coverage plugin to be installed
2643    
2644    ----------------------------------------------------------------------
2645    Name: Matthias Blume (blume (at) tti - c (dot) org)
2646    Date: 2004/10/18 16:45:00 CDT
2647    Tag: blume-20041018-groupowner
2648    Description:
2649    
2650    Added an "obsolete" warning for the "group owner" syntax to CM's parser.
2651    
2652    Eliminated group owner specs from .cm files throughout the source tree.
2653    
2654    ----------------------------------------------------------------------
2655    Name: Matthias Blume (blume (at) tti - c (dot) org)
2656    Date: 2004/10/15 15:45:00 CDT
2657    Tag: blume-20041015-coverage
2658    Description:
2659    
2660    * Test coverage tool added!
2661    * Further reorganization of tracing-, debugging-, and profiling support:
2662    
2663        - moved original BTImp -- now called BackTrace -- into a separate
2664          library called $/trace-debug-profile.cm
2665        - eliminated all mentions of BTrace from SMLofNJ.Internals
2666        - only the instrumentation mechanism is now left in the compiler proper
2667        - BackTrace module is a plugin which is NOT plugged in by default
2668        - Coverage module is another such plugin
2669    
2670    To get the benefits of any of these plugin modules, the code in
2671    question must be compiled with tdp instrumentation turned on.  This
2672    can be done by setting SMLofNJ.Internals.TDP.mode to true.
2673    (The ref cell is also controlled via the -Ctdp.instrument=... switch.)
2674    
2675    Plugins are selected at link time.  (Pre-compiled instrumented code
2676    can be re-loaded with different plugins in effect.)  When an
2677    instrumented module is linked, whatever plugins are at that time
2678    enabled will come into effect for that module.
2679    
2680    To enable the back-trace plugin, load library $/trace-debug-profile.cm
2681    and invoke BackTrace.install() (e.g., from the interactive prompt).
2682    To enable the coverage plugin, load the same library and invoke
2683    Coverage.install().
2684    
2685    Back-traces are generated automatically on uncaught exceptions and
2686    when the code in question explicitly invokes BackTrace.trigger().
2687    
2688    Coverage (and execution frequency-) information must be queried
2689    explicitly by calling Coverage.not_covered and Coverage.hot_spots.
2690    
2691    ----------------------------------------------------------------------
2692    Name: Matthias Blume (blume (at) tti - c (dot) org)
2693    Date: 2004/10/14 17:40:00 CDT
2694    Tag: blume-20041014-tdp-core
2695    Description:
2696    
2697    Snapshot of a significant overhaul of how the trace/debug/profile support
2698    is hooked into the system (specifically: Core and SMLofNJ.Internals).
2699    
2700    ----------------------------------------------------------------------
2701    Name: Matthias Blume (blume (at) tti - c (dot) org)
2702    Date: 2004/10/13 16:34:00 CDT
2703    Tag: blume-20041013-tdp
2704    Description:
2705    
2706    Some rationalization of names:
2707    
2708       structure BTrace -> structure TDPInstrument
2709       etc.
2710    
2711    This is is preparation of using the original back-trace
2712    instrumentation for other purposes.  "TDP" stands for
2713    Trace/Debug/Profile.
2714    
2715    The control flag controlling whether instrumentation is on or off is now
2716    registered under a different name, so instead of running sml as
2717    
2718     sml -Cinstrument.btrace-mode=true
2719    
2720    one has to say
2721    
2722     sml -Ctdp.instrument=true
2723    
2724    ----------------------------------------------------------------------
2725    Name: Matthias Blume (blume (at) tti - c (dot) org)
2726    Date: 2004/10/11 16:37:00 CDT
2727    Tag: blume-20041011-regions
2728    Description:
2729    
2730    Made some minor modifications to elabcore.sml to have source regions
2731    be propagated more tightly -- resulting in better (i.e., smaller)
2732    regions being reported in error- and debug messages.
2733    
2734    ----------------------------------------------------------------------
2735    Name: Matthias Blume (blume (at) tti - c (dot) org)
2736    Date: 2004/10/08 22:50:00 CDT
2737    Tag: blume-20041008-cmkw
2738    Description:
2739    
2740    Fixed handling of keywords in .cm files: After seeing "is" the lexer
2741    treats subsequent occurrences of "group", "library", "source", "is",
2742    "*", and "-" as ordinary identifiers rather than keywords.
2743    
2744    Most seriously, this fixes a problem with CM's "shell" tool.  The tool
2745    is supposed to accept a tool argument called "source", but this did
2746    not work because of the clash with the keyword.
2747    
2748    ----------------------------------------------------------------------
2749    Name: Matthias Blume (blume (at) tti - c (dot) org)
2750    Date: 2004/10/07 16:00:00 CDT
2751    Tag: blume-20041007-cleanup
2752    Description:
2753    
2754    Assorted cleanup work:
2755    
2756      - got rid of intstrmap in favor of using the library's
2757        hash table implementation
2758      - threw out most of the pathnames stuff, as it was not used anyway
2759      - simplified tokentable implementation
2760      - fixed some minor spelling errors
2761    
2762    ----------------------------------------------------------------------
2763    Name: Matthias Blume (blume (at) tti - c (dot) org)
2764    Date: 2004/10/06 15:15:15 CDT
2765    Tag: blume-20041006-handler
2766    Description:
2767    
2768    Cleaned up the absyn to reflect the invariant that HANDLE always
2769    carries a FNexp as part of the type definition.  This eliminates some
2770    superfluous sanity checks at runtime down the road.
2771    
2772    Some minor cleanup of the btrace code.
2773    
2774    ----------------------------------------------------------------------
2775    Name: Matthias Blume (blume (at) tti - c (dot) org)
2776    Date: 2004/10/01 10:20:30 CDT
2777    Tag: blume-20041001-slave
2778    Description:
2779    
2780    Added hack to make slave mode work in the presence of the version
2781    tool.  (Still, since the master does two passes over the code for
2782    CMB.make, the release number gets bumped twice when slaves are
2783    attached.  I don't know if this is worth fixing...)
2784    
2785    ----------------------------------------------------------------------
2786    Name: Matthias Blume (blume (at) tti - c (dot) org)
2787    Date: 2004/09/30 10:55:00 CDT
2788    Tag: blume-20040930-version
2789    Description:
2790    
2791    * Moved the "version" magic into its own little library under
2792      src/system/smlnj/internal.  This avoids expensive reconstruction of
2793      a stable src/compiler/core.cm.
2794    
2795    * At the same time, structure CompilerVersion is now known as
2796      structure SMLNJVersion.
2797    
2798    * Arranged for the version tool to NOT kick in when rebuilding the system
2799      (makeml -rebuild, fixpt).  Otherwise one would never reach a fixpoint.
2800      Also, loading the versiontool does not work when rebuilding the system
2801      because CM is not properly initialized at that time.
2802    
2803    ----------------------------------------------------------------------
2804  Name: Matthias Blume (blume (at) tti - c (dot) org)  Name: Matthias Blume (blume (at) tti - c (dot) org)
2805  Date: 2004/09/29 14:00:00 CDT  Date: 2004/09/29 14:00:00 CDT
2806  Tag: blume-20040929-autoversion  Tag: blume-20040929-autoversion

Legend:
Removed from v.1638  
changed lines
  Added in v.3981

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