|
1 | 1 | ;;;; -*- coding: utf-8; fill-column: 78 -*- |
2 | 2 |
|
| 3 | +changes relative to sbcl-2.5.0: |
| 4 | + * minor incompatible change: SBCL now reveals details of its COMPLEX |
| 5 | + representations through UPGRADED-COMPLEX-PART-TYPE, rather than hiding |
| 6 | + them. |
| 7 | + * minor incompatible change: the compiler will warn on the use of a |
| 8 | + SATISFIES type with an undefined function. (lp#576608, reported by Roman |
| 9 | + Marynchak) |
| 10 | + * minor incompatible change: (room t) now counts the space taken by the |
| 11 | + internals of hash-tables and CLOS instances. |
| 12 | + * platform support |
| 13 | + ** fixes to the included version of ASDF, and to sockets functions, for |
| 14 | + the Haiku operating system. (thanks to Alexandru Popa) |
| 15 | + ** add support for CAS (compare-and-swap) on SAPs for arm64, x86-64 and |
| 16 | + (partially) RISC-V. (lp#1894057, reported by Yukari Hafner) |
| 17 | + ** the system is now consistent with 64-bit time_t on 32-bit linux |
| 18 | + platforms. (lp#2063340, reported by Peter van Eynde) |
| 19 | + ** restore building on 32-bit ARM with newer gcc versions. (lp#1839783, |
| 20 | + reported by Sébastien Villemot) |
| 21 | + ** fix large stack allocation on 64-bit Windows. |
| 22 | + * CL portability fixes to the definitions of certain compiler structures, |
| 23 | + detected by CLISP. (lp#2064301, lp#2064312, thanks to Robert Brown) |
| 24 | + * bug fix: structure BOA constructors with &REST arguments no longer cause |
| 25 | + structure slots named NIL or T to be unconditionally initialized with the |
| 26 | + values NIL and T respectively. |
| 27 | + * bug fix: structure BOA constructors without values for some slots no |
| 28 | + longer cause compilation errors for initforms that are not a single |
| 29 | + variable. |
| 30 | + * bug fix: sequence functions handle :TEST and :TEST-NOT both being given |
| 31 | + uniformly. (lp#309143) |
| 32 | + * bug fix: the type system is better equipped to handle complicated unions |
| 33 | + of numeric types. (lp#308937, lp#1694839, lp#1734959, lp#2073544) |
| 34 | + * bug fix: misoptimization of VALUES-LIST in the presence of intervening |
| 35 | + stack operations. (reported by haruhi.s) |
| 36 | + * bug fix: apply the limit to inline expansions more selectively. |
| 37 | + (lp#2092518, reported by Andrew Kravchuk) |
| 38 | + * bug fix: compiler-detected type mismatches are reported even given the |
| 39 | + presence of inlined functions. (lp#2092613, reported by Vasily Postnicov) |
| 40 | + * bug fix: improved type error detection for inlined array construction forms. |
| 41 | + (lp#2092889, reported by Vasily Postnicov) |
| 42 | + * bug fix: accesses to multidimensional arrays are now checked based on the |
| 43 | + (internal) INSERT-ARRAY-BOUNDS-CHECKS declaration, as with one-dimensional |
| 44 | + arrays. (lp#2095155, thanks to Vasily Postnicov) |
| 45 | + * bug fix: sb-bsd-sockets:socket-connect handles EINTR caused by GC signals. |
| 46 | + |
| 47 | +changes in sbcl-2.5.0 relative to sbcl-2.4.11: |
| 48 | + * platform support: |
| 49 | + ** improve support for the Haiku operating system. (thanks to Al Hoang, |
| 50 | + Estevan Castilho and Alexandru Popa) |
| 51 | + * bug fix: generic functions with a large number of required arguments, with |
| 52 | + methods with specializations on exactly STANDARD-OBJECT or |
| 53 | + FUNCALLABLE-STANDARD-OBJECT, test the types of their arguments more |
| 54 | + correctly. |
| 55 | + * bug fix: defining a method on SB-MOP:SLOT-VALUE-USING-CLASS where the |
| 56 | + object argument is specialized to a CONDITION-CLASS no longer leads to an |
| 57 | + internal error. |
| 58 | + * bug fix: the dissassembler on x86-64 correctly disassembles the vcvttpd2dq |
| 59 | + AVX2 instruction. |
| 60 | + * bug fix: ensure that the dispatch function for generic functions is |
| 61 | + compiled with a known compilation policy. (reported by Neil Goldman) |
| 62 | + * bug fix: the compiler retains less intermediate data between COMPILE-FILE |
| 63 | + forms. (lp#1557590, reported by andy arvid) |
| 64 | + * bug fix: the (invalid) :INITARGS slot option keyword is reported on. |
| 65 | + (lp#1887014, reported by Wayne Rittiman, Jr) |
| 66 | + * bug fix: the SB-SIMD s16.8-maddubs accepts packs of 16 8-bit quantities, |
| 67 | + not 8 16-bit quantities. (lp#2069538, reported by Georgios Makris) |
| 68 | + * bug fix: compiling a TYPECASE to dispatch between many user-defined |
| 69 | + classes no longer takes exponential time. (lp#2089311, reported by Tomas |
| 70 | + Hlavaty) |
| 71 | + * bug fix: derive the new type for a variable when setting it to a function |
| 72 | + of its previous version. (lp#2090997, reported by Vasily Postnicov) |
| 73 | + * bug fix: properly clear compiler annotations on variables set to new |
| 74 | + values involving functions of themselves. (lp#2090967, reported by Kirill |
| 75 | + A. Korinskiy) |
| 76 | + * bug fix: handle BY in LOOP forms involving iteration on the reverse of a |
| 77 | + list. (lp#2091210, reported by James Kalenius) |
| 78 | + * bug fix: fix miscompilation of IF where the consequent and alternative |
| 79 | + would have the same value but for an intervening side-effect. |
| 80 | + (lp#2092588, reported by JA) |
| 81 | + * optimization: SLOT-VALUE and (SETF SLOT-VALUE) on method arguments |
| 82 | + specialized to structure classes are compiled to the corresponding |
| 83 | + structure accessor. |
| 84 | + * optimization: calls to SLOT-VALUE (and related operators) on method |
| 85 | + arguments specialized to instances of SB-MOP:FUNCALLABLE-STANDARD-CLASS |
| 86 | + are optimized similarly to calls on method arguments specialized to |
| 87 | + instances of STANDARD-CLASS. |
| 88 | + * optimization: (coerce (reverse list) 'vector) doesn't cons a list. |
| 89 | + * optimization: (replace vector (reverse list)) doesn't cons a list. |
| 90 | + |
| 91 | +changes in sbcl-2.4.11 relative to sbcl-2.4.10: |
| 92 | + * enhancement: define SB-EXT:*DEFAULT-SOURCE-EXTERNAL-FORMAT* as the |
| 93 | + external format for reading source files (for direct use in LOAD and |
| 94 | + COMPILE-FILE). On Windows, this defaults to an external format with CRLF |
| 95 | + line-endings. (lp#720517, reported by Mark David) |
| 96 | + * minor incompatible change: the documentation of |
| 97 | + SB-SEQUENCE:MAKE-SEQUENCE-LIKE has been altered to match its |
| 98 | + implementation regarding the (un)initialization of the sequence if neither |
| 99 | + :INITIAL-CONTENTS nor :INITIAL-ELEMENT is provided. |
| 100 | + * minor incompatible change: the outputs from SB-GROVEL no longer contain |
| 101 | + calls to SB-GROVEL::DEFINE-FOREIGN-ROUTINE, but call |
| 102 | + SB-ALIEN:DEFINE-ALIEN-ROUTINE directly; the definitions of some other |
| 103 | + SB-GROVEL utilities has also changed. |
| 104 | + * platform support: |
| 105 | + ** The system is more likely to build with the musl C library. (thanks to |
| 106 | + Masatoshi SANO) |
| 107 | + ** It is possible to build 32-bit binaries on NetBSD/x86-64 systems. |
| 108 | + (thanks to Masatoshi SANO) |
| 109 | + ** Stale big-endian ARM code in callbacks is no longer present. |
| 110 | + (lp#2087866, reported by Rongcui Dong) |
| 111 | + ** Correct the encoding of the VPSHUFD AVX2 instruction. (reported by |
| 112 | + Dmitry Ignatiev) |
| 113 | + ** Implement the PINSRQ SSE instruction and provide access to it in |
| 114 | + SB-SIMD. |
| 115 | + ** Fix some signed/unsigned and 32-bit issues in the runtime leading to |
| 116 | + problems with large --dynamic-space-size. (lp#2087986) |
| 117 | + * bug fix: cross-reference information about structure accessors is |
| 118 | + preserved when compilation policy requires it. |
| 119 | + * bug fix: changing &ALLOW-OTHER-KEYS in a generic function's lambda list |
| 120 | + needs to invalidate the effective methods cache. (reported by Robert |
| 121 | + Strandh) |
| 122 | + * bug fix: calling DISASSEMBLE on a method-function provides a more useful |
| 123 | + disassembly. |
| 124 | + * bug fix: PROCESS-CLOSE no longer leaks a zombie process. |
| 125 | + * bug fix: interaction between SYMBOL-MACROLET and SPECIAL declarations is |
| 126 | + handled more correctly in the code walker. (lp#1053198) |
| 127 | + * bug fix: better scaling when compiling large numbers of calls to local |
| 128 | + functions. (lp#1379661, reported by 3b and Burton Samograd) |
| 129 | + * bug fix: allow the compiler to approximate types involving large bignums |
| 130 | + or ratios with large numerator or denominator. (lp#2085637) |
| 131 | + * bug fix: miscompilation of type tests involving STRUCTURE-OBJECT. |
| 132 | + (lp#2088417) |
| 133 | + * optimization: CONCATENATE with consing arguments can elide some of the |
| 134 | + intermediate consing. |
| 135 | + * optimization: the implementations of various external-formats have been |
| 136 | + sped up. |
| 137 | + * optimization: elide %SAP-ALIEN calls if all uses dereference the resulting |
| 138 | + ALIEN object. |
| 139 | + * optimization: faster (expt integer integer) when computing fixnum results. |
| 140 | + * optimization: (ash unknown-integer right) can use modular arithmetic. |
| 141 | + * optimization: (apply x ... list) avoids consing intermediate lists in more |
| 142 | + situations. |
| 143 | + * optimizations for arm64, x86-64: |
| 144 | + ** AREF on non-simple arrays with known element type is faster, along with |
| 145 | + uses such as LOOP ACROSS, VECTOR-PUSH/POP/EXTEND. |
| 146 | + ** SIMD variants for POSITION for strings, 8 and 32 bit integer arrays. |
| 147 | + ** faster overflow checking for (the fixnum (+ fixnum fixnum)) |
| 148 | + |
| 149 | +changes in sbcl-2.4.10 relative to sbcl-2.4.9: |
| 150 | + * minor incompatible change: SB-POSIX::POSIX-FORK is no longer exported from |
| 151 | + SB-POSIX. (The interface function, SB-POSIX:FORK, remains exported). |
| 152 | + * platform support: |
| 153 | + ** fix bugs in instruction encoding on RISC-V; (reported by Guillaume Le |
| 154 | + Vaillant) |
| 155 | + ** fix the location of the linkage-table comment in disassembly on 64-bit |
| 156 | + powerpc; |
| 157 | + ** elide allocation of empty number stack frames on arm64; |
| 158 | + ** fix crash on x86 platforms in compiling array dereferencing with |
| 159 | + computed offsets with negative intermediate results. (lp#2084943) |
| 160 | + * enhancement: the error message from standard object slot typecheck |
| 161 | + functions in optimized constructors is clearer about the context of the |
| 162 | + failed type check. |
| 163 | + * enhancement: BREAK is no longer tail-called, even when in tail position. |
| 164 | + * enhancement: on arm64 and x86-64, specialized entry points for functions |
| 165 | + known to take or return fixed numbers of double floats are generated and |
| 166 | + can be automatically called without boxing intermediate floats. |
| 167 | + * bug fix: RUN-PROGRAM no longer leaks memory by referencing otherwise |
| 168 | + unreachable stream instances. |
| 169 | + * bug fix: exporting or unexporting symbols during package iteration no |
| 170 | + longer causes any symbol to be visited more times than expected. |
| 171 | + * bug fix: DISASSEMBLE preserves the comment marker across line-breaks for |
| 172 | + long function or segment names. (lp#1889456, thanks to Fedorov Alexander) |
| 173 | + * bug fix: the compiler no longer loops infinitely trying to compile |
| 174 | + NOTINLINE calls to known functions with source transform definitions. |
| 175 | + (lp#2085451, reported by Fedorov Alexander) |
| 176 | + |
| 177 | +changes in sbcl-2.4.9 relative to sbcl-2.4.8: |
| 178 | + * minor incompatible change: FIND, POSITION (and variants) now check :START |
| 179 | + and :END arguments for validity as bounding index designators for list |
| 180 | + sequences. |
| 181 | + * platform support: |
| 182 | + ** improve support for Solaris and variants on x86 and x86-64. (thanks to |
| 183 | + Masatoshi SANO) |
| 184 | + ** fix a bug in handling timeouts and interrupted system calls in |
| 185 | + SB-UNIX:UNIX-SIMPLE-POLL. (lp#2078824, thanks to Michał phoe Herda) |
| 186 | + ** fix a bug in the lisp understanding of ssize_t under Windows. |
| 187 | + ** fix large constant encoding in RISC-V. (lp#2077307, reported by |
| 188 | + Guillaume LE VAILLANT) |
| 189 | + ** more parsimonious low-level type tests on arm64. |
| 190 | + ** building from the result of git-archive should complete without error. |
| 191 | + * bug fix: exporting a symbol during package iteration no longer skips other |
| 192 | + symbols. (lp#2080387, reported by kbhit) |
| 193 | + * optimization: improvements to EQ hash tables and associated hash functions. |
| 194 | + * optimization: type checking of string and string-designator is more efficient. |
| 195 | + * optimization: the compiler better understands the nature of the results of |
| 196 | + CONCATENATE. |
| 197 | + |
3 | 198 | changes in sbcl-2.4.8 relative to sbcl-2.4.7: |
4 | 199 | * bug fix: the elftool utility finds a writeable directory in more |
5 | 200 | situations. (thanks to Shinmera) |
|
0 commit comments