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 932, Tue Sep 18 19:35:32 2001 UTC revision 1065, Thu Feb 14 15:05:16 2002 UTC
# Line 8  Line 8 
8  The form of an entry should be:  The form of an entry should be:
9    
10  Name:  Name:
11  Date:  Date: yyyy/mm/dd
12  Tag: <post-commit CVS tag>  Tag: <post-commit CVS tag>
13  Description:  Description:
14    
15  ----------------------------------------------------------------------  ----------------------------------------------------------------------
16    Name: Lal George
17    Date: 2002/02/14 09:55:27 EST 2002
18    Tag: george-20020214-isabelle-bug
19    Description:
20    
21    Fixed the MLRISC bug sent by Markus Wenzel regarding the compilation
22    of Isabelle on the x86.
23    
24    From Allen:
25    -----------
26     I've found the problem:
27    
28         in ra-core.sml, I use the counter "blocked" to keep track of the
29         true number of elements in the freeze queue.  When the counter goes
30         to zero, I skip examining the queue.  But I've messed up the
31         bookkeeping in combine():
32    
33             else ();
34             case !ucol of
35               PSEUDO => (if !cntv > 0 then
36                     (if !cntu > 0 then blocked := !blocked - 1 else ();
37                                        ^^^^^^^^^^^^^^^^^^^^^^^
38                      moveu := mergeMoveList(!movev, !moveu)
39                     )
40                  else ();
41    
42         combine() is called to coalesce two nodes u and v.
43         I think I was thinking that if the move counts of u and v are both
44         greater than zero then after they are coalesced then one node is
45         removed from the freeze queue.  Apparently I was thinking that
46         both u and v are of low degree, but that's clearly not necessarily true.
47    
48    
49    02/12/2002:
50        Here's the patch.  HOL now compiles.
51    
52        I don't know how this impact on performance (compile
53        time or runtime).  This bug caused the RA (especially on the x86)
54        to go thru the potential spill phase when there are still nodes on the
55        freeze queue.
56    
57    
58    
59    
60    ----------------------------------------------------------------------
61    Name: Matthias Blume
62    Date: 2002/02/13 22:40:00 EST
63    Tag: blume-20020213-fptr-rtti
64    Description:
65    
66    Fixed a bug in ml-nlffigen that was introduced with one of the previous
67    updates.
68    
69    ----------------------------------------------------------------------
70    Name: Matthias Blume
71    Date: 2002/02/13 16:41:00 EST
72    Tag: blume-20020213-cmlpq
73    Description:
74    
75    Added new priority queue export symbols (which have just been added to
76    smlnj-lib.cm) to CML's version of smlnj-lib.cm.  (Otherwise CML would
77    not compile and the installer would choke.)
78    
79    ----------------------------------------------------------------------
80    Name: Matthias Blume
81    Date: 2002/02/13 16:15:00 EST
82    Tag: blume-20020213-various
83    Description:
84    
85    1. More tweaks to ml-nlffigen:
86    
87       - better internal datastructures (resulting in slight speedup)
88       - "-match" option requires exact match
89       - "localized" gensym counters (untagged structs/unions nested within
90         other structs/unions or within typedefs get a fresh counter; their
91         tag will be prefixed by a concatenation of their parents' tags)
92       - bug fixes (related to calculation of transitive closure of types
93         to be included in the output)
94    
95    2. Minor Basis updates:
96    
97       - added implementations for List.collate and Option.app
98    
99    ----------------------------------------------------------------------
100    Name: Matthias Blume
101    Date: 2002/02/11 15:55:00 EST
102    Tag: blume-20020211-gensym
103    Description:
104    
105    Added a "-gensym" option to command line of ml-nlffigen.  This can be
106    used to specify a "stem" -- a string that is inserted in all "gensym'd"
107    names (ML structure names that correspond to unnamed C structs, unions,
108    and enums), so that separate runs of ml-nlffigen do not clash.
109    
110    ----------------------------------------------------------------------
111    Name: Matthias Blume
112    Date: 2002/02/11 12:05:00 EST
113    Tag: blume-20020211-gensml
114    Description:
115    
116    A quick fix for a problem with GenSML (in the pgraph-util library):
117    Make generation of toplevel "local" optional.  (Strictly speaking,
118    signature definitions within "local" are not legal SML.)
119    
120    Other than that: updates to INSTALL and cm/TODO.
121    
122    ----------------------------------------------------------------------
123    Name: Matthias Blume
124    Date: 2002/02/08 15:00:00 EST
125    Tag: blume-20020208-uniquepid
126    Description:
127    
128    0. Version number has been bumped to 110.38.1.  NEW BOOTFILES!!!
129    
130    1. The installer (config/install.sh) has gotten smarter:
131    
132         - Configuration options are a bit easier to specify now
133           (in config/targets).
134         - Bug in recognizing .tar.bz2 files fixed.
135         - Installer automatically resolves dependencies between
136           configuration options (e.g., if you ask for eXene, you will
137           also get cml -- regardless whether you asked for it or not).
138         - Installer can run in "quieter mode" by setting the environment
139           variable INSTALL_QUIETLY to "true".  "Quieter" does not mean
140           "completely silent", though.
141         - Build HashCons library as part of smlnj-lib.
142    
143    2. A new scheme for assigning persistent identifiers to compilation
144       units (and, by extension, to types etc.) has been put into place.
145       This fixes a long-standing bug where types and even dynamic values
146       can get internally confused, thereby compromising type safety
147       (abstraction) and dynamic correctness.  See
148    
149         http://cm.bell-labs.com/cm/cs/who/blume/pid-confusion.tgz
150    
151       for an example of how things could go wrong until now.
152    
153       The downside of the new scheme is that pids are not quite as
154       persistent as they used to be: CM will generate a fresh pid
155       for every compilation unit that it thinks it sees for the first
156       time.  That means that if you compile starting from a clean, fresh
157       source tree at two different times, you end up with different
158       binaries.
159    
160       Cutoff recompilation, however, has not been compromised because
161       CM keeps pid information in special caches between runs.
162    
163    ----------------------------------------------------------------------
164    Name: Lal George
165    Date: 2002/02/07 15:34:13 EST 2002
166    Tag: <none>
167    Description:
168    
169    Compilers that generate assembly code may produce  global labels
170    whose value is resolved at link time. The various peephole optimization
171    modules did not take this in account.
172    
173    TODO. The Labels.addrOf function should really return an option
174    type so that clients are forced to deal with this issue, rather
175    than an exception being raised.
176    
177    ----------------------------------------------------------------------
178    Name: Lal George
179    Date: 2002/02/06 13:55:02 EST
180    Tag: george-20020206-ra-breakup
181    Description:
182    
183    1. A bug fix from Allen.
184    
185        A typo causes extra fstp %st(0)'s to be generated at compensation
186        edges, which might cause stack underflow traps at runtime.  This
187        occurs in fft where there are extraneous fstps right before the 'into'
188        trap instruction (in this case they are harmless since none of the
189        integers overflow.)
190    
191    2. Pulled out various utility modules that were embedded in the modules
192       of the register allocator. I need these modules for other purposes, but
193       they are not complete enough to put into a library (just yet).
194    ----------------------------------------------------------------------
195    Name: Matthias Blume
196    Date: 2002/01/31 16:05:00 EST
197    Tag: blume-20020131-sparc-ccalls
198    Description:
199    
200    1. C-calls on Sparc needlessly allocated a huge chunk (96 bytes)
201       of extra stack space by mistake.  Fixed.
202    
203    2. Bug in logic of handling of command-line options in ml-nlffigen fixed.
204    
205    ----------------------------------------------------------------------
206    Name: Allen Leung
207    Date: 2002/01/30
208    Tag: leunga-20020130-nowhere-bug-fix
209    Description:
210    
211       MLRISC bug fixes:
212       1. Fixed a bindings computation bug in the 'nowhere' program generator tool.
213       2. MachineInt.fromString was negating its value.
214    
215    ----------------------------------------------------------------------
216    Name: Matthias Blume
217    Date: 2002/01/29
218    Tag: blume-20020129-INSTALL
219    Description:
220    
221    - Added somewhat detailed installation instructions (file INSTALL).
222    - Fixed curl-detection bug in config/install.sh.
223    - It is now possible to select the URL getter using the URLGETTER
224      environment variable:
225    
226          not set / "unknown"      --> automatic detection (script tries wget,
227                                       curl, and lynx)
228          "wget" / "curl" / "lynx" --> use the specified program (script "knows"
229                                       how to properly invoke them)
230          other                    --> use $URLGETTER directly, it must take
231                                       precisely two command-line arguments
232                                       (source URL and destination file name)
233    
234    ----------------------------------------------------------------------
235    Name: Matthias Blume
236    Date: 2002/01/28
237    Tag: blume-20020128-sparc-ccalls
238    Description:
239    
240    - Fixed problem with calculation of "used" registers in sparc-c-calls.
241    - Make use of the allocParam argument in sparc-c-calls.
242    
243    ----------------------------------------------------------------------
244    Name: Matthias Blume
245    Date: 2002/01/28
246    Tag: blume-20020128-allocParam
247    Description:
248    
249    John Reppy:  Changes c-calls API to accept client-callback for
250    allocating extra stack space.
251    me: Corresponding changes to mlriscGen (using a dummy argument that
252        does not change the current behavior).
253    
254    ----------------------------------------------------------------------
255    Name: Matthias Blume
256    Date: 2002/01/28 12:00:00
257    Tag: Release_110_38
258    Description:
259    
260    This time for real!!!
261    
262    ----------------------------------------------------------------------
263    Name: Matthias Blume
264    Date: 2002/01/28 10:56:00 EST
265    Tag: blume-20020128-retraction
266    Description:
267    
268    0. Retracted earlier 110.38.  (The Release_110_38 tag has been replaced
269       with blume-Release_110_38-retracted.)
270    
271    1. Fixed a problem with incorrect rounding modes in real64.sml.
272       (Thanks to Andrew Mccreight <andrew.mccreight@yale.edu>.)
273    
274    2. A bug in ml-nlffigen related to the handling of unnamed structs, unions,
275       and enums fixed.  The naming of corresponding ML identifiers should
276       now be consistent again.
277    
278    ----------------------------------------------------------------------
279    Name: Allen Leung
280    Date: 2002/01/27
281    Tag: leunga-20020127-nowhere
282    Description:
283    
284       Added a target called nowhere in the configuration scripts.
285       Enabling this will build the MLRISC 'nowhere' tool (for translating
286       programs with where-clauses into legal SML code) during installation.
287    
288    ----------------------------------------------------------------------
289    Name: Matthias Blume
290    Date: 2002/01/25 21:27:00 EST
291    Tag: blume-Release_110_38-retracted
292    Description:
293    
294    Call it a (working) release!  Version is 110.38. Bootfiles are ready.
295    
296    README will be added later.
297    
298    !!! NOTE:  Re-tagged as blume-Release_110_38-retracted. Original tag
299    (Release_110_38) removed.  Reason: Last-minute bug fixes.
300    
301    ----------------------------------------------------------------------
302    Name: Matthias Blume
303    Date: 2002/01/25
304    Tag: blume-20020125-ffi
305    Description:
306    
307    A large number of tweaks and improvements to ml-nlffi-lib and
308    ml-nlffigen:
309    
310       - ML represenation types have been streamlined
311       - getter and setter functions work with concrete values, not abstract
312         ones where possible
313       - ml-nlffigen command line more flexible (see README file there)
314       - some bugs have been fixed (hopefully)
315    
316    ----------------------------------------------------------------------
317    Name: Lal George
318    Date: 2002/01/24
319    Tag: george-20020124-risc-ra-interface
320    Description:
321    
322       There is a dramatic simplification in the interface to the
323       register allocator for RISC architectures as a result of making
324       parallel copy instructions explicit.
325    
326    ----------------------------------------------------------------------
327    Name: Matthias Blume
328    Date: 2002/01/22
329    Tag: blume-20020122-x86-ccalls
330    Description:
331    
332    Bug fix for c-calls on x86 (having to do with how char- and
333    short-arguments are being handled).
334    
335    ----------------------------------------------------------------------
336    Name: Matthias Blume
337    Date: 2002/01/21
338    Tag: blume-20020121-ff
339    Description:
340    
341    Another day of fiddling with the FFI...
342    
343    1. Bug fix/workaround:  CKIT does not complain about negative array
344       dimensions, so ml-nlffigen has to guard itself against this possibility.
345       (Otherwise a negative dimension would send it into an infinite loop.)
346    
347    2. Some of the abstract types (light objects, light pointers, most "base"
348       types) in structure C are now eqtypes.
349    
350    3. Added constructors and test functions for NULL function pointers.
351    
352    ----------------------------------------------------------------------
353    Name: Matthias Blume
354    Date: 2002/01/18
355    Tag: blume-20020118-ready-for-new-release
356    Description:
357    
358    Made config/srcarchiveurl point to a new place.  (Will provide boot
359    files shortly.)
360    
361    Maybe we christen this to be 110.38?
362    
363    ----------------------------------------------------------------------
364    Name: Matthias Blume
365    Date: 2002/01/18
366    Tag: blume-20020118-more-ffifiddle
367    Description:
368    
369    Today's FFI fiddling:
370    
371      - Provided a structure CGetSet with "convenient" versions of C.Get.* and
372        C.Set.* that use concrete (MLRep.*) arguments and results instead
373        of abstract ones.
374    
375      - Provided word-style bit operations etc. for "int" representation
376        types in MLRep.S<Foo>Bitops where <Foo> ranges over Char, Int, Short,
377        and Long.
378    
379    ----------------------------------------------------------------------
380    Name: Matthias Blume
381    Date: 2002/01/18
382    Tag: blume-20020118-use-x86-fp
383    Description:
384    
385    Now that x86-fast-fp seems to be working, I turned it back on again
386    by default.  (Seems to work fine now, even with the FFI.)
387    
388    Other than that, I added some documentation about the FFI to
389    src/ml-nlffigen/README and updated the FFI test examples in
390    src/ml-nlffi-lib/Tests/*.
391    
392    ----------------------------------------------------------------------
393    Name: Allen Leung
394    Date: 2002/01/17
395    Tag: leunga-20020117-x86-fast-fp-call
396    Description:
397    
398       1. Fixed a problem with handling return fp values when x86's fast fp
399          mode is turned on.
400    
401       2. Minor pretty printing fix for cellset.  Print %st(0) as %st(0) instead
402          of %f32.
403    
404       3. Added a constructor INT32lit to the ast of MLRISC tools.
405    
406    ----------------------------------------------------------------------
407    Name: Matthias Blume
408    Date: 2002/01/16
409    Tag: blume-20020116-ffifiddle
410    Description:
411    
412    More fiddling with the FFI interface:
413    
414     - Make constness 'c instead of rw wherever possible.  This eliminates
415       the need for certain explicit coercions.  (However, due to ML's
416       value polymorphism, there will still be many cases where explicit
417       coercions are necessary.  Phantom types are not the whole answer
418       to modeling a subtyping relationship in ML.)
419    
420     - ro/rw coersions for pointers added.  (Avoids the detour through */&.)
421    
422     - "printf" test example added to src/ml-nlffi-lib/Tests.  (Demonstrates
423       clumsy workaround for varargs problem.)
424    
425    ----------------------------------------------------------------------
426    Name: Lal George
427    Date: 2002/01/15
428    Tag: <none>
429    Description:
430    
431    1. Since COPY instructions are no longer native to the architecture,
432       a generic functor can be used to implement the expandCopies function.
433    
434    2. Allowed EXPORT and IMPORT pseudo-op declarations to appear inside a
435       TEXT segment.
436    
437    ----------------------------------------------------------------------
438    Name: Matthias Blume
439    Date: 2002/01/15
440    Tag: blume-20020115-ffiupdates
441    Description:
442    
443    1. Fix for bug resulting in single-precision float values being returned
444       incorrectly from FFI calls.
445    
446    2. Small modifications to C FFI API:
447    
448        - memory-allocation routines return straight objects (no options)
449          and raise an exception in out-of-memory situations
450        - unsafe extensions to cast between function pointers and pointers
451          from/to ints
452        - added structure C_Debug as an alternative to structure C where
453          pointer-dereferencing (|*| and |*!) always check for null-pointers
454        - added open_lib' to DynLinkage;  open_lib' works like open_lib
455          but also takes a (possibly empty) list of existing library handles
456          that the current library depends on
457    
458    ----------------------------------------------------------------------
459    Name: Matthias Blume
460    Date: 2002/01/10
461    Tag: blume-20020110-newffigen
462    Description:
463    
464    1. Updates to portable graph code.
465    
466    2. Major update to ml-nlffigen and ml-nlffi-lib.  Things are much
467       more scalable now so that even huge interfaces such as the one
468       for GTK compile in finite time and space. :-)
469       See src/ml-nlffigen/README for details on what's new.
470    
471    ----------------------------------------------------------------------
472    Name: Lal George
473    Date: 2001/01/09 14:31:35 EST 2002
474    Tag: george-20011206-rm-native-copy
475    Description:
476    
477            Removed the native COPY and FCOPY instructions
478            from all the architectures and replaced it with the
479            explicit COPY instruction from the previous commit.
480    
481            It is now possible to simplify many of the optimizations
482            modules that manipulate copies. This has not been
483            done in this change.
484    
485    ----------------------------------------------------------------------
486    Name: Lal George
487    Date: 2001/12/06 16:50:13 EST 2001
488    Tag: george-20011206-mlrisc-instruction
489    Description:
490    
491    Changed the representation of instructions from being fully abstract
492    to being partially concrete. That is to say:
493    
494      from
495            type instruction
496    
497      to
498            type instr                              (* machine instruction *)
499    
500            datatype instruction =
501                LIVE of {regs: C.cellset, spilled: C.cellset}
502              | KILL of {regs: C.cellset, spilled: C.cellset}
503              | COPYXXX of {k: CB.cellkind, dst: CB.cell list, src: CB.cell list}
504              | ANNOTATION of {i: instruction, a: Annotations.annotation}
505              | INSTR of instr
506    
507    This makes the handling of certain special instructions that appear on
508    all architectures easier and uniform.
509    
510    LIVE and KILL say that a list of registers are live or killed at the
511    program point where they appear. No spill code is generated when an
512    element of the 'regs' field is spilled, but the register is moved to
513    the 'spilled' (which is present, more for debugging than anything else).
514    
515    LIVE replaces the (now deprecated) DEFFREG instruction on the alpha.
516    We used to generate:
517    
518            DEFFREG f1
519            f1 := f2 + f3
520            trapb
521    
522    but now generate:
523    
524            f1 := f2 + f3
525            trapb
526            LIVE {regs=[f1,f2,f3], spilled=[]}
527    
528    Furthermore, the DEFFREG (hack) required that all floating point instruction
529    use all registers mentioned in the instruction. Therefore f1 := f2 + f3,
530    defines f1 and uses [f1,f2,f3]! This hack is no longer required resulting
531    in a cleaner alpha implementation. (Hopefully, intel will not get rid of
532    this architecture).
533    
534    COPYXXX is intended to replace the parallel COPY and FCOPY  available on
535    all the architectures. This will result in further simplification of the
536    register allocator that must be aware of them for coalescing purposes, and
537    will also simplify certain aspects of the machine description that provides
538    callbacks related to parallel copies.
539    
540    ANNOTATION should be obvious, and now INSTR represents the honest to God
541    machine instruction set!
542    
543    The <arch>/instructions/<arch>Instr.sml files define certain utility
544    functions for making porting easier -- essentially converting upper case
545    to lower case. All machine instructions (of type instr) are in upper case,
546    and the lower case form generates an MLRISC instruction. For example on
547    the alpha we have:
548    
549      datatype instr =
550         LDA of {r:cell, b:cell, d:operand}
551       | ...
552    
553      val lda : {r:cell, b:cell, d:operand} -> instruction
554        ...
555    
556    where lda is just (INSTR o LDA), etc.
557    
558    ----------------------------------------------------------------------
559    Name: Matthias Blume
560    Date: 2001/11/22 21:40:00 EST
561    Tag: Release_110_37
562    Description:
563    
564    Release 110.37.  This time for real.
565    
566    ----------------------------------------------------------------------
567    Name: Matthias Blume
568    Date: 2001/11/21 16:35:00 EST
569    Tag: blume-20011121-foot-in-mouth
570    Description:
571    
572    Removed the "Release_110_37" tag because of a serious bug.
573    This will be re-tagged once the bug is fixed.
574    
575    ----------------------------------------------------------------------
576    Name: Matthias Blume
577    Date: 2001/11/21 16:14:00 EST
578    Tag: blume-20011121-forgottenfile
579    Description:
580    
581    Forgot to add a file.  (Just a .tex-file -- part of
582    the CM manual source.)
583    
584    ----------------------------------------------------------------------
585    Name: Matthias Blume
586    Date: 2001/11/21 16:10:00 EST
587    Tag: blume-20011121-invalid_110_37
588    Description:
589    
590    Note: I removed the original tag "Release_110_37" from this commit
591          because we found a serious bug in all non-x86 backends.
592          - Matthias
593    
594    1. Modifications to the SML/NJ code generator and to the runtime system
595       so that code object name strings are directly inserted into code
596       objects at code generation time.  The only business the runtime system
597       has with this is now to read the name strings on occasions.
598       (The encoding of the name string has also changed somewhat.)
599    
600    2. CM now implements a simple "set calculus" for specifying export lists.
601       In particular, it is now possible to refer to the export lists of
602       other libraries/groups/sources and form unions as well as differences.
603       See the latest CM manual for details.
604    
605    3. An separate notion of "proxy" libraries has again be eliminated from
606       CM's model.  (Proxy libraries are now simply a special case of using
607       the export list calculus.)
608    
609    4. Some of the existing libraries now take advantage of the new set
610       calculus.
611       (Notice that not all libraries have been converted because some
612       of the existing .cm-files are supposed to be backward compatible
613       with 110.0.x.)
614    
615    5. Some cleanup in stand-alone programs.  (Don't use "exnMessage" -- use
616       "General.exnMessage"!  The former relies on a certain hook to be
617       initialized, and that often does not happen in the stand-alone case.)
618    
619    ----------------------------------------------------------------------
620    Name: Lal George
621    Date: 2001/11/21  13:56:18 EST
622    Tag: george-2001121-pseudo-ops
623    Description:
624    
625      Implemented a complete redesign of MLRISC pseudo-ops. Now there
626      ought to never be any question of incompatabilities with
627      pseudo-op syntax expected by host assemblers.
628    
629      For now, only modules supporting GAS syntax are implemented
630      but more should follow, such as MASM, and vendor assembler
631      syntax, e.g. IBM as, Sun as, etc.
632    
633    ----------------------------------------------------------------------
634    Name: Matthias Blume
635    Date: 2001/11/14 11:52:00 EST
636    Tag: blume-20011114-srcname
637    Description:
638    
639    1. Routed the name of the current source file to mlriscgen where it
640       should be directly emitted into the code object.  (This last part
641       is yet to be done.)
642    
643    2. Some cleanup of the pgraph code to make it match the proposal that
644       I put out the other day.  (The proposal notwithstanding, things are
645       still in flux here.)
646    
647    ----------------------------------------------------------------------
648    Name: Lal George
649    Date: 2001/11/14 09:44:04 EST
650    Tag:
651    Description:
652    
653      Fix for a backpatching bug reported by Allen.
654    
655      Because the boundary between short and long span-dependent
656      instructions is +/- 128, there are an astounding number of
657      span-dependent instructions whose size is over estimated.
658    
659      Allen came up with the idea of letting the size of span
660      dependent instructions be non-monotonic, for a maxIter
661      number of times, after which the size must be monotonically
662      increasing.
663    
664      This table shows the number of span-dependent instructions
665      whose size was over-estimated as a function of maxIter, for the
666      file Parse/parse/ml.grm.sml:
667    
668         maxIter            # of instructions:
669            10                      687
670            20                      438
671            30                      198
672            40                        0
673    
674      In compiling the compiler, there is no significant difference in
675      compilation speed between maxIter=10 and maxIter=40. Actually,
676      my measurements showed that maxIter=40 was a tad faster than
677      maxIter=10! Also 96% of the  files in the compiler reach a fix
678      point within 13 iterations, so fixing maxIter at 40, while high,
679      is okay.
680    
681    ----------------------------------------------------------------------
682    Name: Matthias Blume
683    Date: 2001/10/31 15:25:00 EST
684    Tag: blume-20011031-pgraph
685    Description:
686    
687    CKIT:
688    * Changed the "Function" constructor of type Ast.ctype to carry optional
689      argument identifiers.
690    * Changed the return type of TypeUtil.getFunction accordingly.
691    * Type equality ignores the argument names.
692    * TypeUtil.composite tries to preserve argument names but gives up quickly
693      if there is a mismatch.
694    
695    installation script:
696    * attempts to use "curl" if available (unless "wget" is available as well)
697    
698    CM:
699    * has an experimental implementation of "portable graphs" which I will
700      soon propose as an implementation-independent library format
701    * there are also new libraries $/pgraph.cm and $/pgraph-util.cm
702    
703    NLFFI-LIB:
704    * some cleanup (all cosmetic)
705    
706    NLFFIGEN:
707    * temporarily disabled the mechanism that suppresses ML output for
708      C definitions whose identifiers start with an underscore character
709    * generate val bindings for enum constants
710    * user can request that only one style (light or heavy) is being used;
711      default is to use both (command-line arguments: -heavy and -light)
712    * fixed bug in handling of function types involving incomplete pointers
713    * generate ML entry points that take record arguments (i.e., using
714      named arguments) for C functions that have a prototype with named
715      arguments
716      (see changes to CKIT)
717    
718    ----------------------------------------------------------------------
719    Name: Allen Leung
720    Date: 2001/10/27 20:34:00 EDT
721    Tag: leunga-20011027-x86-fast-fp-call
722    Description:
723    
724       Fixed the bug described in blume-20010920-slowfp.
725    
726       The fix involves
727          1. generating FCOPYs in FSTP in ia32-svid
728          2. marking a CALL with the appropriate annotation
729    
730    ----------------------------------------------------------------------
731    Name: Matthias Blume
732    Date: 2001/10/16 11:32:00 EDT
733    Tag: blume-20011016-netbsd
734    Description:
735    
736    Underscore patch from Chris Richards (fixing problem with compiling
737    runtime system under recent NetBSD).
738    
739    ----------------------------------------------------------------------
740    Name: Allen Leung
741    Date: 2001/10/12 17:18:32 EDT 2001
742    Tag: leung-20011012-x86-printflowgraph
743    Description:
744    
745    X86RA now uses a valid (instead of dummy) PrintFlowgraph module.
746    
747    ----------------------------------------------------------------------
748    Name: Lal George
749    Date: 2001/10/11 23:51:34 EDT
750    Tag: george-20011011-too-many-instrs
751    Description:
752    
753    The representation of a program point never expected to see more
754    than 65536 instructions in a basic block!
755    
756    ----------------------------------------------------------------------
757    Name: Lal George
758    Date: 2001/10/09 09:41:37 EDT
759    Tag: george-20011008-mlrisc-labels
760    Description:
761    
762    Changed the machine description files to support printing of
763    local and global labels in assembly code, based on host assembler
764    conventions.
765    
766    ----------------------------------------------------------------------
767    Name: Matthias Blume
768    Date: 2001/09/25 15:25:00 EDT
769    Tag: blume-20010925-exninfo
770    Description:
771    
772    I provided a non-hook implementation of exnName (at the toplevel) and
773    made the "dummy" implementation of exnMessage (at the toplevel) more
774    useful: if nothing gets "hooked in", then at least you are going to
775    see the exception name and a message indicating why you don't see more.
776    
777    [For the time being, programs that need exnMessage and want to use
778    ml-build should either use General.exnMessage (strongly recommended) or
779    refer to structure General at some other point so that CM sees a
780    static dependency.]
781    
782    [Similar remarks go for "print" and "use":  If you want to use their
783    functionality in stand-alone programs generated by ml-build, then use
784    TextIO.output and Backend.Interact.useFile (from $smlnj/compiler.cm).]
785    
786    ----------------------------------------------------------------------
787    Name: Matthias Blume
788    Date: 2001/09/20 17:28:00 EDT
789    Tag: blume-20010920-slowfp
790    Description:
791    
792    Allen says that x86-fast-fp is not safe yet, so I turned it off again...
793    
794    ----------------------------------------------------------------------
795    Name: Matthias Blume
796    Date: 2001/09/20 17:20:00 EDT
797    Tag: blume-20010920-canonicalpaths
798    Description:
799    
800    0. Updated the BOOT file (something that I forgot to do earlier).
801    
802    1. Small internal change to CM so that it avoids "/../" in filenames
803       as much as possible (but only where it is safe).
804    
805    2. Changed config/_run-sml (resulting in a changed bin/.run-sml) so
806       that arguments that contain delimiters are passed through correctly.
807       This change also means that all "special" arguments of the form
808       @SMLxxx... must come first.
809    
810    3. Changed install script to put relative anchor names for tool commands
811       into pathconfig.
812    
813    ----------------------------------------------------------------------
814  Name: Matthias Blume  Name: Matthias Blume
815  Date: 2001/09/18 15:35:00 EDT  Date: 2001/09/18 15:35:00 EDT
816  Tag: blume-20010918-readme11036  Tag: blume-20010918-readme11036

Legend:
Removed from v.932  
changed lines
  Added in v.1065

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