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