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 1668, Wed Oct 27 22:22:13 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/10/27 17:20:00 CDT
18    Tag: blume-20041027-x86-c-calls
19    Description:
20    
21    This is the HISTORY entry for two earlier commits, both concerning
22    the x86 c-calls code in MLRISC:
23    
24      - added a missing LOAD in the code that deals with struct arguments
25      - made sure the caller does not add the wrong number of bytes to the
26        stack pointer after a call of a function returning a struct
27        (the callee already pops the implicit argument which points to
28         the space reserved for the result)
29    
30    ----------------------------------------------------------------------
31    Name: Allen Leung (leunga (at) reservoir (dot) com)
32    Date: 2004/10/24 14:00:00 EST
33    Tag: leunga-20041024-x86-gas-fucomip
34    Description:
35    
36       John discovered a bug in the syntax of fucomip.
37       The opcodes FU?COMIP? have been changed to
38    
39           fu?comip? %st(i), %st
40    
41    ----------------------------------------------------------------------
42    Name: Matthias Blume (blume (at) tti - c (dot) org)
43    Date: 2004/10/20 15:06:00 CDT
44    Tag: blume-20041020-standalone-backtrace
45    Description:
46    
47    Added a mechanism for getting back-trace information from standalone
48    programs.  Here is how it works:
49    
50       1. The part of the program from which you want to get backtrace
51          information (usually the whole program) should be wrapped with
52          BackTrace.monitor.  This is a (unit->'a)->'a function, and your
53          main program could be modified from something like
54    
55             fun main (pgm, args) = ...
56    
57         to
58    
59            fun main (pgm, args) = BackTrace.monitor (fn () => ...)
60    
61       2. To be able to access BackTrace.monitor, you have to add
62          library $smlnj-tdp/plugins.cm to the .cm file that contains your
63          main function.
64    
65       3. Remove all compiled code (i.e., all the .cm/ subdirectories that
66          CM might have created in the past for your project).
67    
68       4. Build the system using this command line:
69    
70             ml-build -Ctdp.instrument=true \$smlnj-tdp/back-trace.cm \
71                      myprog.cm MyProg.main myprog
72    
73          instead of the usual
74    
75             ml-build myprog.cm MyProg.main myprog
76    
77    I changed a library name:
78    
79       $/trace-debug-profile.cm --> $smlnj-tdp/plugins.cm
80    
81    New libraries:
82    
83       $smlnj-tdp/back-trace.cm
84          -- when loaded causes the back-trace plugin to be installed
85       $smlnj-tdp/coverage.cm
86          -- when loaded causes the coverage plugin to be installed
87    
88    ----------------------------------------------------------------------
89    Name: Matthias Blume (blume (at) tti - c (dot) org)
90    Date: 2004/10/18 16:45:00 CDT
91    Tag: blume-20041018-groupowner
92    Description:
93    
94    Added an "obsolete" warning for the "group owner" syntax to CM's parser.
95    
96    Eliminated group owner specs from .cm files throughout the source tree.
97    
98    ----------------------------------------------------------------------
99    Name: Matthias Blume (blume (at) tti - c (dot) org)
100    Date: 2004/10/15 15:45:00 CDT
101    Tag: blume-20041015-coverage
102    Description:
103    
104    * Test coverage tool added!
105    * Further reorganization of tracing-, debugging-, and profiling support:
106    
107        - moved original BTImp -- now called BackTrace -- into a separate
108          library called $/trace-debug-profile.cm
109        - eliminated all mentions of BTrace from SMLofNJ.Internals
110        - only the instrumentation mechanism is now left in the compiler proper
111        - BackTrace module is a plugin which is NOT plugged in by default
112        - Coverage module is another such plugin
113    
114    To get the benefits of any of these plugin modules, the code in
115    question must be compiled with tdp instrumentation turned on.  This
116    can be done by setting SMLofNJ.Internals.TDP.mode to true.
117    (The ref cell is also controlled via the -Ctdp.instrument=... switch.)
118    
119    Plugins are selected at link time.  (Pre-compiled instrumented code
120    can be re-loaded with different plugins in effect.)  When an
121    instrumented module is linked, whatever plugins are at that time
122    enabled will come into effect for that module.
123    
124    To enable the back-trace plugin, load library $/trace-debug-profile.cm
125    and invoke BackTrace.install() (e.g., from the interactive prompt).
126    To enable the coverage plugin, load the same library and invoke
127    Coverage.install().
128    
129    Back-traces are generated automatically on uncaught exceptions and
130    when the code in question explicitly invokes BackTrace.trigger().
131    
132    Coverage (and execution frequency-) information must be queried
133    explicitly by calling Coverage.not_covered and Coverage.hot_spots.
134    
135    ----------------------------------------------------------------------
136    Name: Matthias Blume (blume (at) tti - c (dot) org)
137    Date: 2004/10/14 17:40:00 CDT
138    Tag: blume-20041014-tdp-core
139    Description:
140    
141    Snapshot of a significant overhaul of how the trace/debug/profile support
142    is hooked into the system (specifically: Core and SMLofNJ.Internals).
143    
144    ----------------------------------------------------------------------
145    Name: Matthias Blume (blume (at) tti - c (dot) org)
146    Date: 2004/10/13 16:34:00 CDT
147    Tag: blume-20041013-tdp
148    Description:
149    
150    Some rationalization of names:
151    
152       structure BTrace -> structure TDPInstrument
153       etc.
154    
155    This is is preparation of using the original back-trace
156    instrumentation for other purposes.  "TDP" stands for
157    Trace/Debug/Profile.
158    
159    The control flag controlling whether instrumentation is on or off is now
160    registered under a different name, so instead of running sml as
161    
162     sml -Cinstrument.btrace-mode=true
163    
164    one has to say
165    
166     sml -Ctdp.instrument=true
167    
168    ----------------------------------------------------------------------
169    Name: Matthias Blume (blume (at) tti - c (dot) org)
170    Date: 2004/10/11 16:37:00 CDT
171    Tag: blume-20041011-regions
172    Description:
173    
174    Made some minor modifications to elabcore.sml to have source regions
175    be propagated more tightly -- resulting in better (i.e., smaller)
176    regions being reported in error- and debug messages.
177    
178    ----------------------------------------------------------------------
179    Name: Matthias Blume (blume (at) tti - c (dot) org)
180    Date: 2004/10/08 22:50:00 CDT
181    Tag: blume-20041008-cmkw
182    Description:
183    
184    Fixed handling of keywords in .cm files: After seeing "is" the lexer
185    treats subsequent occurrences of "group", "library", "source", "is",
186    "*", and "-" as ordinary identifiers rather than keywords.
187    
188    Most seriously, this fixes a problem with CM's "shell" tool.  The tool
189    is supposed to accept a tool argument called "source", but this did
190    not work because of the clash with the keyword.
191    
192    ----------------------------------------------------------------------
193    Name: Matthias Blume (blume (at) tti - c (dot) org)
194    Date: 2004/10/07 16:00:00 CDT
195    Tag: blume-20041007-cleanup
196    Description:
197    
198    Assorted cleanup work:
199    
200      - got rid of intstrmap in favor of using the library's
201        hash table implementation
202      - threw out most of the pathnames stuff, as it was not used anyway
203      - simplified tokentable implementation
204      - fixed some minor spelling errors
205    
206    ----------------------------------------------------------------------
207    Name: Matthias Blume (blume (at) tti - c (dot) org)
208  Date: 2004/10/06 15:15:15 CDT  Date: 2004/10/06 15:15:15 CDT
209  Tag: blume-20041006-handler  Tag: blume-20041006-handler
210  Description:  Description:

Legend:
Removed from v.1641  
changed lines
  Added in v.1668

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