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

SCM Repository

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

Diff of /sml/trunk/NOTES/HISTORY

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

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

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

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