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/NOTES/HISTORY
ViewVC logotype

Diff of /sml/trunk/NOTES/HISTORY

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

revision 773, Mon Jan 8 16:18:37 2001 UTC revision 818, Fri May 4 20:58:47 2001 UTC
# Line 13  Line 13 
13  Description:  Description:
14  ----------------------------------------------------------------------  ----------------------------------------------------------------------
15  Name: Matthias Blume  Name: Matthias Blume
16    Date: 2001/05/04 17:00:00 EDT
17    Tag: blume-20010504-cm-lsplit
18    Description:
19    
20    0. John merged pending changes to $/smlnj-lib.cm
21    
22    1. Allen's previous change accidentally backed out of one of Lal's
23       earlier changes.  I undid this mistake (re-introducing Lal's change).
24    
25    2. I used the new topOrder' function from graph-scc.sml (from $/smlnj-lib.cm)
26       within the compiler where applicable.  There is some code simplification
27       because of that.
28    
29    3. The "split" phase (in FLINT) is now part of the default list of phases.
30       Compiler.Control.LambdaSplitting.* can be used to globally control the
31       lambda-splitting (cross-module-inlining) engine.  In addition to that,
32       it can now also be controlled on a per-source basis: CM has been taught
33       a new tool parameter applicable to ML source files.
34    
35       - To turn lambda-splitting off completely:
36            local open Compiler.Control.LambdaSplitting in
37                val _ = set Off
38            end
39       - To make "no lambda-splitting" the global default (but allow per-source
40         overriding); this is the initial setting:
41            local open Compiler.Control.LambdaSplitting in
42                val _ = set (Default NONE)
43            end
44       - To make "lambda-splitting with aggressiveness a" the global default
45         (and allow per-source overriding):
46            local open Compiler.Control.LambdaSplitting in
47                val _ = set (Default (SOME a))
48            end
49    
50       - To turn lambda-splitting off for a given ML souce file (say: a.sml)
51         write (in the respective .cm-file):
52            a.sml (lambdasplitting:off)
53       - To turn lambda-splitting for a.sml on with minimal aggressiveness:
54            a.sml (lambdasplitting:on)
55       - To turn lambda-splitting for a.sml on with aggressiveness <a> (where
56         <a> is a decimal non-negative integer):
57            a.sml (lambdasplitting:<a>)
58       - To turn lambda-splitting for a.sml on with maximal aggressiveness:
59            a.sml (lambdasplitting:infinity)
60       - To use the global default for a.sml:
61            a.sml (lambdasplitting:default)
62         or simply
63            a.sml
64    
65    ----------------------------------------------------------------------
66    Name: Allen Leung
67    Date: 2001/05/04 01:57:00 EDT
68    Tag: leunga-20010504-sync
69    Description:
70    
71      MLRISC features.
72    
73      1. Fix to CMPXCHG instructions.
74      2. Changed RA interface to allow annotations in callbacks.
75      3. Added a new method to the stream interface to allow annotations updates.
76    
77    ----------------------------------------------------------------------
78    Name: Matthias Blume
79    Date: 2001/05/01 11:45:00 EDT
80    Tag: blume-20010501-pcedittmp
81    Description:
82    
83    Changed install.sh to use the current working directory instead of
84    /usr/tmp for a temporary file (pcedittmp).  The previous choice
85    of /usr/tmp caused trouble with MacOS X because of file premission
86    problems.
87    
88    ----------------------------------------------------------------------
89    Name: Matthias Blume
90    Date: 2001/04/20 11:10:00 EDT
91    Tag: blume-20010420-inMLflag
92    Description:
93    
94     - added vp_limitPtrMask to vproc-state.h
95       (for use by the raw-C-calls mechanism to implement proper interrupt
96        handling)
97     - made the ML compiler aware of various data-structure offsets so it
98       can generate code for accessing the vp_inML flag and vp_limitPtrMask
99     - tweaked mlriscGen.sml to have it emit interrupt-handling code for
100       raw C-calls
101    
102    ----------------------------------------------------------------------
103    Name: Lal George
104    Date: 2001/04/20 09:15:28 EDT
105    Tag: george-20010420-macosX
106    Description:
107    
108     - Changes to port to Mac OS X; Darwin.
109    
110     - In the process I found that sqrt was broken on the PPC, because the
111       fsqrt instruction is not implemented.
112    
113    ----------------------------------------------------------------------
114    Name: Matthias Blume
115    Date: 2001/04/18 12:45:00 EDT
116    Tag: blume-20010418-ccalls
117    Description:
118    
119     - fixed two off-by-4 errors in the x86-specific c-calls implementation
120       (this bug prevented structure arguments containing pointers from being
121        passed correctly)
122     - changed the raw-C-call code in mlriscGen.sml in such a way that
123       structure arguments are represented as a pointer to the beginning
124       of the structure (instead of having a series of synthesized arguments,
125       one for each structure member)
126    
127     - made makeml script's verbosity level configurable via environment
128       variable (MAKEML_VERBOSITY)
129    
130     - eliminated placeholder implementations for f32l, w16s, i16s, and f32s
131       in rawmem-x86.sml; we are now using the real thing
132    
133    ----------------------------------------------------------------------
134    Name: Matthias Blume
135    Date: 2001/03/22 16:25:00 EST
136    Tag: blume-20010322-bootfiles
137    Description:
138    
139    Created a new set of bootfiles (for your automatic installation convenience).
140    
141    ----------------------------------------------------------------------
142    Name: Matthias Blume
143    Date: 2001/03/22 15:10:00 EST
144    Tag: blume-20010322-rawmem-parcm
145    Description:
146    
147    1. All "raw memory access" primitives for the new FFI are implemented now
148       (at least on the x86).
149    2. Some further cleanup of CM's parallel make mechanism.
150    
151    ----------------------------------------------------------------------
152    Name: Matthias Blume
153    Date: 2001/03/19 17:53:00 EST
154    Tag: blume-20010319-parallel
155    Description:
156    
157    Parallel make (using compile servers) now works again.
158    
159    To this end, CM.stabilize and CMB.make have been modified to work in
160    two passes when compile servers are attached:
161       1. Compile everything, do not perform stabilization; this pass
162          uses compile servers
163       2. Stabilize everything; this pass does not use compile servers
164    If there are no compile servers, the two passes are combined into one
165    (as before).  Splitting the passes increases the inherent parallelism
166    in the dependency graph because the entire graph including all
167    libraries is available at the same time.  This, in turn, improves
168    server utilization.  The downside is that the master process will
169    have to do some extra work after compilation is done (because for
170    technical reasons it must re-read all the binfiles during stabilization).
171    
172    ----------------------------------------------------------------------
173    Name: Matthias Blume
174    Date: 2001/03/16 12:22:00 EST
175    Tag: blume-20010316-bootfiles
176    Description:
177    
178    Created a new set of bootfiles (for your automatic installation convenience).
179    
180    ----------------------------------------------------------------------
181    Name: Matthias Blume
182    Date: 2001/03/16 11:00:00 EST
183    Tag: blume-20010316-MLTREE-fixup
184    Description:
185    
186    This is a minor fixup for an (untagged) earlier commit by Allen.
187    (A file was missing).
188    
189    ----------------------------------------------------------------------
190    Name: Allen Leung
191    Date: Mon Mar  5 18:54:57 EST 2001
192    Tag: leunga-20010305-cut-support
193    
194    1. New support for alternative control-flow in MLTREE.
195       Currently we support
196    
197          FLOW_TO(CALL ...., [k1,...,kn])
198    
199       This is needed for 'cuts to' in C-- and try/handle-like constructs
200       in Moby
201    
202       New assembler flag "asm-show-cutsto" to turn on control-flow debugging.
203    
204    2. Register Allocator
205    
206       Changes in interface [from Fermin, John]
207    
208    3. Alpha 8-bit SLL support [Fermin]
209    
210    4. All architectures
211    
212       A new module (ClusterExpandCopies) for expanding parallel copies.
213    
214    ----------------------------------------------------------------------
215    Name: Allen Leung
216    Date: 2001/02/27 23:07:00 EST
217    Tag: leunga-20010227-minor-stuff
218    
219    1. Alpha bug fix for CMOVNE
220    2. Handle mltree COND(..,FCMP ...,...)
221    3. Bug fix in simplifier
222    
223    ----------------------------------------------------------------------
224    Name: Matthias Blume
225    Date: 2001/01/30 17:50:00 EST
226    Tag: blume-20010130-sync
227    Description:
228    
229    This is just a minor update to sync my devel branch with the main brach.
230    The only visible change is the addition of some README files.
231    
232    ----------------------------------------------------------------------
233    Name: Matthias Blume
234    Date: 2001/01/12 23:30:00 JST
235    Tag: blume-20010112-bootfiles
236    Description:
237    
238    Made a new set of bootfiles that goes with the current state of the
239    repository.
240    
241    ----------------------------------------------------------------------
242    Name: Matthias Blume
243    Date: 2001/01/12 21:20:00 JST
244    Tag: blume-20010112-sync
245    Description:
246    
247    I am just flushing out some minor changes that had accumulated in
248    my private branch in order to sync with the main tree.  (This is
249    mainly because I had CVS trouble when trying to merge _into_ my
250    private branch.)
251    
252    Most people should be completely unaffected by this.
253    
254    ----------------------------------------------------------------------
255    Name: Allen Leung
256    Date: Thu Jan 11 21:03:00 EST 2001
257    Tag: leunga-20010111-labexp=mltree
258    Description:
259    
260    1.  Removed the type LabelExp and replace it by MLTree.
261    2.  Rewritten mltree-simplify with the pattern matcher tool.
262    3.  There were some bugs in alpha code generator which would break
263        64-bit code generation.
264    4.  Redo the tools to generate code with the
265    5.  The CM files in MLRISC (and in src/system/smlnj/MLRISC)
266        are now generated by perl scripts.
267    
268    ----------------------------------------------------------------------
269    Name: Matthias Blume
270    Date: 2001/01/10 21:55:00 JST
271    Tag: blume-20010110-rcc
272    Description:
273    
274    The RCC stuff now seems to work (but only on the x86).
275    This required hacking of the c-calls interface (and -implementation) in
276    MLRISC.
277    
278    Normal compiler users should be unaffected.
279    
280    ----------------------------------------------------------------------
281    Name: Matthias Blume
282  Date: 2001/01/09 01:20:00 JST  Date: 2001/01/09 01:20:00 JST
283  Tag: blume-20010109-rcc  Tag: blume-20010109-rcc
284  Description:  Description:

Legend:
Removed from v.773  
changed lines
  Added in v.818

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