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

Legend:
Removed from v.1641  
changed lines
  Added in v.1760

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