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

SCM Repository

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

Diff of /sml/trunk/NOTES/HISTORY

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

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

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

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