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 572, Thu Mar 9 02:43:06 2000 UTC revision 595, Wed Apr 5 03:30:17 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    Name: Matthias Blume
16    Date: 2000/04/05 12:30:00 JST
17    Tag: blume_main_v110p26p2_3
18    Description:
19    
20    This update just merges three minor cosmetic updates to CM's sources
21    to get ready for the 110.27 code freeze on Friday.  No functionality
22    has changed.
23    
24    ----------------------------------------------------------------------
25    Name: Allen Leung
26    Date: 2000/04/04 19:39:00 EST
27    Tag: leunga-20000404-x86-asm
28    Description:
29    
30    1.  Fixed a problem in X86 assembly.
31    
32        Things like
33    
34           jmp %eax
35           jmp (%eax)
36    
37        should be output as
38    
39           jmp *%eax
40           jmp *(%eax)
41    
42    2.  Assembly output
43    
44          Added a new flag
45    
46              "asm-indent-copies" (default to false)
47    
48          When this flag is on, parallel copies will be indented an extra level.
49    
50    ----------------------------------------------------------------------
51    Name: Allen Leung
52    Date: 2000/04/04 03:18:00 EST
53    Tag: leunga-20000404-C--Moby
54    Description:
55    
56        All of these fixes are related to C--, Moby, and my own optimization
57        stuff; so they shouldn't affect SML/NJ.
58    
59    1.  X86
60    
61        Various fixes related floating point, and extensions.
62    
63    2.  Alpha
64    
65        Some extra patterns related to loads with signed/zero extension
66        provided by Fermin.
67    
68    3.  Assembly
69    
70        When generating assemby, resolve the value of client defined constants,
71        instead of generating symbolic values.  This is controlled by the
72        new flag "asm-resolve-constants", which is default to true.
73    
74    4.  Machine Descriptions
75    
76        a. The precedence parser was slightly broken when parsing infixr symbols.
77        b. The type generalizing code had the bound variables reversed, resulting
78           in a problem during arity raising.
79        c. Various fixes in machine descriptions.
80    
81    ----------------------------------------------------------------------
82    Name: Matthias Blume
83    Date: 2000/04/03 16:05:00 JST
84    Tag: blume_main_v110p26p2_2
85    Description:
86    
87    I eliminated coreEnv from compInfo.  Access to the "Core" structure is
88    now done via the ordinary static environment that is context to each
89    compilation unit.
90    
91    To this end, I arranged that instead of "structure Core" as "structure
92    _Core" is bound in the pervasive environment.  Core access is done via
93    _Core (which can never be accidentially rebound because _Core is not a
94    legal surface-syntax symbol).
95    
96    The current solution is much cleaner because the core environment is
97    now simply part of the pervasive environment which is part of every
98    compilation unit's context anyway.  In particular, this eliminates all
99    special-case handling that was necessary until now in order to deal
100    with dynamic and symbolic parts of the core environment.
101    
102    Remaining hackery (to bind the "magic" symbol _Core) is localized in the
103    compilation mananger's bootstrap compiler (actually: in the "init group"
104    handling).  See the comments in src/system/smlnj/init/init.cmi for
105    more details.
106    
107    I also tried to track down all mentions of "Core" (as string argument
108    to Symbol.strSymbol) in the compiler and replaced them with a
109    reference to the new CoreSym.coreSym.  Seems cleaner since the actual
110    name appears in one place only.
111    
112    Binfile and bootfile format have not changed, but the switchover from
113    the old "init.cmi" to the new one is a bit tricky, so I supplied new
114    bootfiles anyway.
115    
116    ----------------------------------------------------------------------
117    Name: Allen Leung
118    Date: 2000/04/02 21:17:00 EST
119    Tag: leunga-20000402-mltree
120    Description:
121    
122       1. Renamed the constructor CALL in MLTREE by popular demand.
123       2. Added a bunch of files from my repository.  These are currently
124          used by other non-SMLNJ backends.
125    
126    ----------------------------------------------------------------------
127    Name: Allen Leung
128    Date: 2000/03/31 21:15:00 EST
129    Tag: leunga-20000331-aliasing
130    Description:
131    
132    This update contains a rewritten (and hopefully more correct) module
133    for extracting aliasing information from CPS.
134    
135       To turn on this feature:
136    
137            Compiler.Control.CG.memDisambiguate := true
138    
139       To pretty print the region information with assembly
140    
141           Compiler.Control.MLRISC.getFlag "asm-show-region" := true;
142    
143       To control how many levels of aliasing information are printed, use:
144    
145           Compiler.Control.MLRISC.getInt "points-to-show-level" := n
146    
147       The default of n is 3.
148    
149    ----------------------------------------------------------------------
150    Name: David MacQueen
151    Date: 2000/03/31 11:15:00 EST
152    Tag: dbm-20000331-runtime_fix
153    Description:
154    
155    This update contains:
156    
157    1. runtime/c-lib/c-libraries.c
158       includes added in revision 1.2 caused compilation errors on hppa-hpux
159    
160    2. fix for bug 1556
161       system/Basis/Implementation/NJ/internal-signals.sml
162    
163    ----------------------------------------------------------------------
164    Name: Matthias Blume
165    Date: 2000/03/31 18:00:00 JST
166    Tag: blume_main_v110p26p2_1
167    Description:
168    
169    This update contains:
170    
171    1. A small change to CM's handling of stable libraries:
172       CM now maintains one "global" modmap that is used for all stable
173       libraries.  The use of such a global modmap maximizes sharing and
174       minimizes the need for re-traversing parts of environments during
175       modmap construction.  (However, this has minor impact since modmap
176       construction seems to account for just one percent or less of total
177       compile time.)
178    
179    2. I added a "genmap" phase to the statistics.  This is where I got the
180       "one percent" number (see above).
181    
182    3. CM's new tool parameter mechanism just became _even_ better. :)
183       - The parser understands named parameters and recursive options.
184       - The "make" and "shell" tools use these new features.
185         (This makes it a lot easier to cascade these tools.)
186       - There is a small syntax change: named parameters use a
187    
188           <name> : ( <option> ... )            or
189           <name> : <string>
190    
191         syntax.  Previously, named parameters were implemented in an
192         ad-hoc fashion by each tool individually (by parsing strings)
193         and had the form
194    
195           <name>=<string>
196    
197       See the CM manual for a full description of these issues.
198    
199    ----------------------------------------------------------------------
200    Name: Matthias Blume
201    Date: 2000/03/30 18:00:00 JST
202    Tag: blume_main_v110p26p2_0
203    Description:
204    
205    !!!!! WARNING !!!!!!
206    !!  New binfiles  !!
207    !!!!!!!!!!!!!!!!!!!!
208    
209    This update contains:
210    
211    1. Moderate changes to CM:
212    
213       - Changes to CM's tools mechanism.  In particular, it is now possible
214       to have tools that accept additional "command line" parameters
215       (specified in the .cm file at each instance where the tool's class is
216       used).
217    
218       This was done to accomodate the new "make" and "shell" tools which
219       facilitate fairly seemless hookup to portions of code managed using
220       Makefiles or Shell scripts.
221    
222       There are no classes "shared" or "private" anymore.  Instead, the
223       sharing annotation is now a parameter to the "sml" class.
224    
225       There is a bit of generic machinery for implementing one's own
226       tools that accept command-line parameters.  However, I am not yet fully
227       satisfied with that part, so expect changes here in the future.
228    
229       All existing tools are described in the CM manual.
230    
231       - Slightly better error handling.  (CM now surpresses many followup
232       error messages that tended to be more annoying than helpful.)
233    
234    2. Major changes to the compiler's static environment data structures.
235    
236       - no CMStaticEnv anymore.
237            - no CMEnv, no "BareEnvironment" (actually, _only_ BareEnvironment,
238              but it is called Environment), no conversions between different
239              kinds of static environments
240    
241       - There is still a notion of a "modmap", but such modmaps are generated
242         on demand at the time when they are needed.  This sounds slow, but I
243         sped up the code that generates modmaps enough for this not to lead to
244         a slowdown of the compiler (at least I didn't detect any).
245    
246       - To facilitate rapid modmap generation, static environments now
247         contain an (optional) "modtree" structure.  Modtree annotations are
248         constructed by the unpickler during unpickling.  (This means that
249         the elaborator does not have to worry about modtrees at all.)
250         Modtrees have the advantage that they are compositional in the same
251         way as the environment data structure itself is compositional.
252         As a result, modtrees never hang on to parts of an environment that
253         has already been rendered "stale" by filtering or rebinding.
254    
255       - I went through many, many trials and errors before arriving at the
256         current solution.  (The initial idea of "linkpaths" did not work.)
257         But the result of all this is that I have touched a lot of files that
258         depend on the "modules" and "types" data structures (most of the
259         elaborator). There were a lot of changes during my "linkpath" trials
260         that could have been reverted to their original state but weren't.
261         Please, don't be too harsh on me for messing with this code a bit more
262         than what was strictly necessary...  (I _did_ resist the tempation
263         of doing any "global reformatting" to avoid an untimely death at
264         Dave's hands. :)
265    
266       - One positive aspect of the previous point:  At least I made sure that
267         all files that I touched now compile without warnings (other than
268         "polyEqual").
269    
270       - compiler now tends to run "leaner" (i.e., ties up less memory in
271         redundant modmaps)
272    
273    ----------------------------------------------------------------------
274    Name: Allen Leung
275    Date: 2000/03/29 18:00:00
276    Tag: leunga-20000327-mlriscGen_hppa_alpha_x86
277    Boot files (optional): ftp://react-ilp.cs.nyu.edu/leunga/110.26.1-sml.boot.x86-unix-20000330.tar.gz
278    Description:
279    
280       This update contains *MAJOR* changes to the way code is generated from CPS
281    in the module mlriscGen, and in various backend modules.
282    
283    CHANGES
284    =======
285    
286    1. MLRiscGen: forward propagation fix.
287    
288       There was a bug in forward propagation introduced at about the same time
289       as the MLRISC x86 backend, which prohibits coalescing to be
290       performed effectively in loops.
291    
292       Effect: speed up of loops in RISC architectures.
293               By itself, this actually slowed down certain benchmarks on the x86.
294    
295    2. MLRiscGen:  forward propagating addresses from consing.
296    
297       I've changed the way consing code is generated.  Basically I separated
298       out the initialization part:
299    
300            store tag,   offset(allocptr)
301            store elem1, offset+4(allocptr)
302            store elem2, offset+8(allocptr)
303            ...
304            store elemn, offset+4n(allocptr)
305    
306       and the address computation part:
307    
308            celladdr <- offset+4+alloctpr
309    
310       and move the address computation part
311    
312       Effect:  register pressure is generally lower as a result.  This
313                makes compilation of certain expressions much faster, such as
314                long lists with non-trivial elements.
315    
316                 [(0,0), (0,0), .... (0,0)]
317    
318    3. MLRiscGen: base pointer elimination.
319    
320        As part of the linkage mechanism, we generate the sequence:
321    
322         L:  ...  <- start of the code fragment
323    
324         L1:
325             base pointer <- linkreg - L1 + L
326    
327         The base pointer was then used for computing relocatable addresses
328       in the code fragment.  Frequently (such as in lots of continuations)
329       this is not needed.  We now eliminate this sequence whenever possible.
330    
331         For compile time efficiency, I'm using a very stupid local heuristic.
332       But in general, this should be done as a control flow analysis.
333    
334       Effect:  Smaller code size.  Speed up of most programs.
335    
336    4. Hppa back end
337    
338         Long jumps in span dependence resolution used to depend on the existence
339      of the base pointer.
340    
341         A jump to a long label L was expanded into the following sequence:
342    
343          LDIL %hi(L-8192), %r29
344          LDO  %lo(L-8192)(%r29), %r29
345          ADD  %r29, baseptr, %r29
346          BV,n %r0(%r29)
347    
348         In the presence of change (3) above, this will not work.  I've changed
349       it so that the following sequence of instructions are generated, which
350       doesn't mention the base pointer at all:
351    
352             BL,n  L', %r29           /* branch and link, L' + 4 -> %r29 */
353        L':  ADDIL L-(L'+4), %r29     /* Compute address of L */
354             BV,n  %r0(%r29)          /* Jump */
355    
356    5. Alpha back end
357    
358          New alpha instructions LDB/LDW have been added, as per Fermin's
359       suggestions.   This is unrelated to all other changes.
360    
361    6. X86 back end
362    
363         I've changed andl to testl in the floating point test sequence
364         whenever appropriate.  The Intel optimization guide states that
365         testl is perferable to andl.
366    
367    7. RA (x86 only)
368    
369         I've improved the spill propagation algorithm, using an approximation
370       of maximal weighted independent sets.   This seems to be necessary to
371       alleviate the negative effect in light of the slow down in (1).
372    
373         I'll write down the algorithm one of these days.
374    
375    8. MLRiscGen: frequencies
376    
377         I've added an annotation that states that all call gc blocks have zero
378       execution frequencies.  This improves register allocation on the x86.
379    
380    BENCHMARKS
381    ==========
382    
383       I've only perform the comparison on 110.25.
384    
385       The platforms are:
386    
387        HPPA  A four processor HP machine (E9000) with 5G of memory.
388        X86   A 300Hhz Pentium II with 128M of memory, and
389        SPARC An Ultra sparc 2 with 512M of memory.
390    
391       I used the following parameters for the SML benchmarks:
392    
393                 @SMLalloc
394         HPPA    256k
395         SPARC   512k
396         X86     256k
397    
398    COMPILATION TIME
399    ----------------
400       Here are the numbers comparing the compilation times of the compilers.
401       I've only compared 110.25 compiling the new sources versus
402       a fixpoint version of the new compiler compiling the same.
403    
404                     110.25                                  New
405               Total  Time in RA  Spill+Reload   Total  Time In RA Spill+Reload
406         HPPA   627s    116s        2684+3584     599s    95s       1003+1879
407         SPARC  892s    173s        2891+3870     708s    116s      1004+1880
408         X86    999s    315s       94006+130691   987s    296s    108877+141957
409    
410                   110.25         New
411                Code Size      Code Size
412         HPPA   8596736         8561421
413         SPARC  8974299         8785143
414         X86    9029180         8716783
415    
416       So in summary, things are at least as good as before.   Dramatic
417       reduction in compilation is obtained on the Sparc; I can't explain it,
418       but it is reproducible.  Perhaps someone should try to reproduce this
419       on their own machines.
420    
421    SML BENCHMARKS
422    --------------
423    
424        On the average, all benchmarks perform at least as well as before.
425    
426          HPPA         Compilation Time     Spill+Reload      Run Time
427                     110.25  New            110.25    New   110.25  New
428    
429          barnesHut  3.158  3.015  4.75%    1+1       0+0   2.980  2.922   2.00%
430              boyer  6.152  5.708  7.77%    0+0       0+0   0.218  0.213   2.34%
431       count-graphs  1.168  1.120  4.32%    0+0       0+0  22.705 23.073  -1.60%
432                fft  0.877  0.792 10.74%    1+3       1+3   0.602  0.587   2.56%
433        knuthBendix  3.180  2.857 11.32%    0+0       0+0   0.675  0.662   2.02%
434             lexgen  6.190  5.290 17.01%    0+0       0+0   0.913  0.788  15.86%
435               life  0.803  0.703 14.22%   25+25      0+0   0.153  0.140   9.52%
436              logic  2.048  2.007  2.08%    6+6       1+1   4.133  4.008   3.12%
437         mandelbrot  0.077  0.080 -4.17%    0+0       0+0   0.765  0.712   7.49%
438             mlyacc 22.932 20.937  9.53%  154+181    32+57  0.468  0.430   8.91%
439            nucleic  5.183  5.060  2.44%    2+2       0+0   0.125  0.120   4.17%
440      ratio-regions  3.357  3.142  6.84%    0+0       0+0  116.225 113.173 2.70%
441                ray  1.283  1.290 -0.52%    0+0       0+0   2.887  2.855   1.11%
442             simple  6.307  6.032  4.56%   28+30      5+7   3.705  3.658   1.28%
443                tsp  0.888  0.862  3.09%    0+0       0+0   7.040  6.893   2.13%
444               vliw 24.378 23.455  3.94%  106+127    25+45  2.758  2.707   1.91%
445      --------------------------------------------------------------------------
446       Average                     6.12%                                   4.09%
447    
448          SPARC        Compilation Time     Spill+Reload      Run Time
449                     110.25  New            110.25    New   110.25  New
450    
451          barnesHut  3.778  3.592  5.20%    2+2       0+0   3.648  3.453    5.65%
452              boyer  6.632  6.110  8.54%    0+0       0+0   0.258  0.242    6.90%
453       count-graphs  1.435  1.325  8.30%    0+0       0+0  33.672 34.737   -3.07%
454                fft  0.980  0.940  4.26%    3+9       2+6   0.838  0.827    1.41%
455        knuthBendix  3.590  3.138 14.39%    0+0       0+0   0.962  0.967   -0.52%
456             lexgen  6.593  6.072  8.59%    1+1       0+0   1.077  1.078   -0.15%
457               life  0.972  0.868 11.90%   26+26      0+0   0.143  0.140    2.38%
458              logic  2.525  2.387  5.80%    7+7       1+1   5.625  5.158    9.05%
459         mandelbrot  0.090  0.093 -3.57%    0+0       0+0   0.855  0.728   17.39%
460             mlyacc 26.732 23.827 12.19%  162+189    32+57  0.550  0.560   -1.79%
461            nucleic  6.233  6.197  0.59%    3+3       0+0   0.163  0.173   -5.77%
462      ratio-regions  3.780  3.507  7.79%    0+0       0+0 133.993 131.035   2.26%
463                ray  1.595  1.550  2.90%    1+1       0+0   3.440  3.418    0.63%
464             simple  6.972  6.487  7.48%   29+32      5+7   3.523  3.525   -0.05%
465                tsp  1.115  1.063  4.86%    0+0       0+0   7.393  7.265    1.77%
466               vliw 27.765 24.818 11.87%  110+135    25+45  2.265  2.135    6.09%
467      ----------------------------------------------------------------------------
468       Average                     6.94%                                    2.64%
469    
470          X86          Compilation Time     Spill+Reload      Run Time
471                     110.25  New            110.25    New   110.25  New
472    
473          barnesHut  5.530  5.420  2.03%  593+893   597+915   3.532  3.440   2.66%
474              boyer  8.768  7.747 13.19%  493+199   301+289   0.327  0.297  10.11%
475       count-graphs  2.040  2.010  1.49%  298+394   315+457  26.578 28.660  -7.26%
476                fft  1.327  1.302  1.92%  112+209   115+210   1.055  0.962   9.71%
477        knuthBendix  5.218  5.475 -4.69%  451+598   510+650   0.928  0.932  -0.36%
478             lexgen  9.970  9.623  3.60% 1014+841  1157+885   0.947  0.928   1.97%
479               life  1.183  1.183  0.00%  162+182   145+148   0.127  0.103  22.58%
480              logic  3.285  3.512 -6.45%  514+684   591+836   5.682  5.577   1.88%
481         mandelbrot  0.147  0.143  2.33%   38+41     33+54    0.703  0.690   1.93%
482             mlyacc 35.457 32.763  8.22% 3496+4564 3611+4860  0.552  0.550   0.30%
483            nucleic  7.100  6.888  3.07%  239+168   201+158   0.175  0.173   0.96%
484      ratio-regions  6.388  6.843 -6.65% 1182+257   981+300  120.142 120.345 -0.17%
485                ray  2.332  2.338 -0.29%  346+398   402+494   3.593  3.540   1.51%
486             simple  9.912  9.903  0.08% 1475+941  1579+1168  3.057  3.178  -3.83%
487                tsp  1.623  1.532  5.98%  266+200   250+211   8.045  7.878   2.12%
488               vliw 33.947 35.470 -4.29% 2629+2774 2877+3171  2.072  1.890   9.61%
489      ----------------------------------------------------------------------------
490       Average                     1.22%                                     3.36%
491    
492    ----------------------------------------------------------------------
493    Name: Allen Leung
494    Date: 2000/03/23 16:25:00
495    Tag: leunga-20000323-fix_x86_alpha
496    Description:
497    
498    1. X86 fixes/changes
499    
500       a.  The old code generated for SETcc was completely wrong.
501           The Intel optimization guide is VERY misleading.
502    
503    2. ALPHA fixes/changes
504    
505       a.  Added the instructions LDBU, LDWU, STB, STW as per Fermin's suggestion.
506       b.  Added a new mode byteWordLoadStores to the functor parameter to Alpha()
507       c.  Added reassociation code for address computation.
508    
509    ----------------------------------------------------------------------
510    Name: Allen Leung
511    Date: 2000/03/22 01:23:00
512    Tag: leunga-20000322-fix_x86_hppa_ra
513    Description:
514    
515    1. X86 fixes/changes
516    
517       a.  x86Rewrite bug with MUL3 (found by Lal)
518       b.  Added the instructions FSTS, FSTL
519    
520    2. PA-RISC fixes/changes
521    
522       a.  B label should not be a delay slot candidate!  Why did this work?
523       b.  ADDT(32, REG(32, r), LI n) now generates one instruction instead of two,
524           as it should be.
525       c.  The assembly syntax for fstds and fstdd was wrong.
526       d.  Added the composite instruction COMICLR/LDO, which is the immediate
527           operand variant of COMCLR/LDO.
528    
529    3. Generic MLRISC
530    
531       a.  shuffle.sml rewritten to be slightly more efficient
532       b.  DIV bug in mltree-simplify fixed (found by Fermin)
533    
534    4. Register Allocator
535    
536       a.  I now release the interference graph earlier during spilling.
537           May improve memory usage.
538    
539    ----------------------------------------------------------------------
540    Name: Matthias Blume
541    Date: 2000/03/14 14:15:32
542    Tag: blume_main_v110p26p1_2
543    Description:
544    
545    1. Tools.registerStdShellCmdTool (from smlnj/cm/tool.cm) takes an
546    additional argument called "template" which is an optional string that
547    specifiel the layout of the tool command line.  See the CM manual for
548    explanation.
549    
550    2. A special-purpose tool can be "regisitered" by simply dropping the
551    corresponding <...>-tool.cm (and/or <...>-ext.cm) into the same
552    directory where the .cm file lives that uses this tool.  (The
553    behavior/misfeature until now was to look for the tool description
554    files in the current working directory.)  As before, tool description
555    files could also be anchored -- in which case they can live anywhere
556    they like.  Following the recent e-mail discussion, this change should
557    make it easier to have special-purpose tools that are shipped together
558    with the sources of the program that uses them.
559    
560    ----------------------------------------------------------------------
561    Name: Matthias Blume
562    Date: 2000/03/10 07:48:34
563    Tag: blume_main_v110p26p1_1
564    Description:
565    
566    I added a re-written version of Dave's fixpt script to src/system.
567    Changes relative to the original version:
568      - sh-ified (not everybody has ksh)
569      - automatically figures out which architecture it runs on
570      - uses ./makeml a bit more cleverly
571      - never invokes ./installml (and, thus, does not clobber your
572        good and working installation of sml in case something goes wrong)
573      - accepts max iteration count using option "-iter <n>"
574      - accepts a "base" name using option "-base <base>"
575    
576    It does not build any extraneous heap images but directly rebuilds
577    bin- and boot-hierarchies using makeml's "-rebuild" switch. Finally,
578    it can incorporate existing bin- and boot- hierarchies.  For example,
579    suppose the base is set to "sml" (which is the default).  Then it
580    successively builds
581    
582            sml.bin.<arch>-unix and sml.boot.<arch>-unix
583    then    sml1.bin.<arch>-unix and sml1.boot.<arch>-unix
584    then    sml2.bin.<arch>-unix and sml2.boot.<arch>-unix
585    ...
586    then    sml<n>.bin.<arch>-unix and sml<n>.boot.<arch>-unix
587    
588    and so on.  If any of these already exist, it will just use what's
589    there.  In particular, many people will have the initial set of bin
590    and boot files around, so this saves time for at least one full
591    rebuild.  Having sets of the form <base><k>.{bin,boot}.<arch>-unix for
592    <k>=1,2,... is normally not a good idea when invoking fixpt.  However,
593    they might be the result of an earlier partial run of fixpt (which
594    perhaps got accidentially killed).  In this case, fixpt will quickly
595    move through what exists before continuing where it left off earlier,
596    and, thus, saves a lot of time.
597    
598    ----------------------------------------------------------------------
599    Name: Allen Leung
600    Date: 00/03/10 02:20:00
601    Tag: leunga-20000310-fix_x86_asm_ra
602    Description:
603    
604    More assembly output problems involving the indexed addressing mode
605    on the x86 have been found and corrected. Thanks to Fermin Reig for the
606    fix.
607    
608    The interface and implementation of the register allocator have been changed
609    slightly to accommodate the possibility to skip the register allocation
610    phases completely and go directly to memory allocation.  This is needed
611    for C-- use.
612    
613    ----------------------------------------------------------------------
614    Name: Matthias Blume
615    Date: 00/03/09 10:23:53
616    Tag: blume_main_v110p26p1_0
617    Description:
618    
619    * Complete re-organization of library names.  Many libraries have been
620    consolidated so that they share the same path anchor.  For example,
621    all MLRISC-related libraries are anchored at MLRISC, most libraries that
622    are SML/NJ-specific are under "smlnj".  Notice that names like
623    host-cmb.cm or host-compiler.cm no longer exist.  See system/README
624    for a complete description of the new naming scheme.  Quick reference:
625    
626       host-cmb.cm        -> smlnj/cmb.cm
627       host-compiler.cm   -> smlnj/compiler.cm
628       full-cm.cm         -> smlnj/cm.cm
629       <arch>-<os>.cm     -> smlnj/cmb/<arch>-<os>.cm
630       <arch>-compiler.cm -> smlnj/compiler/<arch>.cm
631    
632    * Bug fixes in CM.
633        - exceptions in user code are being passed through (i.e., reach top level)
634        - more bugs in paranoia mode fixed
635        - bug related to checking group owners fixed
636    
637    * New install.sh script that automagically fetches archive files:
638      The new file config/srcarchiveurl must contain the URL of the
639      (remote) directory that contains bin files (or other source archives).
640      If install.sh does not find the archive locally, it tries to get
641      it from that remote directory.
642      This should simplify installation further:  For machines that have
643      access to the internet, just fetch <version>-config.tgz, unpack it,
644      edit config/targets, and go (run config/install.sh).  The scipt will
645      fetch everything else that it might need all by itself.
646    
647      For CVS users, this mechanism is not relevant for source archives, but
648      it is convenient for getting new sets of binfiles.
649    
650      Archives should be tar files compressed with either gzip, compress, or
651      bzip2.  The script recognizes .tgz, .tar, tar.gz, tz, .tar.Z, and .tar.bz2.
652    
653  ----------------------------------------------------------------------  ----------------------------------------------------------------------
654  Name: Matthias Blume  Name: Matthias Blume

Legend:
Removed from v.572  
changed lines
  Added in v.595

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