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 1703, Thu Nov 18 21:40:57 2004 UTC
# Line 14  Line 14 
14    
15  ----------------------------------------------------------------------  ----------------------------------------------------------------------
16  Name: Matthias Blume (blume (at) tti - c (dot) org)  Name: Matthias Blume (blume (at) tti - c (dot) org)
17    Date: 2004/11/18 15:40:00 CST
18    Tag: Release_110_51
19    Description:
20    
21    New working version (110.51).  NEW BOOTFILES!
22    
23    ----------------------------------------------------------------------
24    Name: Matthias Blume (blume (at) tti - c (dot) org)
25    Date: 2004/11/18 15:35:00 CST
26    Tag: <none>
27    Description:
28    
29    Enabled dlopen and friends for FreeBSD (as recommended by Johannes 5
30    Joemann).
31    
32    ----------------------------------------------------------------------
33    Name: Allen Leung (leunga (at) reservoir (dot) com)
34    Date: 2004/11/17 16:05:21 EST 2004
35    Tag: leunga-20041117-mlrisc-live-kill
36    Description:
37    
38       Added support for MLTree constructs LIVE and KILL
39    to all the architectures.
40    
41    ----------------------------------------------------------------------
42    Name: Matthias Blume (blume (at) tti - c (dot) org)
43    Date: 2004/11/13 00:20:00 CST
44    Tag: blume-20041113-versiontool
45    Description:
46    
47    - Stripped down the versiontool: It now only handles the version number.
48      The date string is generated at bootstrap time (during makeml).
49    
50    - In a previous commit, fixed a minor issue with how polyequal is being
51      translated.  In particular, the code now "looks through" abstractions.
52      This results in slightly fewer polyEqual warnings and hopefully slightly
53      more efficient code.  Important examples for where this matters are
54      the new int64 and word64 types.
55    
56    ----------------------------------------------------------------------
57    Name: Matthias Blume (blume (at) tti - c (dot) org)
58    Date: 2004/11/12 00:30:00 CST
59    Tag: blume-20041112-int64
60    Description:
61    
62    Structure Int64 fully hooked in.  (The implementation is not very
63    efficient, though.)
64    
65    ----------------------------------------------------------------------
66    Name: Matthias Blume (blume (at) tti - c (dot) org)
67    Date: 2004/11/11 17:30:00 CST
68    Tag: blume-20041111-more64
69    Description:
70    
71    All the pieces of Word64 are now there, with the exception of the
72    conversions from and to LargeWord. (Eventually these need to be identities,
73    but for the time being they don't even make sense because LargeWord is
74    32-bit wide.)
75    
76    Also started to add similar support for Int64, but major pieces of that
77    are still missing.
78    
79    ----------------------------------------------------------------------
80    Name: Matthias Blume (blume (at) tti - c (dot) org)
81    Date: 2004/11/11 00:15:00 CST
82    Tag: blume-20041111-word64
83    Description:
84    
85    Structure Word64 is now (almost) complete, word literals and patterns
86    seem to work.  There are a few odd pieces missing.  In particular,
87    I didn't do the {from,to}LargeWord parts because LargeWord is still Word32
88    at the moment.
89    
90    Making Word64 official would mean that LargeWord becomes Word64.  But
91    this requires extreme care because most word-word conversions have to
92    go through LargeWord, so making a mistake means loss of efficiency or
93    worse.  Eventually there will be a solution similar to (but actually
94    simpler than) what I did with IntInf.
95    
96    ----------------------------------------------------------------------
97    Name: Matthias Blume (blume (at) tti - c (dot) org)
98    Date: 2004/11/10 18:12:00 CST
99    Tag: blume-20041110-64bit
100    Description:
101    
102    More 64-bit hacking (but still not even half-way there yet).
103    Also, some assorted improvements to the handling of 8-bit words.
104    
105    ----------------------------------------------------------------------
106    Name: Matthias Blume (blume (at) tti - c (dot) org)
107    Date: 2004/11/09 17:50:00 CST
108    Tag: <none>
109    Description:
110    
111    Started adding some infrastructure for supporting 64-bit int- and
112    word-types.  (Still in its very early stages.)
113    
114    ----------------------------------------------------------------------
115    Name: Matthias Blume (blume (at) tti - c (dot) org)
116    Date: 2004/10/28 10:45:00 CDT
117    Tag: Release_110_50
118    Description:
119    
120    New working version (110.50).  NEW BOOTFILES!
121    
122                 =====================
123    
124    Also:
125    
126      - Changend config/srcarchiveurl from a file just
127        containing the URL string into a file containing
128        shell script code.  The code has access to the $VERSION variable.
129      - Made corresponding changes to config/install.sh and config/unpack.
130      - Default contents of config/srcarchiveurl uses $VERSION and
131        normally does not have to be edited to reflect a version change.
132    
133      (As a result, a version change can be done by just editing
134       config/version, the rest is now automatic.)
135    
136    ----------------------------------------------------------------------
137    Name: Matthias Blume (blume (at) tti - c (dot) org)
138    Date: 2004/10/27 17:50:00 CDT
139    Tag: blume-20041027-btrace-msg
140    Description:
141    
142    BackTrace.monitor now also reports the source of the exception that
143    triggered the trace.
144    
145    ----------------------------------------------------------------------
146    Name: Matthias Blume (blume (at) tti - c (dot) org)
147    Date: 2004/10/27 17:20:00 CDT
148    Tag: blume-20041027-x86-c-calls
149    Description:
150    
151    This is the HISTORY entry for two earlier commits, both concerning
152    the x86 c-calls code in MLRISC:
153    
154      - added a missing LOAD in the code that deals with struct arguments
155      - made sure the caller does not add the wrong number of bytes to the
156        stack pointer after a call of a function returning a struct
157        (the callee already pops the implicit argument which points to
158         the space reserved for the result)
159    
160    ----------------------------------------------------------------------
161    Name: Allen Leung (leunga (at) reservoir (dot) com)
162    Date: 2004/10/24 14:00:00 EST
163    Tag: leunga-20041024-x86-gas-fucomip
164    Description:
165    
166       John discovered a bug in the syntax of fucomip.
167       The opcodes FU?COMIP? have been changed to
168    
169           fu?comip? %st(i), %st
170    
171    ----------------------------------------------------------------------
172    Name: Matthias Blume (blume (at) tti - c (dot) org)
173    Date: 2004/10/20 15:06:00 CDT
174    Tag: blume-20041020-standalone-backtrace
175    Description:
176    
177    Added a mechanism for getting back-trace information from standalone
178    programs.  Here is how it works:
179    
180       1. The part of the program from which you want to get backtrace
181          information (usually the whole program) should be wrapped with
182          BackTrace.monitor.  This is a (unit->'a)->'a function, and your
183          main program could be modified from something like
184    
185             fun main (pgm, args) = ...
186    
187         to
188    
189            fun main (pgm, args) = BackTrace.monitor (fn () => ...)
190    
191       2. To be able to access BackTrace.monitor, you have to add
192          library $smlnj-tdp/plugins.cm to the .cm file that contains your
193          main function.
194    
195       3. Remove all compiled code (i.e., all the .cm/ subdirectories that
196          CM might have created in the past for your project).
197    
198       4. Build the system using this command line:
199    
200             ml-build -Ctdp.instrument=true \$smlnj-tdp/back-trace.cm \
201                      myprog.cm MyProg.main myprog
202    
203          instead of the usual
204    
205             ml-build myprog.cm MyProg.main myprog
206    
207    I changed a library name:
208    
209       $/trace-debug-profile.cm --> $smlnj-tdp/plugins.cm
210    
211    New libraries:
212    
213       $smlnj-tdp/back-trace.cm
214          -- when loaded causes the back-trace plugin to be installed
215       $smlnj-tdp/coverage.cm
216          -- when loaded causes the coverage plugin to be installed
217    
218    ----------------------------------------------------------------------
219    Name: Matthias Blume (blume (at) tti - c (dot) org)
220    Date: 2004/10/18 16:45:00 CDT
221    Tag: blume-20041018-groupowner
222    Description:
223    
224    Added an "obsolete" warning for the "group owner" syntax to CM's parser.
225    
226    Eliminated group owner specs from .cm files throughout the source tree.
227    
228    ----------------------------------------------------------------------
229    Name: Matthias Blume (blume (at) tti - c (dot) org)
230    Date: 2004/10/15 15:45:00 CDT
231    Tag: blume-20041015-coverage
232    Description:
233    
234    * Test coverage tool added!
235    * Further reorganization of tracing-, debugging-, and profiling support:
236    
237        - moved original BTImp -- now called BackTrace -- into a separate
238          library called $/trace-debug-profile.cm
239        - eliminated all mentions of BTrace from SMLofNJ.Internals
240        - only the instrumentation mechanism is now left in the compiler proper
241        - BackTrace module is a plugin which is NOT plugged in by default
242        - Coverage module is another such plugin
243    
244    To get the benefits of any of these plugin modules, the code in
245    question must be compiled with tdp instrumentation turned on.  This
246    can be done by setting SMLofNJ.Internals.TDP.mode to true.
247    (The ref cell is also controlled via the -Ctdp.instrument=... switch.)
248    
249    Plugins are selected at link time.  (Pre-compiled instrumented code
250    can be re-loaded with different plugins in effect.)  When an
251    instrumented module is linked, whatever plugins are at that time
252    enabled will come into effect for that module.
253    
254    To enable the back-trace plugin, load library $/trace-debug-profile.cm
255    and invoke BackTrace.install() (e.g., from the interactive prompt).
256    To enable the coverage plugin, load the same library and invoke
257    Coverage.install().
258    
259    Back-traces are generated automatically on uncaught exceptions and
260    when the code in question explicitly invokes BackTrace.trigger().
261    
262    Coverage (and execution frequency-) information must be queried
263    explicitly by calling Coverage.not_covered and Coverage.hot_spots.
264    
265    ----------------------------------------------------------------------
266    Name: Matthias Blume (blume (at) tti - c (dot) org)
267    Date: 2004/10/14 17:40:00 CDT
268    Tag: blume-20041014-tdp-core
269    Description:
270    
271    Snapshot of a significant overhaul of how the trace/debug/profile support
272    is hooked into the system (specifically: Core and SMLofNJ.Internals).
273    
274    ----------------------------------------------------------------------
275    Name: Matthias Blume (blume (at) tti - c (dot) org)
276    Date: 2004/10/13 16:34:00 CDT
277    Tag: blume-20041013-tdp
278    Description:
279    
280    Some rationalization of names:
281    
282       structure BTrace -> structure TDPInstrument
283       etc.
284    
285    This is is preparation of using the original back-trace
286    instrumentation for other purposes.  "TDP" stands for
287    Trace/Debug/Profile.
288    
289    The control flag controlling whether instrumentation is on or off is now
290    registered under a different name, so instead of running sml as
291    
292     sml -Cinstrument.btrace-mode=true
293    
294    one has to say
295    
296     sml -Ctdp.instrument=true
297    
298    ----------------------------------------------------------------------
299    Name: Matthias Blume (blume (at) tti - c (dot) org)
300    Date: 2004/10/11 16:37:00 CDT
301    Tag: blume-20041011-regions
302    Description:
303    
304    Made some minor modifications to elabcore.sml to have source regions
305    be propagated more tightly -- resulting in better (i.e., smaller)
306    regions being reported in error- and debug messages.
307    
308    ----------------------------------------------------------------------
309    Name: Matthias Blume (blume (at) tti - c (dot) org)
310    Date: 2004/10/08 22:50:00 CDT
311    Tag: blume-20041008-cmkw
312    Description:
313    
314    Fixed handling of keywords in .cm files: After seeing "is" the lexer
315    treats subsequent occurrences of "group", "library", "source", "is",
316    "*", and "-" as ordinary identifiers rather than keywords.
317    
318    Most seriously, this fixes a problem with CM's "shell" tool.  The tool
319    is supposed to accept a tool argument called "source", but this did
320    not work because of the clash with the keyword.
321    
322    ----------------------------------------------------------------------
323    Name: Matthias Blume (blume (at) tti - c (dot) org)
324    Date: 2004/10/07 16:00:00 CDT
325    Tag: blume-20041007-cleanup
326    Description:
327    
328    Assorted cleanup work:
329    
330      - got rid of intstrmap in favor of using the library's
331        hash table implementation
332      - threw out most of the pathnames stuff, as it was not used anyway
333      - simplified tokentable implementation
334      - fixed some minor spelling errors
335    
336    ----------------------------------------------------------------------
337    Name: Matthias Blume (blume (at) tti - c (dot) org)
338    Date: 2004/10/06 15:15:15 CDT
339    Tag: blume-20041006-handler
340    Description:
341    
342    Cleaned up the absyn to reflect the invariant that HANDLE always
343    carries a FNexp as part of the type definition.  This eliminates some
344    superfluous sanity checks at runtime down the road.
345    
346    Some minor cleanup of the btrace code.
347    
348    ----------------------------------------------------------------------
349    Name: Matthias Blume (blume (at) tti - c (dot) org)
350    Date: 2004/10/01 10:20:30 CDT
351    Tag: blume-20041001-slave
352    Description:
353    
354    Added hack to make slave mode work in the presence of the version
355    tool.  (Still, since the master does two passes over the code for
356    CMB.make, the release number gets bumped twice when slaves are
357    attached.  I don't know if this is worth fixing...)
358    
359    ----------------------------------------------------------------------
360    Name: Matthias Blume (blume (at) tti - c (dot) org)
361    Date: 2004/09/30 10:55:00 CDT
362    Tag: blume-20040930-version
363    Description:
364    
365    * Moved the "version" magic into its own little library under
366      src/system/smlnj/internal.  This avoids expensive reconstruction of
367      a stable src/compiler/core.cm.
368    
369    * At the same time, structure CompilerVersion is now known as
370      structure SMLNJVersion.
371    
372    * Arranged for the version tool to NOT kick in when rebuilding the system
373      (makeml -rebuild, fixpt).  Otherwise one would never reach a fixpoint.
374      Also, loading the versiontool does not work when rebuilding the system
375      because CM is not properly initialized at that time.
376    
377    ----------------------------------------------------------------------
378    Name: Matthias Blume (blume (at) tti - c (dot) org)
379    Date: 2004/09/29 14:00:00 CDT
380    Tag: blume-20040929-autoversion
381    Description:
382    
383    Implemented some CM magic to have
384        file src/compiler/TopLevel/main/version.sml
385    generated automagically.
386    The version is taken from two files: config/version and config/release.
387    The first is expected to contain a two-part version number such as 110.49.
388    The second should contain a single number, but it may be missing.
389    
390    If the environment variable VERSIONTOOL_BUMP_RELEASE is defined at the
391    time the version tool is loaded (which is the first time you say CMB.make),
392    then the tool will increment the value stored in config/release every
393    time CMB.make is invoked.
394    
395    The binfile format is now insensitive to anything beyond the first
396    two components of a version number, so bumping the release does not render
397    binfiles incompatible.  Auto-bumping can be used to keep track of versions
398    during development without invalidating existing binfiles.
399    
400    In any case, every CMB.make updates the date information in version.sml.
401    (This is the date that is printed in the banner.)
402    
403    ----------------------------------------------------------------------
404    Name: Matthias Blume (blume (at) tti - c (dot) org)
405    Date: 2004/09/28 10:53:00 CDT
406    Tag: blume-20040928-controls
407    Description:
408    
409    Some cleanup of the controls code.
410    
411    ----------------------------------------------------------------------
412    Name: Matthias Blume (blume (at) tti - c (dot) org)
413    Date: 2004/09/27 22:08:00 CDT
414    Tag: blume-20040927-controls
415    Description:
416    
417    Added two pieces of functionality to the Controls interface:
418    
419    1.   val save'restore: 'a control -> unit -> unit
420    
421       grabs the current value of the control in stage 1 and restores it
422       in stage 2.
423    
424    2.   val set' : 'a control * 'a -> unit -> unit
425    
426       stores the given value into the control in stage 2 (i.e., delayed)
427       but does all error checking in stage 1.
428       (This is for string controls that need to do parse their argument --
429        something that might fail.  In some cases, notably in CM, one
430        already knows the intended argument but wants to delay the actual
431        assignment until a time when error recovery would be more difficult.)
432    
433    Changed the handling of controls in tool arguments to classes "sml" and
434    "lazysml":
435       - use Controls.save'restore as a more robust way of restoring the
436         old value (in particular: without having to re-parse the string)
437       - use controls to handle the "overload" keyword in the init group
438         (I believe this change actually fixes a long-standing obscure bug.)
439    
440    ----------------------------------------------------------------------
441    Name: Matthias Blume (blume (at) tti - c (dot) org)
442    Date: 2004/09/27 17:00:00 CDT
443    Tag: blume-20040927-lazysml
444    Description:
445    
446    Added a new tool class called "lazysml" to CM's tool chest.  The only
447    difference to "sml" is that compilation is done with Control.lazysml
448    set to true.  A source of class "lazysml" is automatically recognized
449    by a file name suffix of ".lml".
450    
451    In addition to the above feature, the original class "sml" now also
452    supports a tool argument "lazy" which has the same effect.  As a
453    result, the following three lines are equivalent:
454    
455        foo.sml : lazysml
456        foo.sml : sml (lazy)
457        foo.sml (lazy)
458    
459    The setting goes into effect both during parsing and during
460    compilation.  The original setting is restored right after parsing and
461    after compilation, respectively.
462    
463    In addition to all the above, there is also a general mechanism to set
464    ANY of the "controls" that are available at the command line via
465    "-C..." on a per-sml-file basis.  The same rules that apply for "lazy"
466    apply as well. (In fact, "lazy" is implemented as a special case of
467    the general mechanism.)
468    
469    The .cm file syntax uses a new keyword tool argument called "with".
470    There are several ways of indicating the desired settings:
471    
472        foo.sml (with:parser.quotations=true)
473        foo.sml (with:(name:parser.quotations value:true))
474        foo.sml (with:(name:name1 value:value1 name:name2 value:value2 ...))
475        foo.sml (with:(name1=value1 name2=value2 ...))
476        foo.sml (with:(name1=value1 name:name2 value:value2 name3=value3 ...))
477    
478        etc.
479    
480    Another possible abbreviation is to leave out the =v or value:v part
481    if the name refers to a boolean control (in which case the value is
482    taken to be true).  Thus, one could get lazy sml also by saying:
483    
484        foo.sml (with:parser.lazy-keyword=true)
485        foo.sml (with:parser.lazy-keyword)
486        foo.sml (with:(name:parser.lazy-keyword value:true))
487        foo.sml (with:(name:parser.lazy-keyword))
488    
489    ----------------------------------------------------------------------
490    Name: Matthias Blume (blume (at) tti - c (dot) org)
491    Date: 2004/09/24 16:22:00 CDT
492    Tag: blume-20040924-ppc-long-branch
493    Description:
494    
495    Turned message about "emiting long form of branch" off by default.
496    Added a control flag to turn it back on when desired.
497    
498    ----------------------------------------------------------------------
499    Name: Matthias Blume (blume (at) tti - c (dot) org)
500    Date: 2004/09/24 16:05:00 CDT
501    Tag: blume-20040924-rounding
502    Description:
503    
504    Applied patch for setting rounding modes under Mac OS X.  Thanks to
505    Melissa O'Neill for providing the code!
506    
507    ----------------------------------------------------------------------
508    Name: Matthias Blume (blume (at) tti - c (dot) org)
509    Date: 2004/09/23 17:30:00 CDT
510    Tag: blume-20040923-envvars
511    Description:
512    
513    1. Changed definition of type ControlRegistry.registry_tree to
514       include control_info (i.e., the name of the controlling environment
515       variable).
516    
517    2. Added command-line flags -e and -E to print the names of environment
518       variables that can be used to control internal settings.
519       (This uses the new API mentioned in 1.)
520    
521    ----------------------------------------------------------------------
522    Name: Matthias Blume (blume (at) tti - c (dot) org)
523    Date: 2004/09/13 16:50:00 CDT
524    Tag: Release_110_49
525    Description:
526    
527    New working version (110.49).  NEW BOOTFILES!
528    
529    ----------------------------------------------------------------------
530    Name: Matthias Blume
531    Date: 2004/09/13 16:20:00 CDT
532    Tag: blume-20040913-config-mlrisc
533    Description:
534    
535    Put target "mlrisc" back into the default list.
536    (There is no harm in having it, and some users have expressed their
537    wish to have "mlrisc" included by default.)
538    
539    ----------------------------------------------------------------------
540    Name: John Reppy
541    Date: 2004/09/13
542    Tag: jhr-20040913-signals
543    Description:
544    
545    Fixed the signal masking code to properly nest mask/unmask operations
546    on a per-signal basis.
547    
548    ----------------------------------------------------------------------
549    Name: Matthias Blume (blume (at) tti - c (dot) org)
550  Date: 2004/09/08 13:20:00 CDT  Date: 2004/09/08 13:20:00 CDT
551  Tag: blume-20040908-heap-magic  Tag: blume-20040908-heap-magic
552  Description:  Description:

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

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