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

Legend:
Removed from v.1633  
changed lines
  Added in v.1728

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