78103f5d57
- Update to version 2.6.0 * enhancement: the compiler will recognize certain combinations of high-level optimizations as expressible by shorter machine instruction sequences, documented in the manual under "Recognized idioms" in the "Efficiency" section. * enhancement: the SB-COVER code coverage tool can emit a report in a format compatible with the LCOV open-source tool. * bug fix: compiled code calling EXPT with constant integer exponent (or 1/2) and floating point base is more consistent with out-of-line EXPT. (lp#1899969, lp#2136082) * bug fix: fix SCALE-FLOAT on denormal floats. (lp#2000178, re-reported by Barton Willis) * bug fix: the system's test of constructing an ELF core is compatible with storing code coverage information. (lp#2131956) * bug fix: inconsistent result from SUBTYPEP on array types. (lp#2132250) * bug fix: the SB-COVER reporting utilities can now annotate source files containing array literals using #A(<dims> <eltype> . <contents>) syntax. (lp#2134290) * bug fix: compiler error resulting from losing some already-computed derived type information. (lp#2136852) * bug fix: miscompilation of DPB involving non-word-sized intermediate results but a word-sized final result. (lp#2137028) * bug fix: compiler error when asserting the result of a known non-list to be of a type union involving a CONS with a given CAR. (lp#2137030) * bug fix: miscompilation of DPB with constant byte positions above the number of bits in a word. (lp#2137046) * bug fix: miscompilation of PHASE with a negative zero argument. (lp#2137068, lp#2137119) * bug fix: failure to round-trip types involving positive and negative zeros of different floating point representations. (lp#2137140)
John Paul Adrian Glaubitz2026-01-02 11:21:06 +00:00
be7ffba0b1
Accepting request 1320826 from devel:languages:misc
Ana Guerrero2025-12-03 13:12:18 +00:00
576bdd8979
- Update to version 2.5.11 * incompatible change: the compiler's internal representation of "source paths" for unquoted forms within backquotes has changed. Other developer tools using this representation, including callers of some exported SB-INTROSPECT functions, will misreport the location of signalled conditions and/or definitions in top-level forms including backquotes and commas. * minor incompatible change: undefined syntaxes following *READ-BASE*-related reader macros (such as #B, #O, #X, #R) now signal reader errors. * minor incompatible change: the convenience reader syntax pkg::(...) no longer triggers package locks for the PKG package. * minor incompatible change: building with the SB-DEVEL feature inhibits identical code folding at the end of the build of the SBCL system itself. * enhancement: improve the compiler's knowledge of the dimensions of the result of MAKE-ARRAY. (lp#2130477, thanks to Vasily Postnicov) * enhancement: the SB-COVER contributed module has been made substantially more robust; collecting coverage no longer inhibits various CLOS optimizations. (For SBCL developers, it is now capable of reporting on the coverage of the SBCL system itself, provided it is built with the new :SB-COVER-FOR-INTERNALS build-time feature.) * bug fix: REQUIREing the SB-MD5 contributed module no longer installs a compiler optimization policy restriction of SPACE being at least 1. * bug fix: don't miscompute the sizes of garbage collector data structures for running with dynamic space heap sizes above 128GiB. * bug fix: ENOUGH-NAMESTRING when the pathname and defaults arguments are both logical pathnames with the same host returns a shorter string than previously. * bug fix: the compiler retains fewer temporary data structures when compiling code with coverage data.
John Paul Adrian Glaubitz2025-12-02 11:05:52 +00:00
e8483769dd
Accepting request 1318170 from devel:languages:misc
Ana Guerrero2025-11-17 11:19:53 +00:00
31160c8aa9
- Update to version 2.5.10 * platform support: ** handling of "./" and "../" in pathname functions on Windows is improved. (lp#2125908, reported by khbit) ** use x29 for the control frame pointer on arm64, improving backtrace tooling. ** provide a plugin to lldb to display backtraces (contrib/lldb_bt.py). ** an experimental option for performing GC without interrupting and stopping foreign function calls. Enabled via --with-nonstop-foreign-call (for arm64, x86-64 (outside of Windows, where that's already the case.)) * bug fix: some interactions between TWO-WAY-STREAM (and ECHO-STREAM) and user-defined streams have been cleaned up. * bug fix: the SB-COVER contributed module can now annotate source files containing COMPLEX literals. (A number of other more minor cosmetic issues have also been fixed). * bug fix: compiler crash from reoptimizing with some stale type information. (lp#2125944) * optimization: SLOT-VALUE calls with known slot-name on values which are of type (OR NULL <STRUCT>) are transformed to a null check and a structure access. * optimization: the compiler will apply constraints to the result of calling RANDOM. (lp#2126978, thanks to Vasily Postnicov) * optimization: the compiler will perform type derivation on CL:APPLY called with a known function. * optimization: fusion of type checking and move of 64-bit integers is enabled on arm64 and x86-64. * optimization: allocation fusion for (PUSH (CONS A B) LIST) on x86-64. * optimization: improvements of type derivation for float rounding operations. * optimization: constant folding when one of the arguments is (if v constant1 constant2)
John Paul Adrian Glaubitz2025-11-17 07:42:05 +00:00
6dc709fb60
Accepting request 1308348 from devel:languages:misc
Ana Guerrero2025-10-01 16:57:23 +00:00
15c5f0439e
- Update to version 2.5.9 * minor incompatible change: remove (SETF SB-EXT:POSIX-GETENV), which only ever existed as an operator in SBCL on Windows. * minor incompatible change: (LOG -0.0) now returns SINGLE-FLOAT-NEGATIVE-INFINITY, more consistently with IEEE 754. * minor incompatible change: (EXPT 0.0 0.0) now returns 1.0, rather than signalling an error. * platform support ** restore functionality on NetBSD. (thanks to Masatoshi SANO) ** fix building SBCL as a shared library on ARM64. (lp#2122059, reported by Guillaume LE VAILLANT) * optimization: TYPEP with array types does less work in many cases. * optimization: COMPLEMENT on a known function can be transformed away in more cases. * optimization: calls to local functions with &REST arguments can be optimized in more cases. * optimization: bound checks can be eliminated in ROW-MAJOR-AREF based on constraints relating the index to the available array elements. (lp#2121253, thanks to Vasily Postnicov) * optimization: function type declarations no longer inhibit inlining local functions. (lp#2121351, reported by kbhit) * optimization: bulk movement of memory in the system is implemented with less overhead around memmove(). * optimization: MAKE-ARRAY with dimensions coming from ARRAY-DIMENSIONS on an array with known dimensions avoids consing an intermediate dimensions list. * optimization: a number of arithmetic operators and relations in combination with some constant arguments do partial expression simplification at compile-time. (lp#2122063 for %NEGATE thanks to Vasily Postnicov)
John Paul Adrian Glaubitz2025-10-01 08:57:09 +00:00
b337ae5ff8
Accepting request 1302062 from devel:languages:misc
Ana Guerrero2025-09-01 15:17:51 +00:00
867a6b2870
- Update to version 2.5.8 * minor incompatible change: SB-THREAD:MAIN-THREAD-P can only be applied to threads, not arbitrary lisp objects. * minor incompatible change: the instruction-combining (peephole) optimization pass does not run if COMPILATION-SPEED has a higher value than SPEED. * platform support: ** on arm64, provide better backtraces in the statistical profiler's reporting, along with better detection of assembly routines, local functions and callers of foreign code. ** on ppc64le, make --dynamic-space-size behave as documented. (lp#2121255) ** on x86-64, handle more cases in the ALU+TEST peephole optimization. * bug fix: for file-streams with :DIRECTION :IO, input and output file positions should no longer get out of sync. (lp#1600610, reported by Guillaume le Vaillant, test cases by Brent Benson) * bug fix: an infinite loop in SUBTYPEP for types involving negations of CONS of specialized ARRAY types. (lp#2114755) * bug fix: miscompilation of a CASE form with small numeric keys. (lp#2119035) * bug fix: anonymous alien structs definitions are deduplicated, making it harder to overflow internal data structures. (lp#2114943, reported by Brooke Tilley) * bug fix: allow ALU+TEST peephole optimizations to fire on x86-64. (lp#2120547, reported by Christoph Breitkopf) * bug fix: miscompilation of a LOOP form with rational arithmetic on variables involved in termination tests. (lp#2121178, reported by 3b) * bug fix: the compiler is better able to associate some forms in a macroexpanion with the original sources. * optimization: improve array construction with LIST or SEQUENCE
John Paul Adrian Glaubitz2025-08-31 06:59:52 +00:00
37d2812bf7
- Update to version 2.5.7 * enhancement: the encapsulate mechanism can be used to wrap functions that are currently not FBOUNDP. * bug fix: internal compiler error in a failure of stack analysis during propagation of dynamic-extent. (lp#2113935) * bug fix: address regression in type inference for TRUNCATE and other division-related operators. (lp#2115305, reported by Vasiliy Postnicov) * bug fix: cleanup of the main thread is performed more carefully when SBCL is used as a shared library. (lp#2115669, reported by Fedorov Alexander) * bug fix: the compiler does not lose track of the types of specialized external entry points for user-defined functions. (lp#2115955, reported by Matt Kaufmann) * bug fix: adjust compiler template argument acceptability for increased usage scope. (lp#2116150) * bug fix: provide a stub for ROTATE-RIGHT-WORD for constant-folding during compilation. (lp#2117080) * bug fix: provide a stub for %MAKE-DOUBLE-FLOAT for constant-folding during compilation. (reported by Eric Marsden) * bug fix: don't loop infinitely in the presence of type-mismatching circular #S read syntax. (reported by Bohong Huang) * optimization: calls to SLOT-VALUE (and related functions) within methods, on values that are not a specialized argument to those methods, are optimized similarly to calls to SLOT-VALUE in non-method code. * optimization: calls to REPLACE with VECTOR first argument and LIST second argument are improved. * optimization: TYPECASE over a set of structure types known not to be extensible is converted to an array lookup.
John Paul Adrian Glaubitz2025-07-28 07:45:57 +00:00
757587dec4
Accepting request 1289516 from devel:languages:misc
Ana Guerrero2025-07-02 10:10:33 +00:00
7b497e619f
- Update to version 2.5.6 * enhancement: the compiler now recognizes when local functions (both named and anonymous) are used only as downward funargs in many situations and can stack allocate such closures even without explicit dynamic extent declarations. See the updated manual entry on stack allocation for more information and how user-code can declare funargs as downward. * minor incompatible change: optimization notes for a variable declared to be of type LIST will not be emitted for various transforms which are defined to operate on (OR NULL VECTOR). * minor incompatible change: some forms, including a THE form with an invalid type specifier, or a CASE form with bad entries, no longer produce a runtime error. (They continue to provide a full warning at compile-time). * platform support ** on arm64, breakpoint-based stepping is now thread-safe. ** on arm64, backtraces after interrupts should be more correct. ** on x86-64 with the immobile-space feature, calling from assembly routines to lisp routines is more efficient. ** if arenas are enabled, users can define a lisp function to act as a handler to customize behaviour on arena exhaustion. * bug fix: address several bugs related to dynamic-extent declarations, inference, and stack allocation. * bug fix: the stack return page protection is temporarily disabled during GC, so that GC can complete even if it needs to write in the return page. * bug fix: the compiler generates code to the right entry point for specialized functions. (lp#2111876, reported by Matt Kaufmann) * bug fix: the compiler's constraint derivation would sometimes not terminate. (lp#2113747) * bug fix: when the runtime structure representing a thread is re-used, the stack guard pages are restored.
John Paul Adrian Glaubitz2025-07-01 12:02:34 +00:00
a4da602128
Accepting request 1282208 from devel:languages:misc
Ana Guerrero2025-06-03 15:54:49 +00:00
d7c4817dd0
- Update to version 2.5.5 * minor incompatible change: the output from TRACE is now prefixed by a FRESH-LINE on *TRACE-OUTPUT*. * platform support: ** On Linux, the system is better at negotiating with the kernel to find locations for Lisp memory spaces, succeeding more often than previously. * bug fix: resolve signed/unsigned char mismatch in RUN-PROGRAM on Windows. (lp#2110525, reported by awlygj) * bug fix: compiler confusion given sufficiently complex derived type constraints. (lp#2109902) * bug fix: compiler inconsistency in low-level representation leading to inconsistent transformations. (lp#2109837) * bug fix: return NIL from calls to DOCUMENTATION on illegal function names. * bug fix: calls to APPLY or VALUES-LIST on some combinations of constant arguments could lose the constant nature after transformation. (thanks to Hayley Patton) * optimization: some micro-improvements to bignum operations, particularly on x86-64 and arm64 * optimization: allow the result of MAKE-STRING to be allocated on the stack when :element-type is unknown. * optimization: the compiler will recognize the use of ZEROP on the results of LENGTH and REM (on suitable operands) to avoid full computation of the intermediate result.
John Paul Adrian Glaubitz2025-06-03 09:05:54 +00:00
03670eebf9
Accepting request 1279301 from devel:languages:misc
Ana Guerrero2025-05-22 14:57:40 +00:00
9f03abd1bc
- Update to version 2.5.4 * enhancement: :FUN-END breakpoints now support the known values return convention when DEBUG > 0. This means that tracing local functions works in more situations. * platform support: ** on x86-64, relocation of static space is always enabled. ** save-lisp-and-die with :callable-exports can be used for sbcl.dll on Windows. ** Building with UCRT64 on Windows is now fully supported. * bug fix: :FUN-END breakpoints work on PowerPC, SPARC, and MIPS again. * bug fix: incorrect rounding when converting some bignums to floats. * bug fix: the second value of the truncation functions is more consistently computed for bignum floats. * bug fix: fix code generation for constants being considered from conflicting type propagation information. (lp#2107652) * bug fix: fix 32-bit range check code generation on x86-64. (lp#2106432) * bug fix: types are correctly propagated from the keyword argument processor to their uses. (lp#2106358, reported by Vasily Postnicov) * bug fix: fix compilation error from CHECK-TYPE when the value checked is a keyword argument and the type specifier argument is not a valid type specifier. (lp#2104089) * bug fix: generate stack-manipulation code in the presence of non-local exits and dynamic-extent declarations even more carefully. (lp#2043242) * optimization: (LOGIOR A (- (MASK-FIELD (BYTE 1 constantN) A))), or its equivalent (LOGIOR A (- (LOGAND (ASH 1 constantN) A))), is recognized as an idiom for sign-extending the N+1-bit field in A, and can be used for signed modular arithmetic. * optimization: ROUND is faster for floats. * optimization: TRUNCATE/FLOOR/etc. are faster on ratios. * optimization: MAKE-SEQUENCE does not invoke the full type algebra when the
John Paul Adrian Glaubitz2025-04-29 08:02:43 +00:00
c57c7c7e0a
Accepting request 1265610 from devel:languages:misc
Ana Guerrero2025-03-31 09:44:05 +00:00
34c77eefbf
- Update to version 2.5.3 * enhancement: breakpoint debugger commands have been added. Included is a stepper based on breakpoints requiring no extra instrumentation. However, it still has less functionality than the existing single stepper. See the new debugger manual section titled "Breakpoint Commands" for more information on the new commands. * minor incompatible change: the behaviour of :save-runtime-options has been restored to match the documentation. (lp#2096995, reported by Zach Beane) * minor incompatible change: invoking CHANGE-CLASS from user code no longer grabs the CLOS world lock. Callers must take responsibility for ordering execution of CHANGE-CLASS and any changes to the class hierarchy. * platform support: ** (CAS SAP) is implemented on ARM v8.1 directly with CAS instructions. ** on x86-64, list constructors emit more compact code sequences, particularly in the presence of multiple references to the same object. ** on x86 and x86-64, fix the stack overflow check to use signed comparisons. ** on Darwin/arm64 and Linux/x86-64, provide a restart to disable floating-point exceptions of the type signalled, and another to disable all floating-point exceptions. * bug fix: cycle detection in class precedence lists happens before adding classes to the direct subclasses of the parent. * bug fix: stack-allocated unaligned cons cells no longer cause errors in the debugger. * bug fix: local function type declarations no longer inhibit tail calls in (SAFETY 0) code. (lp#2039301) * bug fix: bad or unknown type specifiers in CHECK-TYPE do not crash or slow down the compiler. (lp#2102644, lp#2102653, lp#2102714, lp#2104048) * bug fix: numerous bug fixes relating to the type system's handling of arrays make SUBTYPEP more reliable and less likely to express a
John Paul Adrian Glaubitz2025-03-30 21:41:03 +00:00
3e020baaf4
- Update to version 2.5.2 * minor incompatible change: in some instances when the compiler cannot prove that a NIL-valued branch is unreachable, where NIL is not compatible with the expected type, a type warning will no longer be issued. * minor incompatible change: the compiler will more strictly treat type declarations for &OPTIONAL and &KEY arguments in FTYPE declarations, no longer effectively adding an implicit (OR ... <default>) type when the function itself has a default value not matching the declared type for that argument. * enhancement: type errors in structure constructors are now restartable, with a USE-VALUE restart provided. * enhancement: CHECK-TYPE warns about type conflicts at compile-time. * enhancement: FTYPE declarations for functions which set their parameters are checked. * enhancement: new print control variable SB-EXT:*PRINT-CIRCLE-NOT-SHARED*, when used in conjunction with *PRINT-CIRCLE*, prints #1# only for circularities and not simple sharing. * platform support ** on Windows, make sure to commit memory after zeroing during save-lisp-and-die. (lp#2097197, reported by _3b) ** on Linux, add the TCP_USER_TIMEOUT constant to SB-BSD-SOCKETS. (thanks to Mihai Bazon) ** on *BSD, make TCP_KEEPCNT, TCP_KEEPIDLE and TCP_KEEPINTVL available where the OS supports it. ** on x86-64, optimize BOUNDP for known-global symbols. ** on x86-64, optimize KEYWORDP for some arguments. ** on arm64, don't trigger an assertion when using FMOV on complex single-float registers. ** on arm64, improve type checking for (AND SYMBOL (NOT NULL)). * bug fix: using structure read macros with shared structure markers no
John Paul Adrian Glaubitz2025-03-01 21:53:02 +00:00
12f51ef367
Accepting request 1243122 from devel:languages:misc
Ana Guerrero2025-02-04 17:14:09 +00:00
171c9d7802
- Update to version 2.5.1 * minor incompatible change: SBCL now reveals details of its COMPLEX representations through UPGRADED-COMPLEX-PART-TYPE, rather than hiding them. * minor incompatible change: the compiler will warn on the use of a SATISFIES type with an undefined function. (lp#576608, reported by Roman Marynchak) * minor incompatible change: (room t) now counts the space taken by the internals of hash-tables and CLOS instances. * platform support ** fixes to the included version of ASDF, and to sockets functions, for the Haiku operating system. (thanks to Alexandru Popa) ** add support for CAS (compare-and-swap) on SAPs for arm64, x86-64 and (partially) RISC-V. (lp#1894057, reported by Yukari Hafner) ** the system is now consistent with 64-bit time_t on 32-bit linux platforms. (lp#2063340, reported by Peter van Eynde) ** restore building on 32-bit ARM with newer gcc versions. (lp#1839783, reported by Sébastien Villemot) ** fix large stack allocation on 64-bit Windows. * CL portability fixes to the definitions of certain compiler structures, detected by CLISP. (lp#2064301, lp#2064312, thanks to Robert Brown) * bug fix: a misplaced assertion regarding weak hash tables would trigger if a garbage collection hit at just the wrong time. (lp#2096998) * bug fix: structure BOA constructors with &REST arguments no longer cause structure slots named NIL or T to be unconditionally initialized with the values NIL and T respectively. * bug fix: structure BOA constructors without values for some slots no longer cause compilation errors for initforms that are not a single variable. * bug fix: sequence functions handle :TEST and :TEST-NOT both being given
John Paul Adrian Glaubitz2025-02-04 13:14:23 +00:00
84bd57c412
Accepting request 1237703 from devel:languages:misc
Ana Guerrero2025-01-14 15:24:01 +00:00
9103bf7fdf
- Remove old specfile constructs - Replace xargs by more direct find -exec. - Trim redundancies from description (already present in License: field) - Split /usr/bin/sbcl to a separate package (sbcl-bin.rpm). Because SBCL-using programs ship a static copy of the standard library anyway, they need not pull in the standard library (sbcl.rpm:/usr/lib/sbcl/sbcl.core) itself any longer.
John Paul Adrian Glaubitz2025-01-14 09:43:07 +00:00
2956d08e07
Accepting request 1234535 from devel:languages:misc
Ana Guerrero2025-01-07 19:51:21 +00:00
164b12d78e
- Update to version 2.5.0 * platform support: ** improve support for the Haiku operating system. (thanks to Al Hoang, Estevan Castilho and Alexandru Popa) * bug fix: generic functions with a large number of required arguments, with methods with specializations on exactly STANDARD-OBJECT or FUNCALLABLE-STANDARD-OBJECT, test the types of their arguments more correctly. * bug fix: defining a method on SB-MOP:SLOT-VALUE-USING-CLASS where the object argument is specialized to a CONDITION-CLASS no longer leads to an internal error. * bug fix: the dissassembler on x86-64 correctly disassembles the vcvttpd2dq AVX2 instruction. * bug fix: ensure that the dispatch function for generic functions is compiled with a known compilation policy. (reported by Neil Goldman) * bug fix: the compiler retains less intermediate data between COMPILE-FILE forms. (lp#1557590, reported by andy arvid) * bug fix: the (invalid) :INITARGS slot option keyword is reported on. (lp#1887014, reported by Wayne Rittiman, Jr) * bug fix: the SB-SIMD s16.8-maddubs accepts packs of 16 8-bit quantities, not 8 16-bit quantities. (lp#2069538, reported by Georgios Makris) * bug fix: compiling a TYPECASE to dispatch between many user-defined classes no longer takes exponential time. (lp#2089311, reported by Tomas Hlavaty) * bug fix: derive the new type for a variable when setting it to a function of its previous version. (lp#2090997, reported by Vasily Postnicov) * bug fix: properly clear compiler annotations on variables set to new values involving functions of themselves. (lp#2090967, reported by Kirill A. Korinskiy) * bug fix: handle BY in LOOP forms involving iteration on the reverse of a
John Paul Adrian Glaubitz2025-01-02 10:26:30 +00:00
c39e282953
Accepting request 1227549 from devel:languages:misc
Ana Guerrero2024-12-02 15:58:49 +00:00
36458c5a0e
- Update to version 2.4.11 * enhancement: define SB-EXT:*DEFAULT-SOURCE-EXTERNAL-FORMAT* as the external format for reading source files (for direct use in LOAD and COMPILE-FILE). On Windows, this defaults to an external format with CRLF line-endings. (lp#720517, reported by Mark David) * minor incompatible change: the documentation of SB-SEQUENCE:MAKE-SEQUENCE-LIKE has been altered to match its implementation regarding the (un)initialization of the sequence if neither :INITIAL-CONTENTS nor :INITIAL-ELEMENT is provided. * minor incompatible change: the outputs from SB-GROVEL no longer contain calls to SB-GROVEL::DEFINE-FOREIGN-ROUTINE, but call SB-ALIEN:DEFINE-ALIEN-ROUTINE directly; the definitions of some other SB-GROVEL utilities has also changed. * platform support: ** The system is more likely to build with the musl C library. (thanks to Masatoshi SANO) ** It is possible to build 32-bit binaries on NetBSD/x86-64 systems. (thanks to Masatoshi SANO) ** Stale big-endian ARM code in callbacks is no longer present. (lp#2087866, reported by Rongcui Dong) ** Correct the encoding of the VPSHUFD AVX2 instruction. (reported by Dmitry Ignatiev) ** Implement the PINSRQ SSE instruction and provide access to it in SB-SIMD. ** Fix some signed/unsigned and 32-bit issues in the runtime leading to problems with large --dynamic-space-size. (lp#2087986) * bug fix: cross-reference information about structure accessors is preserved when compilation policy requires it. * bug fix: changing &ALLOW-OTHER-KEYS in a generic function's lambda list needs to invalidate the effective methods cache. (reported by Robert
John Paul Adrian Glaubitz2024-11-30 21:45:55 +00:00
7f7b143dc6
Accepting request 1220428 from devel:languages:misc
Ana Guerrero2024-11-04 21:41:51 +00:00
2141439b95
- Update to version 2.4.10 * minor incompatible change: SB-POSIX::POSIX-FORK is no longer exported from SB-POSIX. (The interface function, SB-POSIX:FORK, remains exported). * platform support: ** fix bugs in instruction encoding on RISC-V; (reported by Guillaume Le Vaillant) ** fix the location of the linkage-table comment in disassembly on 64-bit powerpc; ** elide allocation of empty number stack frames on arm64; ** fix crash on x86 platforms in compiling array dereferencing with computed offsets with negative intermediate results. (lp#2084943) * enhancement: the error message from standard object slot typecheck functions in optimized constructors is clearer about the context of the failed type check. * enhancement: BREAK is no longer tail-called, even when in tail position. * enhancement: on arm64 and x86-64, specialized entry points for functions known to take or return fixed numbers of double floats are generated and can be automatically called without boxing intermediate floats. * bug fix: RUN-PROGRAM no longer leaks memory by referencing otherwise unreachable stream instances. * bug fix: exporting or unexporting symbols during package iteration no longer causes any symbol to be visited more times than expected. * bug fix: DISASSEMBLE preserves the comment marker across line-breaks for long function or segment names. (lp#1889456, thanks to Fedorov Alexander) * bug fix: the compiler no longer loops infinitely trying to compile NOTINLINE calls to known functions with source transform definitions. (lp#2085451, reported by Fedorov Alexander)
John Paul Adrian Glaubitz2024-11-03 16:21:18 +00:00
70abd0de46
Accepting request 1204554 from devel:languages:misc
Ana Guerrero2024-09-30 13:39:42 +00:00
4e5d44187c
- Update to version 2.4.9 * minor incompatible change: FIND, POSITION (and variants) now check :START and :END arguments for validity as bounding index designators for list sequences. * platform support: ** improve support for Solaris and variants on x86 and x86-64. (thanks to Masatoshi SANO) ** fix a bug in handling timeouts and interrupted system calls in SB-UNIX:UNIX-SIMPLE-POLL. (lp#2078824, thanks to Michał phoe Herda) ** fix a bug in the lisp understanding of ssize_t under Windows. ** fix large constant encoding in RISC-V. (lp#2077307, reported by Guillaume LE VAILLANT) ** more parsimonious low-level type tests on arm64. ** building from the result of git-archive should complete without error. * bug fix: exporting a symbol during package iteration no longer skips other symbols. (lp#2080387, reported by kbhit) * optimization: improvements to EQ hash tables and associated hash functions. * optimization: type checking of string and string-designator is more efficient. * optimization: the compiler better understands the nature of the results of CONCATENATE.
John Paul Adrian Glaubitz2024-09-29 19:25:33 +00:00
d8e0ea0400
- Update to version 2.4.8 * bug fix: the elftool utility finds a writeable directory in more situations. (thanks to Shinmera) * bug fix: SLOT-MAKUNBOUND does not attempt to dereference a PROGN variable in the interpreter. * bug fix: READ-SEQUENCE into displaced arrays with a non-zero offset now writes to the right memory location. * bug fix: fix some erroneous file position calculations in the editcore utility (exposed by a change in the libzstd compression implementation). * bug fix: do not break the build on STYLE-WARNINGs for earlier SBCL build hosts. (lp#2064671, reported by Patrick Poitras) * bug fix: various bug fixes for ppc64le (lp#2074275, reported by Claude R. C.) * bug fix: address a rounding error in the TAN type deriver which led to a miscompile in cl-pdf. (lp#2077100, reported by Gian Pierro Carrubba) * bug fix: overoptimization of FIND with a :TEST of CHAR-EQUAL. (lp#2077539) * optimization: detection of duplicate names in loaded code now scales subquadratically. * optimization: switch from Floyd's to Brent's cycle detection for lists. * optimization: EQUAL on lists should be faster. * optimization: fewer filesystem operations are performed when working out what to LOAD. * optimization: various microoptimizations on hash tables and associated operations. * optimization: strings are now hashed using FNV-1A, replacing Bob Jenkins' one-at-a-time hash. * optimization: fewer redundant validations of the sequence bounding indices in POSITION on strings. * optimization: many improvements to type derivation on the arguments to and results of standard functions * optimization: adding many (hundreds) methods to a generic function can be
John Paul Adrian Glaubitz2024-08-30 06:39:18 +00:00
87d8af1938
- Update to version 2.4.7 * minor incompatible change: the compiler will emit optimization notes related to complex type checks only at high SPEED optimization settings. * minor incompatible change: the GET-FOREGROUND symbol is now exported from the SB-THREAD package. (thanks to Philipp Marek) * minor incompatible change: code objects are now printed with their ending address as well as their start address. * platform support: ** fix occasional saved core corruption on Win32. (reported by Luís Borges de Oliveira) ** address some crashing cases in arena support. (reported by Andreas Franke) ** fix a hard-coded path to cp. (thanks to Hraban Luyat) ** address relocation issues on PIC-flavoured arm64. (lp#2067153, thanks to leafze) ** fix a crash in the arm64-dissassembler if a code component is missing. ** fix a crash on 32-bit musl libc systems. (reported by Will Sinatra) ** fix building with link-time optimization. (lp#2072800, reported by Eli Schwartz) ** fix building with newer llvm. (lp#2071545, reported by Yan) ** mitigate the lack of gc-safety in SB-VM::REMOVE-STATIC-LINKS. (lp#2045433) * bug fix: COMPILE installs its second argument as the value of its non-null NAME argument, even if the second argument was already compiled. (lp#2071324, reported by Tim Bradshaw) * bug fix: allow the hashing routines in sb-md5 to work on arrays with more than 2^29 elements. * bug fix: allow READ-SEQUENCE and WRITE-SEQUENCE to read and write files bigger than 4GB. * bug fix: READ-SEQUENCE returns the index of the first unmodified element
John Paul Adrian Glaubitz2024-07-28 12:38:52 +00:00
f06746ebd7
- Update to version 2.4.6 * enhancement: name conflicts resulting from colliding symbols in IMPORT and USE-PACKAGE are resolved once for each name, rather than between pairwise colliding symbols. * enhancement: calls to structure constructors with type mismatches in default initforms cause compile-time warnings. * platform support: ** fix constant-folding of %log1p and %log2 on 32-bit x86. ** fix the encoding of popcntd on ppc64 * bug fix: EXPORT could be tricked into exporting two distinct symbols of the same name from the same package. * bug fix: two-argument calls to LOG with arguments of different precision do not lose accuracy through insufficiently-precise intermediate values. * bug fix: :NEWLINE options in *DEFAULT-EXTERNAL-FORMAT* are respected when opening files. (reported by Marco Antoniotti) * bug fix: extend type declarations for the iteration variable of DOLIST with NULL during the evaluation of the result clause. (lp#942237) * bug fix: #\uE0 (LATIN CAPITAL LETTER A WITH GRAVE) was incorrectly not downcased with STRING-DOWNCASE. (lp#2067841, reported by Matt Kaufmann) * bug fix: backquoted lists as arguments to MAKE-ARRAY were miscompiled. (lp#2069345, reported by Dan Bothell) * bug fix: resolve the circularity between the type system and the CLOS metaobject protocol more robustly. (lp#2069502, reported by Jan Moringen) * bug fix: misplaced tilde in a logical pathname error message. (lp#2069995, thanks to Marco Heisig) * optimization: various speedups to UTF-8 based external format streams and other stream routines.
John Paul Adrian Glaubitz2024-06-30 06:53:59 +00:00
18f304a4f4
Accepting request 1177766 from devel:languages:misc
Ana Guerrero2024-05-31 20:16:02 +00:00