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 1183, Fri Mar 29 19:09:48 2002 UTC revision 1353, Mon Sep 8 16:57:39 2003 UTC
# Line 13  Line 13 
13  Description:  Description:
14    
15  ----------------------------------------------------------------------  ----------------------------------------------------------------------
16    Name: Matthias Blume (blume@tti-c.org)
17    Date: 2003/09/08 11:55:00 CDT
18    Tag: blume-20030908-fullpath
19    Description:
20    
21    Made Win32 version of OS.FileSys.fullPath return current directory
22    when given an empty string.  This is what the spec says, and incidentally,
23    CM depends on it.  (CM otherwise goes into an infinite loop in certain
24    cases when presented with the name of a non-existing .cm file.)
25    
26    ----------------------------------------------------------------------
27    Name: Matthias Blume (blume@tti-c.org)
28    Date: 2003/09/04 16:30:00 CDT
29    Tag: blume-20030905-slices-etc
30    Description:
31    
32      1. Changed interface to vectors and arrays in Basis to match
33         (draft) Basis spec.
34      2. Added signatures and implementations of slices according to
35         Basis spec.
36      3. Edited source code throughout the system to make it compile again
37         under 1. and 2.  (In some cases code had to be added to have it
38         match the new signatures.)
39      4. MLRISC should be backward-compatible: the copies of the originals
40         of files that needed to change under 3. were retained, the .cm files
41         check the compiler version number and use old versions when
42         appropriate.
43      5. Changed type of OS.FileSys.readDir and Posix.FileSys.readdir to
44         dirstream -> string option (in accordance with Basis spec).
45      6. When generating code that counts lines, ml-lex used function
46         CharVector.foldli, taking advantage of its old interface.
47         This has been replaced with the corresponding code from
48         CharVectorSlice.  (html-lex must be re-lexed!)
49      7. BitArray in smlnj-lib/Util has been extended/modified to match the
50         new MONO_ARRAY signature.  (Do we need BitArraySlice?)
51      8. Removed temporary additions (fromInternal, toInternal) from the
52         (now obsolete) IntInf in smlnj-lib/Util.
53      9. Cleaned up structure Byte.
54     10. Added localOffset, scan, and fromString to Date (according to spec).
55         Cleaned/corrected implementation of Date.
56         (Still need to check for correctness; implement better canonicalizeDate.)
57     11. Added "scan" to signature IEEE_REAL.
58     12. Some improvements to IntInf [in particular: efficiency-hack for
59         mod and rem when second operand is 2 (for parity checks).]
60     13. Changed representation of type Time.time, using a single IntInf.int
61         value counting microseconds.  This considerably simplified the
62         implementation of structure Time.  We now support negative time
63         values; scan and fromString handle signs.
64     14. Functor PrimIO now takes two additional arguments (VectorSlice and
65         ArraySlice).
66    
67    ----------------------------------------------------------------------
68    Name: Matthias Blume (blume@tti-c.org)
69    Date: 2003/08/28 17:00:00 CDT
70    Tag: blume-20030828-intinf
71    Description:
72    
73    This is a major update which comes with a version number bump
74    (110.42.99 -- yes, we are really close to 110.43 :-), NEW BOOTFILES,
75    and an implementation of IntInf in the Basis.
76    
77    There are a fairly large number of related changes and updates throughout
78    the system:
79    
80    Basis:
81            - Implemented IntInf.
82            - Made LargeInt a projection of IntInf (by filtering through INTEGER).
83            - Added some missing Real64 operations, most notably Real.toLargeInt.
84            - Added FixedInt as a synonym for Int32.
85    
86    compiler:
87            * Added support for a built-in intinf type.
88              - literals
89              - pattern matching
90              - conversion shortcuts (Int32.fromLarge o Int.toLarge etc.)
91              - overloading on literals and operations
92    
93            This required adding a primitive type intinf, some additional
94            primops, and implementations for several non-trivial intinf
95            operations in Core.  (The intinf type is completely abstract
96            to the compiler; all operations get delegated back to the Core.)
97    
98            * Intinf equality is handled by polyequal.  However, the compiler
99            does not print its usual warning in this case (since polyequal
100            is the right thing to do there).
101    
102            * Improved the organization of structure InlineT.
103    
104            * A word about conversion primops:
105            If conversions involving intinf do not cancel out during
106            CPS contract, then the compiler must insert calls to Core functions.
107            Since all core access must be resolved already during the FLINT
108            translate phase, it would be too late a the time of CPS contract
109            to add new Core calls.  For this reason, conversion primops
110            for intinf carry two arguments:  1. the numeric argument that
111            they are supposed to convert, and 2. the Core function that
112            can help with this conversion if necessary.  If CPS contract
113            eliminates a primop, then the associated Core function becomes
114            dead and goes away.  Intinf conversion primops that do not get
115            eliminated by CPS contract get rewritten into calls of their
116            core functions by a separate, new phase.
117    
118    interactive system:
119            - Control.Print.intinfDepth controls max length of intinf constants
120            being printed. (Analogous to Control.Print.stringDepth.)
121            - Cleanup in printutil and pputil: got rid of unused stuff and
122            duplicates; replaced some of the code with code that makes better
123            use of library functionality.
124    
125    CM:
126            Bugfix: parse-errors in init group (system/smlnj/init/init.cmi)
127            are no longer silent.
128    
129    CKIT:
130            Fixed mismatched uses of Int32 and LargeInt.  I always decided
131            in favor of LargeInt -- which is now the same as IntInf.
132            CKIT-knowledgable people should check whether this is what's
133            intended and otherwise change things back to using Int32 or
134            FixedInt.
135    
136    Throughout the code:
137            Started using IntInf.int literals and built-in operations
138            (e.g., comparison with 0) where this seems appropriate.
139    
140    
141    ----------------------------------------------------------------------
142    Name: Dave MacQueen (dbm@cs.uchicago.edu)
143    Date: 2003/08/13 11:36:00 CDT
144    Tag: dbm-20030813-mcz-merge1
145    Description:
146    
147    Merging changes from the mcz-branch development branch into trunk.
148    These changes involve replacement of the emulated old prettyprinter
149    interface with direct use of the SML/NJ Lib PP library, and fixing
150    of a couple of bugs (895, 1186) relating to error messages.  A new
151    prettyprinter for ast datatypes (Elaborator/print/ppast.{sig,sml})
152    has been added.
153    
154    ----------------------------------------------------------------------
155    Name: Matthias Blume (blume@tti-c.org)
156    Date: 2003/08/11 15:45:00 CDT
157    Tag: blume-20030811-windows
158    Description:
159    
160    Version number bumped to 110.42.9.  NEW BOOTFILES!!!
161    
162        http://smlnj.cs.uchicago.edu/dist/working/110.42.9/
163    
164    This patch restores SML/NJ's ability to run under win32.  There are a
165    number of changes, including fixes for several bugs that had gone
166    unnoticed until now:
167    
168      - uname "CYGWIN_NT*" is recognized as win32 (This is relevant only when
169        trying to run the win32 version from within cygwin.)
170    
171      - There are a number of simple .bat scripts that substitute for their
172        corresponding Unix shell-scripts.  (See below.)
173    
174      - The internals of ml-build have been modified slightly.  The main
175        difference is that instead of calling ".link-sml" (or link-sml.bat)
176        using OS.Process.system, the ML process delegates this task back
177        to the script.  Otherwise problems arise in mixed environments such
178        as Cygwin where scripts look and work like Unix scripts, but
179        where OS.Process.system cannot run them.
180    
181      - In CM, the srcpath pickler used native pathname syntax -- which
182        is incorrect in the case of cross-compilation.  The new pickle format
183        is independent of platform-specific naming conventions.
184    
185      - Path configuration files (such as lib/pathconfig) can now choose
186        between native and standard syntax.  Placing a line of the form
187    
188            standard!
189    
190        into the file causes all subsequent paths to be interpreted using
191        CM standard pathname syntax (= Unix conventions); a line
192    
193            native!
194    
195        switches back to native style.  This was needed so that
196        path config files can be written portably, see src/system/pathconfig.
197    
198      - Runtime system:
199    
200          - win32-filesys.c:  get_file_time and set_file_time now
201            access modification time, not creation time.
202    
203          - I/O code made aware of new array representation.
204    
205          - Bug fixes in X86.prim.masm.
206    
207       - src/system/makeml made aware of win32. (For use under cygwin
208            and other Unix-environments for windows.)
209    
210       - In Basis, fixed off-by-one error in win32-io.sml (function vecF)
211         which caused BinIO.inputAll to fail consistently.
212    
213    .bat scripts:
214    
215       Windows .bat scripts assume that SMLNJ_HOME is defined.
216    
217       - sml.bat, ml-yacc.bat, ml-lex.bat:  Driver scripts for standalone
218         applications (sml, ml-yacc, ml-lex).
219       - ml-build.bat: analogous to ml-build.
220       - config\install.bat:  Analogous to config/install.sh.  This requires
221         that SMLNJ_HOME is set and that Microsoft Visual C is ready to use.
222         (nmake etc. must be on the path, and vcvars32 must have been run.)
223         Moreover, sources for ml-lex and ml-yacc need to exist under src,
224         and the bootfile hierarchy must have been unpacked under
225         sml.boot.x86-win32.
226         The script is very primitive and does a poor job at error checking.
227         It only installs the base system, ml-lex, and ml-yacc.  No other
228         libraries are being installed (i.e., you get only those that
229         are part of the compiler.)
230       - link-sml.bat:  analogous to .link-sml, but not currently used
231    
232    Unrelated bug fixes:
233    
234      - ml-nlffigen now exports structures ST_* corresponding to incomplete
235        types.
236      - Added getDevice to PP/src/pp-debug-fn.sml.  (Would not compile
237        otherwise.)
238    
239    ----------------------------------------------------------------------
240    Name: Dave MacQueen (macqueen@cs.uchicago.edu)
241    Date: 2003/06/17
242    Tag: macqueen-20030617-bug895
243    Description:
244    
245    Modified compiler/Elaborator/print/pptype.sml to fix bug 895.
246    Tag will be used for new development branch (mcz-branch) for
247    use by MacQueen, (Lucasz) Zairek, and (George) Cao at uchicago.
248    
249    ----------------------------------------------------------------------
250    Name: Matthias Blume (blume@tti-c.org)
251    Date: 2003/05/27 16:55:00 CDT
252    Tag: blume-20030527-polyeq
253    Description:
254    
255    Tried to eliminated most cases of polymorphic equality.
256    
257    ----------------------------------------------------------------------
258    Name: Matthias Blume (blume@tti-c.org)
259    Date: 2003/05/21 17:45:00 CDT
260    Tag: blume-20030517-complete
261    Description:
262    
263    Two changes:
264    
265      1. Added a flag for controlling whether non-exhaustive bindings will
266         be treated as errors (default is false).
267      2. Cleaned up the *entire* source tree so that CMB.make goes through
268         without a single non-exhaustive match- or bind warning.
269    
270    ----------------------------------------------------------------------
271    Name: Matthias Blume (blume@tti-c.org)
272    Date: 2003/05/17 10:20:00 CDT
273    Tag: blume-20030517-absyn
274    Description:
275    
276    1. Added cases for IF, WHILE, ANDALSO, and ORELSE to Absyn.
277    
278       This mainly affects the quality of error messages.  However, some
279       of the code is now more straightforward than before. (Treatment of
280       the above four constructs in translate.sml is much simpler than
281       the "macro-expansion" that was going on before.  Plus, the mach-
282       compiler no longer gets invoked just to be able to compile an
283       if-expression.)
284    
285    2. The ErrorMsg.Error exception is now caught and absorbed by the
286       interactive loop.
287    
288    ----------------------------------------------------------------------
289    Name: Allen Leung
290    Date: 2003/05/16 13:05:00 CDT
291    Tag: leunga-20030516-cygwin-runtime
292    Description:
293    
294        Ported the runtime system to cygwin, which uses the unix
295    x86-unix bin files.  Missing/buggy features:
296    
297       o getnetbyname, getnetbyaddr: these functions seem to be missing in
298         the Cygwin library.
299       o Ctrl-C handling may be flaky.
300       o Windows system calls and Windows I/O are not supported.
301    
302       A new set of binfiles is located at:
303    
304         http://www.dorsai.org/~leunga/boot.x86-unix.tgz
305    
306       This is only needed for bootstrapping the cygwin version of smlnj.
307       Other x86 versions can use the existing binfiles.
308    
309    ----------------------------------------------------------------------
310    Name: Matthias Blume
311    Date: 2003/04/08 15:42:00 CDT
312    Tag: blume-20030408-listpair
313    Description:
314    
315    1. Added a target 'mlrisc' to installer.
316    
317    2. Added missing elements to structure ListPair.
318    
319    ----------------------------------------------------------------------
320    Name: Allen Leung
321    Date: 2003/01/07 10:40:00 EST
322    Tag: leunga-20030107-int-rem
323    Description:
324    
325    Fixed a bug in Int.rem(x,y) where y is a power of 2 on x86.
326    The arguments to the SUBL instruction were swapped.
327    
328    ----------------------------------------------------------------------
329    Name: Matthias Blume
330    Date: 2002/12/12 16:25:00 EST
331    Tag: blume-20021212-risc-ra
332    Description:
333    
334    Fixed a serious bug in the rewrite code for FP spilling/reloading that
335    sent the RA into an infinite loop when floating point registers get
336    spilled.  (Because of this bug, e.g., nucleic stopped compiling between
337    110.37 and 110.38.)
338    There was another set of potential problems related to the handling of
339    MLRISC annotations (but those did not yet cause real problems, apparently).
340    
341    ----------------------------------------------------------------------
342    Name: Matthias Blume
343    Date: 2002/12/06 22:40:00 EST
344    Tag: blume-20021206-cm-fileid
345    Description:
346    
347    Added a call of SrcPath.sync at the beginning of Parse.parse (in CM).
348    This fixes the problem of CM getting confused by files that suddenly
349    change their identity (e.g., by getting unlinked and recreated by some
350    text editor such as vi).  There might be a better/cheaper/cleaner way
351    of doing this, but for now this will have to do.
352    
353    ----------------------------------------------------------------------
354    Name: Matthias Blume
355    Date: 2002/10/28 09:50:00 EST
356    Tag: blume-20021028-typecheck
357    Description:
358    
359    Exported structure Typecheck from $smlnj/viscomp/core.cm.
360    
361    ----------------------------------------------------------------------
362    Name: Matthias Blume
363    Date: 2002/10/17 09:10:00 EDT
364    Tag: Release_110_42
365    Description:
366    
367    In good old tradition, there has been a slight hiccup so that we have
368    to patch 110.42 after the fact.   The old release tag has been replaced
369    (see below).
370    
371    The change solves a problem with two competing approaches the
372    configuration problem regarding MacOS 10.1 vs. MacOS 10.2 which got in
373    each other's way.
374    
375    This change only affects the runtime system code and the installer script.
376    (No new bootfiles.)
377    
378    ----------------------------------------------------------------------
379    Name: Matthias Blume
380    Date: 2002/10/16 12:00:00 EDT
381    Tag: Release_110_42_removed
382    Description:
383    
384    New working release.  New bootfiles.
385    
386    ----------------------------------------------------------------------
387    Name: Matthias Blume
388    Date: 2002/10/10 13:10:00 EDT
389    Tag: blume-20021010-ppc-divs
390    Description:
391    
392    The mltree operator DIVS must be implemented with an overflow check on
393    the PPC because the hardware indicates divide-by-zero using "overflow" as
394    well.
395    
396    ----------------------------------------------------------------------
397    Name: Matthias Blume
398    Date: 2002/07/23 11:45:00
399    Tag: blume-20020723-smlnj-home
400    Description:
401    
402    Sml now senses the SMLNJ_HOME environment variable.  If this is set,
403    then the bin dir is assumed to be in $SMLNJ_HOME/bin and (unless
404    CM_PATHCONFIG is also set), the path configuration file is assumed
405    to be in $SMLNJ_HOME/lib/pathconfig.  This way one can easily move
406    the entire tree to some other place and everything will "just work".
407    
408    (Companion commands such as ml-build and ml-makedepend also sense this
409    variable.)
410    
411    ----------------------------------------------------------------------
412    Name: Matthias Blume
413    Date: 2002/07/12 21:19:00 EDT
414    Tag: blume-20020712-liveness
415    Description:
416    
417    Exported two useful "step" functions from liveness module (MLRISC).
418    
419    ----------------------------------------------------------------------
420    Name: Matthias Blume
421    Date: 2002/07/05 16:00 EDT
422    Tag: Release_110_41
423    Description:
424    
425    New working release.  New bootfiles.
426    
427    ----------------------------------------------------------------------
428    Name: Matthias Blume
429    Date: 2002/07/05 10:25:00 EDT
430    Tag: blume-20020705-btimp
431    Description:
432    
433    Exported structure BTImp from $smlnj/viscomp/debugprof.cm so that
434    other clients can set up backtracing support.
435    
436    ----------------------------------------------------------------------
437    Name: Matthias Blume
438    Date: 2002/06/25 17:23:00 EDT
439    Tag: blume-20020625-fpmax
440    Description:
441    
442    Fixed a bug in translation of INLMAX (and INLMIN) for the floating-point
443    case.  (The sense of the isNaN test was reversed -- which made min and
444    max always return their first argument.)
445    
446    ----------------------------------------------------------------------
447    Name: Matthias Blume
448    Date: 2002/06/11
449    Tag: blume-20020611-unixpath
450    Description:
451    
452    Back-ported OS.Path.{from,to}UnixPath from idlbasis-devel branch.
453    
454    ----------------------------------------------------------------------
455    Name: Matthias Blume
456    Date: 2002/06/10 16:35:00 EDT
457    Tag: blume-20020610-ieeereal
458    Description:
459    
460    I back-ported my implementation of IEEEReal.fromString from the
461    idlbasis-devel branch so that we can test it.
462    
463    Another small change is that ppDec tries to give more information
464    than just "<sig>" in the case of functors.  However, this code is
465    broken in some mysterious way if the functor's body's signature
466    has not been declared by ascription but gets inferred from the
467    implementation.  This needs fixing...
468    
469    ----------------------------------------------------------------------
470    Name: Matthias Blume
471    Date: 2002/05/31
472    Tag: blume-20020531-btrace-mode
473    Description:
474    
475    Resurrected SMLofNJ.Internals.BTrace.mode.  (It accidentally fell by
476    the wayside when I switched over to using Controls everywhere.)
477    
478    ----------------------------------------------------------------------
479    Name: Lal George
480    Date: 2002/05/23 12:21:40 EDT
481    Tag: george-20020523-visual-labels
482    Description:
483    
484    Labels are now displayed in the graphical output to make
485    the fall-through and target blocks obvious.
486    
487    ----------------------------------------------------------------------
488    Name: Matthias Blume
489    Date: 2002/05/22 11:03:00 EDT
490    Tag: blume-20020522-shrink
491    Description:
492    
493    John tweaked yesterday's fix for 1131 to handle an out-of-memory
494    situation that comes up when allocating huge arrays.
495    
496    ----------------------------------------------------------------------
497    Name: Matthias Blume
498    Date: 2002/05/21 16:00:00 EDT
499    Tag: Release_110_40
500    Description:
501    
502    New working release (110.40).  New bootfiles.
503    
504    [Also: John Reppy fixed GC bug 1131.]
505    
506    ----------------------------------------------------------------------
507    Name: Matthias Blume
508    Date: 2002/05/21 12:35:00 EDT
509    Tag: blume-20020521-cmdoc
510    Description:
511    
512    CM documentation update.
513    
514    ----------------------------------------------------------------------
515    Name: Matthias Blume
516    Date: 2002/05/21 10:55:00 EDT
517    Tag: blume-20020521-misc
518    Description:
519    
520    - John tweaked runtime to be silent on heap export (except when
521      GC messages are on).
522    - I added a few more things (cross-compiling versions of CMB) to
523      config/preloads (as suggestions).
524    
525    ----------------------------------------------------------------------
526    Name: Matthias Blume
527    Date: 2002/05/20 22:25:00 EDT
528    Tag: blume-20020520-controls
529    Description:
530    
531    - Added ControlUtil structure to control-lib.cm.
532    - Use it throughout.
533    - Used Controls facility to define MLRISC controls (as opposed to
534      registering MLRISC control ref cells with Controls after the fact)
535    - Fixed messed-up controls priorities.
536    
537    * Removed again all the stuff from config/preloads that one wouldn't
538      be able to preload at the time the initial heap image is built.
539      (Many libraries, e.g., CML, do not exist yet at this time.  The
540       only libraries that can be preloaded via config/preloads are those
541       that come bundled with the bootfiles.)
542    
543    ----------------------------------------------------------------------
544    Name: Matthias Blume
545    Date: 2002/05/20 10:59:00 EDT
546    Tag: blume-20020520-preloads
547    Description:
548    
549    Added a lot of commented-out suggestions for things to be included
550    in config/preloads.
551    
552    ----------------------------------------------------------------------
553    Name: Allen Leung
554    Date: 2002/05/18 14:20:00 EDT
555    Tag: leunga-20020518-mdl
556    Description:
557    
558    o Made the mdl tool stuff compile and run again.
559    o I've disabled all the stuff that depends on RTL specifications; they
560      are all badly broken anyway.
561    
562    ----------------------------------------------------------------------
563    Name: Matthias Blume
564    Date: 2002/05/17 16:49:00 EDT
565    Tag: blume-20020517-controls
566    Description:
567    
568    0. John Reppy made several modifications to the SML/NJ library.
569       In particular, there is a shiny new controls-lib.cm.
570    
571    1. Pushed new controls interface through compiler so that everything
572       compiles again.
573    
574    2. Added FormatComb and FORMAT_COMB to the CML version of the
575       SML/NJ library (so that CML compiles again).
576    
577    3. Modified init scripts because XXX_DEFAULT environment variables
578       are no longer with us.  (Boot-time initialization is now done
579       using the same environment variables that are also used for
580       startup-time initialization of controls.)
581    
582    ----------------------------------------------------------------------
583    Name: Lal George
584    Date: 2002/05/15 09:20:10 EDT
585    Tag: george-20020515-pseudo-op-decls
586    Description:
587    
588            All pseudo-ops emitted before the first segment declaration
589    such as TEXT, DATA, and BSS directives are assumed to be global
590    declarations and are emitted first in the assembly file. This is
591    useful in a number of situations where one has pseudo-ops that are not
592    specific to any segment, and also works around the constraint that one
593    cannot have client pseudo-ops in the TEXT segment.
594    
595            Because no segment is associated with these declarations it is
596    an error to allocate any space or objects before the first segment
597    directive and an exception will be raised. However, we cannot make
598    this check for client pseudo-ops.
599    
600            These top level declarations are a field in the CFG graph_info.
601    In theory you can continue to add to this field after the CFG has been
602    built -- provided you know what you are doing;-)
603    
604    ----------------------------------------------------------------------
605    Name: Matthias Blume
606    Date: 2002/05/13 16:40:00 EDT
607    Tag: blume-20020513-pp-etc
608    Description:
609    
610    A few minor bugfixes:
611    
612      - Stopgap measure for bug recently reported by Elsa Gunter (ppDec).
613        (Bogus printouts for redefined bindings still occur.  Compiler
614        bug should no longer occur now.  We need to redo the prettyprinter
615        from scratch.)
616    
617      - CM pathname printer now also adds escape sequences for ( and )
618    
619      - commend and docu fixes for ml-nlffi
620    
621    ----------------------------------------------------------------------
622    Name: Matthias Blume
623    Date: 2002/05/10 16:40:00 EDT
624    Tag: blume-20020510-erg-textio
625    Description:
626    
627    Applied the following bugfix provided by Emden Gansner:
628    
629        Output is corrupted when outputSubstr is used rather than output.
630    
631        The problem occurs when a substring
632    
633            ss = (s, dataStart, dataLen)
634    
635        where dataStart > 0, fills a stream buffer with avail bytes left.
636        avail bytes of s, starting at index dataStart, are copied into the
637        buffer, the buffer is flushed, and then the remaining dataLen-avail
638        bytes of ss are copied into the beginning of the buffer. Instead of
639        starting this copy at index dataStart+avail in s, the current code
640        starts the copy at index avail.
641    
642        Fix:
643        In text-io-fn.sml, change line 695 from
644             val needsFlush = copyVec(v, avail, dataLen-avail, buf, 0)
645        to
646             val needsFlush = copyVec(v, dataStart+avail, dataLen-avail, buf, 0)
647    
648    ----------------------------------------------------------------------
649    Name: Matthias Blume
650    Date: 2002/04/12 13:55:00 EDT
651    Tag: blume-20020412-assyntax
652    Description:
653    
654    1. Grabbed newer assyntax.h from the XFree86 project.
655    2. Fiddled with how to compile X86.prim.asm without warnings.
656    3. (Very) Minor cleanup in CM.
657    
658    ----------------------------------------------------------------------
659    Name: Matthias Blume
660    Date: 2002/04/01 (no joke!) 17:07:00 EST
661    Tag: blume-20020401-x86div
662    Description:
663    
664    Added full support for div/mod/rem/quot on the x86, using the machine
665    instruction's two results (without clumsily recomputing the remainder)
666    directly where appropriate.
667    
668    Some more extensive power-of-two support was added to the x86 instruction
669    selector (avoiding expensive divs, mods, and muls where they can be
670    replaced with cheaper shifts and masks).  However, this sort of thing
671    ought to be done earlier, e.g., within the CPS optimizer so that
672    all architectures benefit from it.
673    
674    The compiler compiles to a fixed point, but changes might be somewhat
675    fragile nevertheless.  Please, report any strange things that you might
676    see wrt. div/mod/quot/rem...
677    
678    ----------------------------------------------------------------------
679    Name: Matthias Blume
680    Date: 2002/03/29 17:22:00
681    Tag: blume-20020329-div
682    Description:
683    
684    Fixed my broken div/mod logic.  Unfortunately, this means that the
685    inline code for div/mod now has one more comparison than before.
686    Fast paths (quotient > 0 or remainder = 0) are not affected, though.
687    The problem was with quotient = 0, because that alone does not tell
688    us which way the rounding went.  One then has to look at whether
689    remainder and divisor have the same sign...  :(
690    
691    Anyway, I replaced the bootfiles with fresh ones...
692    
693    ----------------------------------------------------------------------
694  Name: Matthias Blume  Name: Matthias Blume
695  Date: 2002/03/29 14:10:00 EST  Date: 2002/03/29 14:10:00 EST
696  Tag: blume-20020329-inlprims  Tag: blume-20020329-inlprims

Legend:
Removed from v.1183  
changed lines
  Added in v.1353

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