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 695, Mon Aug 7 23:57:38 2000 UTC revision 837, Fri Jun 1 17:27:54 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    ----------------------------------------------------------------------
16    Name: Matthias Blume
17    Date: 2001/06/01 13:30:00 EDT
18    Tag: blume-20010601-nlffi-cleanup
19    Description:
20    
21    This is mostly a cleanup of MLFFI stuff:
22    
23       - some signature files have been put into a more exposed place
24       - the ugly 'f type parameter is gone (simplifies types tremendously!)
25       - ml-nlffigen changed accordingly
26       - tutorial updated
27    
28    Other changes:
29    
30       - author's affiliation in CM manual(s) updated
31       - some more recognized keywords added to Allen's sml.sty
32    
33    ----------------------------------------------------------------------
34    Name: Matthias Blume
35    Date: 2001/05/25 15:30:00 EDT
36    Tag: blume-20010525-iptr
37    Description:
38    
39      - put the official 110.33-README (as it appears on the ftp server) under
40        CVS
41      - fixed a small bug related to incomplete pointer types in
42        ml-nlffigen
43      - small cosmetic change to the ml-nlffi-lib's "arr" type constructor
44        (it does not need the 'f type parameter)
45    
46    ----------------------------------------------------------------------
47    Name: Matthias Blume
48    Date: 2001/05/23 14:30:00 EDT
49    Tag: Release_110_33
50    Description:
51    
52    New version number (110.33).  New bootfiles.
53    
54    ----------------------------------------------------------------------
55    Name: Matthias Blume
56    Date: 2001/05/22 18:06:00 EDT
57    Tag: blume-20010522-targets
58    Description:
59    
60    Made install.sh use file config/targets.customized if it exists, falling
61    back to config/targets if it doesn't.  This way one can have a customized
62    version of the targets file without touching the "real thing", thus
63    eliminating the constant fear of accidentally checking something bogus
64    back into the CVS repository...  (File config/targets.customized must
65    not be added to the repository!)
66    
67    ----------------------------------------------------------------------
68    Name: Matthias Blume
69    Date: 2001/05/22 16:30:00 EDT
70    Tag: blume-20010522-minitut
71    Description:
72    
73    1. Bug fix in ml-nlffigen; now (hopefully) correctly handling
74       struct returns.
75    2. Added src/ml-nlffi-lib/Doc/mini-tutorial.txt.  This is some very
76       incomplete, preliminary documentation for NLFFI.
77    
78    ----------------------------------------------------------------------
79    Name: Matthias Blume
80    Date: 2001/05/14 11:30:00 EDT
81    Tag: blume-20010514-script
82    Description:
83    
84    Some bugs in install script fixed.
85    
86    In addition to that I also made a slight change to the NLFFI API:
87    Functors generated by ml-nlffigen now take the dynamic library as a
88    straight functor argument, not as a suspended one.  (The original
89    functor code used to force the suspension right away anyway, so there
90    was nothing gained by this complication of the interface.)
91    
92    ----------------------------------------------------------------------
93    Name: Matthias Blume
94    Date: 2001/05/11 14:35:00 EDT
95    Tag: blume-20010511-ml-nlffi
96    Description:
97    
98    I finally took the plunge and added my new FFI code to the main
99    repository.  For x86-linux it is now ready for prime-time.
100    
101    There are two new subdirectories of "src":
102    
103      - ml-nlffi-lib:
104           The utility library for programs using the FFI interface.
105           Here is the implementation of $/c.cm and its associated low-level
106           partners $/c-int.cm and $/memory.cm.
107      - ml-nlffigen:
108           A stand-alone program for generating ML glue code from C source
109           code.
110    
111    Building ml-nlffigen requires $/ckit-lib.cm.
112    
113    The config/install.sh script has been updates to do the Right Thing
114    (hopefully).
115    
116    Notice that the source tree for the C-Kit will not be put under "src"
117    but directly under the installation root directory.  (This is the
118    structure that currently exists on the CVS server when you check out
119    module "sml".)  Fortunately, config/install.sh knows about this oddity.
120    
121    Bugs: No documentation yet.
122    
123    ----------------------------------------------------------------------
124    Name: Matthias Blume
125    Date: 2001/05/09 16:35:00 EDT
126    Tag: blume-20010509-cpscontract
127    Description:
128    
129    Fixed a bug in the accounting code in cpsopt/contract.sml.  (The
130    wrapper/unwrapper elimination did not decrement usage counts and some
131    dead variables got overlooked by the dead-up logic.)
132    
133    ----------------------------------------------------------------------
134    Name: Lal George
135    Date: 2001/05/08  17:26:09 EDT
136    Tag: george-20010508-omit-frameptr
137    Description:
138    
139    Changes to implement the omit-frame-pointer optimization to support
140    raw C calls. For now, there is only support on the Intel x86, but
141    other architectures will follow as more experience is gained with this.
142    
143    
144    ----------------------------------------------------------------------
145    Name: Matthias Blume
146    Date: 2001/05/07 14:40:00 EDT
147    Tag: blume-20010507-proxies
148    Description:
149    
150    I made into "proxy libraries" all libraries that qualify for such a
151    change.  (A qualifying library is a library that has another library or
152    groups as its sole member and repeats that member's export list
153    verbatim.  A proxy library avoids this repetition by omitting its export
154    list, effectively inheriting the list that its (only) member exports.
155    See the CM manual for more explanation.)
156    The main effect is that explicit export lists for these libraries
157    do not have to be kepts in sync, making maintenance a bit easier.
158    
159    I also added copyright notices to many .cm-files.
160    
161    Last but not least, I made a new set of bootfiles.
162    
163    ----------------------------------------------------------------------
164    Name: Matthias Blume
165    Date: 2001/05/04 17:00:00 EDT
166    Tag: blume-20010504-cm-lsplit
167    Description:
168    
169    0. John merged pending changes to $/smlnj-lib.cm
170    
171    1. Allen's previous change accidentally backed out of one of Lal's
172       earlier changes.  I undid this mistake (re-introducing Lal's change).
173    
174    2. I used the new topOrder' function from graph-scc.sml (from $/smlnj-lib.cm)
175       within the compiler where applicable.  There is some code simplification
176       because of that.
177    
178    3. The "split" phase (in FLINT) is now part of the default list of phases.
179       Compiler.Control.LambdaSplitting.* can be used to globally control the
180       lambda-splitting (cross-module-inlining) engine.  In addition to that,
181       it can now also be controlled on a per-source basis: CM has been taught
182       a new tool parameter applicable to ML source files.
183    
184       - To turn lambda-splitting off completely:
185            local open Compiler.Control.LambdaSplitting in
186                val _ = set Off
187            end
188       - To make "no lambda-splitting" the global default (but allow per-source
189         overriding); this is the initial setting:
190            local open Compiler.Control.LambdaSplitting in
191                val _ = set (Default NONE)
192            end
193       - To make "lambda-splitting with aggressiveness a" the global default
194         (and allow per-source overriding):
195            local open Compiler.Control.LambdaSplitting in
196                val _ = set (Default (SOME a))
197            end
198    
199       - To turn lambda-splitting off for a given ML souce file (say: a.sml)
200         write (in the respective .cm-file):
201            a.sml (lambdasplitting:off)
202       - To turn lambda-splitting for a.sml on with minimal aggressiveness:
203            a.sml (lambdasplitting:on)
204       - To turn lambda-splitting for a.sml on with aggressiveness <a> (where
205         <a> is a decimal non-negative integer):
206            a.sml (lambdasplitting:<a>)
207       - To turn lambda-splitting for a.sml on with maximal aggressiveness:
208            a.sml (lambdasplitting:infinity)
209       - To use the global default for a.sml:
210            a.sml (lambdasplitting:default)
211         or simply
212            a.sml
213    
214    ----------------------------------------------------------------------
215    Name: Allen Leung
216    Date: 2001/05/04 01:57:00 EDT
217    Tag: leunga-20010504-sync
218    Description:
219    
220      MLRISC features.
221    
222      1. Fix to CMPXCHG instructions.
223      2. Changed RA interface to allow annotations in callbacks.
224      3. Added a new method to the stream interface to allow annotations updates.
225    
226    ----------------------------------------------------------------------
227    Name: Matthias Blume
228    Date: 2001/05/01 11:45:00 EDT
229    Tag: blume-20010501-pcedittmp
230    Description:
231    
232    Changed install.sh to use the current working directory instead of
233    /usr/tmp for a temporary file (pcedittmp).  The previous choice
234    of /usr/tmp caused trouble with MacOS X because of file premission
235    problems.
236    
237    ----------------------------------------------------------------------
238    Name: Matthias Blume
239    Date: 2001/04/20 11:10:00 EDT
240    Tag: blume-20010420-inMLflag
241    Description:
242    
243     - added vp_limitPtrMask to vproc-state.h
244       (for use by the raw-C-calls mechanism to implement proper interrupt
245        handling)
246     - made the ML compiler aware of various data-structure offsets so it
247       can generate code for accessing the vp_inML flag and vp_limitPtrMask
248     - tweaked mlriscGen.sml to have it emit interrupt-handling code for
249       raw C-calls
250    
251    ----------------------------------------------------------------------
252    Name: Lal George
253    Date: 2001/04/20 09:15:28 EDT
254    Tag: george-20010420-macosX
255    Description:
256    
257     - Changes to port to Mac OS X; Darwin.
258    
259     - In the process I found that sqrt was broken on the PPC, because the
260       fsqrt instruction is not implemented.
261    
262    ----------------------------------------------------------------------
263    Name: Matthias Blume
264    Date: 2001/04/18 12:45:00 EDT
265    Tag: blume-20010418-ccalls
266    Description:
267    
268     - fixed two off-by-4 errors in the x86-specific c-calls implementation
269       (this bug prevented structure arguments containing pointers from being
270        passed correctly)
271     - changed the raw-C-call code in mlriscGen.sml in such a way that
272       structure arguments are represented as a pointer to the beginning
273       of the structure (instead of having a series of synthesized arguments,
274       one for each structure member)
275    
276     - made makeml script's verbosity level configurable via environment
277       variable (MAKEML_VERBOSITY)
278    
279     - eliminated placeholder implementations for f32l, w16s, i16s, and f32s
280       in rawmem-x86.sml; we are now using the real thing
281    
282    ----------------------------------------------------------------------
283    Name: Matthias Blume
284    Date: 2001/03/22 16:25:00 EST
285    Tag: blume-20010322-bootfiles
286    Description:
287    
288    Created a new set of bootfiles (for your automatic installation convenience).
289    
290    ----------------------------------------------------------------------
291    Name: Matthias Blume
292    Date: 2001/03/22 15:10:00 EST
293    Tag: blume-20010322-rawmem-parcm
294    Description:
295    
296    1. All "raw memory access" primitives for the new FFI are implemented now
297       (at least on the x86).
298    2. Some further cleanup of CM's parallel make mechanism.
299    
300    ----------------------------------------------------------------------
301    Name: Matthias Blume
302    Date: 2001/03/19 17:53:00 EST
303    Tag: blume-20010319-parallel
304    Description:
305    
306    Parallel make (using compile servers) now works again.
307    
308    To this end, CM.stabilize and CMB.make have been modified to work in
309    two passes when compile servers are attached:
310       1. Compile everything, do not perform stabilization; this pass
311          uses compile servers
312       2. Stabilize everything; this pass does not use compile servers
313    If there are no compile servers, the two passes are combined into one
314    (as before).  Splitting the passes increases the inherent parallelism
315    in the dependency graph because the entire graph including all
316    libraries is available at the same time.  This, in turn, improves
317    server utilization.  The downside is that the master process will
318    have to do some extra work after compilation is done (because for
319    technical reasons it must re-read all the binfiles during stabilization).
320    
321    ----------------------------------------------------------------------
322    Name: Matthias Blume
323    Date: 2001/03/16 12:22:00 EST
324    Tag: blume-20010316-bootfiles
325    Description:
326    
327    Created a new set of bootfiles (for your automatic installation convenience).
328    
329    ----------------------------------------------------------------------
330    Name: Matthias Blume
331    Date: 2001/03/16 11:00:00 EST
332    Tag: blume-20010316-MLTREE-fixup
333    Description:
334    
335    This is a minor fixup for an (untagged) earlier commit by Allen.
336    (A file was missing).
337    
338    ----------------------------------------------------------------------
339    Name: Allen Leung
340    Date: Mon Mar  5 18:54:57 EST 2001
341    Tag: leunga-20010305-cut-support
342    
343    1. New support for alternative control-flow in MLTREE.
344       Currently we support
345    
346          FLOW_TO(CALL ...., [k1,...,kn])
347    
348       This is needed for 'cuts to' in C-- and try/handle-like constructs
349       in Moby
350    
351       New assembler flag "asm-show-cutsto" to turn on control-flow debugging.
352    
353    2. Register Allocator
354    
355       Changes in interface [from Fermin, John]
356    
357    3. Alpha 8-bit SLL support [Fermin]
358    
359    4. All architectures
360    
361       A new module (ClusterExpandCopies) for expanding parallel copies.
362    
363    ----------------------------------------------------------------------
364    Name: Allen Leung
365    Date: 2001/02/27 23:07:00 EST
366    Tag: leunga-20010227-minor-stuff
367    
368    1. Alpha bug fix for CMOVNE
369    2. Handle mltree COND(..,FCMP ...,...)
370    3. Bug fix in simplifier
371    
372    ----------------------------------------------------------------------
373    Name: Matthias Blume
374    Date: 2001/01/30 17:50:00 EST
375    Tag: blume-20010130-sync
376    Description:
377    
378    This is just a minor update to sync my devel branch with the main brach.
379    The only visible change is the addition of some README files.
380    
381    ----------------------------------------------------------------------
382    Name: Matthias Blume
383    Date: 2001/01/12 23:30:00 JST
384    Tag: blume-20010112-bootfiles
385    Description:
386    
387    Made a new set of bootfiles that goes with the current state of the
388    repository.
389    
390    ----------------------------------------------------------------------
391    Name: Matthias Blume
392    Date: 2001/01/12 21:20:00 JST
393    Tag: blume-20010112-sync
394    Description:
395    
396    I am just flushing out some minor changes that had accumulated in
397    my private branch in order to sync with the main tree.  (This is
398    mainly because I had CVS trouble when trying to merge _into_ my
399    private branch.)
400    
401    Most people should be completely unaffected by this.
402    
403    ----------------------------------------------------------------------
404    Name: Allen Leung
405    Date: Thu Jan 11 21:03:00 EST 2001
406    Tag: leunga-20010111-labexp=mltree
407    Description:
408    
409    1.  Removed the type LabelExp and replace it by MLTree.
410    2.  Rewritten mltree-simplify with the pattern matcher tool.
411    3.  There were some bugs in alpha code generator which would break
412        64-bit code generation.
413    4.  Redo the tools to generate code with the
414    5.  The CM files in MLRISC (and in src/system/smlnj/MLRISC)
415        are now generated by perl scripts.
416    
417    ----------------------------------------------------------------------
418    Name: Matthias Blume
419    Date: 2001/01/10 21:55:00 JST
420    Tag: blume-20010110-rcc
421    Description:
422    
423    The RCC stuff now seems to work (but only on the x86).
424    This required hacking of the c-calls interface (and -implementation) in
425    MLRISC.
426    
427    Normal compiler users should be unaffected.
428    
429    ----------------------------------------------------------------------
430    Name: Matthias Blume
431    Date: 2001/01/09 01:20:00 JST
432    Tag: blume-20010109-rcc
433    Description:
434    
435    This is a fairly big patch, flushing out a large number of pending
436    changes that I made to my development copy over the last couple of days.
437    
438    Of practical relevance at this moment is a workaround for a pickling
439    bug that Allen ran into the other day.  The cause of the bug itself is
440    still unknown and it might be hard to fix it properly, but the
441    workaround has some merits of its own (namely somewhat reducing pickling
442    overhead for certain libraries).  Therefore, I think this solution should
443    be satisfactory at this time.
444    
445    The rest of the changes (i.e., the vast majority) has to do with my
446    ongoing efforts of providing direct support for C function calls from
447    ML.  At the moment there is a new primop "RAW_CCALL", typing magic
448    in types/cproto.sml (invoked from FLINT/trans/translate.sml), a new
449    case in the FLINT CPS datatype (RCC), changes to cps/convert.sml to
450    translate uses of RAW_CCALL into RCC, and changes to mlriscGen.sml to
451    handle RCC.
452    
453    The last part (the changes to mlriscGen.sml) are still known to be
454    wrong on the x86 and not implemented on all other architectures.  But
455    the infrastructure is in place. I had to change a few functor
456    signatures in the backend to be able to route the CCalls interface
457    from MLRISC there, and I had to specialize the mltree type (on the
458    x86) to include the necessary extensions. (The extensions themselves
459    were already there and redy to go in MLRISC/x86).
460    
461    Everything should be very happy as soon as someone helps me with
462    mlriscGen.sml...
463    
464    In any case, nothing of this should matter to anyone as long as the
465    new primop is not being used (which is going to be the case unless you
466    find it where I hid it :). The rest of the compiler is completely
467    unaffected.
468    
469    ----------------------------------------------------------------------
470    Name: Matthias Blume
471    Date: 2001/01/05 00:30:00 JST
472    Tag: blume-20010105-primops
473    Description:
474    
475    Added some experimental support for work that I am doing right now.
476    These changes mostly concern added primops, but there is also a new
477    experimental C library in the runtime system (but currently not enabled
478    anywhere except on Linux/X86).
479    
480    In the course of adding primops (and playing with them), I discovered that
481    Zhong's INL_PRIM hack (no type info for certain primops) was, in fact, badly
482    broken.  (Zhong was very right he labeled this stuff as "major gross hack".)
483    To recover, I made type information in INL_PRIM mandatory and changed
484    prim.sml as well as built-in.sml accordingly.  The InLine structure now
485    has complete, correct type information (i.e., no bottom types).
486    
487    Since all these changes mean that we need new binfiles, I also bumped the
488    version number to 110.32.1.
489    
490    ----------------------------------------------------------------------
491    Name: Matthias Blume
492    Date: 2000/12/30 22:10:00 JST
493    Tag: blume-20001230-various
494    Description:
495    
496    Added proxy libraries for MLRISC and let MLRISC libraries refer
497    to each other using path anchors.  (See CM manual for explanation.)
498    
499    Updated CM documentation.
500    
501    Fixed some bugs in CM.
502    
503    Implemented "proxy" libraries (= syntactic sugar for CM).
504    
505    Added "-quiet" option to makeml and changed runtime system accordingly.
506    
507    Added cleanup handler for exportML to reset timers and compiler stats.
508    
509    ----------------------------------------------------------------------
510    Name: Lal George
511    Date: 2000/12/22 22:22:58 EST 2000
512    Tag: Release_110_32
513    Description:
514    
515            Infinite precision used throughout MLRISC.
516            see MLRISC/mltree/machine-int.sig
517    
518    ----------------------------------------------------------------------
519    Name: Matthias Blume
520    Date: 2000/12/22 23:16:00 JST
521    Tag: blume-20001222-warn
522    Description:
523    
524    Corrected wording and formatting of some CM warning message which I
525    broke in my previous patch.
526    
527    ----------------------------------------------------------------------
528    Name: Matthias Blume
529    Date: 2000/12/22 21:20:00 JST
530    Tag: blume-20001222-anchorenv
531    Description:
532    
533    Fixed CM's handling of anchor environments in connection with CMB.make.
534    
535    ----------------------------------------------------------------------
536    Name: Matthias Blume
537    Date: 2000/12/22 13:15:00 JST
538    Tag: blume-20001222-cleanup
539    Description:
540    
541    Removed src/cm/ffi which does not (and did not) belong here.
542    
543    ----------------------------------------------------------------------
544    Name: Matthias Blume
545    Date: 2000/12/21 23:55:00 JST
546    Tag: blume-20001221-exn
547    Description:
548    
549    Probably most important: CM no longer silently swallows all exceptions
550    in the compiler.
551    Plus: some other minor CM changes.  For example, CM now reports some
552    sizes for generated binfiles (code, data, envpickle, lambdapickle).
553    
554    ----------------------------------------------------------------------
555    Name: Matthias Blume
556    Date: 2000/12/15 00:01:05 JST
557    Tag: blume-20001215-dirtool
558    Description:
559    
560    - "dir" tool added.
561    - improvements and cleanup to Tools structure
562    - documentation updates
563    
564    ----------------------------------------------------------------------
565    Name: Allen Leung
566    Date: Thu Dec 14 03:45:24 EST 2000
567    Description:
568    Tag:  leunga-20001214-int-inf
569    Description:
570    
571       In IntInf, added these standard functions, which are missing from our
572    implementation:
573    
574        andb : int * int -> int
575        xorb : int * int -> int
576        orb  : int * int -> int
577        notb : int -> int
578         <<   : int * word -> int
579        ~>>  : int * word -> int
580    
581       Not tested, I hope they are correct.
582    
583    ----------------------------------------------------------------------
584    Name: Allen Leung
585    Date: Fri Dec  8 19:23:26 EST 2000
586    Description:
587    Tag:  leunga-20001208-nowhere
588    Description:
589    
590      Slight improvements to the 'nowhere' tool to handle OR-patterns,
591    to generate better error messages etc.  Plus a brief manual.
592    
593    ----------------------------------------------------------------------
594    Name: Lal George
595    Date: 2000/12/08 09:54:02 EST 2000
596    Tag: Release_110_31
597    Description:
598    
599    - Version 110.31
600    ----------------------------------------------------------------------
601    Name: Allen Leung
602    Date: Thu Dec  7 22:01:04 EST 2000
603    Tag:  leunga-20001207-cell-monster-hack
604    Description:
605    
606    Major MLRISC internal changes.  Affect all clients.
607    Summary:
608    
609    1.  Type CELLS.cell = int is now replaced by a datatype.
610        As a result, the old regmap is now gone.  Almost all interfaces
611        in MLRISC change as a consequence.
612    
613    2.  A new brand version of machine description tool (v3.0) that generates
614        modules expecting the new interface.  The old version is removed.
615    
616    3.  The RA interface has been further abstracted into two new functors.
617        RISC_RA and X86RA.  These functors have much simpler interfaces.
618        [See also directory MLRISC/demo.]
619    
620    4.  Some other new source->source code generation tools are available:
621    
622        a. MLRISC/Tools/RewriteGen -- generate rewriters from rules.
623        b. MLRISC/Tools/WhereGen -- expands conditional pattern matching rules.
624           I use this tool to generate the peephole optimizers---with the new
625           cell type changes, peephole rules are becoming difficult to write
626           without conditional pattern matching.
627    
628    5.  More Intmap -> IntHashTable change.  Previous changes by Matthias didn't
629        cover the entire MLRISC source tree so many things broke.
630    
631    6.  CM files have been moved to the subdirectory MLRISC/cm.
632        They are moved because there are a lot of them and they clutter up the
633        root dir.
634    
635    7.  More detailed documentation to come...
636    
637        NOTE: To rebuild from 110.30 (ftp distribution), you'll have to do
638        a makeml -rebuild first.  This is because of other other
639        changes that Matthias has made (see below).
640    
641    
642    ----------------------------------------------------------------------
643    Name: Matthias Blume
644    Date: 2000/11/30 23:12:00 JST
645    Tag: blume-20001130-filereorg
646    Description:
647    
648    Some manual updates and some file reorganizations in CM.
649    
650    ----------------------------------------------------------------------
651    Name: Matthias Blume
652    Date: 2000/11/24 17:45:00 JST
653    Tag: blume-20001124-link
654    Description:
655    
656    Drastically improved link traversal code for the case that the dynamic
657    value was already loaded at bootstrap time.  As a result, CM and CMB
658    now both load blazingly fast -- even on a very slow machine.  Also,
659    memory consumption has been further reduced by this.
660    
661    Warning: The format of the PIDMAP file has changed.  THerefore, to
662    bootstrap you have to do this:
663    
664    1. Run CMB.make
665    2. Make a symbolic link for the boot directory:
666         ln -s sml.boot.ARCH-OS xxx
667    3. "Rebuild" the boot directory:
668         ./makeml -boot xxx -rebuild sml ; rm xxx
669    4. Boot normally:
670          ./makeml
671    
672    ----------------------------------------------------------------------
673    Name: Matthias Blume
674    Date: 2000/11/21 21:20:00 JST
675    Tag: blume-20001121-tools
676    Description:
677    
678    Continued hacking on autoloading problem -- with success this time.
679    Also changed tool-plugin mechanism.  See new CM manual.
680    
681    ----------------------------------------------------------------------
682    Name: Matthias Blume
683    Date: 2000/11/19 14:30:00 JST
684    Tag:  blume-20001119-autoload
685    Description:
686    
687    Some hacking to make autoloading faster.  Success for CMB, no success
688    so far for CM.  There is a reduced structure CM' that autoloads faster.
689    (This is a temporary, non-documented hack to be eliminated again when
690    the general problem is solved.)
691    
692    ----------------------------------------------------------------------
693    Name: Matthias Blume
694    Date: 2000/11/17 14:10:00 JST
695    Tag: blume-20001117-pickle-lib
696    Description:
697    
698    1. Eliminated comp-lib.cm
699    2. Made pickle-lib.cm
700    3. Eliminated all uses of intset.sml (from comp-lib.cm)
701    4. Replaced all uses of intmap.{sig,sml} (from comp-lib.cm) with
702       equivalent constructs from smlnj-lib.cm (INtHashTable).
703    5. Point 4. also goes for those uses of intmap.* in MLRISC.
704       Duplicated intmap modules thrown out.
705    6. Hunted down all duplicated SCC code and replaced it with
706       equivalent stuff (GraphSCCFn from smlnj-lib.cm).
707    7. Rewrote Feedback module.
708    8. Moved sortedlist.sml into viscomp-lib.cm.  Eventually it
709       should be thrown out and equivalent modules from smlnj-lib.cm
710       should be used (IntRedBlackSet, IntListSet, ...).
711    
712    Confirmed that compiler compiles to fixpoint.
713    
714    ----------------------------------------------------------------------
715    Name: Allen Leung
716    Date: 2000/11/10 18:00:00
717    Tag: leunga-20001110-new-x86-fp
718    
719    A new x86 floating point code generator has been added.
720    By default this is turned off.  To turn this on, do:
721    
722        CM.autoload "$smlnj/compiler.cm";
723        Compiler.Control.MLRISC.getFlag "x86-fast-fp" := true;
724    
725    Changes:
726    
727    1.  Changed FTAN to FPTAN so that the assembly output is correct.
728    2.  Changed the extension callback for FTANGENT to generate:
729    
730              fptan
731              fstp  %st(0)
732        instead of
733              fptan
734              fstpl ftempmem
735    
736    3.  Numerous assembly fixes for x86.
737    
738    5.  Cleaned up the machine code output module x86/x86MC.sml and added
739        support for a whole bunch of instructions and addressing modes:
740    
741          fadd/fsub/fsubr/fmul/fdiv/fdivr  %st, %st(n)
742          faddp/fsubp/fsubrp/fmulp/fdivp/fdivrp  %st, %st(n)
743          fadd/fsub/fsubr/fmul/fdiv/fdivr  %st(n), %st
744          fiadd/fisub/fisubr/fimul/fidiv/fidivr mem
745          fxch %st(n)
746          fld %st(n)
747          fst %st(n)
748          fst mem
749          fstp %st(n)
750          fucom %st(n)
751          fucomp %st(n)
752    
753        All these are now generated when the fast fp mode is turned on.
754    
755    6.  Removed the dedicated registers %st(0), ..., %st(7) from X86CpsRegs
756    
757    ----------------------------------------------------------------------
758    Name: Matthias Blume
759    Date: 2000/11/09 11:20:00 JST
760    Tag: blume-20001109-scc
761    Description:
762    
763    Eliminated some code duplication:
764    
765    1. Added "where" clause to GraphSCCFn in SML/NJ Library.
766       (Otherwise the functor is useless.)
767    2. Used GraphSCCFn where SCCUtilFun was used previously.
768    3. Got rid of SCCUtilFun (in comp-lib.cm).
769    
770    ----------------------------------------------------------------------
771    Name: Lal George
772    Date: 2000/11/06 09:02:21 EST 2000
773    Tag: Release_110_30
774    Description:
775    
776    - Version 110.30
777    ----------------------------------------------------------------------
778    Name: Matthias Blume
779    Date: 2000/11/04 14:45:00
780    Tag: blume-20001104-mlbuild
781    Description:
782    
783    - Made ml-build faster on startup.
784    - Documentation fixes.
785    
786    ----------------------------------------------------------------------
787    Name: Matthias Blume
788    Date: 2000/11/02 17:00:00 JST
789    Tag: blume-20001102-condcomp
790    Description:
791    
792    - Small tweaks to pickler -- new BOOTFILES!
793    - Version bumped to 110.29.2.
794    - Added conditional compilation facility to init.cmi (see comment there).
795    ----------------------------------------------------------------------
796    Name: Allen Leung
797    Date: 2000/10/23 19:31:00
798    Tag: leunga-20001023-demo-ra
799    
800    1. Minor RA changes that improves spilling on x86 (affects Moby and C-- only)
801    2. Test programs for the graph library updated
802    3. Some new MLRISC demo programs added
803    
804    ----------------------------------------------------------------------
805    Name: Matthias Blume
806    Date: 2000/08/31 22:15:00 JST
807    Tag: blume-20001017-errmsg
808    Description:
809    
810    More error message grief: Where there used to be no messages, there
811    now were some that had bogus error regions.  Fixed.
812    
813    ----------------------------------------------------------------------
814    Name: Matthias Blume
815    Date: 2000/08/31 17:30:00 JST
816    Tag: blume-20001017-v110p29p1
817    Description:
818    
819    I made a version 110.29.1 with new bootfiles.
820    
821    Changes:  Modified pickler/unpickler for faster and leaner unpickling.
822              CM documentation changes and a small bugfix in CM's error reporting.
823    
824    ----------------------------------------------------------------------
825    Name: Lal George
826    Date: 2000/09/27 14:42:35 EDT
827    Tag: george-20000927-nodestatus
828    Description:
829    
830    Changed the type of the nodestatus, so that:
831    
832            SPILLED(~1)             is now SPILLED
833            SPILLED(m) where m>=0   is now MEMREG(m)
834            SPILLED(s) where s<~1   is now SPILL_LOC(~s)
835    
836    ----------------------------------------------------------------------
837    Name: Matthias Blume
838    Date: 2000/09/07 14:45:00 JST
839    Tag: blume-20000907-cmerrmsg
840    Description:
841    
842    Small tweak to CM to avoid getting ML syntax error messages twice.
843    
844    ----------------------------------------------------------------------
845    Name: Matthias Blume
846    Date: 2000/08/31 18:00:00 JST
847    Tag: blume-20000831-cvsbootfiles
848    Description:
849    
850    New URL for boot files (because the 110.29 files on the BL server do
851    now work correctly with my updated install scripts for yacc and lex).
852    
853    ----------------------------------------------------------------------
854    Name: Matthias Blume
855    Date: 2000/08/08 12:33:00 JST
856    Tag: blume-20000808-manual
857    Description:
858    
859    Tiny update to CM manual.
860    
861  ----------------------------------------------------------------------  ----------------------------------------------------------------------
862  Name: Allen Leung  Name: Allen Leung
863  Date: 2000/08/7 19:31:00  Date: 2000/08/7 19:31:00

Legend:
Removed from v.695  
changed lines
  Added in v.837

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