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 1633, Tue Sep 28 03:08:33 2004 UTC revision 1716, Wed Nov 24 20:48:51 2004 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: 2004/11/24 14:30:00 CST
18    Tag: blume-20041124-position
19    Description:
20    
21    The compiler can now be compiled in a mode that makes structure Position
22    equal to Int64.  The default, however, is unchanged (Position = Int31)
23    for the time being.
24    
25    To enable 64-bit positions, use the following procedure:
26    
27    1. Start sml
28    2. Autoload $smlnj/cmb.cm (if not already autoloaded)
29    3. Type
30          #set (CMB.symval "USE_64_BIT_POSITIONS") (SOME 1);
31    4. Run CMB.make() as usual.
32    
33    This is barely tested.  The only test so far was a little SML program
34    counting the number of characters in an 8-gigabyte file by
35    reading it character-by-character.  That test was successful.
36    
37    In support of 64-bit positions, a number of new functions have been
38    added to the runtime system.
39    
40    ----------------------------------------------------------------------
41    Name: Matthias Blume (blume (at) tti - c (dot) org)
42    Date: 2004/11/23 14:45:00 CST
43    Tag: blume-20041123-useFile
44    Description:
45    
46    Fixed a problem with unhelpful error messages related to problems with
47    .cm- or .sml files that appear as part of the sml command line.
48    
49    ----------------------------------------------------------------------
50    Name: Matthias Blume (blume (at) tti - c (dot) org)
51    Date: 2004/11/18 15:40:00 CST
52    Tag: Release_110_51
53    Description:
54    
55    New working version (110.51).  NEW BOOTFILES!
56    
57    ----------------------------------------------------------------------
58    Name: Matthias Blume (blume (at) tti - c (dot) org)
59    Date: 2004/11/18 15:35:00 CST
60    Tag: <none>
61    Description:
62    
63    Enabled dlopen and friends for FreeBSD (as recommended by Johannes 5
64    Joemann).
65    
66    ----------------------------------------------------------------------
67    Name: Allen Leung (leunga (at) reservoir (dot) com)
68    Date: 2004/11/17 16:05:21 EST 2004
69    Tag: leunga-20041117-mlrisc-live-kill
70    Description:
71    
72       Added support for MLTree constructs LIVE and KILL
73    to all the architectures.
74    
75    ----------------------------------------------------------------------
76    Name: Matthias Blume (blume (at) tti - c (dot) org)
77    Date: 2004/11/13 00:20:00 CST
78    Tag: blume-20041113-versiontool
79    Description:
80    
81    - Stripped down the versiontool: It now only handles the version number.
82      The date string is generated at bootstrap time (during makeml).
83    
84    - In a previous commit, fixed a minor issue with how polyequal is being
85      translated.  In particular, the code now "looks through" abstractions.
86      This results in slightly fewer polyEqual warnings and hopefully slightly
87      more efficient code.  Important examples for where this matters are
88      the new int64 and word64 types.
89    
90    ----------------------------------------------------------------------
91    Name: Matthias Blume (blume (at) tti - c (dot) org)
92    Date: 2004/11/12 00:30:00 CST
93    Tag: blume-20041112-int64
94    Description:
95    
96    Structure Int64 fully hooked in.  (The implementation is not very
97    efficient, though.)
98    
99    ----------------------------------------------------------------------
100    Name: Matthias Blume (blume (at) tti - c (dot) org)
101    Date: 2004/11/11 17:30:00 CST
102    Tag: blume-20041111-more64
103    Description:
104    
105    All the pieces of Word64 are now there, with the exception of the
106    conversions from and to LargeWord. (Eventually these need to be identities,
107    but for the time being they don't even make sense because LargeWord is
108    32-bit wide.)
109    
110    Also started to add similar support for Int64, but major pieces of that
111    are still missing.
112    
113    ----------------------------------------------------------------------
114    Name: Matthias Blume (blume (at) tti - c (dot) org)
115    Date: 2004/11/11 00:15:00 CST
116    Tag: blume-20041111-word64
117    Description:
118    
119    Structure Word64 is now (almost) complete, word literals and patterns
120    seem to work.  There are a few odd pieces missing.  In particular,
121    I didn't do the {from,to}LargeWord parts because LargeWord is still Word32
122    at the moment.
123    
124    Making Word64 official would mean that LargeWord becomes Word64.  But
125    this requires extreme care because most word-word conversions have to
126    go through LargeWord, so making a mistake means loss of efficiency or
127    worse.  Eventually there will be a solution similar to (but actually
128    simpler than) what I did with IntInf.
129    
130    ----------------------------------------------------------------------
131    Name: Matthias Blume (blume (at) tti - c (dot) org)
132    Date: 2004/11/10 18:12:00 CST
133    Tag: blume-20041110-64bit
134    Description:
135    
136    More 64-bit hacking (but still not even half-way there yet).
137    Also, some assorted improvements to the handling of 8-bit words.
138    
139    ----------------------------------------------------------------------
140    Name: Matthias Blume (blume (at) tti - c (dot) org)
141    Date: 2004/11/09 17:50:00 CST
142    Tag: <none>
143    Description:
144    
145    Started adding some infrastructure for supporting 64-bit int- and
146    word-types.  (Still in its very early stages.)
147    
148    ----------------------------------------------------------------------
149    Name: Matthias Blume (blume (at) tti - c (dot) org)
150    Date: 2004/10/28 10:45:00 CDT
151    Tag: Release_110_50
152    Description:
153    
154    New working version (110.50).  NEW BOOTFILES!
155    
156                 =====================
157    
158    Also:
159    
160      - Changend config/srcarchiveurl from a file just
161        containing the URL string into a file containing
162        shell script code.  The code has access to the $VERSION variable.
163      - Made corresponding changes to config/install.sh and config/unpack.
164      - Default contents of config/srcarchiveurl uses $VERSION and
165        normally does not have to be edited to reflect a version change.
166    
167      (As a result, a version change can be done by just editing
168       config/version, the rest is now automatic.)
169    
170    ----------------------------------------------------------------------
171    Name: Matthias Blume (blume (at) tti - c (dot) org)
172    Date: 2004/10/27 17:50:00 CDT
173    Tag: blume-20041027-btrace-msg
174    Description:
175    
176    BackTrace.monitor now also reports the source of the exception that
177    triggered the trace.
178    
179    ----------------------------------------------------------------------
180    Name: Matthias Blume (blume (at) tti - c (dot) org)
181    Date: 2004/10/27 17:20:00 CDT
182    Tag: blume-20041027-x86-c-calls
183    Description:
184    
185    This is the HISTORY entry for two earlier commits, both concerning
186    the x86 c-calls code in MLRISC:
187    
188      - added a missing LOAD in the code that deals with struct arguments
189      - made sure the caller does not add the wrong number of bytes to the
190        stack pointer after a call of a function returning a struct
191        (the callee already pops the implicit argument which points to
192         the space reserved for the result)
193    
194    ----------------------------------------------------------------------
195    Name: Allen Leung (leunga (at) reservoir (dot) com)
196    Date: 2004/10/24 14:00:00 EST
197    Tag: leunga-20041024-x86-gas-fucomip
198    Description:
199    
200       John discovered a bug in the syntax of fucomip.
201       The opcodes FU?COMIP? have been changed to
202    
203           fu?comip? %st(i), %st
204    
205    ----------------------------------------------------------------------
206    Name: Matthias Blume (blume (at) tti - c (dot) org)
207    Date: 2004/10/20 15:06:00 CDT
208    Tag: blume-20041020-standalone-backtrace
209    Description:
210    
211    Added a mechanism for getting back-trace information from standalone
212    programs.  Here is how it works:
213    
214       1. The part of the program from which you want to get backtrace
215          information (usually the whole program) should be wrapped with
216          BackTrace.monitor.  This is a (unit->'a)->'a function, and your
217          main program could be modified from something like
218    
219             fun main (pgm, args) = ...
220    
221         to
222    
223            fun main (pgm, args) = BackTrace.monitor (fn () => ...)
224    
225       2. To be able to access BackTrace.monitor, you have to add
226          library $smlnj-tdp/plugins.cm to the .cm file that contains your
227          main function.
228    
229       3. Remove all compiled code (i.e., all the .cm/ subdirectories that
230          CM might have created in the past for your project).
231    
232       4. Build the system using this command line:
233    
234             ml-build -Ctdp.instrument=true \$smlnj-tdp/back-trace.cm \
235                      myprog.cm MyProg.main myprog
236    
237          instead of the usual
238    
239             ml-build myprog.cm MyProg.main myprog
240    
241    I changed a library name:
242    
243       $/trace-debug-profile.cm --> $smlnj-tdp/plugins.cm
244    
245    New libraries:
246    
247       $smlnj-tdp/back-trace.cm
248          -- when loaded causes the back-trace plugin to be installed
249       $smlnj-tdp/coverage.cm
250          -- when loaded causes the coverage plugin to be installed
251    
252    ----------------------------------------------------------------------
253    Name: Matthias Blume (blume (at) tti - c (dot) org)
254    Date: 2004/10/18 16:45:00 CDT
255    Tag: blume-20041018-groupowner
256    Description:
257    
258    Added an "obsolete" warning for the "group owner" syntax to CM's parser.
259    
260    Eliminated group owner specs from .cm files throughout the source tree.
261    
262    ----------------------------------------------------------------------
263    Name: Matthias Blume (blume (at) tti - c (dot) org)
264    Date: 2004/10/15 15:45:00 CDT
265    Tag: blume-20041015-coverage
266    Description:
267    
268    * Test coverage tool added!
269    * Further reorganization of tracing-, debugging-, and profiling support:
270    
271        - moved original BTImp -- now called BackTrace -- into a separate
272          library called $/trace-debug-profile.cm
273        - eliminated all mentions of BTrace from SMLofNJ.Internals
274        - only the instrumentation mechanism is now left in the compiler proper
275        - BackTrace module is a plugin which is NOT plugged in by default
276        - Coverage module is another such plugin
277    
278    To get the benefits of any of these plugin modules, the code in
279    question must be compiled with tdp instrumentation turned on.  This
280    can be done by setting SMLofNJ.Internals.TDP.mode to true.
281    (The ref cell is also controlled via the -Ctdp.instrument=... switch.)
282    
283    Plugins are selected at link time.  (Pre-compiled instrumented code
284    can be re-loaded with different plugins in effect.)  When an
285    instrumented module is linked, whatever plugins are at that time
286    enabled will come into effect for that module.
287    
288    To enable the back-trace plugin, load library $/trace-debug-profile.cm
289    and invoke BackTrace.install() (e.g., from the interactive prompt).
290    To enable the coverage plugin, load the same library and invoke
291    Coverage.install().
292    
293    Back-traces are generated automatically on uncaught exceptions and
294    when the code in question explicitly invokes BackTrace.trigger().
295    
296    Coverage (and execution frequency-) information must be queried
297    explicitly by calling Coverage.not_covered and Coverage.hot_spots.
298    
299    ----------------------------------------------------------------------
300    Name: Matthias Blume (blume (at) tti - c (dot) org)
301    Date: 2004/10/14 17:40:00 CDT
302    Tag: blume-20041014-tdp-core
303    Description:
304    
305    Snapshot of a significant overhaul of how the trace/debug/profile support
306    is hooked into the system (specifically: Core and SMLofNJ.Internals).
307    
308    ----------------------------------------------------------------------
309    Name: Matthias Blume (blume (at) tti - c (dot) org)
310    Date: 2004/10/13 16:34:00 CDT
311    Tag: blume-20041013-tdp
312    Description:
313    
314    Some rationalization of names:
315    
316       structure BTrace -> structure TDPInstrument
317       etc.
318    
319    This is is preparation of using the original back-trace
320    instrumentation for other purposes.  "TDP" stands for
321    Trace/Debug/Profile.
322    
323    The control flag controlling whether instrumentation is on or off is now
324    registered under a different name, so instead of running sml as
325    
326     sml -Cinstrument.btrace-mode=true
327    
328    one has to say
329    
330     sml -Ctdp.instrument=true
331    
332    ----------------------------------------------------------------------
333    Name: Matthias Blume (blume (at) tti - c (dot) org)
334    Date: 2004/10/11 16:37:00 CDT
335    Tag: blume-20041011-regions
336    Description:
337    
338    Made some minor modifications to elabcore.sml to have source regions
339    be propagated more tightly -- resulting in better (i.e., smaller)
340    regions being reported in error- and debug messages.
341    
342    ----------------------------------------------------------------------
343    Name: Matthias Blume (blume (at) tti - c (dot) org)
344    Date: 2004/10/08 22:50:00 CDT
345    Tag: blume-20041008-cmkw
346    Description:
347    
348    Fixed handling of keywords in .cm files: After seeing "is" the lexer
349    treats subsequent occurrences of "group", "library", "source", "is",
350    "*", and "-" as ordinary identifiers rather than keywords.
351    
352    Most seriously, this fixes a problem with CM's "shell" tool.  The tool
353    is supposed to accept a tool argument called "source", but this did
354    not work because of the clash with the keyword.
355    
356    ----------------------------------------------------------------------
357    Name: Matthias Blume (blume (at) tti - c (dot) org)
358    Date: 2004/10/07 16:00:00 CDT
359    Tag: blume-20041007-cleanup
360    Description:
361    
362    Assorted cleanup work:
363    
364      - got rid of intstrmap in favor of using the library's
365        hash table implementation
366      - threw out most of the pathnames stuff, as it was not used anyway
367      - simplified tokentable implementation
368      - fixed some minor spelling errors
369    
370    ----------------------------------------------------------------------
371    Name: Matthias Blume (blume (at) tti - c (dot) org)
372    Date: 2004/10/06 15:15:15 CDT
373    Tag: blume-20041006-handler
374    Description:
375    
376    Cleaned up the absyn to reflect the invariant that HANDLE always
377    carries a FNexp as part of the type definition.  This eliminates some
378    superfluous sanity checks at runtime down the road.
379    
380    Some minor cleanup of the btrace code.
381    
382    ----------------------------------------------------------------------
383    Name: Matthias Blume (blume (at) tti - c (dot) org)
384    Date: 2004/10/01 10:20:30 CDT
385    Tag: blume-20041001-slave
386    Description:
387    
388    Added hack to make slave mode work in the presence of the version
389    tool.  (Still, since the master does two passes over the code for
390    CMB.make, the release number gets bumped twice when slaves are
391    attached.  I don't know if this is worth fixing...)
392    
393    ----------------------------------------------------------------------
394    Name: Matthias Blume (blume (at) tti - c (dot) org)
395    Date: 2004/09/30 10:55:00 CDT
396    Tag: blume-20040930-version
397    Description:
398    
399    * Moved the "version" magic into its own little library under
400      src/system/smlnj/internal.  This avoids expensive reconstruction of
401      a stable src/compiler/core.cm.
402    
403    * At the same time, structure CompilerVersion is now known as
404      structure SMLNJVersion.
405    
406    * Arranged for the version tool to NOT kick in when rebuilding the system
407      (makeml -rebuild, fixpt).  Otherwise one would never reach a fixpoint.
408      Also, loading the versiontool does not work when rebuilding the system
409      because CM is not properly initialized at that time.
410    
411    ----------------------------------------------------------------------
412    Name: Matthias Blume (blume (at) tti - c (dot) org)
413    Date: 2004/09/29 14:00:00 CDT
414    Tag: blume-20040929-autoversion
415    Description:
416    
417    Implemented some CM magic to have
418        file src/compiler/TopLevel/main/version.sml
419    generated automagically.
420    The version is taken from two files: config/version and config/release.
421    The first is expected to contain a two-part version number such as 110.49.
422    The second should contain a single number, but it may be missing.
423    
424    If the environment variable VERSIONTOOL_BUMP_RELEASE is defined at the
425    time the version tool is loaded (which is the first time you say CMB.make),
426    then the tool will increment the value stored in config/release every
427    time CMB.make is invoked.
428    
429    The binfile format is now insensitive to anything beyond the first
430    two components of a version number, so bumping the release does not render
431    binfiles incompatible.  Auto-bumping can be used to keep track of versions
432    during development without invalidating existing binfiles.
433    
434    In any case, every CMB.make updates the date information in version.sml.
435    (This is the date that is printed in the banner.)
436    
437    ----------------------------------------------------------------------
438    Name: Matthias Blume (blume (at) tti - c (dot) org)
439    Date: 2004/09/28 10:53:00 CDT
440    Tag: blume-20040928-controls
441    Description:
442    
443    Some cleanup of the controls code.
444    
445    ----------------------------------------------------------------------
446    Name: Matthias Blume (blume (at) tti - c (dot) org)
447  Date: 2004/09/27 22:08:00 CDT  Date: 2004/09/27 22:08:00 CDT
448  Tag: blume-20040927-controls  Tag: blume-20040927-controls
449  Description:  Description:

Legend:
Removed from v.1633  
changed lines
  Added in v.1716

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