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/HISTORY
ViewVC logotype

Diff of /sml/trunk/HISTORY

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

revision 1619, Wed Sep 8 18:19:45 2004 UTC revision 1856, Wed Nov 2 22:24:39 2005 UTC
# Line 13  Line 13 
13  Description:  Description:
14    
15  ----------------------------------------------------------------------  ----------------------------------------------------------------------
16    Name: Matthias Blume (http://www.tti-c.org/blume/)
17    Date: 2005/11/02 16:25:00 CST
18    Tag: blume-20051102-hex
19    Description:
20    
21    * Runtime system bootstrap code now accepts hex digits in BOOTLIST
22      in either upper case or lower case format.
23    * Pushed changes to names of Pack<N>{Big,Little} structures through
24      CML and eXene.
25    
26    ----------------------------------------------------------------------
27    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
28    Date: 2005/11/02
29    Description:
30    Fixed a Basis incompatibility: Pack<N>{Big,Little} structures should
31    be called PackWord<N>{Big,Little}.
32    
33    ----------------------------------------------------------------------
34    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
35    Date: 2005/10/28
36    Description:
37    Fixed a minor Basis incompatibility: hex digits should be upper case.
38    
39    ----------------------------------------------------------------------
40    Name: Matthias Blume (blume (at) tti - c (dot) org)
41    Date: 2005/10/25 16:00:00 CDT
42    Tag: Release_110_56
43    Description:
44    
45    New working version (110.56).  NEW BOOTFILES!
46    
47    ----------------------------------------------------------------------
48    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
49    Date: 2005/10/25
50    Description:
51    Added interval sets to utility library (signatures INTERVAL_DOMAIN
52    and INTERVAL_SET, and functor IntervalSetFn).
53    
54    ----------------------------------------------------------------------
55    Name: John Reppy (http://www.cs.uchicago.edu/~jhr)
56    Date: 2005/10/14
57    Description:
58    Add Zhong Shao's fix for datatype equality functions.
59    
60    ----------------------------------------------------------------------
61    Name: Allen Leung (leunga (at) reservoir (dot) com)
62    Date: 2005/10/14 12:30:00 EST
63    Tag: leunga-20051014-x86-spill
64    Description:
65    
66    Bug fix a bug found by Carl Hauser.
67    There was a typo in the reload code for FCMP in x86SpillInstr.sml.
68    
69    ----------------------------------------------------------------------
70    Name: Allen Leung (leunga (at) reservoir (dot) com)
71    Date: 2005/10/14 11:15:00 EST
72    Tag: leunga-20051014-x86-asm
73    Description:
74    
75    Removed some debugging code in file x86Asm.sml.
76    The function emit_operand was printing out debugging output.
77    
78    ----------------------------------------------------------------------
79    Name: John Reppy
80    Date: 2005/07/27
81    Tag:
82    Description:
83    
84    Fixed ml-lex to recognize "\r" as representing carriage return.
85    
86    ----------------------------------------------------------------------
87    Name: John Reppy
88    Date: 2005/07/27
89    Tag:
90    Description:
91    
92    Fixed ml-yacc to work on files with non-native end-of-line
93    encodings (e.g., Windows text file on a Unix system).
94    
95    ----------------------------------------------------------------------
96    Name: John Reppy
97    Date: 2005/07/20
98    Tag:
99    Description:
100    
101    Added changes from Dominic Evans (oldmanuk (at) gmail (dot) com)
102    to support HPUX 11.
103    
104    ----------------------------------------------------------------------
105    Name: John Reppy
106    Date: 2005/07/06
107    Tag:
108    Description:
109    
110    Changes to the SML/NJ library.  See smlnj-lib/CHANGES for details.
111    
112    ----------------------------------------------------------------------
113    Name: Matthias Blume (blume (at) tti - c (dot) org)
114    Date: 2005/07/06 00:45:00 CDT
115    Tag: blume-20050706-slice-copy
116    Description:
117    
118    Fixed reversed logic for deciding whether to "copy up" or "copy down"
119    in *-array-slice.sml.
120    
121    ----------------------------------------------------------------------
122    Name: Allen Leung (leunga (at) reservoir (dot) com)
123    Date: 2005/05/31 17:00:00 EST
124    Tag: leunga-20050531-cygwin-fault-2
125    Description:
126    
127    A typo in the cygwin code fixed.
128    
129    ----------------------------------------------------------------------
130    Name: Allen Leung (leunga (at) reservoir (dot) com)
131    Date: 2005/05/31 16:47:00 EST
132    Tag: leunga-20050531-cygwin-fault
133    Description:
134    
135    Updated Cygwin's fault/signal handling to match the Windows version.
136    Updated the export list.
137    
138    ----------------------------------------------------------------------
139    Name: Matthias Blume (blume (at) tti - c (dot) org)
140    Date: 2005/05/18 13:35:00 CDT
141    Tag: Release_110_54
142    Description:
143    
144    New working version (110.54).  NEW BOOTFILES!
145    
146    ----------------------------------------------------------------------
147    Name: Matthias Blume (blume (at) tti - c (dot) org)
148    Date: 2005/05/18 11:58:00 CDT
149    Tag: blume-20050518-installer
150    Description:
151    
152    Added support scripts for Mac OS X PackageMaker and modified
153    config/install.sh so that it supports re-dumping a heap image
154    after customization.
155    
156    ----------------------------------------------------------------------
157    Name: Matthias Blume (blume (at) tti - c (dot) org)
158    Date: 2005/05/18 10:55:00 CDT
159    Tag: blume-20050518-realdiv-noovld
160    Description:
161    
162    Un-overloaded / to work around bug in overloading resolution code.
163    
164    ----------------------------------------------------------------------
165    Name: Matthias Blume (blume (at) tti - c (dot) org)
166    Date: 2005/05/16 23:50:00 CDT
167    Tag: blume-20050516-redump-heap
168    Description:
169    
170    Added mechanism for re-creating a heap file for the interactive system
171    after configuration variables have been changed.
172    
173       CM.redump_heap : string -> unit
174    
175    This is much like SMLofNJ.exportML, but starting from the resulting
176    heap does not return to the caller of CM.redump_heap but
177    restarts the interactive system from scratch.  The original call of
178    CM.redump_heap does not return but ends the interactive session.
179    Thus, CM.redump_heap is a lot like SMLofNJ.exportFn.
180    
181    Internally, redump_heap winds the dynamic execution context back to
182    the point where the original heap image was created and re-executes
183    the heap image generation code in the boot code.
184    
185    ----------------------------------------------------------------------
186    Name: Matthias Blume (blume (at) tti - c (dot) org)
187    Date: 2005/05/09 21:55:00 CDT
188    Tag: blume-20050509-word64
189    Description:
190    
191    Added a hack to the existing hack known as Word64 to make fromString
192    behave correctly.  I am still not sure whether Word64.scan will work
193    as specified with respect to the interaction of radix and prefix.
194    
195    ----------------------------------------------------------------------
196    Name: Allen Leung (leunga (at) reservoir (dot) com)
197    Date: 2005/05/04 11:50:00 EST
198    Tag: leunga-20050504-checkgc
199    Description:
200    
201    Added a gc protocol checking phase.  This phase is enabled with
202    the flag "check-gc".  "debug-check-gc" turns on the verbose mode.
203    
204    ----------------------------------------------------------------------
205    Name: Matthias Blume (blume (at) tti - c (dot) org)
206    Date: 2005/05/04 10:45:00 CDT
207    Tag: blume-20050504-intinf
208    Description:
209    
210    Fixed a bug in the implementation of div and mod for IntInf.
211    Thanks to Neophytos Michael for reporting the problem.
212    
213    ----------------------------------------------------------------------
214    Name: Matthias Blume (blume (at) tti - c (dot) org)
215    Date: 2005/05/04 10:35:00 CDT
216    Tag: blume-20050504-join
217    Description:
218    
219    Added a "join" combinator to the ParserComb module in smlnj-lib.cm.
220    
221    ----------------------------------------------------------------------
222    Name: Matthias Blume (blume (at) tti - c (dot) org)
223    Date: 2005/02/28 23:40:00 CST
224    Tag: blume-20050228-mVar
225    Description:
226    
227    Fixed serious bug (brown paper bag variety) in new implementation of
228    structure Atom in CML.  (I had accidentally used a mailbox instead of
229    an mvar, leaving the door open for races.)
230    
231    ----------------------------------------------------------------------
232    Name: Matthias Blume (blume (at) tti - c (dot) org)
233    Date: 2005/02/25 15:00:00 CST
234    Tag: Release_110_53
235    Description:
236    
237    New working version (110.53).  NEW BOOTFILES!
238    
239    ----------------------------------------------------------------------
240    Name: Matthias Blume (blume (at) tti - c (dot) org)
241    Date: 2005/02/25 14:50:00 CST
242    Tag: blume-20050225-susp
243    Description:
244    
245    Brought back SMLofNJ.Susp.  The underlying suspension type is the one
246    implemented in Core -- which means that it is the same as the one used
247    by the lazy extension.
248    
249    ----------------------------------------------------------------------
250    Name: Matthias Blume (blume (at) tti - c (dot) org)
251    Date: 2005/02/24 16:50:00 CST
252    Tag: blume-20050224-cml-atom
253    Description:
254    
255    Simpler and at the same time more general implementation of structure
256    Atom in CML.
257    
258    ----------------------------------------------------------------------
259    Name: Matthias Blume (blume (at) tti - c (dot) org)
260    Date: 2005/02/15 17:35:00 CST
261    Tag: blume-20050215-tools
262    Description:
263    
264    Created new "tools" directory under "src" and moved "TraceDebugProf"
265    there.
266    
267    ----------------------------------------------------------------------
268    Name: Matthias Blume (blume (at) tti - c (dot) org)
269    Date: 2005/02/10 17:55:00 CST
270    Tag: blume-20050210-longlong
271    Description:
272    
273    Implemented "long long" arguments and results for NLFFI.  (Only the
274    PPC/MacOS implementation is complete, the other backends still need to
275    be updated.)
276    
277    ----------------------------------------------------------------------
278    Name: Matthias Blume (blume (at) tti - c (dot) org)
279    Date: 2005/01/24 17:40:00 CST
280    Tag: blume-20050124-mlyacc
281    Description:
282    
283    Minor cleanup in ML-Yacc rule printing mechanism.  This should fix a
284    problem with certain "as" patterns which previously got rendered
285    using incorrect syntax.
286    
287    ----------------------------------------------------------------------
288    Name: Matthias Blume (blume (at) tti - c (dot) org)
289    Date: 2005/01/18 12:00:00 CST
290    Tag: blume-20050118-profile
291    Description:
292    
293    Made time profiling code (interrupt handler) in runtime system aware
294    of new array representation.
295    
296    ----------------------------------------------------------------------
297    Name: Matthias Blume (blume (at) tti - c (dot) org)
298    Date: 2005/01/14 18:00:00 CST
299    Tag: blume-20050114-heap2exec
300    Description:
301    
302    Implemented new (but still experimental) heap2exec facility.  This is
303    tested under Mac OS X and should work under Linux (will test shortly).
304    It will probably also work on the Sparc (will test some time later).
305    
306      - removed old "HACKED_STANDALONE" hack from runtime
307    
308    To be able to test this, uncomment the request for "heap2asm" in
309    config/targets prior to installation.  (Notice that this is different
310    from "heap2exec" mentioned below.  Not a typo.)
311    
312    To perform an actual test, run the command
313    
314       $ bin/heap2exec heapfile execfile
315    
316    (You can put heap2exec on your shell's path.)
317    
318    For example, run
319    
320      $ bin/heap2exec bin/.heap/ml-yacc.ppc-darwin mly
321    
322    This will create a standalone executable called "mly" which you can
323    then invoke directly as a command.
324    
325    ----------------------------------------------------------------------
326    Name: Matthias Blume (blume (at) tti - c (dot) org)
327    Date: 2005/01/07 11:44:00 CST
328    Tag: blume-20050107-mlstring
329    Description:
330    
331    fixed off-by-one error in ML_STRING macro (globals.c)
332    
333    ----------------------------------------------------------------------
334    Name: Matthias Blume (blume (at) tti - c (dot) org)
335    Date: 2004/12/23 18:00:00 CST
336    Tag: blume-20041223-santa
337    Description:
338    
339    Made ml-build script "smarter" (but only very little).
340    
341    ----------------------------------------------------------------------
342    Name: Matthias Blume (blume (at) tti - c (dot) org)
343    Date: 2004/12/21 15:05:00 CST
344    Tag: blume-20041221-longlong
345    Description:
346    
347    * Implemented access to signed and unsigned long long data in NLFFI.
348    (The parameter-passing part of the picture has not complete. But
349    data structure access seems to work.)
350    
351    * Fixed CM's incorrect assumption that the PPC is little-endian.
352      (On the Mac, it is big-endian.  And that's currently our only
353      PPC platform.)
354    
355    ----------------------------------------------------------------------
356    Name: Matthias Blume (blume (at) tti - c (dot) org)
357    Date: 2004/12/21 12:50:00 CST
358    Tag: blume-20041221-memory
359    Description:
360    
361    Some cleanup in the $c/memory.cm library: separated some concerns by
362    moving allocation code and memory access code each into their own
363    files.
364    
365    ----------------------------------------------------------------------
366    Name: Allen Leung (leunga (at) reservoir (dot) com)
367    Date: 2004/12/17 16:12:00 EST
368    Tag: leunga-20041217-cygwin-smlnj-home
369    Description:
370    
371        The Unix I/O library of SML/NJ on cygwin does not understand
372    Windows style pathname, so problems arise when SMLNJ_HOME is set
373    to a Windows style pathname.  _run-sml now converts SMLNJ_HOME
374    to a POSIX pathname on cygwin.
375    
376    ----------------------------------------------------------------------
377    Name: Matthias Blume (blume (at) tti - c (dot) org)
378    Date: 2004/12/16 13:35:00 CST
379    Tag: Release_110_52
380    Description:
381    
382    Last-minute changes incorporated into 110.52.  Release tag moved.
383    
384    The changes:
385       - HashString.hashString' -> HashString.hashSubstring
386       - bug fix in UnivariateStats
387    
388    ----------------------------------------------------------------------
389    Name: Matthias Blume (blume (at) tti - c (dot) org)
390    Date: 2004/12/15 23:40:00 CST
391    Tag: blume-20041215-hashSubstring
392    Description:
393    
394    - HashString.hashString' -> HashString.hashSubstring
395    - corresponding changes in atom.sml
396    - "de-compressed" (aka. un-obfuscated) code for UnivariateStats and
397      added some comments
398    
399    ----------------------------------------------------------------------
400    Name: Matthias Blume (blume (at) tti - c (dot) org)
401    Date: 2004/12/15 15:30:00 CST
402    Tag: (Release_110_52)
403    Description:
404    
405    New working version (110.52).  NEW BOOTFILES!
406    
407    ----------------------------------------------------------------------
408    Name: Matthias Blume (blume (at) tti - c (dot) org)
409    Date: 2004/12/15 12:45:00 CST
410    Tag: blume-20041215-spaces
411    Description:
412    
413    More on the space problem (this time for Win32).
414    
415    ----------------------------------------------------------------------
416    Name: Matthias Blume (blume (at) tti - c (dot) org)
417    Date: 2004/12/14 17:30:00 CST
418    Tag: blume-20041214-spaces
419    Description:
420    
421    Hacked some of the scripts (in particular: the installer) to cope with
422    spaces in filenames a bit better.  But beware: the current "solution"
423    is likely still full of bugs and inherently incomplete.  (We need to
424    do away with those shell scripts for a comprehensive solution.)
425    
426    ----------------------------------------------------------------------
427    Name: Matthias Blume (blume (at) tti - c (dot) org)
428    Date: 2004/12/13 14:45:00 CST
429    Tag: blume-20041213-ml-makedepend
430    Description:
431    
432    Fixed bug in code for ml-makedepend.
433    
434    ----------------------------------------------------------------------
435    Name: Matthias Blume (blume (at) tti - c (dot) org)
436    Date: 2004/12/09 16:30:00 CST
437    Tag: blume-20041209-statistics
438    Description:
439    
440    Added two simple but potentially useful statistics modules to SML/NJ Library.
441    (See CHANGES file there.)
442    
443    ----------------------------------------------------------------------
444    Name: Matthias Blume (blume (at) tti - c (dot) org)
445    Date: 2004/12/01 16:50:00 CST
446    Tag: blume-20041201-atom
447    Description:
448    
449    smlnj-lib:
450    
451      Added function HashString.hashString' for substrings.
452      Hand-inlined CharVector.foldl into HashString (for speed).
453      Modified implementation of structure Atom to avoid extracting
454      strings from substrings unless necessary.
455      (Also see CHANGES file for smlnj-lib.)
456    
457    ----------------------------------------------------------------------
458    Name: Matthias Blume (blume (at) tti - c (dot) org)
459    Date: 2004/11/24 22:15:00 CST
460    Tag: blume-20041124-cml
461    Description:
462    
463    Made sure CML compiles when Position = Int64.
464    
465    ----------------------------------------------------------------------
466    Name: Matthias Blume (blume (at) tti - c (dot) org)
467    Date: 2004/11/24 14:30:00 CST
468    Tag: blume-20041124-position
469    Description:
470    
471    The compiler can now be compiled in a mode that makes structure Position
472    equal to Int64.  The default, however, is unchanged (Position = Int31)
473    for the time being.
474    
475    To enable 64-bit positions, use the following procedure:
476    
477    1. Start sml
478    2. Autoload $smlnj/cmb.cm (if not already autoloaded)
479    3. Type
480          #set (CMB.symval "USE_64_BIT_POSITIONS") (SOME 1);
481    4. Run CMB.make() as usual.
482    
483    This is barely tested.  The only test so far was a little SML program
484    counting the number of characters in an 8-gigabyte file by
485    reading it character-by-character.  That test was successful.
486    
487    In support of 64-bit positions, a number of new functions have been
488    added to the runtime system.
489    
490    ----------------------------------------------------------------------
491    Name: Matthias Blume (blume (at) tti - c (dot) org)
492    Date: 2004/11/23 14:45:00 CST
493    Tag: blume-20041123-useFile
494    Description:
495    
496    Fixed a problem with unhelpful error messages related to problems with
497    .cm- or .sml files that appear as part of the sml command line.
498    
499    ----------------------------------------------------------------------
500    Name: Matthias Blume (blume (at) tti - c (dot) org)
501    Date: 2004/11/18 15:40:00 CST
502    Tag: Release_110_51
503    Description:
504    
505    New working version (110.51).  NEW BOOTFILES!
506    
507    ----------------------------------------------------------------------
508    Name: Matthias Blume (blume (at) tti - c (dot) org)
509    Date: 2004/11/18 15:35:00 CST
510    Tag: <none>
511    Description:
512    
513    Enabled dlopen and friends for FreeBSD (as recommended by Johannes 5
514    Joemann).
515    
516    ----------------------------------------------------------------------
517    Name: Allen Leung (leunga (at) reservoir (dot) com)
518    Date: 2004/11/17 16:05:21 EST 2004
519    Tag: leunga-20041117-mlrisc-live-kill
520    Description:
521    
522       Added support for MLTree constructs LIVE and KILL
523    to all the architectures.
524    
525    ----------------------------------------------------------------------
526    Name: Matthias Blume (blume (at) tti - c (dot) org)
527    Date: 2004/11/13 00:20:00 CST
528    Tag: blume-20041113-versiontool
529    Description:
530    
531    - Stripped down the versiontool: It now only handles the version number.
532      The date string is generated at bootstrap time (during makeml).
533    
534    - In a previous commit, fixed a minor issue with how polyequal is being
535      translated.  In particular, the code now "looks through" abstractions.
536      This results in slightly fewer polyEqual warnings and hopefully slightly
537      more efficient code.  Important examples for where this matters are
538      the new int64 and word64 types.
539    
540    ----------------------------------------------------------------------
541    Name: Matthias Blume (blume (at) tti - c (dot) org)
542    Date: 2004/11/12 00:30:00 CST
543    Tag: blume-20041112-int64
544    Description:
545    
546    Structure Int64 fully hooked in.  (The implementation is not very
547    efficient, though.)
548    
549    ----------------------------------------------------------------------
550    Name: Matthias Blume (blume (at) tti - c (dot) org)
551    Date: 2004/11/11 17:30:00 CST
552    Tag: blume-20041111-more64
553    Description:
554    
555    All the pieces of Word64 are now there, with the exception of the
556    conversions from and to LargeWord. (Eventually these need to be identities,
557    but for the time being they don't even make sense because LargeWord is
558    32-bit wide.)
559    
560    Also started to add similar support for Int64, but major pieces of that
561    are still missing.
562    
563    ----------------------------------------------------------------------
564    Name: Matthias Blume (blume (at) tti - c (dot) org)
565    Date: 2004/11/11 00:15:00 CST
566    Tag: blume-20041111-word64
567    Description:
568    
569    Structure Word64 is now (almost) complete, word literals and patterns
570    seem to work.  There are a few odd pieces missing.  In particular,
571    I didn't do the {from,to}LargeWord parts because LargeWord is still Word32
572    at the moment.
573    
574    Making Word64 official would mean that LargeWord becomes Word64.  But
575    this requires extreme care because most word-word conversions have to
576    go through LargeWord, so making a mistake means loss of efficiency or
577    worse.  Eventually there will be a solution similar to (but actually
578    simpler than) what I did with IntInf.
579    
580    ----------------------------------------------------------------------
581    Name: Matthias Blume (blume (at) tti - c (dot) org)
582    Date: 2004/11/10 18:12:00 CST
583    Tag: blume-20041110-64bit
584    Description:
585    
586    More 64-bit hacking (but still not even half-way there yet).
587    Also, some assorted improvements to the handling of 8-bit words.
588    
589    ----------------------------------------------------------------------
590    Name: Matthias Blume (blume (at) tti - c (dot) org)
591    Date: 2004/11/09 17:50:00 CST
592    Tag: <none>
593    Description:
594    
595    Started adding some infrastructure for supporting 64-bit int- and
596    word-types.  (Still in its very early stages.)
597    
598    ----------------------------------------------------------------------
599    Name: Matthias Blume (blume (at) tti - c (dot) org)
600    Date: 2004/10/28 10:45:00 CDT
601    Tag: Release_110_50
602    Description:
603    
604    New working version (110.50).  NEW BOOTFILES!
605    
606                 =====================
607    
608    Also:
609    
610      - Changend config/srcarchiveurl from a file just
611        containing the URL string into a file containing
612        shell script code.  The code has access to the $VERSION variable.
613      - Made corresponding changes to config/install.sh and config/unpack.
614      - Default contents of config/srcarchiveurl uses $VERSION and
615        normally does not have to be edited to reflect a version change.
616    
617      (As a result, a version change can be done by just editing
618       config/version, the rest is now automatic.)
619    
620    ----------------------------------------------------------------------
621    Name: Matthias Blume (blume (at) tti - c (dot) org)
622    Date: 2004/10/27 17:50:00 CDT
623    Tag: blume-20041027-btrace-msg
624    Description:
625    
626    BackTrace.monitor now also reports the source of the exception that
627    triggered the trace.
628    
629    ----------------------------------------------------------------------
630    Name: Matthias Blume (blume (at) tti - c (dot) org)
631    Date: 2004/10/27 17:20:00 CDT
632    Tag: blume-20041027-x86-c-calls
633    Description:
634    
635    This is the HISTORY entry for two earlier commits, both concerning
636    the x86 c-calls code in MLRISC:
637    
638      - added a missing LOAD in the code that deals with struct arguments
639      - made sure the caller does not add the wrong number of bytes to the
640        stack pointer after a call of a function returning a struct
641        (the callee already pops the implicit argument which points to
642         the space reserved for the result)
643    
644    ----------------------------------------------------------------------
645    Name: Allen Leung (leunga (at) reservoir (dot) com)
646    Date: 2004/10/24 14:00:00 EST
647    Tag: leunga-20041024-x86-gas-fucomip
648    Description:
649    
650       John discovered a bug in the syntax of fucomip.
651       The opcodes FU?COMIP? have been changed to
652    
653           fu?comip? %st(i), %st
654    
655    ----------------------------------------------------------------------
656    Name: Matthias Blume (blume (at) tti - c (dot) org)
657    Date: 2004/10/20 15:06:00 CDT
658    Tag: blume-20041020-standalone-backtrace
659    Description:
660    
661    Added a mechanism for getting back-trace information from standalone
662    programs.  Here is how it works:
663    
664       1. The part of the program from which you want to get backtrace
665          information (usually the whole program) should be wrapped with
666          BackTrace.monitor.  This is a (unit->'a)->'a function, and your
667          main program could be modified from something like
668    
669             fun main (pgm, args) = ...
670    
671         to
672    
673            fun main (pgm, args) = BackTrace.monitor (fn () => ...)
674    
675       2. To be able to access BackTrace.monitor, you have to add
676          library $smlnj-tdp/plugins.cm to the .cm file that contains your
677          main function.
678    
679       3. Remove all compiled code (i.e., all the .cm/ subdirectories that
680          CM might have created in the past for your project).
681    
682       4. Build the system using this command line:
683    
684             ml-build -Ctdp.instrument=true \$smlnj-tdp/back-trace.cm \
685                      myprog.cm MyProg.main myprog
686    
687          instead of the usual
688    
689             ml-build myprog.cm MyProg.main myprog
690    
691    I changed a library name:
692    
693       $/trace-debug-profile.cm --> $smlnj-tdp/plugins.cm
694    
695    New libraries:
696    
697       $smlnj-tdp/back-trace.cm
698          -- when loaded causes the back-trace plugin to be installed
699       $smlnj-tdp/coverage.cm
700          -- when loaded causes the coverage plugin to be installed
701    
702    ----------------------------------------------------------------------
703    Name: Matthias Blume (blume (at) tti - c (dot) org)
704    Date: 2004/10/18 16:45:00 CDT
705    Tag: blume-20041018-groupowner
706    Description:
707    
708    Added an "obsolete" warning for the "group owner" syntax to CM's parser.
709    
710    Eliminated group owner specs from .cm files throughout the source tree.
711    
712    ----------------------------------------------------------------------
713    Name: Matthias Blume (blume (at) tti - c (dot) org)
714    Date: 2004/10/15 15:45:00 CDT
715    Tag: blume-20041015-coverage
716    Description:
717    
718    * Test coverage tool added!
719    * Further reorganization of tracing-, debugging-, and profiling support:
720    
721        - moved original BTImp -- now called BackTrace -- into a separate
722          library called $/trace-debug-profile.cm
723        - eliminated all mentions of BTrace from SMLofNJ.Internals
724        - only the instrumentation mechanism is now left in the compiler proper
725        - BackTrace module is a plugin which is NOT plugged in by default
726        - Coverage module is another such plugin
727    
728    To get the benefits of any of these plugin modules, the code in
729    question must be compiled with tdp instrumentation turned on.  This
730    can be done by setting SMLofNJ.Internals.TDP.mode to true.
731    (The ref cell is also controlled via the -Ctdp.instrument=... switch.)
732    
733    Plugins are selected at link time.  (Pre-compiled instrumented code
734    can be re-loaded with different plugins in effect.)  When an
735    instrumented module is linked, whatever plugins are at that time
736    enabled will come into effect for that module.
737    
738    To enable the back-trace plugin, load library $/trace-debug-profile.cm
739    and invoke BackTrace.install() (e.g., from the interactive prompt).
740    To enable the coverage plugin, load the same library and invoke
741    Coverage.install().
742    
743    Back-traces are generated automatically on uncaught exceptions and
744    when the code in question explicitly invokes BackTrace.trigger().
745    
746    Coverage (and execution frequency-) information must be queried
747    explicitly by calling Coverage.not_covered and Coverage.hot_spots.
748    
749    ----------------------------------------------------------------------
750    Name: Matthias Blume (blume (at) tti - c (dot) org)
751    Date: 2004/10/14 17:40:00 CDT
752    Tag: blume-20041014-tdp-core
753    Description:
754    
755    Snapshot of a significant overhaul of how the trace/debug/profile support
756    is hooked into the system (specifically: Core and SMLofNJ.Internals).
757    
758    ----------------------------------------------------------------------
759    Name: Matthias Blume (blume (at) tti - c (dot) org)
760    Date: 2004/10/13 16:34:00 CDT
761    Tag: blume-20041013-tdp
762    Description:
763    
764    Some rationalization of names:
765    
766       structure BTrace -> structure TDPInstrument
767       etc.
768    
769    This is is preparation of using the original back-trace
770    instrumentation for other purposes.  "TDP" stands for
771    Trace/Debug/Profile.
772    
773    The control flag controlling whether instrumentation is on or off is now
774    registered under a different name, so instead of running sml as
775    
776     sml -Cinstrument.btrace-mode=true
777    
778    one has to say
779    
780     sml -Ctdp.instrument=true
781    
782    ----------------------------------------------------------------------
783    Name: Matthias Blume (blume (at) tti - c (dot) org)
784    Date: 2004/10/11 16:37:00 CDT
785    Tag: blume-20041011-regions
786    Description:
787    
788    Made some minor modifications to elabcore.sml to have source regions
789    be propagated more tightly -- resulting in better (i.e., smaller)
790    regions being reported in error- and debug messages.
791    
792    ----------------------------------------------------------------------
793    Name: Matthias Blume (blume (at) tti - c (dot) org)
794    Date: 2004/10/08 22:50:00 CDT
795    Tag: blume-20041008-cmkw
796    Description:
797    
798    Fixed handling of keywords in .cm files: After seeing "is" the lexer
799    treats subsequent occurrences of "group", "library", "source", "is",
800    "*", and "-" as ordinary identifiers rather than keywords.
801    
802    Most seriously, this fixes a problem with CM's "shell" tool.  The tool
803    is supposed to accept a tool argument called "source", but this did
804    not work because of the clash with the keyword.
805    
806    ----------------------------------------------------------------------
807    Name: Matthias Blume (blume (at) tti - c (dot) org)
808    Date: 2004/10/07 16:00:00 CDT
809    Tag: blume-20041007-cleanup
810    Description:
811    
812    Assorted cleanup work:
813    
814      - got rid of intstrmap in favor of using the library's
815        hash table implementation
816      - threw out most of the pathnames stuff, as it was not used anyway
817      - simplified tokentable implementation
818      - fixed some minor spelling errors
819    
820    ----------------------------------------------------------------------
821    Name: Matthias Blume (blume (at) tti - c (dot) org)
822    Date: 2004/10/06 15:15:15 CDT
823    Tag: blume-20041006-handler
824    Description:
825    
826    Cleaned up the absyn to reflect the invariant that HANDLE always
827    carries a FNexp as part of the type definition.  This eliminates some
828    superfluous sanity checks at runtime down the road.
829    
830    Some minor cleanup of the btrace code.
831    
832    ----------------------------------------------------------------------
833    Name: Matthias Blume (blume (at) tti - c (dot) org)
834    Date: 2004/10/01 10:20:30 CDT
835    Tag: blume-20041001-slave
836    Description:
837    
838    Added hack to make slave mode work in the presence of the version
839    tool.  (Still, since the master does two passes over the code for
840    CMB.make, the release number gets bumped twice when slaves are
841    attached.  I don't know if this is worth fixing...)
842    
843    ----------------------------------------------------------------------
844    Name: Matthias Blume (blume (at) tti - c (dot) org)
845    Date: 2004/09/30 10:55:00 CDT
846    Tag: blume-20040930-version
847    Description:
848    
849    * Moved the "version" magic into its own little library under
850      src/system/smlnj/internal.  This avoids expensive reconstruction of
851      a stable src/compiler/core.cm.
852    
853    * At the same time, structure CompilerVersion is now known as
854      structure SMLNJVersion.
855    
856    * Arranged for the version tool to NOT kick in when rebuilding the system
857      (makeml -rebuild, fixpt).  Otherwise one would never reach a fixpoint.
858      Also, loading the versiontool does not work when rebuilding the system
859      because CM is not properly initialized at that time.
860    
861    ----------------------------------------------------------------------
862    Name: Matthias Blume (blume (at) tti - c (dot) org)
863    Date: 2004/09/29 14:00:00 CDT
864    Tag: blume-20040929-autoversion
865    Description:
866    
867    Implemented some CM magic to have
868        file src/compiler/TopLevel/main/version.sml
869    generated automagically.
870    The version is taken from two files: config/version and config/release.
871    The first is expected to contain a two-part version number such as 110.49.
872    The second should contain a single number, but it may be missing.
873    
874    If the environment variable VERSIONTOOL_BUMP_RELEASE is defined at the
875    time the version tool is loaded (which is the first time you say CMB.make),
876    then the tool will increment the value stored in config/release every
877    time CMB.make is invoked.
878    
879    The binfile format is now insensitive to anything beyond the first
880    two components of a version number, so bumping the release does not render
881    binfiles incompatible.  Auto-bumping can be used to keep track of versions
882    during development without invalidating existing binfiles.
883    
884    In any case, every CMB.make updates the date information in version.sml.
885    (This is the date that is printed in the banner.)
886    
887    ----------------------------------------------------------------------
888    Name: Matthias Blume (blume (at) tti - c (dot) org)
889    Date: 2004/09/28 10:53:00 CDT
890    Tag: blume-20040928-controls
891    Description:
892    
893    Some cleanup of the controls code.
894    
895    ----------------------------------------------------------------------
896    Name: Matthias Blume (blume (at) tti - c (dot) org)
897    Date: 2004/09/27 22:08:00 CDT
898    Tag: blume-20040927-controls
899    Description:
900    
901    Added two pieces of functionality to the Controls interface:
902    
903    1.   val save'restore: 'a control -> unit -> unit
904    
905       grabs the current value of the control in stage 1 and restores it
906       in stage 2.
907    
908    2.   val set' : 'a control * 'a -> unit -> unit
909    
910       stores the given value into the control in stage 2 (i.e., delayed)
911       but does all error checking in stage 1.
912       (This is for string controls that need to do parse their argument --
913        something that might fail.  In some cases, notably in CM, one
914        already knows the intended argument but wants to delay the actual
915        assignment until a time when error recovery would be more difficult.)
916    
917    Changed the handling of controls in tool arguments to classes "sml" and
918    "lazysml":
919       - use Controls.save'restore as a more robust way of restoring the
920         old value (in particular: without having to re-parse the string)
921       - use controls to handle the "overload" keyword in the init group
922         (I believe this change actually fixes a long-standing obscure bug.)
923    
924    ----------------------------------------------------------------------
925    Name: Matthias Blume (blume (at) tti - c (dot) org)
926    Date: 2004/09/27 17:00:00 CDT
927    Tag: blume-20040927-lazysml
928    Description:
929    
930    Added a new tool class called "lazysml" to CM's tool chest.  The only
931    difference to "sml" is that compilation is done with Control.lazysml
932    set to true.  A source of class "lazysml" is automatically recognized
933    by a file name suffix of ".lml".
934    
935    In addition to the above feature, the original class "sml" now also
936    supports a tool argument "lazy" which has the same effect.  As a
937    result, the following three lines are equivalent:
938    
939        foo.sml : lazysml
940        foo.sml : sml (lazy)
941        foo.sml (lazy)
942    
943    The setting goes into effect both during parsing and during
944    compilation.  The original setting is restored right after parsing and
945    after compilation, respectively.
946    
947    In addition to all the above, there is also a general mechanism to set
948    ANY of the "controls" that are available at the command line via
949    "-C..." on a per-sml-file basis.  The same rules that apply for "lazy"
950    apply as well. (In fact, "lazy" is implemented as a special case of
951    the general mechanism.)
952    
953    The .cm file syntax uses a new keyword tool argument called "with".
954    There are several ways of indicating the desired settings:
955    
956        foo.sml (with:parser.quotations=true)
957        foo.sml (with:(name:parser.quotations value:true))
958        foo.sml (with:(name:name1 value:value1 name:name2 value:value2 ...))
959        foo.sml (with:(name1=value1 name2=value2 ...))
960        foo.sml (with:(name1=value1 name:name2 value:value2 name3=value3 ...))
961    
962        etc.
963    
964    Another possible abbreviation is to leave out the =v or value:v part
965    if the name refers to a boolean control (in which case the value is
966    taken to be true).  Thus, one could get lazy sml also by saying:
967    
968        foo.sml (with:parser.lazy-keyword=true)
969        foo.sml (with:parser.lazy-keyword)
970        foo.sml (with:(name:parser.lazy-keyword value:true))
971        foo.sml (with:(name:parser.lazy-keyword))
972    
973    ----------------------------------------------------------------------
974    Name: Matthias Blume (blume (at) tti - c (dot) org)
975    Date: 2004/09/24 16:22:00 CDT
976    Tag: blume-20040924-ppc-long-branch
977    Description:
978    
979    Turned message about "emiting long form of branch" off by default.
980    Added a control flag to turn it back on when desired.
981    
982    ----------------------------------------------------------------------
983    Name: Matthias Blume (blume (at) tti - c (dot) org)
984    Date: 2004/09/24 16:05:00 CDT
985    Tag: blume-20040924-rounding
986    Description:
987    
988    Applied patch for setting rounding modes under Mac OS X.  Thanks to
989    Melissa O'Neill for providing the code!
990    
991    ----------------------------------------------------------------------
992    Name: Matthias Blume (blume (at) tti - c (dot) org)
993    Date: 2004/09/23 17:30:00 CDT
994    Tag: blume-20040923-envvars
995    Description:
996    
997    1. Changed definition of type ControlRegistry.registry_tree to
998       include control_info (i.e., the name of the controlling environment
999       variable).
1000    
1001    2. Added command-line flags -e and -E to print the names of environment
1002       variables that can be used to control internal settings.
1003       (This uses the new API mentioned in 1.)
1004    
1005    ----------------------------------------------------------------------
1006    Name: Matthias Blume (blume (at) tti - c (dot) org)
1007    Date: 2004/09/13 16:50:00 CDT
1008    Tag: Release_110_49
1009    Description:
1010    
1011    New working version (110.49).  NEW BOOTFILES!
1012    
1013    ----------------------------------------------------------------------
1014    Name: Matthias Blume
1015    Date: 2004/09/13 16:20:00 CDT
1016    Tag: blume-20040913-config-mlrisc
1017    Description:
1018    
1019    Put target "mlrisc" back into the default list.
1020    (There is no harm in having it, and some users have expressed their
1021    wish to have "mlrisc" included by default.)
1022    
1023    ----------------------------------------------------------------------
1024    Name: John Reppy
1025    Date: 2004/09/13
1026    Tag: jhr-20040913-signals
1027    Description:
1028    
1029    Fixed the signal masking code to properly nest mask/unmask operations
1030    on a per-signal basis.
1031    
1032    ----------------------------------------------------------------------
1033  Name: Matthias Blume (blume (at) tti - c (dot) org)  Name: Matthias Blume (blume (at) tti - c (dot) org)
1034  Date: 2004/09/08 13:20:00 CDT  Date: 2004/09/08 13:20:00 CDT
1035  Tag: blume-20040908-heap-magic  Tag: blume-20040908-heap-magic

Legend:
Removed from v.1619  
changed lines
  Added in v.1856

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