Skip to content
Snippets Groups Projects
  1. Dec 01, 2005
  2. Nov 30, 2005
  3. Nov 29, 2005
  4. Nov 20, 2005
    • rtoy's avatar
      Fix the long-long callback issues reported by Luis Oliveira, · df0e56dc
      rtoy authored
      cmucl-imp, 2005/11/02.
      
      o long-long args to callbacks were getting the wrong value because
        both halves were getting written to the same memory location when
        saving register args to memory.
      o A long-long return value was getting word-swapped; ppc is
        big-endian, not little-endian.
      df0e56dc
  5. Nov 18, 2005
  6. Nov 17, 2005
    • rtoy's avatar
      Fix up issues with calling varargs functions. (There is probably a · 806c63c5
      rtoy authored
      better solution, but this works.)  Although we don't have to, we
      always copy float args to an int register or stack.
      
      compiler/aliencomp.lisp:
      o Clean up and comment what we're doing here for ppc.
      o Use the new MOVE-{SINGLE,DOUBLE}-TO-INT vops to make the float go to
        the right integer register or stack location.
      
      compiler/ppc/c-call.lisp:
      o Add comments
      o Make the float :arg-tn methods handle storing of floats to the int
        stack.
      
      compiler/ppc/float.lisp:
      o Add MOVE-{SINGLE,DOUBLE}-TO-INT vops to copy a float to an int or
        stack.
      806c63c5
  7. Nov 15, 2005
  8. Nov 14, 2005
  9. Nov 13, 2005
  10. Nov 12, 2005
    • rtoy's avatar
      CMUCL wasn't properly calling C varargs functions because it wasn't · 3cce7d43
      rtoy authored
      copying float args to the int registers in addition to the float
      regs.  This really only needs to be done for varargs functions, but we
      don't have a way of indicating that right now.  So always copy.
      
      A simple test is
      
      (alien:alien-funcall
        (alien:extern-alien "printf"
                             (function c-call:void c-call:c-string
                             c-call:double))
        "%f" pi)
      
      Still needs some work.
      
      compiler/ppc/c-call.lisp:
      o Make the :arg-tn method for single- and double-float return a list
        consisting of the Tn for the float register to use and the integer
        register(s) in which to save the float.
      
      
      compiler/aliencomp.lisp:
      o Tell the ir2-convert function for %alien-funcall how to handle the
        list of TN's that the :arg-tn method might return.  Copy the float
        value to the integer register(s) appropriately.
      3cce7d43
    • rtoy's avatar
      277dded1
  11. Nov 11, 2005
    • rtoy's avatar
      Alignment of objects inside of structures is weird on Mac OS X. The · 00284c2f
      rtoy authored
      first slot gets the natural alignment, but all subsequent slots get
      4-byte alignment, even if the object is a double or long long.
      
      o Add EMBEDDED-ALIGNMENT to compute this alignment of embedded
        objects.
      o Modify PARSE-ALIEN-RECORD-FIELDS to cause the appropriate alignment
        of slots in a struct.
      00284c2f
    • rtoy's avatar
      Fix bug in peek-char for Gray streams. Reported by Walter Pelissero, · 698807d6
      rtoy authored
      cmucl-imp, 2005-11-10, with fix.
      
      o Apply Walter's fix, because it was missing the fifth arg to
        GENERALIZED-PEEKING-MECHANISM.
      o Change GENERALIZED-PEEKING-MACHINISM to use keyword args instead of
        optional args, to prevent this kind of bug.
      698807d6
  12. Nov 10, 2005
    • rtoy's avatar
      compiler/globaldb.lisp: · c9afe45f
      rtoy authored
      o Add a documentation type for the typed-structure class.
      
      pcl/cmucl-documentation.lisp:
      o Use the new type to add documentation support for structures of type
        list and vector.
      c9afe45f
  13. Nov 09, 2005
    • rtoy's avatar
      Add more precise checking for results not used for functions like · 26acdd0b
      rtoy authored
      NREVERSE and DELETE.  When given vectors, the vectors are modified
      in-place, so we don't have to use the result.
      
      compiler/fndb.lisp:
      o Functions like NREVERSE and DELETE that take sequences need to check
        to see if the sequence might be a list or not before warning about
        if the result is not used.
      o MERGE needs a fancier :result-not-used function, so disable that for
        now.
      
      compiler/knownfun.lisp:
      o LIST-FUNCTION-RESULT-NOT-USED creates a function to check is the
        specified arg is a list and determines if the result is used or not.
      26acdd0b
    • rtoy's avatar
      2b1fb181
    • rtoy's avatar
      Oops. It helps actually to check to see if the result of SORT or · e01fc306
      rtoy authored
      ADJUST-ARRAY is used or not.
      e01fc306
    • rtoy's avatar
      Oops. Remove unused function, and make sure we have an array type · 27533ab2
      rtoy authored
      before asking if it's a complex array.
      27533ab2
    • rtoy's avatar
      Change how the important-result stuff is implemented. We no longer · ec85d432
      rtoy authored
      use an IR1 attribute but allow arbitrary functions to determine if the
      result is used or not.  This allows us to handle SORT and ADJUST-ARRAY
      depending on the args.
      
      Use 19c/boot-2005-11-1.lisp to bootstrap this change.
      
      compiler/knownfun.lisp:
      o Remove IMPORTANT-RESULT attribute.
      o Add new slot to function-info the hold the function to indicate if
        the result is not used.
      o Adjust %defknown with a new keyword arg :result-not-used for the new
        slot.
      o Add functions for the result-not-used arg for
        o SORT-RESULT-NOT-USED-P: non-NIL if the sequence might be a list.
        o ADJUST-ARRAY-RESULT-NOT-USED-P: non-NIL if the array is not known
          to be adjustable.
        o FUNCTION-RESULT-NOT-USED-P:  non-NIL if function result must be
          used (for functions like nreverse).
      
      compiler/ir1opt.lisp:
      o Remove now unused function CHECK-IMPORTANT-RESULT
      o Add check in IR1-OPTIMIZE-COMBINATION to see if function result
        should be used.
      
      compiler/fndb.lisp:
      o Remove IMPORTANT-RESULT attribute and replace with :result-not-used.
      ec85d432
  14. Nov 08, 2005
    • rtoy's avatar
      o Make HEAD version of release-19c.txt match the actual release-19c.txt · 9a862e13
      rtoy authored
        in the 19c release.
      o Move the new stuff to the new file, release-19d.txt.
      9a862e13
    • rtoy's avatar
      Add an extension to allow printing pathnames using the syntax · 527266cd
      rtoy authored
      #P(<make-pathname args).  So most pathnames can be printed readably,
      even if they have weird components.  But we don't handle search-lists
      and patterns very well because we don't have readable syntax for
      those.
      
      code/sharpm.lisp:
      o Make the #P reader accept lists and apply make-pathname on them to
        create the pathname
      
      code/pathname.lisp:
      o If a pathname has no namestring, then try to print out the pathname
        object using #P(foo) syntax, if possible.  If not possible, just
        print out the pathname unreadably, as we used to.
      o Put some conditional newlines when printing out unprintable
        pathnames so it wraps a bit better.  (Needs work.)
      527266cd
  15. Nov 07, 2005
  16. Nov 04, 2005
  17. Nov 03, 2005
  18. Oct 26, 2005
  19. 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
  20. 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
  21. Oct 22, 2005
  22. Oct 21, 2005
Loading