77056c4d59
Changes since version 2.0.7 New in version 2.1.0 * minor incompatible change: the MAKE-EA internal function, used in the assembler, has been removed (affecting some libraries defining their own Virtual Operations) * new feature: SB-EXT:PRIMITIVE-OBJECT-SIZE can be used to interrogate the low-level size in memory of objects. (#1636910, reported by anquegi) * platform support: * pass required -std argument to the compiler on Solaris (#1885751, thanks to Jesse Off) * better treatment of non-ASCII program arguments on Windows (#1907970, reported by Timofei Shatrov) * implement the improved TYPEP with structure types on all other supported platforms (32-bit PowerPC, ARM, ARM64, MIPS, SPARC, RISC-V) * enhancement: stream dispatch (to vanilla ANSI / Gray / Simple variants) has been rewritten and optimized, fixing a number of bugs including: * performance of WRITE-SEQUENCE on composite streams (#309136) * handling of CLOSE on SYNONYM-STREAM (#1904257, reported by Richard M Kreuter) * handling of CLOSE on BROADCAST-STREAM with no components (#1904722, reported by Richard M Kreuter) * loading SB-SIMPLE-STREAMS breaks functionality of other stream classes (#1908132) * some excessive consing in READ-LINE * enhancements related to RUN-PROGRAM: * improved the documentation related to the ARGS argument (#806733, reported by mon_key) * added a PRESERVE-FDS argument * bug fix: ensure that TYPE-OF returns something even on internal instances, which may become visible in the debugger. (#1908261, reported by Philipp Marek) * bug fix: iteration variables established by standard forms should always be considered used by the compiler. (#719585, reported by Roman Marynchak) * bug fix: don't allow compiler transformations to weaken the requirement against extended (list-form) function names in FUNCALL and related operators. (#310069) * bug fix: improve automated version number generation in branches. (#897867, thanks to Martin Cracauer) * bug fix: add possibly-spurious futex wakes when unwinding from a call to futex-wait, to avoid deadlocks from interrupted waits. (#1038034) * bug fixes in the compiler: * error on malformed DESTRUCTURING-BIND (#1738638) * error on malformed SPECIAL declaration (#1740756) * error from use of VALUES type in COERCE (#1887712) * enforcement of FTYPE types involving &OPTIONAL (#1903932) * checking for proper-list-ness before applying transforms (#1905512) * compilation of LAMBDA form including a malformed DEFUN (#1906056) * memory fault from VALUES-related handling in high DEBUG code (#1906563) * transforms handle explicit NIL arguments in :END arguments to SEARCH (#1907924) * bug fix: return COMPILED-FUNCTION for TYPE-OF on compiled functions. (#1906583) * some bugs were also closed in this release cycle as obsolete, having been fixed by the passage of time or other change in the environment: * floating point error reporting on OS X (#309454) * load-shared-library not working from non-main threads on OS X (#592425) * optimization: CONSTANTLY on constant arguments returns a more efficient function. (#1852585) * optimization: perform fewer Lisp/Alien representation conversions in callbacks. * optimization: perform fewer redundant widetag tests when doing type tests of complicated union types. * optimization: signed-integer division on machine-word sized operands is now implemented using multiplication, affecting TRUNCATE, FLOOR, CEILING, MOD and REM. (This optimization was already performed on unsigned-integer division) New in version 2.0.11 * minor incompatible change: (ARRAY NIL (*)) is not a subtype of STRING, as is consistent with a majority of maintained CL implementations. * minor incompatible change: ARRAY-RANK-LIMIT is decreased from 65529 to 256 * optimization: TYPEP on structure types is faster and more compact on x86[-64] and ppc64. * optimization: LOGCOUNT is faster on arm64. * optimization: SIGNUM can be inlined if its argument type is known. (#1903533) * bug fix: compiler crash in tail call handling. (#1903938) * bug fix: crash in traceroot. (#1903419, reported by Michal Herda) * bug fix: DESCRIBE called with a string as second argument no longer mutates that string. (#1903901, reported by Michal Herda) * bug fix: stack clobbering by 256-bit SIMD packs on x86-64. (#1901685, reported by Marco Heisig) New in version 2.0.10 * minor incompatible change: the funarg given to SB-SPROF:MAP-TRACES does not receive a wallclock time with each trace. * minor incompatible change: INTERNAL-TIME-UNITS-PER-SECOND has been increased to 10^6 on 64-bit architectures. * minor incompatible change: SIGPIPE is ignored by default again. (#1897624) * minor incompatible change: the system code compiled under the :LINKAGE-TABLE feature is now unconditionally compiled in, and the corresponding entry in *FEATURES* has been removed. * enhancement: style-warnings are issued for variables which have an assignment but no "for-value reference" (per CLHS glossary entry) * bug fix: SB-CLTL2:MACROEXPAND-ALL did not expand MULTIPLE-VALUE-BIND and MULTIPLE-VALUE-SETQ * bug fix: CPUID-based feature detection had an index/mask confusion (#1899239) * bug fix: fix a deadlock on Windows (#1896802) * bug fix: eliminate type errors when wall clocks go back (#1028026, #1032111) * bug fix: fix EOF handling in read-char-no-hang on concatenenated streams (#690408, reported by Willem Broekema) * bug fix: fix MAP-INTO on extended sequences (#1855375, thanks to James Kalenius) * bug fix: SB-GMP can now raise -1, 0 and 1 to the power of a bignum. (thanks to Aaron Chen) * bug fixes in tests: * add a C function declaration (#1897627, thanks to Bob Felts) * parse vmmap output more liberally (#1897722, reported by Bob Felts) New in version 2.0.9 * incompatible change: HPPA and DEC Alpha architecture support has been removed. * minor incompatible change: the compiler signals a warning at compile-time when an initform of T, NIL or 0 does not match a STANDARD-CLASS slot's declared type. * minor incompatible change: the runtime no longer uses SIGPIPE internally, so the signal is deliverable to user code as is customary. Ignoring the signal - in lieu of the OS default of process termination - is obtainable via (SB-SYS:ENABLE-INTERRUPT SB-UNIX:SIGPIPE :IGNORE). * platform support: * a number of obsolete portability layers (particularly on the Windows platform) have been removed in favour of direct calling of the native interfaces. * RUN-PROGRAM now accepts a :WINDOW argument to control whether a subprocess window should be displayed. (Thanks to Luis Borges de Oliveira) * the use of futexes implied by :SB-FUTEX is now implemented on FreeBSD. * bug fix: SB-SPROF can distinguish between SBCL-internal assembly routines. * bug fix: SB-SPROF has better output in its reports for anonymous functions. * optimization: CALL-NEXT-METHOD with supplied arguments in required positions is now faster if the supplied arguments are EQL to the original arguments. New in version 2.0.8 * platform support: * added support for NetBSD/aarch64; * threads on Linux now have OS-visible names; * removed unnecessary emulation of pthread functions on Windows; * work around a sigwait() bug on Mac OS X; * allow safepoint build on Mac OS X, though it probably doesn't work very well (reported by Chris Wagner, #1382811) * removed stub support for HPUX. * optimization: SB-THREAD:MAKE-THREAD is faster on most platforms. * optimization: faster RATIONAL when the result is a RATIO. * optimization: improved cross-type comparisons (float/ratio/bignum). * bug fix: EQUALP on pathnames was wrong * bug fixes: fix compiler issues in: * COUNT (#1889391) * VECTOR-LENGTH (#1888919) * constant-folding (#1888384) * FIND and POSITION (#1887316) |
||
---|---|---|
.. | ||
patches | ||
DESCR | ||
distinfo | ||
Makefile | ||
PLIST |