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

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