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

Legend:
Removed from v.1546  
changed lines
  Added in v.3749

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