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

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

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