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 737, Fri Nov 24 08:43:56 2000 UTC revision 773, Mon Jan 8 16:18:37 2001 UTC
# Line 11  Line 11 
11  Date:  Date:
12  Tag: <post-commit CVS tag>  Tag: <post-commit CVS tag>
13  Description:  Description:
14    ----------------------------------------------------------------------
15    Name: Matthias Blume
16    Date: 2001/01/09 01:20:00 JST
17    Tag: blume-20010109-rcc
18    Description:
19    
20    This is a fairly big patch, flushing out a large number of pending
21    changes that I made to my development copy over the last couple of days.
22    
23    Of practical relevance at this moment is a workaround for a pickling
24    bug that Allen ran into the other day.  The cause of the bug itself is
25    still unknown and it might be hard to fix it properly, but the
26    workaround has some merits of its own (namely somewhat reducing pickling
27    overhead for certain libraries).  Therefore, I think this solution should
28    be satisfactory at this time.
29    
30    The rest of the changes (i.e., the vast majority) has to do with my
31    ongoing efforts of providing direct support for C function calls from
32    ML.  At the moment there is a new primop "RAW_CCALL", typing magic
33    in types/cproto.sml (invoked from FLINT/trans/translate.sml), a new
34    case in the FLINT CPS datatype (RCC), changes to cps/convert.sml to
35    translate uses of RAW_CCALL into RCC, and changes to mlriscGen.sml to
36    handle RCC.
37    
38    The last part (the changes to mlriscGen.sml) are still known to be
39    wrong on the x86 and not implemented on all other architectures.  But
40    the infrastructure is in place. I had to change a few functor
41    signatures in the backend to be able to route the CCalls interface
42    from MLRISC there, and I had to specialize the mltree type (on the
43    x86) to include the necessary extensions. (The extensions themselves
44    were already there and redy to go in MLRISC/x86).
45    
46    Everything should be very happy as soon as someone helps me with
47    mlriscGen.sml...
48    
49    In any case, nothing of this should matter to anyone as long as the
50    new primop is not being used (which is going to be the case unless you
51    find it where I hid it :). The rest of the compiler is completely
52    unaffected.
53    
54    ----------------------------------------------------------------------
55    Name: Matthias Blume
56    Date: 2001/01/05 00:30:00 JST
57    Tag: blume-20010105-primops
58    Description:
59    
60    Added some experimental support for work that I am doing right now.
61    These changes mostly concern added primops, but there is also a new
62    experimental C library in the runtime system (but currently not enabled
63    anywhere except on Linux/X86).
64    
65    In the course of adding primops (and playing with them), I discovered that
66    Zhong's INL_PRIM hack (no type info for certain primops) was, in fact, badly
67    broken.  (Zhong was very right he labeled this stuff as "major gross hack".)
68    To recover, I made type information in INL_PRIM mandatory and changed
69    prim.sml as well as built-in.sml accordingly.  The InLine structure now
70    has complete, correct type information (i.e., no bottom types).
71    
72    Since all these changes mean that we need new binfiles, I also bumped the
73    version number to 110.32.1.
74    
75    ----------------------------------------------------------------------
76    Name: Matthias Blume
77    Date: 2000/12/30 22:10:00 JST
78    Tag: blume-20001230-various
79    Description:
80    
81    Added proxy libraries for MLRISC and let MLRISC libraries refer
82    to each other using path anchors.  (See CM manual for explanation.)
83    
84    Updated CM documentation.
85    
86    Fixed some bugs in CM.
87    
88    Implemented "proxy" libraries (= syntactic sugar for CM).
89    
90    Added "-quiet" option to makeml and changed runtime system accordingly.
91    
92    Added cleanup handler for exportML to reset timers and compiler stats.
93    
94    ----------------------------------------------------------------------
95    Name: Lal George
96    Date: 2000/12/22 22:22:58 EST 2000
97    Tag: Release_110_32
98    Description:
99    
100            Infinite precision used throughout MLRISC.
101            see MLRISC/mltree/machine-int.sig
102    
103    ----------------------------------------------------------------------
104    Name: Matthias Blume
105    Date: 2000/12/22 23:16:00 JST
106    Tag: blume-20001222-warn
107    Description:
108    
109    Corrected wording and formatting of some CM warning message which I
110    broke in my previous patch.
111    
112    ----------------------------------------------------------------------
113    Name: Matthias Blume
114    Date: 2000/12/22 21:20:00 JST
115    Tag: blume-20001222-anchorenv
116    Description:
117    
118    Fixed CM's handling of anchor environments in connection with CMB.make.
119    
120    ----------------------------------------------------------------------
121    Name: Matthias Blume
122    Date: 2000/12/22 13:15:00 JST
123    Tag: blume-20001222-cleanup
124    Description:
125    
126    Removed src/cm/ffi which does not (and did not) belong here.
127    
128    ----------------------------------------------------------------------
129    Name: Matthias Blume
130    Date: 2000/12/21 23:55:00 JST
131    Tag: blume-20001221-exn
132    Description:
133    
134    Probably most important: CM no longer silently swallows all exceptions
135    in the compiler.
136    Plus: some other minor CM changes.  For example, CM now reports some
137    sizes for generated binfiles (code, data, envpickle, lambdapickle).
138    
139    ----------------------------------------------------------------------
140    Name: Matthias Blume
141    Date: 2000/12/15 00:01:05 JST
142    Tag: blume-20001215-dirtool
143    Description:
144    
145    - "dir" tool added.
146    - improvements and cleanup to Tools structure
147    - documentation updates
148    
149    ----------------------------------------------------------------------
150    Name: Allen Leung
151    Date: Thu Dec 14 03:45:24 EST 2000
152    Description:
153    Tag:  leunga-20001214-int-inf
154    Description:
155    
156       In IntInf, added these standard functions, which are missing from our
157    implementation:
158    
159        andb : int * int -> int
160        xorb : int * int -> int
161        orb  : int * int -> int
162        notb : int -> int
163         <<   : int * word -> int
164        ~>>  : int * word -> int
165    
166       Not tested, I hope they are correct.
167    
168    ----------------------------------------------------------------------
169    Name: Allen Leung
170    Date: Fri Dec  8 19:23:26 EST 2000
171    Description:
172    Tag:  leunga-20001208-nowhere
173    Description:
174    
175      Slight improvements to the 'nowhere' tool to handle OR-patterns,
176    to generate better error messages etc.  Plus a brief manual.
177    
178    ----------------------------------------------------------------------
179    Name: Lal George
180    Date: 2000/12/08 09:54:02 EST 2000
181    Tag: Release_110_31
182    Description:
183    
184    - Version 110.31
185    ----------------------------------------------------------------------
186    Name: Allen Leung
187    Date: Thu Dec  7 22:01:04 EST 2000
188    Tag:  leunga-20001207-cell-monster-hack
189    Description:
190    
191    Major MLRISC internal changes.  Affect all clients.
192    Summary:
193    
194    1.  Type CELLS.cell = int is now replaced by a datatype.
195        As a result, the old regmap is now gone.  Almost all interfaces
196        in MLRISC change as a consequence.
197    
198    2.  A new brand version of machine description tool (v3.0) that generates
199        modules expecting the new interface.  The old version is removed.
200    
201    3.  The RA interface has been further abstracted into two new functors.
202        RISC_RA and X86RA.  These functors have much simpler interfaces.
203        [See also directory MLRISC/demo.]
204    
205    4.  Some other new source->source code generation tools are available:
206    
207        a. MLRISC/Tools/RewriteGen -- generate rewriters from rules.
208        b. MLRISC/Tools/WhereGen -- expands conditional pattern matching rules.
209           I use this tool to generate the peephole optimizers---with the new
210           cell type changes, peephole rules are becoming difficult to write
211           without conditional pattern matching.
212    
213    5.  More Intmap -> IntHashTable change.  Previous changes by Matthias didn't
214        cover the entire MLRISC source tree so many things broke.
215    
216    6.  CM files have been moved to the subdirectory MLRISC/cm.
217        They are moved because there are a lot of them and they clutter up the
218        root dir.
219    
220    7.  More detailed documentation to come...
221    
222        NOTE: To rebuild from 110.30 (ftp distribution), you'll have to do
223        a makeml -rebuild first.  This is because of other other
224        changes that Matthias has made (see below).
225    
226    
227    ----------------------------------------------------------------------
228    Name: Matthias Blume
229    Date: 2000/11/30 23:12:00 JST
230    Tag: blume-20001130-filereorg
231    Description:
232    
233    Some manual updates and some file reorganizations in CM.
234    
235  ----------------------------------------------------------------------  ----------------------------------------------------------------------
236  Name: Matthias Blume  Name: Matthias Blume

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

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