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

Legend:
Removed from v.1634  
changed lines
  Added in v.1720

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