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 733, Fri Nov 17 05:13:45 2000 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: 2000/11/17 14:10:00 JST
18    Tag: blume-20001117-pickle-lib
19    Description:
20    
21    1. Eliminated comp-lib.cm
22    2. Made pickle-lib.cm
23    3. Eliminated all uses of intset.sml (from comp-lib.cm)
24    4. Replaced all uses of intmap.{sig,sml} (from comp-lib.cm) with
25       equivalent constructs from smlnj-lib.cm (INtHashTable).
26    5. Point 4. also goes for those uses of intmap.* in MLRISC.
27       Duplicated intmap modules thrown out.
28    6. Hunted down all duplicated SCC code and replaced it with
29       equivalent stuff (GraphSCCFn from smlnj-lib.cm).
30    7. Rewrote Feedback module.
31    8. Moved sortedlist.sml into viscomp-lib.cm.  Eventually it
32       should be thrown out and equivalent modules from smlnj-lib.cm
33       should be used (IntRedBlackSet, IntListSet, ...).
34    
35    Confirmed that compiler compiles to fixpoint.
36    
37    ----------------------------------------------------------------------
38    Name: Allen Leung
39    Date: 2000/11/10 18:00:00
40    Tag: leunga-20001110-new-x86-fp
41    
42    A new x86 floating point code generator has been added.
43    By default this is turned off.  To turn this on, do:
44    
45        CM.autoload "$smlnj/compiler.cm";
46        Compiler.Control.MLRISC.getFlag "x86-fast-fp" := true;
47    
48    Changes:
49    
50    1.  Changed FTAN to FPTAN so that the assembly output is correct.
51    2.  Changed the extension callback for FTANGENT to generate:
52    
53              fptan
54              fstp  %st(0)
55        instead of
56              fptan
57              fstpl ftempmem
58    
59    3.  Numerous assembly fixes for x86.
60    
61    5.  Cleaned up the machine code output module x86/x86MC.sml and added
62        support for a whole bunch of instructions and addressing modes:
63    
64          fadd/fsub/fsubr/fmul/fdiv/fdivr  %st, %st(n)
65          faddp/fsubp/fsubrp/fmulp/fdivp/fdivrp  %st, %st(n)
66          fadd/fsub/fsubr/fmul/fdiv/fdivr  %st(n), %st
67          fiadd/fisub/fisubr/fimul/fidiv/fidivr mem
68          fxch %st(n)
69          fld %st(n)
70          fst %st(n)
71          fst mem
72          fstp %st(n)
73          fucom %st(n)
74          fucomp %st(n)
75    
76        All these are now generated when the fast fp mode is turned on.
77    
78    6.  Removed the dedicated registers %st(0), ..., %st(7) from X86CpsRegs
79    
80    ----------------------------------------------------------------------
81    Name: Matthias Blume
82    Date: 2000/11/09 11:20:00 JST
83    Tag: blume-20001109-scc
84    Description:
85    
86    Eliminated some code duplication:
87    
88    1. Added "where" clause to GraphSCCFn in SML/NJ Library.
89       (Otherwise the functor is useless.)
90    2. Used GraphSCCFn where SCCUtilFun was used previously.
91    3. Got rid of SCCUtilFun (in comp-lib.cm).
92    
93    ----------------------------------------------------------------------
94    Name: Lal George
95    Date: 2000/11/06 09:02:21 EST 2000
96    Tag: Release_110_30
97    Description:
98    
99    - Version 110.30
100    ----------------------------------------------------------------------
101    Name: Matthias Blume
102    Date: 2000/11/04 14:45:00
103    Tag: blume-20001104-mlbuild
104    Description:
105    
106    - Made ml-build faster on startup.
107    - Documentation fixes.
108    
109    ----------------------------------------------------------------------
110    Name: Matthias Blume
111    Date: 2000/11/02 17:00:00 JST
112    Tag: blume-20001102-condcomp
113    Description:
114    
115    - Small tweaks to pickler -- new BOOTFILES!
116    - Version bumped to 110.29.2.
117    - Added conditional compilation facility to init.cmi (see comment there).
118    ----------------------------------------------------------------------
119    Name: Allen Leung
120    Date: 2000/10/23 19:31:00
121    Tag: leunga-20001023-demo-ra
122    
123    1. Minor RA changes that improves spilling on x86 (affects Moby and C-- only)
124    2. Test programs for the graph library updated
125    3. Some new MLRISC demo programs added
126    
127    ----------------------------------------------------------------------
128    Name: Matthias Blume
129    Date: 2000/08/31 22:15:00 JST
130    Tag: blume-20001017-errmsg
131    Description:
132    
133    More error message grief: Where there used to be no messages, there
134    now were some that had bogus error regions.  Fixed.
135    
136    ----------------------------------------------------------------------
137    Name: Matthias Blume
138    Date: 2000/08/31 17:30:00 JST
139    Tag: blume-20001017-v110p29p1
140    Description:
141    
142    I made a version 110.29.1 with new bootfiles.
143    
144    Changes:  Modified pickler/unpickler for faster and leaner unpickling.
145              CM documentation changes and a small bugfix in CM's error reporting.
146    
147    ----------------------------------------------------------------------
148    Name: Lal George
149    Date: 2000/09/27 14:42:35 EDT
150    Tag: george-20000927-nodestatus
151    Description:
152    
153    Changed the type of the nodestatus, so that:
154    
155            SPILLED(~1)             is now SPILLED
156            SPILLED(m) where m>=0   is now MEMREG(m)
157            SPILLED(s) where s<~1   is now SPILL_LOC(~s)
158    
159    ----------------------------------------------------------------------
160    Name: Matthias Blume
161    Date: 2000/09/07 14:45:00 JST
162    Tag: blume-20000907-cmerrmsg
163    Description:
164    
165    Small tweak to CM to avoid getting ML syntax error messages twice.
166    
167    ----------------------------------------------------------------------
168    Name: Matthias Blume
169    Date: 2000/08/31 18:00:00 JST
170    Tag: blume-20000831-cvsbootfiles
171    Description:
172    
173    New URL for boot files (because the 110.29 files on the BL server do
174    now work correctly with my updated install scripts for yacc and lex).
175    
176    ----------------------------------------------------------------------
177    Name: Matthias Blume
178    Date: 2000/08/08 12:33:00 JST
179    Tag: blume-20000808-manual
180    Description:
181    
182    Tiny update to CM manual.
183    
184    ----------------------------------------------------------------------
185    Name: Allen Leung
186    Date: 2000/08/7 19:31:00
187    Tag: leunga-20000807-a-whole-bunch-of-stuff
188    
189      Moby, C--, SSA, x86, machine descriptions etc.  Should only affect C--
190    and Mobdy.
191    
192    1.  x86
193    
194       a.  Fixes to peephole module by John and Dan.
195       b.  Assembly fix to SETcc by Allen.
196       c.  Fix to c-call by John.
197       d.  Fix to spilling by John.  (This one deals with the missing FSTPT case)
198       e.  Instruction selection optimization to SETcc as suggested by John.
199    
200           For example,
201    
202            MV(32, x, COND(32, CMP(32, LT, a, b), LI 1, LI 0))
203    
204           should generate:
205    
206            MOVL a, x
207            SUBL b, x
208            SHRL 31, x
209    
210    2.  IR stuff
211    
212         A bunch of new DJ-graph related algorithms added.  These
213         speed up SSA construction.
214    
215    3.  SSA + Scheduling
216    
217         Added code for SSA and scheduling to the repository
218    
219    ----------------------------------------------------------------------
220    Name: Lal George
221    Date: 2000/07/27 11:53:14 EDT
222    
223    Tag: lal-20000727-linux-ppc
224    Description:
225    
226     Made changes to support Linux PPC.
227     p.s. I have confirmation that the 110.29 boot files work fine.
228    
229    ----------------------------------------------------------------------
230    Name: Matthias Blume
231    Date: 2000/07/27 17:40:00 JST
232    Tag: blume-20000727-scripts
233    Description:
234    
235    !!!! WARNING !!!!
236    You must recompile the runtime system!
237    !!!! WARNING !!!!
238    
239    This is basically another round of script-enhancements:
240    
241    1. sml, ml-build, and ml-makedepend accept options -D and -U to define
242       and undefine CM preprocessor symbols.
243    
244    2. ml-build avoids generating a new heap image if it finds that the
245       existing one is still ok.  (The condition is that no ML file had to
246       be recompiled and all ML files are found to be older that the heap
247       file.)
248    
249       To make this work smoothly, I also hacked the runtime system as
250       well as SMLofNJ.SysInfo to get access to the heap image suffix
251       (.sparc-solaris, ...) that is currently being used.
252    
253       Moreover, the signature of CM.mk_standalone has changed.  See the
254       CM manual.
255    
256    3. ml-makedepend accepts additional options -n, -a, and -o.  (See the
257       CM manual for details.)
258    
259    4. More CM manual updates:
260        - all of the above has been documented.
261        - there is now a section describing the (CM-related) command line
262          arguments that are accepted by the "sml" command
263    
264    ----------------------------------------------------------------------
265    Name: Matthias Blume
266    Date: 2000/07/25 16:20:00 JST
267    Tag: blume-20000725-makedepend
268    Description:
269    
270    Added a script called ml-makedepend.  This can be used in makefiles
271    for Unix' make in a way very similar to the "makedepend" command for
272    C.
273    
274    The script internally uses function CM.sources.
275    
276    Synopsis:
277    
278        ml-makedepend [-f makefile] cmfile targetname
279    
280    The default for the makefile is "makefile" (or "Makefile" should
281    "makefile" not exist).
282    
283    ml-makedepend adds a cmfile/targetname-specific section to this
284    makefile (after removing the previous version of this section).  The
285    section contains a single dependency specification with targetname on
286    the LHS (targetname is an arbitrary name), and a list of files derived
287    from the cmfile on the RHS.  Some of the files on the RHS are
288    ARCH/OPSYS-specific.  Therefore, ml-makedepend inserts references to
289    "make" variables $(ARCH) and $(OPSYS) in place of the corresponding
290    path names.  The makefile writer is responsible for making sure that
291    these variables have correct at the time "make" is invoked.
292    
293    ----------------------------------------------------------------------
294    Name: Matthias Blume
295    Date: 2000/07/22 23:30:00 JST
296    Tag: blume-20000722-urlupdate
297    Description:
298    
299    Changed BOOT and config/srcarchiveurl to point to BL server:
300    
301        ftp://ftp.research.bell-labs.com/dist/smlnj/working/110.29/
302    
303    ----------------------------------------------------------------------
304    Name: Matthias Blume
305    Date: 2000/07/18 18:00:00 JST
306    Tag: blume-20000718-Version_110_29
307    Description:
308    
309    1. Updated src/compiler/TopLevel/main/version.sml to version 110.29
310    
311    2. Updated config/version to 110.29
312    
313    3. Updated config/srcarchiveurl
314    
315    3. New boot files!
316       ftp://ftp.cs.princeton.edu/pub/people/blume/sml/110.29-autofetch
317    
318    ----------------------------------------------------------------------
319    Name: Matthias Blume
320    Date: 2000/07/11 13:58:00 JST
321    Tag: blume-20000711-doctypo
322    Description:
323    
324    Fixed a few typos in CM manual.
325    
326    ----------------------------------------------------------------------
327    Name: Allen Leung
328    Date: 2000/06/15 00:38:00
329    Tag: leunga-20000704-sparc-x86
330    
331    1. x86 peephole improvement sp += k; sp -= k => nop  [from John]
332    2. fix to x86 RET bug [found by Dan Grossman]
333    3. sparc assembly bug fix for ticc instructions [found by Fermin]
334    
335       Affects c-- and moby only
336    
337    ----------------------------------------------------------------------
338    Name: Matthias Blume
339    Date: 2000/07/04 15:26:00
340    Tag: blume-20000704-trigger
341    Description:
342    
343    1. Improvements to CM manual.
344    2. SMLofNJ.Internals.BTrace.trigger reinstated as an alternative way
345       of getting a back-trace.  The function, when called, raises an
346       internal exception which explicitly carries the full back-trace history,
347       so it is unaffected by any intervening handle-raise pairs ("trivial"
348       or not).  The interactive loop will print that history once it arrives
349       at top level.
350       Short of having all exceptions implicitly carry the full history, the
351       recommended way of using this facility is:
352         - compile your program with instrumentation "on"
353         - run it, when it raises an exception, look at the history
354         - if the history is "cut off" because of some handler, go and modify
355           your program so that it explicitly calls BTrace.trigger
356         - recompile (still instrumented), and rerun; look at the full history
357    
358    ----------------------------------------------------------------------
359    Name: Matthias Blume
360    Date: 2000/07/03 15:36:00 JST
361    Tag: blume-20000702-manual
362    Description:
363    
364    Small corrections and updates to CM manual.
365    
366    ----------------------------------------------------------------------
367    Name: Matthias Blume
368    Date: 2000/06/29 16:04:00 JST
369    Tag: blume-20000629-yacctool
370    Description:
371    
372    Changes:
373    
374    1. Class "mlyacc" now takes separate arguments to pass options to
375       generated .sml- and .sig-files independently.
376    2. Corresponding CM manual updates.
377    3. BTrace module now also reports call sites.  (However, for loop clusters
378       it only shows from where the cluster was entered.)  There are associated
379       modifications to core.sml, internals.{sig,sml}, btrace.sml, and btimp.sml.
380    
381    ----------------------------------------------------------------------
382    Name: Matthias Blume
383    Date: 2000/06/27 16:51:00 JST
384    Tag: blume-20000627-noweb
385    Description:
386    
387    Changes:
388    
389     1. Implemented "subdir" and "witness" options for noweb tool.
390        This caused some slight internal changes in CM's tool implementation.
391     2. Fixed bug in "tool plugin" mechanism.  This is essentially cleaning
392        some remaining issues from earlier path anchor changes.
393     3. Updated CM manual accordingly.
394    
395     4. Changed implementation of back-tracing so that I now consider it
396        ready for prime-time.
397    
398        In particular, you don't have to explicitly trigger the back-trace
399        anymore.  Instead, if you are running BTrace-instrumented code and
400        there is an uncaught exception (regardless of whether or not it was
401        raised in instrumented code), the top-level evalloop will print
402        the back-trace.
403    
404        Features:
405    
406          - Instrumented and uninstrumented code work together seemlessly.
407            (Of course, uninstrumented code is never mentioned in actual
408             back-traces.)
409    
410          - Asymptotic time- and space-complexity of instrumented code is
411            equal to that of uninstrumented code.  (This means that
412            tail-recursion is preserved by the instrumentation phase.)
413    
414          - Modules whose code has been instrumented in different sessions
415            work together without problem.
416    
417          - There is no penalty whatsoever on uninstrumented code.
418    
419          - There is no penalty on "raise" expressions, even in
420            instrumented code.
421    
422        A potential bug (or perhaps it is a feature, too):
423    
424          A back-trace reaches no further than the outermost instrumented
425          non-trivial "raise".  Here, a "trivial" raise is one that is the
426          sole RHS of a "handle" rule.  Thus, back-traces reach trough
427    
428               <exp> handle e => raise e
429    
430          and even
431    
432               <exp> handle Foo => raise Bar
433    
434          and, of course, through
435    
436               <exp> handle Foo => ...
437    
438         if the exception was not Foo.
439    
440         Back-traces always reach right through any un-instrumented code
441         including any of its "handle" expressions, trivial or not.
442    
443       To try this out, do the following:
444    
445         - Erase all existing binfiles for your program.
446           (You may keep binfiles for those modules where you think you
447            definitely don't need back-tracing.)
448         - Turn on back-trace instrumentation:
449              SMLofNJ.Internals.BTrace.mode (SOME true);
450         - Recompile your program.  (I.e., run "CM.make" or "use".)
451         - You may now turn instrumentation off again (if you want):
452              SMLofNJ.Internals.BTrace.mode (SOME false);
453         - Run your program as usual.  If it raises an exception that
454           reaches the interactive toplevel, then a back-trace will
455           automatically be printed.  After that, the toplevel loop
456           will print the exception history as usual.
457    
458    ----------------------------------------------------------------------
459    Name: Matthias Blume
460    Date: 2000/06/26 09:56:46 JST
461    Tag: blume-20000626-setup
462    Description:
463    
464    CM: - setup-parameter to "sml" added; this can be used to run arbitrary
465          ML code before and after compiling a file (e.g., to set compiler
466          flags)
467    
468    Compiler: - improved btrace API (in core.sml, internals.{sig,sml})
469              - associated changes to btrace.sml (BTrace instrumentation pass)
470              - cleaner implementation of btimp.sml (BTrace tracing and report
471                module)
472    
473    CM manual: * new path encoding documented
474               * description of setup-parameter to "sml" added
475    
476    The biggest user-visible change to back-tracing is that it is no
477    longer necessary to compile all traced modules within the same
478    session.  (This was a real limitation.)
479    
480    ----------------------------------------------------------------------
481    Name: Matthias Blume
482    Date: 2000/06/24 12:40:00 JST
483    Tag: blume-20000624-startup
484    Description:
485    
486    Fixes startup slowdown problem.  (I was calling SrcPath.sync a _tad_
487    bit too often -- to put it mildly. :)
488    
489  ----------------------------------------------------------------------  ----------------------------------------------------------------------
490  Name: Matthias Blume  Name: Matthias Blume
491  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.733

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