2021-12-01 00:35:05 by Robert Swindells | Files touched by this commit (2) |
Log message:
Update to 2.1.10.
New in version 2.1.10
* incompatible change: simd-pack without a specific element-type
is no longer treated as containing integers. A type must be
supplied for VOPs to work on such values.
* minor incompatible change: the list form of the FUNCTION type
specifier does not allow * as any argument type, but does allow
* as a placeholder for wholly unspecified arguments when
specifying the value(s) type.
* minor incompatible change: the default (Lisp) toplevel option
parser throws an error if it encounters an option which was
intended to be used and removed by the C runtime. (#1945081,
reported by Luke Gorrie)
* new feature: there is now a defined interface for defining
foreign callable functions, which can be used for passing
callbacks to foreign functions or for calling Lisp code from the
foreign world as a shared library (preliminary support). See the
revised manual section "Calling into Lisp From C" for more
details.
* enhancement: arg-count mismatches in self-calls in defmethod are
reported. (#1912436, reported by 3b)
* enhancement: the SB-CLTL2 contrib now returns type information
for generated structure accessors. (#1934859, reported by SATO
shinichi)
* optimization: code generation is improved for modular arithmetic
involving signed operations.
* platform support:
* x86-64 machine code emitter crash when attempting to
assemble some vector instructions. (#1945975, thanks to
Marco Heisig)
* conditional move instructions are now supported on arm64.
* a number of new peephole optimizations have been implemented
on arm64.
* arm64 on Darwin now uses gcc-compatible thread-local storage.
* bug fix: compiler notes are no longer emitted when compiling
FORMATTER forms, including when implicitly triggered on a
constant string argument to FORMAT. (#1946246, reported by SATO
shinichi)
* bug fix: a compiler error when attempting to compile a call to
AREF with too many dimensions. (#1902985)
* bug fix: harmonize the behaviour of SLOT-BOUNDP on
non-standard-objects between the various ways in which it can be
called. (#732229, reported by Zach Beane)
* bug fix: FTRUNCATE and similar functions are now more careful
about deriving facts about the sign of zero they might
return. (#1732009, reported by Paul Dietz)
New in version 2.1.9
* minor incompatible change: the experimental DEFCAS macro has
been removed.
* minor incompatible change: finalizing classes with slots with
duplicate symbol-names will only emit a warning if either slot
name is an exported symbol. (#1943559)
* platform support:
* the debugger is better able to display SIMD packs. (thanks
to Marco Heisig)
* fix a bug in zeroing YMM registers. (thanks to Marco Heisig)
* fix instruction definitions for SSE blend and shuffle vector
instructions. (thanks to Marco Heisig)
* handle heap corruption exceptions in our exception handler
on win64.
* improve WAIT-UNTIL-FD-USABLE on Windows, reducing
busy-looping. (thanks to Fabio Almeida)
* bug fix: EQUALP hash tables whose keys contain arrays containing
floats should behave correctly. (#1942424, reported by Nicolas
Neuss)
New in version 2.1.8
* minor incompatible change: the experimental DEFINE-CAS-EXPANDER
macro has been removed.
* minor incompatible change: the hooks in *INIT-HOOKS* are called
before starting the finalizer or other non-user threads. (thanks
to Sean Whitton)
* platform support:
* many improvements to code generation on arm64.
* avoid slow forms of the bit test instructions BT, BTS, BTR on x86-64.
* fix a bug in loading large core files on the Apple
M1/arm64. (thanks to Mayank Manjrekar)
* fix a bug in loading core loading on the Apple
M1/arm64. (reported by Eric Timmons)
* enhancement: the block-compiler is more robust to files with
intermingled compile-time and load-time effects. The semantics
of the block-compiler remain not-entirely ANSI
compatible. (thanks to Sean Maher)
* enhancement: (CAS SAP-REF-<x>) and CAS on alien integers is
implemented on ppc64 and x86-64, working towards fixing #1894057
* bug fix: fix OPEN-STREAM-P on streams closed by saving a
core. (#1938433, reported by Guillaume LE VAILLANT)
* bug fix: remove a spurious warning from COERCE. (#1920931,
reported by Andrew Berkley)
* bug fix: remove a warning from inlining
SET-EXCLUSIVE-OR. (#1936470, reported by Jerome Abela)
|
2021-10-26 12:51:59 by Nia Alarie | Files touched by this commit (260) |
Log message:
lang: Replace RMD160 checksums with BLAKE2s checksums
All checksums have been double-checked against existing RMD160 and
SHA512 hashes
The following distfiles could not be fetched (possibly fetched
conditionally?):
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-aarch64-unknown-linux-gnu.tar.gz
./lang/rust-bin/distinfo \
rust-bin-1.54.0/rust-1.54.0-aarch64-unknown-linux-musl.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-aarch64-unknown-netbsd.tar.gz
./lang/rust-bin/distinfo \
rust-bin-1.54.0/rust-1.54.0-armv7-unknown-netbsd-eabihf.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-i686-unknown-linux-gnu.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-powerpc-unknown-netbsd90.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-sparc64-unknown-netbsd.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-x86_64-apple-darwin.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-x86_64-unknown-freebsd.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-x86_64-unknown-linux-gnu.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-x86_64-unknown-linux-musl.tar.gz
./lang/smlnj/distinfo smlnj-110.73/boot.ppc-unix.tgz
./lang/smlnj/distinfo smlnj-110.73/boot.sparc-unix.tgz
./lang/oracle-jre8/distinfo jce_policy-8.zip
./lang/oracle-jre8/distinfo jre-8u202-linux-i586.tar.gz
./lang/oracle-jre8/distinfo jre-8u202-linux-x64.tar.gz
./lang/oracle-jre8/distinfo jre-8u202-macosx-x64.tar.gz
./lang/oracle-jre8/distinfo jre-8u202-solaris-x64.tar.gz
./lang/oracle-jdk8/distinfo jdk-8u202-linux-i586.tar.gz
./lang/oracle-jdk8/distinfo jdk-8u202-linux-x64.tar.gz
./lang/oracle-jdk8/distinfo jdk-8u202-solaris-x64.tar.gz
./lang/ghc80/distinfo ghc-7.10.3-boot-x86_64-unknown-solaris2.tar.xz
./lang/ghc80/distinfo ghc-8.0.2-boot-i386-unknown-freebsd.tar.xz
./lang/ghc80/distinfo ghc-8.0.2-boot-x86_64-unknown-freebsd.tar.xz
./lang/gcc5-aux/distinfo ada-bootstrap.i386.freebsd.100B.tar.bz2
./lang/gcc5-aux/distinfo ada-bootstrap.i386.freebsd.84.tar.bz2
./lang/gcc5-aux/distinfo ada-bootstrap.x86_64.dragonfly.41.tar.bz2
./lang/gcc5-aux/distinfo ada-bootstrap.x86_64.freebsd.100B.tar.bz2
./lang/gcc5-aux/distinfo ada-bootstrap.x86_64.freebsd.84.tar.bz2
./lang/gcc5-aux/distinfo ada-bootstrap.x86_64.solaris.511.tar.bz2
./lang/rust/distinfo rust-1.53.0-aarch64-apple-darwin.tar.gz
./lang/rust/distinfo rust-1.53.0-aarch64-unknown-linux-gnu.tar.gz
./lang/rust/distinfo rust-1.53.0-aarch64-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-1.53.0-aarch64_be-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-1.53.0-arm-unknown-linux-gnueabihf.tar.gz
./lang/rust/distinfo rust-1.53.0-armv7-unknown-linux-gnueabihf.tar.gz
./lang/rust/distinfo rust-1.53.0-i686-unknown-linux-gnu.tar.gz
./lang/rust/distinfo rust-1.53.0-powerpc-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-1.53.0-powerpc-unknown-netbsd90.tar.gz
./lang/rust/distinfo rust-1.53.0-sparc64-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-1.53.0-x86_64-apple-darwin.tar.gz
./lang/rust/distinfo rust-1.53.0-x86_64-unknown-freebsd.tar.gz
./lang/rust/distinfo rust-1.53.0-x86_64-unknown-illumos.tar.gz
./lang/rust/distinfo rust-1.53.0-x86_64-unknown-linux-gnu.tar.gz
./lang/rust/distinfo rust-std-1.53.0-aarch64-apple-darwin.tar.gz
./lang/rust/distinfo rust-std-1.53.0-aarch64-unknown-linux-gnu.tar.gz
./lang/rust/distinfo rust-std-1.53.0-aarch64-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-std-1.53.0-aarch64_be-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-std-1.53.0-arm-unknown-linux-gnueabihf.tar.gz
./lang/rust/distinfo rust-std-1.53.0-armv7-unknown-linux-gnueabihf.tar.gz
./lang/rust/distinfo rust-std-1.53.0-i686-unknown-linux-gnu.tar.gz
./lang/rust/distinfo rust-std-1.53.0-powerpc-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-std-1.53.0-powerpc-unknown-netbsd90.tar.gz
./lang/rust/distinfo rust-std-1.53.0-sparc64-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-std-1.53.0-x86_64-apple-darwin.tar.gz
./lang/rust/distinfo rust-std-1.53.0-x86_64-unknown-freebsd.tar.gz
./lang/rust/distinfo rust-std-1.53.0-x86_64-unknown-linux-gnu.tar.gz
./lang/smlnj11072/distinfo smlnj-110.72/boot.ppc-unix.tgz
./lang/smlnj11072/distinfo smlnj-110.72/boot.sparc-unix.tgz
./lang/ghc84/distinfo ghc-8.0.2-boot-x86_64-unknown-solaris2.tar.xz
./lang/ghc84/distinfo ghc-8.4.4-boot-i386-unknown-freebsd.tar.xz
./lang/ghc84/distinfo ghc-8.4.4-boot-x86_64-apple-darwin.tar.xz
./lang/ghc84/distinfo ghc-8.4.4-boot-x86_64-unknown-freebsd.tar.xz
./lang/ghc7/distinfo ghc-7.10.3-boot-i386-unknown-freebsd.tar.xz
./lang/ghc7/distinfo ghc-7.6.3-boot-i386-unknown-solaris2.tar.xz
./lang/ghc7/distinfo ghc-7.6.3-boot-powerpc-apple-darwin.tar.xz
./lang/ghc7/distinfo ghc-7.6.3-boot-x86_64-unknown-solaris2.tar.xz
./lang/ghc90/distinfo ghc-8.10.4-boot-x86_64-unknown-solaris2.tar.xz
./lang/ghc90/distinfo ghc-9.0.1-boot-aarch64-unknown-netbsd.tar.xz
./lang/ghc90/distinfo ghc-9.0.1-boot-i386-unknown-freebsd.tar.xz
./lang/ghc90/distinfo ghc-9.0.1-boot-x86_64-apple-darwin.tar.xz
./lang/ghc90/distinfo ghc-9.0.1-boot-x86_64-unknown-freebsd.tar.xz
./lang/openjdk8/distinfo \
openjdk7/bootstrap-jdk-1.7.76-freebsd-10-amd64-20150301.tar.xz
./lang/openjdk8/distinfo \
openjdk7/bootstrap-jdk-1.7.76-netbsd-7-sparc64-20150301.tar.xz
./lang/openjdk8/distinfo \
openjdk7/bootstrap-jdk-1.8.181-netbsd-8-aarch64-20180917.tar.xz
./lang/openjdk8/distinfo \
openjdk7/bootstrap-jdk7u60-bin-dragonfly-3.6-amd64-20140719.tar.bz2
./lang/openjdk8/distinfo \
openjdk7/bootstrap-jdk7u60-bin-dragonfly-3.8-amd64-20140719.tar.bz2
./lang/go-bin/distinfo go1.14.2.darwin-amd64.tar.gz
./lang/go-bin/distinfo go1.14.2.linux-386.tar.gz
./lang/go-bin/distinfo go1.14.2.linux-amd64.tar.gz
./lang/go-bin/distinfo go1.14.2.linux-arm64.tar.gz
./lang/go-bin/distinfo go1.14.2.linux-armv6l.tar.gz
./lang/go-bin/distinfo go1.14.2.netbsd-arm64.tar.gz
./lang/go-bin/distinfo go1.16beta1.darwin-arm64.tar.gz
./lang/gcc6-aux/distinfo ada-bootstrap.i386.freebsd.100B.tar.bz2
./lang/gcc6-aux/distinfo ada-bootstrap.x86_64.dragonfly.41.tar.bz2
./lang/gcc6-aux/distinfo ada-bootstrap.x86_64.freebsd.100B.tar.bz2
./lang/gcc6-aux/distinfo ada-bootstrap.x86_64.freebsd.84.tar.bz2
./lang/gcc6-aux/distinfo ada-bootstrap.x86_64.solaris.511.tar.bz2
./lang/ghc810/distinfo ghc-8.8.4-boot-x86_64-unknown-solaris2.tar.xz
./lang/sun-jre7/distinfo UnlimitedJCEPolicyJDK7.zip
./lang/sun-jre7/distinfo jre-7u80-linux-x64.tar.gz
./lang/sun-jre7/distinfo jre-7u80-solaris-i586.tar.gz
./lang/sun-jre7/distinfo jre-7u80-solaris-x64.tar.gz
./lang/ghc88/distinfo ghc-8.4.4-boot-i386-unknown-freebsd.tar.xz
./lang/ghc88/distinfo ghc-8.4.4-boot-x86_64-apple-darwin.tar.xz
./lang/ghc88/distinfo ghc-8.4.4-boot-x86_64-unknown-freebsd.tar.xz
./lang/ghc88/distinfo ghc-8.4.4-boot-x86_64-unknown-solaris2.tar.xz
./lang/gcc-aux/distinfo ada-bootstrap.i386.dragonfly.36A.tar.bz2
./lang/gcc-aux/distinfo ada-bootstrap.i386.freebsd.100B.tar.bz2
./lang/gcc-aux/distinfo ada-bootstrap.i386.freebsd.84.tar.bz2
./lang/gcc-aux/distinfo ada-bootstrap.x86_64.dragonfly.36A.tar.bz2
./lang/gcc-aux/distinfo ada-bootstrap.x86_64.freebsd.100B.tar.bz2
./lang/gcc-aux/distinfo ada-bootstrap.x86_64.freebsd.84.tar.bz2
./lang/gcc-aux/distinfo ada-bootstrap.x86_64.solaris.511.tar.bz2
./lang/gcc6/distinfo ecj-4.5.jar
./lang/openjdk11/distinfo bootstrap-jdk-1.11.0.7.10-netbsd-9-aarch64-20200509.tar.xz
./lang/sun-jdk7/distinfo jdk-7u80-linux-x64.tar.gz
./lang/sun-jdk7/distinfo jdk-7u80-solaris-i586.tar.gz
./lang/sun-jdk7/distinfo jdk-7u80-solaris-x64.tar.gz
|
2021-10-07 16:21:17 by Nia Alarie | Files touched by this commit (282) |
Log message:
lang: Remove SHA1 hashes for distfiles
|
2021-08-07 16:33:32 by Robert Swindells | Files touched by this commit (3) |
Log message:
Update to 2.1.7.
New in version 2.1.7
* incompatible change: on certain platforms (currently just
x86-64), dynamic-extent arrays specialized on character and
numeric types and created without either :INITIAL-ELEMENT or
:INITIAL-CONTENTS will reflect previous contents of the stack
instead of #\null (or 0) in all elements.
* minor incompatible change: SB-SPROF:START-PROFILING no longer
silently does nothing if the clock is already running. It
instead stop and restarts with the newly provided options, and
warns.
* minor incompatible change: the system attempts to refer to the
supplied pathname in compiler diagnostics, if relevant, rather
than the truename.
* enhancement: new contrib module sb-graph producing graphical
visualizations of Intermediate Representations of SBCL
compilation data structures.
* platform support:
* improved code generation for unary minus in modular contexts
on arm64.
* make the disassembler annotations slightly more robust on arm64.
* release space back to the Operating System on Windows.
* improve the test for whether pages need to be committed on Windows.
* fix a bug in the use of the VPCMPEQD opcode on
x86-64. (#1928516, thanks to Marco Heisig)
* optimization: the type of (LOOP ... COLLECT ...), and the type
of COLLECT INTO variables, is derived as LIST. (#1934577,
reported by SATO shinichi)
New in version 2.1.6
* minor incompatible change: COMPILE-FILE does not merge the input
file's pathname-directory into the output path if :OUTPUT-FILE
was specified and has a directory that is not :UNSPECIFIC.
* platform support:
* improvements to unwind code generation on arm64.
* on x86-64, accept three operands for vshufpd. (reported by
Bela Pecsek)
* on x86-64, improvements to use of popcount
* improve exception handling on 64-bit Windows. (thanks to
Luis Borges de Oliveira)
* bug fix: allow use of macros with improper argument
list. (#1929623, thanks to Sean Maher)
* bug fix: COERCE no longer attempts to guess what the user meant
if they provide a type specifier of a union of types other than
STRING. (#1929614)
* bug fix: print a single trailing zero after the decimal point
for FORMAT ~E if there are no digits remaining to be printed and
the width allows it. (#883520)
|
2021-06-12 04:09:29 by Robert Swindells | Files touched by this commit (2) |
Log message:
Update to 2.1.5.
New in version 2.1.5
* minor incompatible change: on x86-64, the backend instruction
encoders for movzx and for string opcodes have changed their
semantics.
* platform support:
* compatibility: support the latest MinGW on x86. (#1923325,
thanks to Alexis Rivera)
* bug fix: on x86-64, fix instruction encoding for TEST on
RIP-relative addresses. (#1925808, reported by Shinmera on
#sbcl, thanks also to 3b)
* bug fix: on x86-64, loading all-1s into an AVX2 register no
longer causes an error. (thanks to Marco Heisig)
* bug fix: on arm64, improve disassembly of ADD with constant
0 as MOV
* enhancement: on arm64, support debugger commands
RETURN-FROM-FRAME and RESTART-FRAME more efficiently.
* enhancement: on x86-64, add support for vshuf* AVX2
instructions. (reported by Bela Pecsek)
* optimization: faster function calls on arm64.
* optimization: (SETF SBIT) is faster on x86-64.
* bug fix: INTEGER-DECODE-FLOAT was computing the wrong answer for
denormal double floats. (#1926383, reported by Stavros Macrakis)
* bug fix: RANDOM on a floating point argument now does not
cons. (reported by Tito Latini)
* bug fix: fix a compiler crash in type derivation of
LOGTEST. (#1928243)
* bug fix: fix a compiler failure when a declared function type
contains a literal structure with a valid MAKE-LOAD-FORM
method. (#1929160, thanks to Yurii Hryhorenko)
* optimization: FBOUNDP on a constant symbol is now faster.
* optimization: file compilation now produces smaller fasls for
files which reference package literals.
* optimization: derive the type of calls to FLOAT-SIGN.
|
2021-04-30 15:55:29 by Robert Swindells | Files touched by this commit (2) | |
Log message:
Update to version 2.1.4.
New in version 2.1.4
* platform support:
* work around address-space randomization causing instability
on new versions of MinGW. (#1921141)
* bug fix: RANDOM on floats returns values strictly less than the
float argument.
* bug fix: compiler error on x86-64 resulting from attempting to
zero a memory location with xor. (reported by Eric Marsden)
* optimization: extended loops updating iteration variables with
THEN can perform specialized arithmetic for those updates.
* optimization: in some cases, the jump table resulting from a
compilation of TYPECASE is simpler.
* optimization: on x86-64, IF BOUNDP followed by SYMBOL-VALUE can
elide some memory loads and tests.
New in version 2.1.3
* minor incompatible change: support for the
:SB-SAFEPOINT-STRICTLY, :SB-THRUPTION, and :SB-WTIMER build
features has been removed
* platform support:
* support for :SB-CORE-COMPRESSION on Darwin/ARM64
* support ARM v8.1 atomic and compare-and-swap instructions
* x86, x86-64: microoptimizations in multiple type-checking routines
* bug fix: structures and conditions are now TYPEP all
classes in the class precedence list of their
class. (reported by Luis Oliveira)
* bug fix: derivation of the result type from subtraction
sometimes erroneously excluded zero. (#1916895)
* bug fix: reduce the number of places where the system
permissively accepts the symbol * as a type specifier where
it should not be accepted. (#1860919)
* bug fix: the code-walker used by the system's
implementation of CLOS can handle defuns declared
inline. (reported by Don Cohen)
* optimization: EQUALP on specialized vectors and arrays is faster.
* optimization: support routines for EQUALP hash tables
generate less garbage.
New in version 2.1.2
* platform support:
* support for ARM64 macOS;
* improvement in coverage mark implementation on non-x86oid backends,
approaching the existing x86oid support;
* more empirically-robust retrieval of the program counter from
illegal instruction traps on SPARC;
* retain fewer dead objects when saving cores with precise collectors.
* incompatible change: MAP-ALL-SAMPLES and MAP-TRACE-SAMPLES
are no longer present in the SB-SPROF contrib module.
* minor incompatible change: SB-SPROF:WITH-PROFILING defaults
to all threads. SB-SPROF:START-PROFILING no longer accepts
a :SAMPLING keyword.
* enhancement: the sb-introspect contrib now supports finding
the lambda lists of method combinations. (thanks to Didier
Verna)
* enhancement: short-form DEFSETF now stores a source-location.
* bug fix: canonical unions of CONS types were being
incorrectly computed. (#1912863, reported by James
Kalenius)
* bug fix: better understanding of array simplicity (or
otherwise) in the type system. (#1903241)
* bug fix: unions of rational and integer types now have a
single canonical form, allowing more correct reasoning
about them in the type system.
* bug fix: less likely to overclaim certainty about type
equality of union types. (#1916040)
* bug fix: HANDLER-BIND evaluates the forms producing handler
functions only once. (#1916302, reported by Christophe
Junke)
* optimization: FIND on constant sequences can be compiled
into a jump table, in a similar manner to POSITION
* optimization: the compiler's awareness of numeric contagion
rules for operations on pairs of floating point numbers is
improved. (#1914094, thanks to Andrew Berkley)
New in version 2.1.1
* platform support:
* restore non-threaded NetBSD builds;
* adjust how the finalizer thread is started; (#1906571, #1907872)
* fix the encoding of PEXTR on x86-64;
* minor incompatible change: emit warnings for list iteration
forms when the object being iterated over is known not to be a
list. (#1908819, reported by Michael Fiano)
* bug fix: detect 2 or 1 as an invalid number of arguments passed
to optimized slot reading or writing effective method
respectively. (#1909659, reported by Michal Herda)
* bug fix: division by zero errors were in some cases not being
signalled. (#1910098, reported by il71)
* bug fix: erroneous coercions in the type system could lose
precision. (#1910294)
* bug fix: literal (read-time evaluated) NaNs in source code no
longer cause compiler crashes. (#1909881, reported by Michal
Herda)
* bug fix: detect more erroneous syntax in method
bodies. (#1912362, reported by Paul M. Rodriguez)
* optimization: the compiler's understanding of EXPT is improved,
reducing the introduction of COMPLEX types. (#1908830, reported
by Michael Fiano)
* optimization: the compiler is better at computing numeric
contagion when (COMPLEX FLOAT) types are involved.
* micro-optimizations:
* moving from slightly-bigger-than-fixnum ranges is more
efficient on x86-64;
* encode character comparisons with smaller operands on x86-64;
* truncating (and related operations) on floats can be inlined
in more cases on 64-bit platforms;
* rounding can use specialized instructions on ARM64 and on
x86-64 when SSE4 is available;
|
2021-01-18 00:00:18 by Robert Swindells | Files touched by this commit (3) |
Log message:
Update to version 2.1.0.
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)
|
2020-08-13 09:24:41 by Thomas Klausner | Files touched by this commit (4) | |
Log message:
sbcl: remove patches that were removed from distinfo during 2.0.7 update
While here, clean up some pkglint
|
2020-08-11 01:18:52 by Robert Swindells | Files touched by this commit (11) | |
Log message:
Update to version 2.0.7.
Allow it to be built with lang/abcl. Remove build dependency on lang/sbcl
if bootstrapping.
Changes since version 1.5.7
New in version 2.0.7
* minor incompatible change: SB-THREAD:THREAD-OS-TID returns NIL
for a thread which has exited.
* minor incompatible change: OPEN no longer calls TRUENAME
implicitly on a string filespec prior to issuing an open()
system call.
* minor incompatible change: PATHNAME is no longer a STRUCTURE-OBJECT.
* documentation: HASH-FUNCTION is a function
designator. (#1888028, reported by Jacek Zlydach)
* bug fix: eliminated a potential garbage-collector deadlock when
linking with TCMalloc.
* bug fix: foreign threads (those not made by
SB-THREAD:MAKE-THREAD) can not crash with a "GC_PENDING, but
why?" error when returning back from Lisp into the foreign
caller.
* bug fix: sb-fasteval crashed trying to install a JIT-compiled
DEFSTRUCT accessor in a locked package.
* bug fix: removed misuse of putwc() which caused stdio streams to
drop characters.
* bug fix: the "maximum interrupt nesting depth exceeded" error
generated in the C runtime is significantly less likely to
occur.
* bug fix: sb-sprof should no longer segfault from calling
pthread_kill() on a nonexistent thread.
* bug fix: a portability issue arising from various build hosts
(#1886255, reported by Pierre Neidhart)
* bug fix: spurious compiler warnings from REDUCE with
:INITIAL-VALUE. (#1885515, reported by Michael South)
* bug fix: an inconsistency between class hierarchies and the type
system under some circumstances involving
redefinition. (#1886397, reported by Atilla Lendvai)
* bug fix: the USE-VALUE restart for OPEN on non-existent files is
more likely to function as expected. (#1886587)
* bug fix: various invalid inputs to ROTATE-BYTE no longer cause
compiler errors. (#1887164, #1888152)
* optimization: PPC64 on linux uses the __thread annotation on C
variables in preference to pthread_setspecific() and
pthread_getspecific().
New in version 2.0.6
* planned incompatible change: the defined symbols in the
Metaobject Protocol, currently accessible from both SB-MOP and
SB-PCL packages, will in a later release be no longer exported
from SB-PCL.
* platform support:
* better support for dynamic-extent on the SPARC architecture.
* bug fix for loading very large core files.
* bug fix for logior and logxor on PPC64.
* enhancement: EQUALP on structure instances uses code specialized
to each structure type, inlining comparison of non-pointer
slots.
* enhancement: some standard operators, such as
WITH-OUTPUT-TO-STRING and CHANGE-CLASS, have been adapted to use
dynamic-extent temporary objects, and so cons less garbage on
the heap.
* enhancement: read tables are more space- and speed efficient
* bug fix: stream conditions with dynamic-extent streams have the
stream replaced by a stub. (reported by Matt Kaufmann)
* bug fix: garbage collections triggered from foreign callbacks
crashed. (#1884403, reported by Andrew Kent)
* bug fix: compiler failure in compiling MAKE-LIST. (#1881349)
* bug fix: using the debugger from frames with calls to functions
with unsupplied optional arguments is less likely to cause heap
corruption. (#1883745)
New in version 2.0.5
* platform support:
* experimental support for ARM32 and ARM64 on OpenBSD
* better musl libc support. (#1768368, thanks to Eric Timmons)
* more correct use of futexes on 64-bit Linux. (#1876825,
reported by Ilya Perminov)
* restore building on current Solaris. (#1881393, thanks to
Shawn Ellis)
* enhancement: CMUCL-style START-BLOCK and END-BLOCK declarations
are now supported for block compiling forms at a sub-file
granularity.
* enhancement: IPv6 support in sb-bsd-sockets is enabled on Windows.
* minor change: *compile-print* now makes it more clear what block
compilation is actually doing. The default output is now
slightly more verbose as a result.
* bug fix: number keys in EQUALP hash tables are correctly
hashed. (#1878653, reported by Syll)
* bug fix: EQness is better preserved given partial sharing of
list contents in the file compiler. (#1583753, reported by Denis
Budyak)
* bug fix: the peephole pass neglected to preserve jump table
labels. (#1876485)
* bug fix: fix compiler crash in block compilation merging of
toplevel lambdas. (#1865336, reported by il71)
* bug fix: sb-introspect's function-lambda-arglist is better at
extracting default values of nested macro arguments. (#1876194)
* bug fix: RESTART-BIND's body is an implicit progn, and so does
not accept declarations. (#1876303, reported by Michal Herda)
* optimization: EQUAL hash tables with keys involving
structure-objects will have fewer systematic collisions.
New in version 2.0.4
* platform support:
* 32-bit RISC-V is now fully supported. Unlike other ports,
its backend is entirely shared with 64-bit RISC-V.
* native threads are now supported on RISC-V.
* fix and add some x86-64 vector instructions. (reported by
Shubhamkar Ayare)
* improve pointer representation on ppc64 for low-level
performance improvement.
* threads are more stable on big-endian ppc64
* enhancement: forward-referenced type tests can now be open-coded
by using block compilation. The result is that mutually
referential defstructs are now efficiently compiled in block
compilation mode, superseding a lighter mechanism that worked in
fewer contexts. However, that lighter mechanism has been
removed, so for now, users who want to efficiently compile
mutually referential defstructs must explicitly opt-in using
block compilation.
* bug fix: defstructs with empty initforms in the sbcl source are
now explicitly intiialized with NIL, as that is undefined
behavior under ANSI. This helps cross compilation hosts which do
not implicitly initialize empty initform slots to NIL. (Thanks
to Karsten Poeck)
* bug fix: backtracing through assembly routines now works
properly on RISC-V.
* bug fix: ASH no longer gets miscompiled in certain edge cases on RISC-V.
* bug fix: &MORE args have been slightly optimized and are more
correct on RISC-V.
* bug fix: unused local functions with &REST/&KEY/&OPTIONAL now
also issue a deletion note.
* bug fix: APPLY on a large list ("large" being in excess of 2k to
16k items depending on the platform) can no longer crash the
gencgc collector.
* bug fix: sb-concurrency FRLOCK algorithm has been corrected. (#1087955)
* bug fix: block compilation now respects inlining declarations
better (like CMUCL).
* optimization: hashing of structures with raw slots for EQUALP
hash tables has been improved.
New in version 2.0.3
* incompatible change: the external format now defaults to UTF-8
and is not affected by LANG. SB-EXT:*DEFAULT-EXTERNAL-FORMAT* is
now the only way to change it.
* minor incompatible change: the undocumented :EPHEMERAL argument
to MAKE-THREAD has been removed.
* minor incompatible change: DECLARE type testing of structure
types when the SAFETY optimization quality is less than SPEED
(but greater than 0) is precise, rather than merely testing that
an object is a (general) STRUCTURE-OBJECT.
* platform support
* respect sunos platform assembler flag handling
* riscv architecture can be detected during the build
* enabled the sb-dynamic-core feature on riscv, sparc, and
made it unconditional everywhere
* cheneygc is an option for arm and arm64
* enhancement: the installed sbcl executable tree can be renamed
or moved without risk of incorrectly referencing a '.core' file
from an obsolete path. (#666086)
* optimization: transform (values-list (list one-item)) to (values
one-item) as multiple items were already recognized.
New in version 2.0.2
* new feature: CMUCL-style block compilation support has been
added, allowing whole program optimization. It has been
documented in a new section of the manual entitled "Advanced
Compiler Use and Efficiency Hints". In particular, users of
block compilation will find a large speedup for numerical code,
as functions which call or return floating point values will
keep everything unboxed.
* bug fix: in CHANGE-CLASS, handle non-standard
slot-value-using-class for :INSTANCE and :CLASS slots
better. (reported by Shinmera on #sbcl)
* bug fix: REMHASH in an EQUAL or EQUALP hash-table works
correctly on a key for which EQUAL (respectively EQUALP) is
reduced to EQ. (#1865094)
* bug fix: do not emit a warning for DEFCLASS slots with
mismatched :TYPE and :INITFORM when the class has a non-standard
metaclass.
* bug fix: DISASSEMBLE on SPARC is less likely to spuriously
annotate code sequences as error traps.
New in version 2.0.1
* minor incompatible change: some symbols have been removed from
*FEATURES* based on a determination of which should be
impermissible to examine via #+ and #- reader macros in
user-written code.
* optimization: DEFSTRUCT copiers including COPY-STRUCTURE are
able to stack-allocate the result when declared dynamic-extent.
* bug fix: loop analysis code more robust. In particular, loop
nesting depth is computed more accurately, improving the
register allocation around loops.
New in version 2.0.0
* minor incompatible change: heap relocation now works on
Windows. Since this feature now works on all platforms, it is
enabled unconditionally and the :RELOCATABLE-HEAP symbol no
longer appears on *FEATURES* in any builds. (Thanks to Luís
Borges de Oliveira)
* enhancement: malformed type specifiers and occurrences of
deprecated types in :TYPE initargs of DEFCLASS and
DEFINE-CONDITION slot specifications are detected and result in
compile-time errors and warnings respectively.
* enhancement: parallel contrib building, controlled by
SBCL_MAKE_JOBS=-jX the same as for the C runtime.
* bug fix: add a walker template for WITH-SOURCE-FORM.
* bug fix: start the summary of a compilation unit on a fresh
line. (Thanks to Zach Beane)
* bug fix: on Windows, PARSE-NATIVE-NAMESTRING produces an
absolute directory when parsing a bare drive name and
:AS-DIRECTORY is specified. (Thanks to Luís Borges de Oliveira)
* bug fix: on RISCV, the runtime is linked with libz if the core
compression feature is requested. (Thanks to Andreas Schwab)
* bug fix: ADJOIN using an EQL test and a KEY function only
transforms into an EQ test if the key function returns values
for which EQ and EQL are guaranteed to be the same.
* optimizations:
* the instruction sequence for multiple-value calls is more
efficient on x86-64.
* the direction flag is now unused on x86 and x86-64 when
handling an unknown number of return values. (Thanks to
Fanael Linithien)
* the x86-64 backend is better able to use memory operands for
arithmetic operations.
* compilation of TYPECASE to a jump table is enabled when all
the types being tested are frozen.
* compilation of CASE and ECASE into a jump table has been
implemented on 32- and 64-bit powerpc platforms.
* the implementation of Unicode normalization has been sped up.
* pretty-printing dispatch on conses is faster, particularly
with the standard pretty-print dispatch table. Deeply-nested
forms should also pretty-print faster.
New in version 1.5.9
* platform support:
* a message intended to be more helpful will be displayed for
an mmap failure on OpenBSD.
* the soft-float ABI on ARM32 is better supported, in
particular in returning double floats from calls into C.
* optimizations:
* CASE and ECASE with symbols as keys may be optimized into a
vector lookup if all result forms are quoted or
self-evaluating objects.
* CASE and ECASE can be optimized into a jump table on the
x86[-64] backends with arbitrary result forms provided that
the clause keys are either all fixnums, all characters, or
all symbols.
* a number of forms are converted to use CASE in circumstances
where that makes sense, including calls to POSITION, MEMQ
and MEMBER, and TYPECASE where the types are MEMBER/EQL
types.
* POSITION of a variable symbol in a constant sequence of
symbols is converted to CASE and thence to a jump table.
* TYPECASE of a variable where the clauses are member types is
converted to CASE and thence to a jump table.
* a number of slow instructions are no longer used on x86 and
x86-64 machines. (Thanks to Fanael Linithien)
* the compiler is better at tracking the implications of
branches after EQ and EQL tests.
* parsing &KEY lists is slightly less register-intensive.
* a pattern-based peephole optimizer pass has been added,
running some simple transformations on the x86-64 backend.
* enhancements: more thorough compile-time type checking of
various initforms (defclass, &key, defstruct).
* bug fix: unions of complicated CONS types are less likely to
cause an infinite loop. (#1799719)
* bug fix: DESCRIBE on functions not named by extended function
designators no longer signals a type error. (#1850531, reported
by Michal Herda)
New in version 1.5.8
* platform support:
* support for Mac OS X Catalina
* improvements in interoperability with C code compiled with
memory sanitization options
* libsbcl.so links to zlib when sb-core-compression is
enabled. (#1845763, thanks to Juan M. Bello-Rivas)
* workarounds for BSD issues around mmap() and
pthread_attr_setstack(). (#1845936) support SSE for bzero if
available on OpenBSD
* optimizations:
* improved type understanding and translations for division
operators (including TRUNCATE, GCD, LCM).
* sequential comparisons and branches can elide intermediate
comparisons. (#1847284)
* convert EQUAL and EQUALP to EQL if either of the arguments
is a type for which the structural equality predicate is
identical to the simpler equality check. (#1848583)
* internal operators implementing string comparisons produce
simpler-to-consume values. (#1848776)
* bug fix: inspecting adjustable arrays and vectors with fill
pointers works better. (#1846191, reported by Yves Pagani)
|
2020-05-22 15:34:43 by Jonathan Perkin | Files touched by this commit (1) |
Log message:
sbcl: Default to C99 compile environment on SunOS.
|