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/branches/primop-branch-3/NOTES/HISTORY
ViewVC logotype

Diff of /sml/branches/primop-branch-3/NOTES/HISTORY

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

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

Legend:
Removed from v.1634  
changed lines
  Added in v.1689

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