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

Legend:
Removed from v.1645  
changed lines
  Added in v.1759

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