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 1641, Wed Oct 6 20:18:55 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)  Name: Matthias Blume (blume (at) tti - c (dot) org)
822  Date: 2004/10/06 15:15:15 CDT  Date: 2004/10/06 15:15:15 CDT
823  Tag: blume-20041006-handler  Tag: blume-20041006-handler
# Line 42  Line 847 
847  Description:  Description:
848    
849  * Moved the "version" magic into its own little library under  * Moved the "version" magic into its own little library under
850  src/system/smlnj/internal.  This avoids expensive reconstruction    src/system/smlnj/internal.  This avoids expensive reconstruction of
851  of a stable src/compiler/core.cm.    a stable src/compiler/core.cm.
852    
853  * At the same time, structure CompilerVersion is now known as structure  * At the same time, structure CompilerVersion is now known as
854  SMLNJVersion.    structure SMLNJVersion.
855    
856  * Arranged for the version tool to NOT kick in when rebuilding the system  * Arranged for the version tool to NOT kick in when rebuilding the system
857    (makeml -rebuild, fixpt).  Otherwise one would never reach a fixpoint.    (makeml -rebuild, fixpt).  Otherwise one would never reach a fixpoint.

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

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