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

Legend:
Removed from v.716  
changed lines
  Added in v.805

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