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 713, Mon Oct 23 23:38:38 2000 UTC revision 788, Wed Feb 28 04:09:48 2001 UTC
# Line 14  Line 14 
14    
15  ----------------------------------------------------------------------  ----------------------------------------------------------------------
16  Name: Allen Leung  Name: Allen Leung
17    Date: 2001/02/27 23:07:00 EST
18    Tag: leunga-20010227-minor-stuff
19    
20    1. Alpha bug fix for CMOVNE
21    2. Handle mltree COND(..,FCMP ...,...)
22    3. Bug fix in simplifier
23    
24    ----------------------------------------------------------------------
25    Name: Matthias Blume
26    Date: 2001/01/30 17:50:00 EST
27    Tag: blume-20010130-sync
28    Description:
29    
30    This is just a minor update to sync my devel branch with the main brach.
31    The only visible change is the addition of some README files.
32    
33    ----------------------------------------------------------------------
34    Name: Matthias Blume
35    Date: 2001/01/12 23:30:00 JST
36    Tag: blume-20010112-bootfiles
37    Description:
38    
39    Made a new set of bootfiles that goes with the current state of the
40    repository.
41    
42    ----------------------------------------------------------------------
43    Name: Matthias Blume
44    Date: 2001/01/12 21:20:00 JST
45    Tag: blume-20010112-sync
46    Description:
47    
48    I am just flushing out some minor changes that had accumulated in
49    my private branch in order to sync with the main tree.  (This is
50    mainly because I had CVS trouble when trying to merge _into_ my
51    private branch.)
52    
53    Most people should be completely unaffected by this.
54    
55    ----------------------------------------------------------------------
56    Name: Allen Leung
57    Date: Thu Jan 11 21:03:00 EST 2001
58    Tag: leunga-20010111-labexp=mltree
59    Description:
60    
61    1.  Removed the type LabelExp and replace it by MLTree.
62    2.  Rewritten mltree-simplify with the pattern matcher tool.
63    3.  There were some bugs in alpha code generator which would break
64        64-bit code generation.
65    4.  Redo the tools to generate code with the
66    5.  The CM files in MLRISC (and in src/system/smlnj/MLRISC)
67        are now generated by perl scripts.
68    
69    ----------------------------------------------------------------------
70    Name: Matthias Blume
71    Date: 2001/01/10 21:55:00 JST
72    Tag: blume-20010110-rcc
73    Description:
74    
75    The RCC stuff now seems to work (but only on the x86).
76    This required hacking of the c-calls interface (and -implementation) in
77    MLRISC.
78    
79    Normal compiler users should be unaffected.
80    
81    ----------------------------------------------------------------------
82    Name: Matthias Blume
83    Date: 2001/01/09 01:20:00 JST
84    Tag: blume-20010109-rcc
85    Description:
86    
87    This is a fairly big patch, flushing out a large number of pending
88    changes that I made to my development copy over the last couple of days.
89    
90    Of practical relevance at this moment is a workaround for a pickling
91    bug that Allen ran into the other day.  The cause of the bug itself is
92    still unknown and it might be hard to fix it properly, but the
93    workaround has some merits of its own (namely somewhat reducing pickling
94    overhead for certain libraries).  Therefore, I think this solution should
95    be satisfactory at this time.
96    
97    The rest of the changes (i.e., the vast majority) has to do with my
98    ongoing efforts of providing direct support for C function calls from
99    ML.  At the moment there is a new primop "RAW_CCALL", typing magic
100    in types/cproto.sml (invoked from FLINT/trans/translate.sml), a new
101    case in the FLINT CPS datatype (RCC), changes to cps/convert.sml to
102    translate uses of RAW_CCALL into RCC, and changes to mlriscGen.sml to
103    handle RCC.
104    
105    The last part (the changes to mlriscGen.sml) are still known to be
106    wrong on the x86 and not implemented on all other architectures.  But
107    the infrastructure is in place. I had to change a few functor
108    signatures in the backend to be able to route the CCalls interface
109    from MLRISC there, and I had to specialize the mltree type (on the
110    x86) to include the necessary extensions. (The extensions themselves
111    were already there and redy to go in MLRISC/x86).
112    
113    Everything should be very happy as soon as someone helps me with
114    mlriscGen.sml...
115    
116    In any case, nothing of this should matter to anyone as long as the
117    new primop is not being used (which is going to be the case unless you
118    find it where I hid it :). The rest of the compiler is completely
119    unaffected.
120    
121    ----------------------------------------------------------------------
122    Name: Matthias Blume
123    Date: 2001/01/05 00:30:00 JST
124    Tag: blume-20010105-primops
125    Description:
126    
127    Added some experimental support for work that I am doing right now.
128    These changes mostly concern added primops, but there is also a new
129    experimental C library in the runtime system (but currently not enabled
130    anywhere except on Linux/X86).
131    
132    In the course of adding primops (and playing with them), I discovered that
133    Zhong's INL_PRIM hack (no type info for certain primops) was, in fact, badly
134    broken.  (Zhong was very right he labeled this stuff as "major gross hack".)
135    To recover, I made type information in INL_PRIM mandatory and changed
136    prim.sml as well as built-in.sml accordingly.  The InLine structure now
137    has complete, correct type information (i.e., no bottom types).
138    
139    Since all these changes mean that we need new binfiles, I also bumped the
140    version number to 110.32.1.
141    
142    ----------------------------------------------------------------------
143    Name: Matthias Blume
144    Date: 2000/12/30 22:10:00 JST
145    Tag: blume-20001230-various
146    Description:
147    
148    Added proxy libraries for MLRISC and let MLRISC libraries refer
149    to each other using path anchors.  (See CM manual for explanation.)
150    
151    Updated CM documentation.
152    
153    Fixed some bugs in CM.
154    
155    Implemented "proxy" libraries (= syntactic sugar for CM).
156    
157    Added "-quiet" option to makeml and changed runtime system accordingly.
158    
159    Added cleanup handler for exportML to reset timers and compiler stats.
160    
161    ----------------------------------------------------------------------
162    Name: Lal George
163    Date: 2000/12/22 22:22:58 EST 2000
164    Tag: Release_110_32
165    Description:
166    
167            Infinite precision used throughout MLRISC.
168            see MLRISC/mltree/machine-int.sig
169    
170    ----------------------------------------------------------------------
171    Name: Matthias Blume
172    Date: 2000/12/22 23:16:00 JST
173    Tag: blume-20001222-warn
174    Description:
175    
176    Corrected wording and formatting of some CM warning message which I
177    broke in my previous patch.
178    
179    ----------------------------------------------------------------------
180    Name: Matthias Blume
181    Date: 2000/12/22 21:20:00 JST
182    Tag: blume-20001222-anchorenv
183    Description:
184    
185    Fixed CM's handling of anchor environments in connection with CMB.make.
186    
187    ----------------------------------------------------------------------
188    Name: Matthias Blume
189    Date: 2000/12/22 13:15:00 JST
190    Tag: blume-20001222-cleanup
191    Description:
192    
193    Removed src/cm/ffi which does not (and did not) belong here.
194    
195    ----------------------------------------------------------------------
196    Name: Matthias Blume
197    Date: 2000/12/21 23:55:00 JST
198    Tag: blume-20001221-exn
199    Description:
200    
201    Probably most important: CM no longer silently swallows all exceptions
202    in the compiler.
203    Plus: some other minor CM changes.  For example, CM now reports some
204    sizes for generated binfiles (code, data, envpickle, lambdapickle).
205    
206    ----------------------------------------------------------------------
207    Name: Matthias Blume
208    Date: 2000/12/15 00:01:05 JST
209    Tag: blume-20001215-dirtool
210    Description:
211    
212    - "dir" tool added.
213    - improvements and cleanup to Tools structure
214    - documentation updates
215    
216    ----------------------------------------------------------------------
217    Name: Allen Leung
218    Date: Thu Dec 14 03:45:24 EST 2000
219    Description:
220    Tag:  leunga-20001214-int-inf
221    Description:
222    
223       In IntInf, added these standard functions, which are missing from our
224    implementation:
225    
226        andb : int * int -> int
227        xorb : int * int -> int
228        orb  : int * int -> int
229        notb : int -> int
230         <<   : int * word -> int
231        ~>>  : int * word -> int
232    
233       Not tested, I hope they are correct.
234    
235    ----------------------------------------------------------------------
236    Name: Allen Leung
237    Date: Fri Dec  8 19:23:26 EST 2000
238    Description:
239    Tag:  leunga-20001208-nowhere
240    Description:
241    
242      Slight improvements to the 'nowhere' tool to handle OR-patterns,
243    to generate better error messages etc.  Plus a brief manual.
244    
245    ----------------------------------------------------------------------
246    Name: Lal George
247    Date: 2000/12/08 09:54:02 EST 2000
248    Tag: Release_110_31
249    Description:
250    
251    - Version 110.31
252    ----------------------------------------------------------------------
253    Name: Allen Leung
254    Date: Thu Dec  7 22:01:04 EST 2000
255    Tag:  leunga-20001207-cell-monster-hack
256    Description:
257    
258    Major MLRISC internal changes.  Affect all clients.
259    Summary:
260    
261    1.  Type CELLS.cell = int is now replaced by a datatype.
262        As a result, the old regmap is now gone.  Almost all interfaces
263        in MLRISC change as a consequence.
264    
265    2.  A new brand version of machine description tool (v3.0) that generates
266        modules expecting the new interface.  The old version is removed.
267    
268    3.  The RA interface has been further abstracted into two new functors.
269        RISC_RA and X86RA.  These functors have much simpler interfaces.
270        [See also directory MLRISC/demo.]
271    
272    4.  Some other new source->source code generation tools are available:
273    
274        a. MLRISC/Tools/RewriteGen -- generate rewriters from rules.
275        b. MLRISC/Tools/WhereGen -- expands conditional pattern matching rules.
276           I use this tool to generate the peephole optimizers---with the new
277           cell type changes, peephole rules are becoming difficult to write
278           without conditional pattern matching.
279    
280    5.  More Intmap -> IntHashTable change.  Previous changes by Matthias didn't
281        cover the entire MLRISC source tree so many things broke.
282    
283    6.  CM files have been moved to the subdirectory MLRISC/cm.
284        They are moved because there are a lot of them and they clutter up the
285        root dir.
286    
287    7.  More detailed documentation to come...
288    
289        NOTE: To rebuild from 110.30 (ftp distribution), you'll have to do
290        a makeml -rebuild first.  This is because of other other
291        changes that Matthias has made (see below).
292    
293    
294    ----------------------------------------------------------------------
295    Name: Matthias Blume
296    Date: 2000/11/30 23:12:00 JST
297    Tag: blume-20001130-filereorg
298    Description:
299    
300    Some manual updates and some file reorganizations in CM.
301    
302    ----------------------------------------------------------------------
303    Name: Matthias Blume
304    Date: 2000/11/24 17:45:00 JST
305    Tag: blume-20001124-link
306    Description:
307    
308    Drastically improved link traversal code for the case that the dynamic
309    value was already loaded at bootstrap time.  As a result, CM and CMB
310    now both load blazingly fast -- even on a very slow machine.  Also,
311    memory consumption has been further reduced by this.
312    
313    Warning: The format of the PIDMAP file has changed.  THerefore, to
314    bootstrap you have to do this:
315    
316    1. Run CMB.make
317    2. Make a symbolic link for the boot directory:
318         ln -s sml.boot.ARCH-OS xxx
319    3. "Rebuild" the boot directory:
320         ./makeml -boot xxx -rebuild sml ; rm xxx
321    4. Boot normally:
322          ./makeml
323    
324    ----------------------------------------------------------------------
325    Name: Matthias Blume
326    Date: 2000/11/21 21:20:00 JST
327    Tag: blume-20001121-tools
328    Description:
329    
330    Continued hacking on autoloading problem -- with success this time.
331    Also changed tool-plugin mechanism.  See new CM manual.
332    
333    ----------------------------------------------------------------------
334    Name: Matthias Blume
335    Date: 2000/11/19 14:30:00 JST
336    Tag:  blume-20001119-autoload
337    Description:
338    
339    Some hacking to make autoloading faster.  Success for CMB, no success
340    so far for CM.  There is a reduced structure CM' that autoloads faster.
341    (This is a temporary, non-documented hack to be eliminated again when
342    the general problem is solved.)
343    
344    ----------------------------------------------------------------------
345    Name: Matthias Blume
346    Date: 2000/11/17 14:10:00 JST
347    Tag: blume-20001117-pickle-lib
348    Description:
349    
350    1. Eliminated comp-lib.cm
351    2. Made pickle-lib.cm
352    3. Eliminated all uses of intset.sml (from comp-lib.cm)
353    4. Replaced all uses of intmap.{sig,sml} (from comp-lib.cm) with
354       equivalent constructs from smlnj-lib.cm (INtHashTable).
355    5. Point 4. also goes for those uses of intmap.* in MLRISC.
356       Duplicated intmap modules thrown out.
357    6. Hunted down all duplicated SCC code and replaced it with
358       equivalent stuff (GraphSCCFn from smlnj-lib.cm).
359    7. Rewrote Feedback module.
360    8. Moved sortedlist.sml into viscomp-lib.cm.  Eventually it
361       should be thrown out and equivalent modules from smlnj-lib.cm
362       should be used (IntRedBlackSet, IntListSet, ...).
363    
364    Confirmed that compiler compiles to fixpoint.
365    
366    ----------------------------------------------------------------------
367    Name: Allen Leung
368    Date: 2000/11/10 18:00:00
369    Tag: leunga-20001110-new-x86-fp
370    
371    A new x86 floating point code generator has been added.
372    By default this is turned off.  To turn this on, do:
373    
374        CM.autoload "$smlnj/compiler.cm";
375        Compiler.Control.MLRISC.getFlag "x86-fast-fp" := true;
376    
377    Changes:
378    
379    1.  Changed FTAN to FPTAN so that the assembly output is correct.
380    2.  Changed the extension callback for FTANGENT to generate:
381    
382              fptan
383              fstp  %st(0)
384        instead of
385              fptan
386              fstpl ftempmem
387    
388    3.  Numerous assembly fixes for x86.
389    
390    5.  Cleaned up the machine code output module x86/x86MC.sml and added
391        support for a whole bunch of instructions and addressing modes:
392    
393          fadd/fsub/fsubr/fmul/fdiv/fdivr  %st, %st(n)
394          faddp/fsubp/fsubrp/fmulp/fdivp/fdivrp  %st, %st(n)
395          fadd/fsub/fsubr/fmul/fdiv/fdivr  %st(n), %st
396          fiadd/fisub/fisubr/fimul/fidiv/fidivr mem
397          fxch %st(n)
398          fld %st(n)
399          fst %st(n)
400          fst mem
401          fstp %st(n)
402          fucom %st(n)
403          fucomp %st(n)
404    
405        All these are now generated when the fast fp mode is turned on.
406    
407    6.  Removed the dedicated registers %st(0), ..., %st(7) from X86CpsRegs
408    
409    ----------------------------------------------------------------------
410    Name: Matthias Blume
411    Date: 2000/11/09 11:20:00 JST
412    Tag: blume-20001109-scc
413    Description:
414    
415    Eliminated some code duplication:
416    
417    1. Added "where" clause to GraphSCCFn in SML/NJ Library.
418       (Otherwise the functor is useless.)
419    2. Used GraphSCCFn where SCCUtilFun was used previously.
420    3. Got rid of SCCUtilFun (in comp-lib.cm).
421    
422    ----------------------------------------------------------------------
423    Name: Lal George
424    Date: 2000/11/06 09:02:21 EST 2000
425    Tag: Release_110_30
426    Description:
427    
428    - Version 110.30
429    ----------------------------------------------------------------------
430    Name: Matthias Blume
431    Date: 2000/11/04 14:45:00
432    Tag: blume-20001104-mlbuild
433    Description:
434    
435    - Made ml-build faster on startup.
436    - Documentation fixes.
437    
438    ----------------------------------------------------------------------
439    Name: Matthias Blume
440    Date: 2000/11/02 17:00:00 JST
441    Tag: blume-20001102-condcomp
442    Description:
443    
444    - Small tweaks to pickler -- new BOOTFILES!
445    - Version bumped to 110.29.2.
446    - Added conditional compilation facility to init.cmi (see comment there).
447    ----------------------------------------------------------------------
448    Name: Allen Leung
449  Date: 2000/10/23 19:31:00  Date: 2000/10/23 19:31:00
450  Tag: leunga-20001023-demo-ra  Tag: leunga-20001023-demo-ra
451    

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

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