Skip to content
Snippets Groups Projects
  1. Jan 27, 2006
  2. Jan 23, 2006
    • rtoy's avatar
      Add pprinters for pseudo-atomic, without-scheduling, · 9cc7719d
      rtoy authored
      with-fixed-allocation and number-dispatch.
      9cc7719d
    • rtoy's avatar
      Implement tracing of flet/labels functions. This probably needs more · 45d04c07
      rtoy authored
      work and could probably be implemented better.
      
      With these changes (trace (labels foo bar)) will trace the labels
      function FOO in the function BAR.  We only support encapsulate nil,
      here.  No check is made for this.
      
      code/ntrace.lisp:
      o In TRACE-FDEFINITION, recognize a list as a valid function, and
        return the list as the value of TRACE-FDEFINITION.  This seems
        wrong, but I'm not sure if there's a real fdefinition for it, or if
        we could create a fake one.
      
      code/debug-int.lisp:
      o In FUNCTION-DEBUG-FUNCTION, recognize a list as the name of a
        function, and find the corresponding compiled-debug-function and
        create and return the new compiled-debug-function.
      45d04c07
    • rtoy's avatar
      Change pprinter for flet/labels so that it prints like a list if the · 86561d8a
      rtoy authored
      second element isn't a list (and thus doesn't really look like a
      flet/labels form).
      86561d8a
  3. Jan 19, 2006
  4. Jan 18, 2006
  5. Jan 17, 2006
  6. Jan 09, 2006
  7. Jan 05, 2006
  8. Jan 04, 2006
  9. Jan 03, 2006
    • rtoy's avatar
      o Add new condition REFERENCE-CONDITION which is used to include · 04f6e86b
      rtoy authored
        reference information for other conditions.  This condition prints
        out a short message saying to look somewhere appropriate.
      o Use REFERENCE-CONDITION for the CONSTANT-MODIFIED condition.
      
      (Based on SBCL's REFERENCE-CONDITION.)
      
      This needs work to add more references.
      04f6e86b
    • rtoy's avatar
      Add support for sysinfo on Solaris. · 3b086fb1
      rtoy authored
      code/unix.lisp:
      o Add UNIX-SYSINFO and appropriate constants.
      
      code/exports.lisp:
      o Export UNIX-SYSINFO and corresponding constants.
      
      code/sparc-svr4-vm.lisp:
      o Use UNIX-SYSINFO to provide better values for MACHINE-TYPE and
        MACHINE-VERSION. Instead of the generic "Ultrasparc", we can return
        things like "sun4u" and "SUNW,Sun-Blade-1500".
      
      Use bootfiles/19c/boot-2005-12-2.lisp to bootstrap this change.  Only
      needed for sparc.
      3b086fb1
  10. Dec 29, 2005
  11. Dec 17, 2005
  12. Dec 06, 2005
  13. Dec 04, 2005
  14. Nov 18, 2005
  15. Nov 14, 2005
  16. Nov 13, 2005
  17. 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
  18. Nov 09, 2005
  19. Nov 08, 2005
    • 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
  20. Nov 07, 2005
  21. Nov 04, 2005
  22. 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
  23. Oct 22, 2005
  24. Oct 21, 2005
  25. 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
  26. Oct 19, 2005
    • 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
  27. Oct 18, 2005
  28. Oct 14, 2005
Loading