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 840, Fri Jun 15 19:05:19 2001 UTC revision 975, Wed Oct 31 20:22:44 2001 UTC
# Line 14  Line 14 
14    
15  ----------------------------------------------------------------------  ----------------------------------------------------------------------
16  Name: Matthias Blume  Name: Matthias Blume
17    Date: 2001/10/31 15:25:00 EST
18    Tag: blume-20011031-pgraph
19    Description:
20    
21    CKIT:
22    * Changed the "Function" constructor of type Ast.ctype to carry optional
23      argument identifiers.
24    * Changed the return type of TypeUtil.getFunction accordingly.
25    * Type equality ignores the argument names.
26    * TypeUtil.composite tries to preserve argument names but gives up quickly
27      if there is a mismatch.
28    
29    installation script:
30    * attempts to use "curl" if available (unless "wget" is available as well)
31    
32    CM:
33    * has an experimental implementation of "portable graphs" which I will
34      soon propose as an implementation-independent library format
35    * there are also new libraries $/pgraph.cm and $/pgraph-util.cm
36    
37    NLFFI-LIB:
38    * some cleanup (all cosmetic)
39    
40    NLFFIGEN:
41    * temporarily disabled the mechanism that suppresses ML output for
42      C definitions whose identifiers start with an underscore character
43    * generate val bindings for enum constants
44    * user can request that only one style (light or heavy) is being used;
45      default is to use both (command-line arguments: -heavy and -light)
46    * fixed bug in handling of function types involving incomplete pointers
47    * generate ML entry points that take record arguments (i.e., using
48      named arguments) for C functions that have a prototype with named
49      arguments
50      (see changes to CKIT)
51    
52    ----------------------------------------------------------------------
53    Name: Allen Leung
54    Date: 2001/10/27 20:34:00 EDT
55    Tag: leunga-20011027-x86-fast-fp-call
56    Description:
57    
58       Fixed the bug described in blume-20010920-slowfp.
59    
60       The fix involves
61          1. generating FCOPYs in FSTP in ia32-svid
62          2. marking a CALL with the appropriate annotation
63    
64    ----------------------------------------------------------------------
65    Name: Matthias Blume
66    Date: 2001/10/16 11:32:00 EDT
67    Tag: blume-20011016-netbsd
68    Description:
69    
70    Underscore patch from Chris Richards (fixing problem with compiling
71    runtime system under recent NetBSD).
72    
73    ----------------------------------------------------------------------
74    Name: Allen Leung
75    Date: 2001/10/12 17:18:32 EDT 2001
76    Tag: leung-20011012-x86-printflowgraph
77    Description:
78    
79    X86RA now uses a valid (instead of dummy) PrintFlowgraph module.
80    
81    ----------------------------------------------------------------------
82    Name: Lal George
83    Date: 2001/10/11 23:51:34 EDT
84    Tag: george-20011011-too-many-instrs
85    Description:
86    
87    The representation of a program point never expected to see more
88    than 65536 instructions in a basic block!
89    
90    ----------------------------------------------------------------------
91    Name: Lal George
92    Date: 2001/10/09 09:41:37 EDT
93    Tag: george-20011008-mlrisc-labels
94    Description:
95    
96    Changed the machine description files to support printing of
97    local and global labels in assembly code, based on host assembler
98    conventions.
99    
100    ----------------------------------------------------------------------
101    Name: Matthias Blume
102    Date: 2001/09/25 15:25:00 EDT
103    Tag: blume-20010925-exninfo
104    Description:
105    
106    I provided a non-hook implementation of exnName (at the toplevel) and
107    made the "dummy" implementation of exnMessage (at the toplevel) more
108    useful: if nothing gets "hooked in", then at least you are going to
109    see the exception name and a message indicating why you don't see more.
110    
111    [For the time being, programs that need exnMessage and want to use
112    ml-build should either use General.exnMessage (strongly recommended) or
113    refer to structure General at some other point so that CM sees a
114    static dependency.]
115    
116    [Similar remarks go for "print" and "use":  If you want to use their
117    functionality in stand-alone programs generated by ml-build, then use
118    TextIO.output and Backend.Interact.useFile (from $smlnj/compiler.cm).]
119    
120    ----------------------------------------------------------------------
121    Name: Matthias Blume
122    Date: 2001/09/20 17:28:00 EDT
123    Tag: blume-20010920-slowfp
124    Description:
125    
126    Allen says that x86-fast-fp is not safe yet, so I turned it off again...
127    
128    ----------------------------------------------------------------------
129    Name: Matthias Blume
130    Date: 2001/09/20 17:20:00 EDT
131    Tag: blume-20010920-canonicalpaths
132    Description:
133    
134    0. Updated the BOOT file (something that I forgot to do earlier).
135    
136    1. Small internal change to CM so that it avoids "/../" in filenames
137       as much as possible (but only where it is safe).
138    
139    2. Changed config/_run-sml (resulting in a changed bin/.run-sml) so
140       that arguments that contain delimiters are passed through correctly.
141       This change also means that all "special" arguments of the form
142       @SMLxxx... must come first.
143    
144    3. Changed install script to put relative anchor names for tool commands
145       into pathconfig.
146    
147    ----------------------------------------------------------------------
148    Name: Matthias Blume
149    >>>>>>> 1.169
150    Date: 2001/09/18 15:35:00 EDT
151    Tag: blume-20010918-readme11036
152    Description:
153    
154    Added README files.
155    
156    ----------------------------------------------------------------------
157    Name: Matthias Blume
158    Date: 2001/09/18 11:45:00 EDT
159    Tag: Release_110_36 (retag)
160    Description:
161    
162    Fixed mistake in config/preloads. Retagged as 110.36.
163    
164    ----------------------------------------------------------------------
165    Name: Matthias Blume
166    Date: 2001/09/18 09:40:00 EDT
167    Tag: Release_110_36_orig (tag changed)
168    Description:
169    
170    New version (110.36).  New bootfiles.
171    
172    ----------------------------------------------------------------------
173    Name: Matthias Blume
174    Date: 2001/09/14 16:15:00 EDT
175    Tag: blume-20010914-x86fastfp
176    Description:
177    
178    John committed some changes that Allen made, in particular a (hopefully)
179    correctly working version of the x86-fp module.
180    
181    I changed the default setting of the Control.MLRISC.getFlag "x86-fast-fp"
182    flag to "true".  Everything seems to compile to a fixpoint ok, and
183    "mandelbrot" speeds up by about 15%.
184    
185    ----------------------------------------------------------------------
186    Name: Matthias Blume
187    Date: 2001/09/13 11:20:00 EDT
188    Tag: blume-20010913-minimal
189    Description:
190    
191    1. Stefan Monnier's patch to fix a miscompilation problem that
192       was brought to light by John Reppy's work on Moby.
193    
194    2. Implemented a minimal "structure Compiler" that contains just
195       "version" and "architecture".  The minimal version will be
196       available when the full version is not.  This is for backward-
197       compatibility with code that wants to test Compiler.version.
198    
199    ----------------------------------------------------------------------
200    Name: Matthias Blume
201    Date: 2001/08/28 14:03:00 EDT
202    Tag: blume-20010828-ml-lex
203    Description:
204    
205    Fix for bug 1581, received from Neophytos Michael.
206    
207    ----------------------------------------------------------------------
208    Name: Matthias Blume
209    Date: 2001/08/27 11:20:00 EDT
210    Tag: blume-20010827-readme11035
211    Description:
212    
213    Fleshed out the README file for 110.35.
214    
215    ----------------------------------------------------------------------
216    Name: Matthias Blume
217    Date: 2001/08/24 17:10:00 EDT
218    Tag: Release_110_35
219    Description:
220    
221    New version number (110.35).  New bootfiles.
222    
223    ----------------------------------------------------------------------
224    Name: Lal George
225    Date: 2001/08/24 13:47:18 EDT 2001
226    Tag: george-20010824-MLRISC-graphs
227    Description:
228    
229     removed clusters from MLRISC completely and replaced with graphs.
230    
231    ----------------------------------------------------------------------
232    Name: Matthias Blume
233    Date: 2001/08/23 17:50:00 EDT
234    Tag: blume-20010823-toplevel
235    Description:
236    
237    - some reorganization of the code that implements various kinds of
238      environments in the compiler (static, dynamic, symbolic, combined)
239    - re-implemented the EnvRef module so that evalStream works properly
240      (if the stream contains references to "use", "CM.make", etc.)
241    - cleaned up evalloop.sml and interact.sml (but they need more cleaning)
242    
243    ----------------------------------------------------------------------
244    Name: Matthias Blume
245    Date: 2001/08/20 15:50 EDT
246    Tag: blume20010820-slipup
247    Description:
248    
249    I forgot to commit a few files.  Here they are...
250    
251    ----------------------------------------------------------------------
252    Name: Matthias Blume
253    Date: 2001/08/20 15:35:00 EDT
254    Tag: blume-20010820-debugprof
255    Description:
256    
257    !!!! NEW BOOTFILES !!!!
258    
259    This is another round of reorganizing the compiler sources.  This
260    time the main goal was to factor out all the "instrumentation"
261    passes (for profiling and backtracing) into their own library.
262    The difficulty was to do it in such a way that it does not depend
263    on elaborate.cm but only on elabdata.cm.
264    
265    Therefore there have been further changes to both elaborate.cm and
266    elabdata.cm -- more "generic" things have been moved from the former
267    to the latter.  As a result, I was forced to split the assignment
268    of numbers indicating "primtyc"s into two portions: SML-generic and
269    SML/NJ-specific.  Since it would have been awkward to maintain,
270    I bit the bullet and actually _changed_ the mapping between these
271    numbers and primtycs.  The bottom line of this is that you need
272    a new set of bin- and bootfiles.
273    
274    I have built new bootfiles for all architectures, so doing a fresh
275    checkout and config/install.sh should be all you need.
276    
277    The newly created library's name is
278    
279        $smlnj/viscomp/debugprof.cm
280    
281    and its sources live under
282    
283        src/compiler/DebugProf
284    
285    ----------------------------------------------------------------------
286    Name: Matthias Blume
287    Date: 2001/08/15 17:15:00 EDT
288    Tag: blume-20010815-compreorg
289    Description:
290    
291    This is a first cut at reorganizing the CM libraries that make up the
292    core of the compiler.  The idea is to separate out pieces that could
293    be used independently by tools, e.g., the parser, the typechecker, etc.
294    
295    The current status is a step in this direction, but it is not quite
296    satisfactory yet.  Expect more changes in the future.
297    
298    Here is the current (new) organization...
299    
300        What used to be $smlnj/viscomp/core.cm is now divided into
301        six CM libraries:
302    
303             $smlnj/viscomp/basics.cm
304                           /parser.cm
305                           /elabdata.cm
306                           /elaborate.cm
307                           /execute.cm
308                           /core.cm
309    
310        The CM files for these libraries live under src/system/smlnj/viscomp.
311        All these libraries are proxy libraries that contain precisely
312        one CM library component.  Here are the locations of the components
313        (all within the src/compiler tree):
314    
315             Basics/basics.cm
316             Parse/parser.cm
317             ElabData/elabdata.cm
318             Elaborator/elaborate.cm
319             Execution/execute.cm
320             core.cm
321    
322         [This organization is the same that has been used already
323         for a while for the architecture-specific parts of the visible
324         compiler and for the old version of core.cm.]
325    
326         As you will notice, many source files have been moved from their
327         respective original locations to a new home in one of the above
328         subtrees.
329    
330         The division of labor between the new libraries is the following:
331    
332             basics.cm:
333                - Simple, basic definitions that pertain to many (or all) of
334                  the other libraries.
335             parser.cm:
336                - The SML parser, producing output of type Ast.dec.
337                - The type family for Ast is also defined and exported here.
338             elabdata.cm:
339                - The datatypes that describe input and output of the elaborator.
340                  This includes types, absyn, and static environments.
341             elaborator.cm:
342                - The SML/NJ type checker and elaborator.
343                  This maps an Ast.dec (with a given static environment) to
344                  an Absyn.dec (with a new static environment).
345                - This libraries implements certain modules that used to be
346                  structures as functors (to remove dependencies on FLINT).
347             execute.cm:
348                - Everything having to do with executing binary code objects.
349                - Dynamic environments.
350             core.cm:
351                - SML/NJ-specific instantiations of the elaborator and MLRISC.
352                - Top-level modules.
353                - FLINT (this should eventually become its own library)
354    
355    Notes:
356    
357    I am not 100% happy with the way I separated the elaborator (and its
358    data structures) from FLINT.  Two instances of the same problem:
359    
360        1. Data structures contain certain fields that carry FLINT-specific
361           information.  I hacked around this using exn and the property list
362           module from smlnj-lib.  But the fact that there are middle-end
363           specific fields around at all is a bit annoying.
364    
365        2. The elaborator calculates certain FLINT-related information.  I tried
366           to make this as abstract as I could using functorization, but, again,
367           the fact that the elaborator has to perform calculations on behalf
368           of the middle-end at all is not nice.
369    
370        3. Having to used exn and property lists is unfortunate because it
371           weakens type checking.  The other alternative (parameterizing
372           nearly *everything*) is not appealing, though.
373    
374    I removed the "rebinding =" warning hack because due to the new organization
375    it was awkward to maintain it.  As a result, the compiler now issues some of
376    these warnings when compiling init.cmi during bootstrap compilation. On
377    the plus side, you also get a warning when you do, for example:
378       val op = = Int32.+
379    which was not the case up to now.
380    
381    I placed "assign" and "deref" into the _Core structure so that the
382    code that deals with the "lazy" keyword can find them there.  This
383    removes the need for having access to the primitive environment
384    during elaboration.
385    
386    ----------------------------------------------------------------------
387    Name: Matthias Blume
388    Date: 2001/08/13
389    Tag: blume-20010813-closures
390    Description:
391    
392    This fix was sent to us by Zhong Shao.  It is supposed to improve the
393    performance of certain loops by avoiding needless closure allocation.
394    
395    ----------------------------------------------------------------------
396    Name: Lal George
397    Date: 2001/07/31 10:03:23 EDT 2001
398    Tag: george-20010731-x86-fmalloc
399    Description: Fixed bug in x86 calls
400    
401        There was a bug where call instructions would mysteriously
402        vanish. The call instruction had to be one that returned
403        a floating point value.
404    
405    ----------------------------------------------------------------------
406    Name: Lal George
407    Date: 2001/07/19 16:36:29 EDT 2001
408    Tag: george-20010719-simple-cells
409    Description:
410    
411    I have dramatically simplified the interface for CELLS in MLRISC.
412    
413    In summary, the cells interface is broken up into three parts:
414    
415      1. CellsBasis : CELLS_BASIS
416    
417            CellsBasis is a top level structure and common for all
418            architectures.  it contains the definitions of basic datatypes
419            and utility  functions over these types.
420    
421      2. functor Cells() : CELLS
422    
423            Cells generates an interface for CELLS that incorporates the
424            specific resources on the target architecture, such as the
425            presence of special register classes, their number and size,
426            and various useful substructures.
427    
428      3. <ARCH>CELLS
429    
430            e.g. SparcCells: SPARCCELLS
431    
432            <ARCH>CELLS usually contains additional bindings for special
433            registers  on the architecture, such as:
434    
435                    val r0 : cell           (* register zero *)
436                    val y : cell            (* Y register *)
437                    val psr : cell          (* processor status register *)
438                    ...
439    
440            The structure returned by applying the Cells functor is opened
441            in this interface.
442    
443    The main implication of all this is that the datatypes for cells is
444    split between CellsBasis and CELLS -- a fairly simple change for user
445    code.
446    
447    In the old scheme the CELLS interface had a definitional binding of
448    the form:
449    
450            signature CELLS = sig
451    
452               structure CellsBasis = CellsBasis
453    
454               ...
455    
456            end
457    
458    With all the sharing constraints that goes on in MLRISC, this old
459    design  quickly leads to errors such as:
460    
461            "structure definition spec inside of sharing ... "
462    
463    
464    and appears to require an unacceptable amount of sharing and where
465    constraint hackery.
466    
467    I think this error message (the interaction of definitional specs and
468    sharing) requires more explanation on our web page.
469    
470    ----------------------------------------------------------------------
471    Name: Matthias Blume
472    Date: 2001/07/19 15:00:00 EDT
473    Tag: blume-20010719-libreorg
474    Description:
475    
476    This update puts together a fairly extensive but straightforward change
477    to the way the libraries that implement the interactive system are
478    organized:
479    
480       The biggest change is the elimination of structure Compiler.  As a
481       replacement for this structure, there is now a CM library
482       (known as $smlnj/compiler.cm or $smlnj/compiler/current.cm)
483       that exports all the substructures of the original structure Compiler
484       directly.  So instead of saying Compiler.Foo.bar one now simply
485       says Foo.bar.  (The CM libraries actually export a collection of
486       structures that is richer than the collection of substructures of
487       structure Compiler.)
488    
489       To make the transition smooth, there is a separate library called
490       $smlnj/compiler/compiler.cm which puts together and exports the
491       original structure Compiler (or at least something very close to it).
492    
493       There are five members of the original structure Compiler
494       that are not exported directly but which instead became members
495       of a new structure Backend (described by signature BACKEND).  These are:
496       structure Profile (: PROFILE), structure Compile (: COMPILE), structure
497       Interact (: INTERACT), structure Machine (: MACHINE), and val
498       architecture (: string).
499    
500       Structure Compiler.Version has become structure CompilerVersion.
501    
502       Cross-compilers for alpha32, hppa, ppc, sparc, and x86 are provided
503       by $smlnj/compiler/<arch>.cm where <arch> is alpha32, hppa, ppc, sparc,
504       or x86, respectively.
505       Each of these exports the same frontend structures that
506       $smlnj/compiler.cm exports.  But they do not have a structure Backend
507       and instead export some structure <Arch>Backend where <Arch> is Alpha32,
508       Hppa, PPC, Sparc, or X86, respectively.
509    
510       Library $smlnj/compiler/all.cm exports the union of the exports of
511       $smlnj/compiler/<arch>.cm
512    
513       There are no structures <Arch>Compiler anymore, use
514       $smlnj/compiler/<arch>.cm instead.
515    
516       Library host-compiler-0.cm is gone.  Instead, the internal library
517       that instantiates CM is now called cm0.cm.  Selection of the host
518       compiler (backend) is no longer done here but. (Responsibility for it
519       now lies with $smlnj/compiler/current.cm.  This seems to be more
520       logical.)
521    
522       Many individual files have been moved or renamed.  Some files have
523       been split into multiple files, and some "dead" files have been deleted.
524    
525    Aside from these changes to library organization, there are also changes
526    to the way the code itself is organized:
527    
528       Structure Binfile has been re-implemented in such a way that it no
529       longer needs any knowledge of the compiler.  It exclusively deals
530       with the details of binfile layout.  It no longer invokes the
531       compiler (for the purpose of creating new prospective binfile
532       content), and it no longer has any knowledge of how to interpret
533       pickles.
534    
535       Structure Compile (: COMPILE) has been stripped down to the bare
536       essentials of compilation.  It no longer deals with linking/execution.
537       The interface has been cleaned up considerably.
538    
539       Utility routines for dealing with linking and execution have been
540       moved into their own substructures.
541    
542       (The ultimate goal of these changes is to provide a light-weight
543       binfile loader/linker (at least for, e.g., stable libraries) that
544       does not require CM or the compiler to be present.)
545    
546    CM documentation has been updated to reflect the changes to library
547    organization.
548    
549    ----------------------------------------------------------------------
550    Name: Matthias Blume
551    Date: 2001/07/10 17:30:00 EDT
552    Tag: Release_110_34
553    Description:
554    
555    Minor tweak to 110.34 (re-tagged):
556    
557      - README.html file added to CVS repository
558      - runtime compiles properly under FreeBSD 3.X and 4.X
559    
560    ----------------------------------------------------------------------
561    Name: Matthias Blume
562    Date: 2001/07/10 17:30:00 EDT
563    Tag: Release_110_34
564    Description:
565    
566    New version number (110.34). New bootfiles.
567    
568    ----------------------------------------------------------------------
569    Name: Matthias Blume
570    Date: 2001/07/09 16:00:00 EDT
571    Tag: blume-20010709-more-varargs
572    Description:
573    
574    I changed the handling of varargs in ml-nlffigen again:
575    The ellipsis ... will now simply be ignored (with an accompanying warning).
576    
577    The immediate effect is that you can actually call a varargs function
578    from ML -- but you can't actually supply any arguments beyond the ones
579    specified explicitly.  (For example, you can call printf with its format
580    string, but you cannot pass additional arguments.)
581    
582    This behavior is only marginally more useful than the one before, but
583    it has the advantage that a function or, more importantly, a function
584    type never gets dropped on the floor, thus avoiding follow-up problems with
585    other types that refer to the offending one.
586    
587    ----------------------------------------------------------------------
588    Name: Matthias Blume
589    Date: 2001/07/09 11:25:00 EDT
590    Tag: blume-20010709-varargs
591    Description:
592    
593    1. ckit-lib.cm now exports structure Error
594    2. ml-nlffigen reports occurences of "..." (i.e., varargs function types)
595       with a warning accompanied by a source location.  Moreover, it
596       merely skips the offending function or type and proceeds with the
597       rest of its work.u  As a result, one can safely feed C code containing
598       "..." to ml-nlffigen.
599    3. There are some internal improvements to CM, providing slightly
600       more general string substitutions in the tools subsystem.
601    
602    ----------------------------------------------------------------------
603    Name: Matthias Blume
604    Date: 2001/06/27 15:10:00 EDT
605    Tag: blume-20010627-concur
606    Description:
607    
608    Fixed a small bug in CM's handling of parallel compilation.
609    (You could observe the bug by Control-C-interrupting an ordinary
610    CMB.make or CM.stabilize and then attaching some compile servers.
611    The result was that all of a sudden the previously interrupted
612    compilation would continue on its own.  This was because of
613    an over-optimization: CM did not bother to clean out certain queues
614    when no servers were attached "anyway", resulting in the contents
615    of these queues to grab control when new servers did get attached.)
616    
617    There is also another minor update to the CM manual.
618    
619    ----------------------------------------------------------------------
620    Name: Matthias Blume
621    Date: 2001/06/26 16:15:00 EDT
622    Tag: blume-20010626-cmdoc
623    Description:
624    
625    Minor typo fixed in CM manual (syntax diagram for libraries).
626    
627    ----------------------------------------------------------------------
628    Name: Matthias Blume
629    Date: 2001/06/25 22:55:00 EDT
630    Tag: blume-20010625-x86pc
631    Description:
632    
633    Fixed a nasty bug in the X86 assembly code that caused signal
634    handlers to fail (crash) randomly.
635    
636    ----------------------------------------------------------------------
637    Name: Matthias Blume
638    Date: 2001/06/25 12:05:00 EDT
639    Tag: blume-20010625-nlffigen
640    Description:
641    
642    This update fixes a number of minor bugs in ml-nlffigen as reported by
643    Nick Carter <nbc@andrew.cmu.edu>.
644    
645      1. Silly but ok typedefs of the form "typedef void myvoid;" are now accepted.
646      2. Default names for generated files are now derived from the name of
647         the C file *without its directory*.  In particular, this causes generated
648         files to be placed locally even if the C file is in some system directory.
649      3. Default names for generated signatures and structures are also derived
650         from the C file name without its directory.  This avoids silly things
651         like "structure GL/GL".
652         (Other silly names are still possible because ml-nlffigen does not do
653          a thorough check of whether generated names are legal ML identifiers.
654          When in doubt, use command line arguments to force particular names.)
655    
656    ----------------------------------------------------------------------
657    Name: Matthias Blume
658    Date: 2001/06/21 12:25:00 EDT
659    Tag: blume-20010621-eXene
660    Description:
661    
662    eXene now compiles and (sort of) works again.
663    
664    The library name (for version > 110.33) is $/eXene.cm.
665    
666    I also added an new example in src/eXene/examples/nbody.  See the
667    README file there for details.
668    
669    ----------------------------------------------------------------------
670    Name: Matthias Blume
671    Date: 2001/06/20 16:40:00 EDT
672    Tag: blume-20010620-cml
673    Description:
674    
675    CML now compiles and works again.
676    
677    Libraries (for version > 110.33):
678    
679      $cml/cml.cm            Main CML library.
680      $cml/basis.cm          CML's version of $/basis.cm.
681      $cml/cml-internal.cm   Internal helper library.
682      $cml/core-cml.cm       Internal helper library.
683      $cml-lib/trace-cml.cm  Tracing facility.
684      $cml-lib/smlnj-lib.cm  CML's version of $/smlnj-lib.cm
685    
686    The installer (config/install.sh) has been taught how to properly
687    install this stuff.
688    
689    ----------------------------------------------------------------------
690    Name: Matthias Blume
691    Date: 2001/06/19 17:55:00 EDT
692    Tag: blume-20010619-instantiate
693    Description:
694    
695    This un-breaks the fix for bug 1432.
696    (The bug was originally fixed in 110.9 but I broke it again some
697    time after that.)
698    
699    ----------------------------------------------------------------------
700    Name: Matthias Blume
701    Date: 2001/06/19 17:25:00 EDT
702    Tag: blume-20010619-signals
703    Description:
704    
705    This should (hopefully) fix the long-standing signal handling bug.
706    (The runtime system was constructing a continuation record with an
707    incorrect descriptor which would cause the GC to drop data on the floor...)
708    
709    ----------------------------------------------------------------------
710    Name: Matthias Blume
711    Date: 2001/06/15 15:05:00 EDT
712    Tag: blume-20010615-moresparc
713    Description:
714    
715    Here is a short late-hour update related to Sparc c-calls:
716    
717     -- made handling of double-word arguments a bit smarter
718    
719     -- instruction selection phase tries to collapse certain clumsily
720        constructed ML-Trees; typical example:
721    
722            ADD(ty,ADD(_,e,LI d1),LI d2)  ->  ADD(ty,e,LI(d1+d2))
723    
724        This currently has no further impact on SML/NJ since mlriscGen does
725        not seem to generate such patterns in the first place, and c-calls
726        (which did generate them in the beginning) has meanwhile been fixed
727        so as to avoid them as well.
728    
729    ----------------------------------------------------------------------
730    Name: Matthias Blume
731  Date: 2001/06/15 15:05:00 EDT  Date: 2001/06/15 15:05:00 EDT
732  Tag: blume-20010615-sparc  Tag: blume-20010615-sparc
733  Description:  Description:
# Line 2409  Line 3123 
3123       elaborator). There were a lot of changes during my "linkpath" trials       elaborator). There were a lot of changes during my "linkpath" trials
3124       that could have been reverted to their original state but weren't.       that could have been reverted to their original state but weren't.
3125       Please, don't be too harsh on me for messing with this code a bit more       Please, don't be too harsh on me for messing with this code a bit more
3126       than what was strictly necessary...  (I _did_ resist the tempation       than what was strictly necessary...  (I _did_ resist the temptation
3127       of doing any "global reformatting" to avoid an untimely death at       of doing any "global reformatting" to avoid an untimely death at
3128       Dave's hands. :)       Dave's hands. :)
3129    

Legend:
Removed from v.840  
changed lines
  Added in v.975

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