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

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

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