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

Legend:
Removed from v.1613  
changed lines
  Added in v.2936

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