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

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