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

Legend:
Removed from v.686  
changed lines
  Added in v.818

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