annotated tag sbcl-2.6.8: created. sbcl-2.6.8

crhodes via Sbcl-commits <[email protected]>
Newsgroups gmane.lisp.steel-bank.cvs
Message-ID <[email protected]>
The annotated tag "sbcl-2.6.8" has been created in SBCL:
        at  97e458c0cdfbe6387bed058bf266e9542cf2c6b2 (tag)
   tagging  62f4bd103264bf1c92fb4fc68305b8307fdd06fb (commit)
  replaces  sbcl-2.6.7
 tagged by  Christophe Rhodes
        on  Fri Aug 28 17:31:36 2026 +0100

- Log -----------------------------------------------------------------
changes in sbcl-2.6.8 relative to sbcl-2.6.7:
  * minor incompatible change: FILE-POSITION on composite streams returns a
    more accurate result for CONCATENATED-STREAM, and NULL on TWO-WAY-STREAM
    and ECHO-STREAM.
  * platform support:
    ** improvements to code generation for the ARM64 backend.
    ** improved support for AVX512 instruction encoding and decoding.  (thanks
       to Arthur Miller)
  * various enhancements to the SB-SIMD contributed module.  (thanks to Sylvia
    Harrington and Arthur Miller)
  * bug fix: FILE-POSITION on a stream after reading input into a list or
    generic sequence returns the correct result.
  * bug fix: allow the manual to build on more platforms.  (lp#2162021)
  * bug fix: infinite loop in the compiler while attempting to remove data
    moves.  (lp#2162597)
  * bug fix: debugger failed to handle (COMPLEX DOUBLE-FLOAT) entities on the
    stack.  (reported by Clint Seinen)
  * bug fix: error reporting from STRING-TO-OCTETS reported using the wrong
    string indices.  (lp#2164924)
  * optimization: the compiler performs assignment conversion in nearly all
    possible cases now, along the lines of Fluet and Weeks' "Contification
    using Dominators" of 2001., which transforms state-machine-like code
    written in terms of local functions into the equivalent tagbody/go control
    structures.
  * optimization: type inference of parameters is now possible for local
    functions which recursively call themselves.  (lp#486416, reported by
    Tobias Rittweiler)
  * optimization: special-case DPB with newbyte of 0 or -1.
  * optimization: more improvements to UTF8 encoding and decoding.
  * optimization: multiple structure TYPEP tests in sequence can elide
    redundant memory loads of layouts.
  * optimization: transform ZEROP of (LDB ...) to an equivalent zero test with
    a mask.  (lp#2162824, thanks to Vasily Postnicov)
-----BEGIN PGP SIGNATURE-----

iQFFBAABCgAvFiEE1oOcoKZ/dNnftwki69WVqRANY80FAmqRt+gRHGNzcjIxQGNh
bnRhYi5uZXQACgkQ69WVqRANY818hQf+PpEn97mF8fOQK2pNdSulrozBzd6OM8Uf
RTG2k3V8segdZ7VfwHTYZIPxrmorFFNgavAlzslhIk3BmPoQG/vwr78jcFgAp/Fk
EbXO3hp8v0XYczRSxhxDxyrZRbrXkeyj5woqndCv1rTbhHFk2mw3y3ky4Tw6ArqP
KGCLOyTHokTEPRC0ja7X52EIimAVtD1sU4RyMHTZuZMvUfhlOxp52yl+xHoeRyFX
WcCqHBGy8s6T02AC0P8ppXoR6wTEnEM/8nQSTpK4bzL3P4mRQvRDkf/qae4l8KiG
nhoryYuYHmD6Ho2q0+aVjKEnPB5bpfW04uSR4rSk9niTn341hv1SnQ==
=OVZE
-----END PGP SIGNATURE-----

Charles Zhang (14):
      Add some failing contification test cases from Fluet and Weeks.
      Fix test.
      Assignment convert all the things.
      Propagate local call argument types optimistically as well.
      assignment-convert: Don't try to be so smart with cleanups.
      assignment-convert: Handle tail calls and cleanups better (again).
      Have CTU:COMPILER-DERIVED-TYPE return the final dervied type.
      Infer local call argument types from how the arguments step.
      Constrain local call parameters from their arguments.
      Restore test case.
      Make some prose less bad.
      Delete unused function.
      constraint: Inherit EQL var constraints from local calls as well.
      Adjust NEWS

Christophe Rhodes (2):
      Draft NEWS for sbcl-2.6.8
      2.6.8: will be tagged as "sbcl-2.6.8"

Douglas Katzman (43):
      Detection redefs in genesis for #+linkage-space
      Grow consets more lazily
      Change #-conset-is-sset to #+bitmapped-conset
      Clarify a comment
      Make character-set unparser more useful when cross-compiling
      Fix failure to choose a jump table for a key type of (MOD 4)
      Hack load_core_files by moving a static var
      Speed up looking in the ctype-list-hash-set
      Remove questionable profiling result
      Perform local common subexpression elimination for some memory loads
      Skip common subexpr elim for lambda enclosed in a let
      Return NIL from ok-to-flush for potentially trapping special refs
      Disable CSE logic
      Add sb-vm:%atomic-exchange
      Guard a thing with backend-subfeatures
      Use correct test for a slot that can hold fixnum
      Silence one more compiler-note from bignum
      Silence some output of make-target-2 if --noinform was given
      Remove effectless case
      Ensure that hash-table-index-vector stays with the table
      build-all-cores
      Remove some special vars from DEFCLASS parser
      Recognize the pattern (if (member x `(,this ,that)) ...)
      Decrease some repetition
      Improve codegen for chain of structure-TYPEP tests
      Use zeroize
      Delete 6-year-old TODO
      Remove some nops for ancient MIPS I support
      Factor out boilerplate from structure-is-a
      Fix typo
      Assign layout-ids just-in-time as originally intended
      Enable most of clos.impure for --evaluator-mode interpret
      Prefer not to use #+#. in tests
      Remove #+#. from x86-64 files
      x86[-64]: Invent syntactic convenience in define-assembly-routine
      Preemptively adjust a test
      build-all-cores
      Make EMIT-EA more complicated
      Apply various micro-optimizations to VECTOR-FILL/T
      x86-64: Permute Lisp arg-passing registers
      Augment genesis/number-types.h, don't make more headers
      build-all-cores
      Fix a C style warning

Gabor Melis (5):
      Micro-optimize GET-OUTPUT-STREAM-STRING
      Micro-optimize %LOOKUP-SYMBOL
      Micro-optimize READ-STRING
      sb-manual: skip undefined things when building the manual
      fix ffi documentation at the source

Stas Boukarev (128):
      Exclude 0 from fd-stream-element-size
      arm64: prefer orr + lsl to bfm
      arm64: don't translate (dpb x (byte ..) 0) to bfm
      arm64: use BIC instead of AND if it can load a smaller constant
      arm64: try sign-extending when encoding constants for logand
      Better (dpb 0 (byte s 0) x) and (dpb -1 (byte s p) x)
      The cerror in cold-fset works fine
      Encode the remaining bmi1/2 instructions, movbe
      Fix a test for :interpreter
      arm64: full unicode decoding in utf8-crlf-to-character-string
      arm64: off by one in utf8-to-character-string-sized
      arm64: simd utf8-crlf-to-character-string-sized
      arm64, utf8-crlf-to-character-string: exit in time
      Avoid infinite recursion in remove-moves
      Don't break M-. by manipulating *features* at compile-time
      Don't break M-. by manipulating *features* at compile-time, actually
      Fix do-conset-elements for big-endian
      sb-simd: separate x86-64 and arm64 things
      Fix file-position on copmosite streams
      Fix a test
      Fix a test on windows
      functional-kind can't be zombie and let at the same time
      Improve the (zerop (ldb ..)) transform
      Avoid creating bignums for (zerop (mask-field ...))
      x86-64: sign-extend logand constants to make them encodable
      ppc, ppc64: add %raw-instance-cas/signed-word
      x86-64: fix debugger access to stack complex double-floats
      Fix a test
      read-sequence: don't test for lists first
      Change how file-position works on variable encodings
      Declare that unread-char returns nil
      Move some code to the caller of external-format-char-size
      Remove ansi-stream-csize-buffer
      Fix file-position when ansi-stream-in-buffer is used
      read-byte transform: refill the buffer instead of just calling n-bin
      Remove debugging and unused code
      arm64: full unicode encoding in character-string-to-utf8
      arm64, character-string-to-utf8: faster newline tracking
      arm64: add sqshrn instructions
      arm64, character-string-to-utf8: delay newline tracking
      Add a test for character-string-to-utf8
      Don't produce a compile time warning for (setf (char string 0) #\é)
      arm64-simd: use a helper function more
      arm64 utf8-strlen: test for null and non-ascii at the same time
      Speed up arm64/character-string-utf8-length
      x86-64/character-string-utf8-length: don't repeat the same instruction
      x86-64/character-string-utf8-length: support very large strings
      arm64: encode simd scalar add, sub, and vector/scalar neg
      character-string-utf8-length: speed up surrogates tests
      arm64/character-string-to-utf8: slightly faster surrogate check
      Fix specialized XEPs with ignored parameters, again
      Add a way to jump to lisp code tags from inline-vop
      arm64/character-string-to-utf8: do not exit early on surrogates
      ppc-vm: context-float-register is implemented on freebsd
      arm64/utf8-strlen: remove redundant instructions
      Copy the changes from utf8-strlen to utf8-to-character-string
      x86-64: full unicode encoding in simd character-string-to-utf8
      x86-64: full unicode decoding in utf8-to-character-string-avx2
      arm64-simd: streamline start/end calculations
      #+sb-unicode
      utf8-to-character-string-avx2: smaller 8-to-32 widening
      utf8-to-character-string-avx2: free up a register using vpmaddubsw
      More optimizations in utf8-to-character-string-avx2
      character-string-to-utf8-avx2: free up a register
      x86-64: encode lddqu
      x86-64-simd: improve crlf detection
      Appease cmucl
      Remove an extra vzeroupper
      character-string-to-utf8-avx2: reduce memory loads
      utf8-simd: reduce tagging/untagging for arguments/results
      Add some (safety 0)
      character-string-to-utf8-avx2: shrink the lookup table
      arm64/character-string-to-utf8: use a lookup table for sizes
      arm64: fix fast-logand-c/unsigned=>unsigned
      Stop reusing potentially optimized inlined functions
      arm64/character-string-to-utf8: don't use a lookup table for sizes
      arm64/character-string-to-utf8: reduce a LUT by 4KB
      avx2/character-string-to-utf8: reduce a LUT by 4KB
      arm64/character-string-to-utf8: reduce GPR calculations
      ffi.texinfo: struct by value is supported on Windows
      avx2/character-string-to-utf8: don't use a lookup table for sizes
      avx2/character-string-to-utf8: simplify calculations
      Prevent var substitution with lvar-type-annotations
      avx2/character-string-to-utf8: optimize newline tracking
      Use a smaller instruction
      Replace two instructions with one
      Fix ldb transforms
      Never transform ELT to NTH
      Don't stop compilation on bad type declarations
      arm64/utf8-sap-to-character-string: add a 1/2-byte fast path
      Rearrange branches
      arm64/utf8-to-string: return to the fast path from the full loop
      read-line: faster return if #\Newline is in the buffer
      clos.impure passes on sb-eval too
      Remove mappings from float-regs to offsets
      Copying error
      decode-universal-time: don't do mod and truncate separately
      (- a (- a b)) => b
      avx2/utf8-to-character-string: add a 1/2-byte fast path
      Remove non-ascii characters from sources
      x86-64-simd: use helper functions throughout
      Incomplete previous diff
      Move an instruction.
      arm64/character-string-to-utf8: add a fast-path for 1-2 bytes
      arm64/character-string-to-utf8: escape back to ascii-loop
      arm64/character-string-to-utf8: jump to ascii-loop from a better place
      Improve utf-8 tests
      Add a folder stub for reverse-values-list
      Remove defknowns for removed functions
      avx2/utf8-strlen: fix the 1/2 byte fast path
      Correctly signal encoding errors from string-to-octets
      Add an assertion
      Stop touching avx512 registers in c-call
      arm64: fix %make-simd-pack-double/single
      Fix %make-simd-pack-512-single
      Fix avx-512 register allocation
      Save avx-512 registers around foreign calls
      Don't save avx512 registers in alloc tramps
      Remove debug output
      Fix avx512 instruction encoding for ymm16-31
      Fix disassembler
      Reset dstate-disp-n to 0
      Disassemble more avx512 instructions
      Fix emit-avx512-inst-imm
      Add a test for foldable functions without a runtime function
      Protect a test with #+
      Remove dstate-disp-n
      Adjust NEWS

Sylvia Harrington (1):
      sb-simd: Implement vector sap-ref for arm64

Vasily Postnicov (1):
      Rewrite (zerop (ldb ...)) as (zerop (logand ...))

arthur (9):
      Correct the user facing function for vpsubusb instruction
      sb-simd: support for load/store to and from SAPs
      fix movdqu64 in move for avx512 + test warning
      Remove duplicate primtype definition for simd-pack-512
      Fix bug in selecting kregister in avx512-insts.lisp
      Basic support for AVX512 mask registers
      x86-64: rename xmm-tn-p to float-tn-p
      EVEX: add V' and improve 5-bit register decoding
      add infrastructure for EVEX compressed displacement

-----------------------------------------------------------------------


hooks/post-receive
-- 
SBCL

_______________________________________________
Sbcl-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sbcl-commits
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.