Skip to content
Snippets Groups Projects
  1. Jun 09, 2004
  2. Jun 04, 2004
  3. Jun 02, 2004
  4. Jun 01, 2004
  5. May 24, 2004
  6. May 18, 2004
  7. May 17, 2004
  8. May 15, 2004
  9. May 14, 2004
    • rtoy's avatar
      Add support for storing the symbol hash into a slot in the symbol · 4d7bf80f
      rtoy authored
      itself.  Only for sparc currently.
      
      Doesn't lazily compute the symbol hash yet.  Simple test shows a 5%
      increase in compilation speed, despite making make-symbol
      significantly slower.
      
      
      	* src/code/hash-new.lisp (internal-sxhash): Use the symbol-hash
      	slot instead of computing the hash value.
      
      	* src/compiler/generic/new-genesis.lisp (allocate-symbol): Write
      	out the sxhash value of the symbol into the symbol-hash slot.
      
      	* src/compiler/globaldb.lisp (info-hash): Update to use the symbol
      	hash instead of computing the sxhash.
      
      	* src/code/symbol.lisp (make-symbol): Compute the symbol hash when
      	creating the symbol.
      
      	* src/compiler/sparc/cell.lisp ((symbol-hash)): Add vop to extract
      	out the symbol hash from a symbol.
      
      	* src/compiler/generic/objdef.lisp: Rename the unused slot to
      	hash, so we can make it the symbol hash.
      4d7bf80f
  10. May 12, 2004
    • rtoy's avatar
      Fix some issues with the complex functions with signed zeroes. See · 3e0a1c82
      rtoy authored
      comment for full details, but the issue is that Lisp says mixing a
      real and a complex requires converting the real to complex before
      doing the operation.  But Kahan's algorithms assume that this doesn't
      happen, like z-1 should not be computed as z-(1+0*i).
      
      One place where this was wrong was for acos(2 +/- 0i).  Kahan says
      acos(2+0i) is +0 - i*acosh(2) and acos(2-0i) is +0 + i*acosh(2).  We
      had this backwards for the above reason.
      
      I think this was caused by the erroneous deftransforms for real op
      complex which were removed sometime ago, causing these function to
      compute the wrong thing.
      3e0a1c82
  11. May 06, 2004
    • rtoy's avatar
      Merge in the 19a changes containing Helmut Eller's implementation for · 35ff77d3
      rtoy authored
      source location for defvar and friends.
      35ff77d3
    • rtoy's avatar
      From Helmut Eller: · c5c28c25
      rtoy authored
      the following enters an infinite recursion if it gets compiled two
      times:
      
      (def-alien-type nil (struct foo
      			    (f (* (function (values) (* (struct foo)))))))
      
      During the second compile, the existing type is compared with the to
      be defined type.  This enters a recursion because (struct foo) is
      recursive and the comparison is done again.  The current code has a
      "depth" counter and simply returns true if it exceeds 10.  But it only
      works for pointers to records and loops forever for function pointers.
      
      The patch below should fix this.  It keeps a hashtable of the already
      compared types and returns true if a pair is already in the hashtable.
      c5c28c25
  12. May 05, 2004
  13. May 04, 2004
  14. Apr 28, 2004
    • emarsden's avatar
      · 7df69e0b
      emarsden authored
      On Linux/AMD64, we need to tell the platform linker to use the 32-bit
      linking mode instead of the default 64-bit mode. This can be done either
      via the LDEMULATION environment variable, or via the "-m" command-line
      option.
      
        - in EXT:LOAD-FOREIGN, add LDEMULATION=elf_i386 to the environment
          inherited by the linker
      
      This assumes that the LDEMULATION environment variable will be ignored by
      the platform linker on Linux/i386 platforms.
      7df69e0b
  15. Apr 23, 2004
  16. Apr 22, 2004
    • rtoy's avatar
      Fix up printing of symbols. Passes Paul Dietz's symbol printing · ae18401e
      rtoy authored
      tests, now.  (Based on SBCL's fixes.)
      ae18401e
    • rtoy's avatar
      Fix up printing of symbols with :capitalize. · 719b5219
      rtoy authored
      719b5219
    • rtoy's avatar
      o Fix typo in output-ratio that was causing incorrect output when · 7204735b
      rtoy authored
        *print-radix* was T.  If *print-base* were 16, the output would be
        #xr<...>.
      
      o Comment out old float printer routines for now.
      7204735b
    • rtoy's avatar
      Oops. Remove unused code. Add a couple of comments. · 52168c78
      rtoy authored
      52168c78
    • rtoy's avatar
      o Fix the float printer to print correctly: · 4958e03b
      rtoy authored
           (float -54965272/1000000000000000000)
      
        was printing as -5.496527e-11 but should be -5.4965272e-11
      
      o Fix the float reader to read correctly, without roundoff:
      
        4.0058643e+8 was incorrectly read as 12518325, 1
        (integer-decode-float results).  It should be 12518326,1.
      
      o Fix the float reader to read floats correctly with unusual values of
        *read-base*:
      
          (let ((*read-base* 2))
            (read-from-string "-4.3e+7"))
      
        used to return a symbol instead of a float.
      
      This changes ported from SBCL.
      4958e03b
    • emarsden's avatar
      · f2b840db
      emarsden authored
      Change the behaviour of EXT:LOAD-FOREIGN when called with a single shared
      library: call SYS::LOAD-OBJECT-FILE directly, without invoking the linker as
      previously. This should make it possible to support the reloading of dependent
      shared libraries upon startup of a saved image.
      
      The new behaviour requires a function FILE-SHARED-LIBRARY-P to be defined. I
      have provided an implementation that works for ELF platforms. This has been
      tested with Linux/x86 and Solaris/SPARC, but is also enabled by
      conditionalization for :bsd (should include FreeBSD and OpenBSD).
      
      Also removed pmax support. IRIX and HPPA platforms will need to provide a
      definition for F-S-L-P.
      f2b840db
  17. Apr 16, 2004
  18. Apr 15, 2004
    • rtoy's avatar
      Fix ansi-test bug on read-sequence and echo-streams. Based on code · 48087ddd
      rtoy authored
      from SBCL.
      48087ddd
    • rtoy's avatar
      More ANSI test fixes: · 2e51cd52
      rtoy authored
      o FILE-STRING-LENGTH can be used on BROADCAST-STREAM's where the
        result is 1.
      o Graphic characters are not printed using the character name (hence
        #\space is printed #\ )
      o Make INPUT-STREAM-P and OUTPUT-STREAM-P work correctly on synonym
        streams.
      o MAKE-STRING-INPUT-STREAM was not accepting NIL for the optional END
        argument.
      o Close string-input streams.  (We weren't before.)
      2e51cd52
  19. Apr 14, 2004
Loading