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

Legend:
Removed from v.1642  
changed lines
  Added in v.1750

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