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

Legend:
Removed from v.675  
changed lines
  Added in v.806

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