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 788, Wed Feb 28 04:09:48 2001 UTC revision 824, Tue May 8 21:31:05 2001 UTC
# Line 13  Line 13 
13  Description:  Description:
14    
15  ----------------------------------------------------------------------  ----------------------------------------------------------------------
16    Name: Lal George
17    Date: 2001/05/08  17:26:09 EDT
18    Tag: george-20010508-omit-frameptr
19    Description:
20    
21    Changes to implement the omit-frame-pointer optimization to support
22    raw C calls. For now, there is only support on the Intel x86, but
23    other architectures will follow as more experience is gained with this.
24    
25    
26    ----------------------------------------------------------------------
27    Name: Matthias Blume
28    Date: 2001/05/07 14:40:00 EDT
29    Tag: blume-20010507-proxies
30    Description:
31    
32    I made into "proxy libraries" all libraries that qualify for such a
33    change.  (A qualifying library is a library that has another library or
34    groups as its sole member and repeats that member's export list
35    verbatim.  A proxy library avoids this repetition by omitting its export
36    list, effectively inheriting the list that its (only) member exports.
37    See the CM manual for more explanation.)
38    The main effect is that explicit export lists for these libraries
39    do not have to be kepts in sync, making maintenance a bit easier.
40    
41    I also added copyright notices to many .cm-files.
42    
43    Last but not least, I made a new set of bootfiles.
44    
45    ----------------------------------------------------------------------
46    Name: Matthias Blume
47    Date: 2001/05/04 17:00:00 EDT
48    Tag: blume-20010504-cm-lsplit
49    Description:
50    
51    0. John merged pending changes to $/smlnj-lib.cm
52    
53    1. Allen's previous change accidentally backed out of one of Lal's
54       earlier changes.  I undid this mistake (re-introducing Lal's change).
55    
56    2. I used the new topOrder' function from graph-scc.sml (from $/smlnj-lib.cm)
57       within the compiler where applicable.  There is some code simplification
58       because of that.
59    
60    3. The "split" phase (in FLINT) is now part of the default list of phases.
61       Compiler.Control.LambdaSplitting.* can be used to globally control the
62       lambda-splitting (cross-module-inlining) engine.  In addition to that,
63       it can now also be controlled on a per-source basis: CM has been taught
64       a new tool parameter applicable to ML source files.
65    
66       - To turn lambda-splitting off completely:
67            local open Compiler.Control.LambdaSplitting in
68                val _ = set Off
69            end
70       - To make "no lambda-splitting" the global default (but allow per-source
71         overriding); this is the initial setting:
72            local open Compiler.Control.LambdaSplitting in
73                val _ = set (Default NONE)
74            end
75       - To make "lambda-splitting with aggressiveness a" the global default
76         (and allow per-source overriding):
77            local open Compiler.Control.LambdaSplitting in
78                val _ = set (Default (SOME a))
79            end
80    
81       - To turn lambda-splitting off for a given ML souce file (say: a.sml)
82         write (in the respective .cm-file):
83            a.sml (lambdasplitting:off)
84       - To turn lambda-splitting for a.sml on with minimal aggressiveness:
85            a.sml (lambdasplitting:on)
86       - To turn lambda-splitting for a.sml on with aggressiveness <a> (where
87         <a> is a decimal non-negative integer):
88            a.sml (lambdasplitting:<a>)
89       - To turn lambda-splitting for a.sml on with maximal aggressiveness:
90            a.sml (lambdasplitting:infinity)
91       - To use the global default for a.sml:
92            a.sml (lambdasplitting:default)
93         or simply
94            a.sml
95    
96    ----------------------------------------------------------------------
97    Name: Allen Leung
98    Date: 2001/05/04 01:57:00 EDT
99    Tag: leunga-20010504-sync
100    Description:
101    
102      MLRISC features.
103    
104      1. Fix to CMPXCHG instructions.
105      2. Changed RA interface to allow annotations in callbacks.
106      3. Added a new method to the stream interface to allow annotations updates.
107    
108    ----------------------------------------------------------------------
109    Name: Matthias Blume
110    Date: 2001/05/01 11:45:00 EDT
111    Tag: blume-20010501-pcedittmp
112    Description:
113    
114    Changed install.sh to use the current working directory instead of
115    /usr/tmp for a temporary file (pcedittmp).  The previous choice
116    of /usr/tmp caused trouble with MacOS X because of file premission
117    problems.
118    
119    ----------------------------------------------------------------------
120    Name: Matthias Blume
121    Date: 2001/04/20 11:10:00 EDT
122    Tag: blume-20010420-inMLflag
123    Description:
124    
125     - added vp_limitPtrMask to vproc-state.h
126       (for use by the raw-C-calls mechanism to implement proper interrupt
127        handling)
128     - made the ML compiler aware of various data-structure offsets so it
129       can generate code for accessing the vp_inML flag and vp_limitPtrMask
130     - tweaked mlriscGen.sml to have it emit interrupt-handling code for
131       raw C-calls
132    
133    ----------------------------------------------------------------------
134    Name: Lal George
135    Date: 2001/04/20 09:15:28 EDT
136    Tag: george-20010420-macosX
137    Description:
138    
139     - Changes to port to Mac OS X; Darwin.
140    
141     - In the process I found that sqrt was broken on the PPC, because the
142       fsqrt instruction is not implemented.
143    
144    ----------------------------------------------------------------------
145    Name: Matthias Blume
146    Date: 2001/04/18 12:45:00 EDT
147    Tag: blume-20010418-ccalls
148    Description:
149    
150     - fixed two off-by-4 errors in the x86-specific c-calls implementation
151       (this bug prevented structure arguments containing pointers from being
152        passed correctly)
153     - changed the raw-C-call code in mlriscGen.sml in such a way that
154       structure arguments are represented as a pointer to the beginning
155       of the structure (instead of having a series of synthesized arguments,
156       one for each structure member)
157    
158     - made makeml script's verbosity level configurable via environment
159       variable (MAKEML_VERBOSITY)
160    
161     - eliminated placeholder implementations for f32l, w16s, i16s, and f32s
162       in rawmem-x86.sml; we are now using the real thing
163    
164    ----------------------------------------------------------------------
165    Name: Matthias Blume
166    Date: 2001/03/22 16:25:00 EST
167    Tag: blume-20010322-bootfiles
168    Description:
169    
170    Created a new set of bootfiles (for your automatic installation convenience).
171    
172    ----------------------------------------------------------------------
173    Name: Matthias Blume
174    Date: 2001/03/22 15:10:00 EST
175    Tag: blume-20010322-rawmem-parcm
176    Description:
177    
178    1. All "raw memory access" primitives for the new FFI are implemented now
179       (at least on the x86).
180    2. Some further cleanup of CM's parallel make mechanism.
181    
182    ----------------------------------------------------------------------
183    Name: Matthias Blume
184    Date: 2001/03/19 17:53:00 EST
185    Tag: blume-20010319-parallel
186    Description:
187    
188    Parallel make (using compile servers) now works again.
189    
190    To this end, CM.stabilize and CMB.make have been modified to work in
191    two passes when compile servers are attached:
192       1. Compile everything, do not perform stabilization; this pass
193          uses compile servers
194       2. Stabilize everything; this pass does not use compile servers
195    If there are no compile servers, the two passes are combined into one
196    (as before).  Splitting the passes increases the inherent parallelism
197    in the dependency graph because the entire graph including all
198    libraries is available at the same time.  This, in turn, improves
199    server utilization.  The downside is that the master process will
200    have to do some extra work after compilation is done (because for
201    technical reasons it must re-read all the binfiles during stabilization).
202    
203    ----------------------------------------------------------------------
204    Name: Matthias Blume
205    Date: 2001/03/16 12:22:00 EST
206    Tag: blume-20010316-bootfiles
207    Description:
208    
209    Created a new set of bootfiles (for your automatic installation convenience).
210    
211    ----------------------------------------------------------------------
212    Name: Matthias Blume
213    Date: 2001/03/16 11:00:00 EST
214    Tag: blume-20010316-MLTREE-fixup
215    Description:
216    
217    This is a minor fixup for an (untagged) earlier commit by Allen.
218    (A file was missing).
219    
220    ----------------------------------------------------------------------
221    Name: Allen Leung
222    Date: Mon Mar  5 18:54:57 EST 2001
223    Tag: leunga-20010305-cut-support
224    
225    1. New support for alternative control-flow in MLTREE.
226       Currently we support
227    
228          FLOW_TO(CALL ...., [k1,...,kn])
229    
230       This is needed for 'cuts to' in C-- and try/handle-like constructs
231       in Moby
232    
233       New assembler flag "asm-show-cutsto" to turn on control-flow debugging.
234    
235    2. Register Allocator
236    
237       Changes in interface [from Fermin, John]
238    
239    3. Alpha 8-bit SLL support [Fermin]
240    
241    4. All architectures
242    
243       A new module (ClusterExpandCopies) for expanding parallel copies.
244    
245    ----------------------------------------------------------------------
246  Name: Allen Leung  Name: Allen Leung
247  Date: 2001/02/27 23:07:00 EST  Date: 2001/02/27 23:07:00 EST
248  Tag: leunga-20010227-minor-stuff  Tag: leunga-20010227-minor-stuff

Legend:
Removed from v.788  
changed lines
  Added in v.824

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