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

Legend:
Removed from v.1638  
changed lines
  Added in v.1742

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