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

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