Skip to content
Snippets Groups Projects
  1. Nov 04, 2005
  2. Nov 03, 2005
  3. Oct 26, 2005
  4. Oct 25, 2005
    • rtoy's avatar
      Compiler was not handling things like the following: · 680389bc
      rtoy authored
      (defun zot ()
        (flet ((%f (&key)
      	   :bad))
          (%f nil nil)))
      
      This should produce a compile-time warning and a run-time error that
      NIL is not a valid keyword.
      
      To fix this, in CONVERT-MORE-CALL listify the name so we can
      distinguish no LOSER's or a LOSER whose name is NIL.
      680389bc
  5. Oct 24, 2005
    • rtoy's avatar
      Fix ansi-test logical-pathname.error.2 which was failing because · 98ab1c48
      rtoy authored
      LOGICAL-PATHNAME-NAMESTRING-P wasn't defined anywhere.
      
      o Add LOGICAL-PATHNAME-NAMESTRING-P and adjust LOGICAL-PATHNAME to use
        it.
      
      o Print out identity when printing logical-hosts.  (This unrelated
        change makes it easier to see that the user's BOGUS logical host
        isn't the same as the BOGUS logical host used in
        *LOGICAL-PATHNAME-DEFAULTS*.
      98ab1c48
  6. Oct 22, 2005
  7. Oct 21, 2005
  8. Oct 20, 2005
    • rtoy's avatar
      Fix some issues with two-arg log function. (log 17 10f0), (log 17f0 · 0f17dd30
      rtoy authored
      10), and (log 17 10) returned different single-float results.  I think
      this is allowed by ANSI CL, but I think it's unfortunate.
      
      Therefore, try to apply float contagion to the arguments before
      computing the log function.  Also, if both args are single-floats or
      rationals, we coerce them to double-floats before computing the
      result.  This makes (log 17 10) = (log 17.0 10).
      
      There are other cases still to be considered.
      0f17dd30
  9. Oct 19, 2005
    • rtoy's avatar
      Bootstrap file for the port of SBCL'S support for detecting when · d3e339fa
      rtoy authored
      destructive functions (such as nreverse) modify constant args and for
      warning when the result of destructive functions is not used.
      d3e339fa
    • rtoy's avatar
      Port SBCL'S support for detecting when destructive functions (such as · 31ddb605
      rtoy authored
      nreverse) modify constant args and for warning when the result of
      destructive functions is not used.
      
      Detecting modification of constant args is done by adding a new IR1
      transformation that checks that a function is not destructively
      modifying constants or literals.
      
      A new IR1 attribute, important-result, is used to determine if the
      result of a function should be used instead of discarded.  (Note:
      this means some functions are not detected.  This should probably be
      implemented as another transform so the compiler can detect those cases.)
      
      code/error.lisp:
      o Add new condition CONSTANT-MODIFIED.
      
      compiler/fndb.lisp:
      o Note destructive functions that should not modify constant args
      o Note destructive functions whose results should be used.
      
      compiler/ir1opt.lisp:
      o Add new function CHECK-IMPORTANT-RESULT to check if the result is
        used.
      o Update IR1-OPTIMIZE-COMBINATION to check if a function destructively
        modifies constant args or if the result of a destructive function is
        not used.
      
      compiler/knownfun.lisp:
      o Add new IR1 attribute, IMPORTANT-RESULT, to indicate that the result
        of a function should be used.
      o Add new FUNCTION-INFO slot, DESTROYED-CONSTANT-ARGS.  This holds a
        function for computing the constant or literal arguments which are
        destructively modified by the function.
      o Add support functions for DESTROYED-CONSTANT-ARGS functions.
      31ddb605
  10. Oct 18, 2005
  11. Oct 14, 2005
  12. Oct 11, 2005
    • rtoy's avatar
      o Adjust CALLBACK-ACCESSOR-FORM to handle 64-bit integer and · 5ad81686
      rtoy authored
        double-floats correctly.  (Double's were broken before.)
      o Fix MAKE-CALLBACK-TRAMPOLINE-SEGMENT which wasn't saving all the
        callee-saved registers and was not adjusting the stack properly when
        saving these registers.
      
      These changes should (Ha!) fix all of the issues reported by Luis
      Oliveira for ppc callbacks.
      5ad81686
  13. Oct 10, 2005
  14. Oct 07, 2005
  15. Oct 06, 2005
  16. Oct 05, 2005
  17. Oct 03, 2005
  18. Sep 30, 2005
    • rtoy's avatar
      parse-unix-namestring: · c0715083
      rtoy authored
      o Don't allow a namestring to be parsed as a search-list if a logical
        host with the same host name already exists.  Allowing this causes
        confusing in printing such pathnames because, when read, the logical
        host takes precedence.
      
      unparse-unix-file:
      o Preserve version :NEWEST when printing out logical pathnames.  This
        makes #p"host:foo.bar.newest" readable.
      c0715083
    • rtoy's avatar
      For all intents and purposes, pathnames with :version nil and :version · f629b245
      rtoy authored
      :newest are equivalent in CMUCL.
      
      src/pathname.lisp:
      o Make EQUAL compare pathnames such that version nil and :newest are
        equal.
      
      src/hash-new.lisp:
      o Adjust sxhash to treat :version nil and :newest the same.  (Version
        :newest is hashed as if it were nil.)
      f629b245
    • rtoy's avatar
      Clean up code callback trampoline code: · 8c8e5151
      rtoy authored
      o Remove unused function
      o Remove redundant stack-pointer variable
      o Clean up comments.
      8c8e5151
    • rtoy's avatar
      The callback trampoline needs to save at least r13 and r24 to prevent · bef0d90d
      rtoy authored
      them from getting clobbered because the linkage-table trampoline uses
      them.  This was causing the callback qsort example from Luis Oliviera
      to fail.
      
      There might be other registers that need saving.
      bef0d90d
  19. Sep 29, 2005
Loading