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 1645, Mon Oct 11 21:37:17 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  Date: 2004/10/11 16:37:00 CDT
335  Tag: blume-20041011-regions  Tag: blume-20041011-regions
336  Description:  Description:
# Line 80  Line 397 
397  Description:  Description:
398    
399  * Moved the "version" magic into its own little library under  * Moved the "version" magic into its own little library under
400  src/system/smlnj/internal.  This avoids expensive reconstruction    src/system/smlnj/internal.  This avoids expensive reconstruction of
401  of a stable src/compiler/core.cm.    a stable src/compiler/core.cm.
402    
403  * At the same time, structure CompilerVersion is now known as structure  * At the same time, structure CompilerVersion is now known as
404  SMLNJVersion.    structure SMLNJVersion.
405    
406  * 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
407    (makeml -rebuild, fixpt).  Otherwise one would never reach a fixpoint.    (makeml -rebuild, fixpt).  Otherwise one would never reach a fixpoint.

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

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