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

SCM Repository

[smlnj] Diff of /sml/trunk/NOTES/HISTORY
ViewVC logotype

Diff of /sml/trunk/NOTES/HISTORY

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

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

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

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