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

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

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