Tags give the ability to mark specific points in history as being important
-
sbcl-2.0.5
0ecdf713 · ·changes in sbcl-2.0.5 relative to sbcl-2.0.4: * platform support: ** experimental support for ARM32 and ARM64 on OpenBSD ** better musl libc support. (lp#1768368, thanks to Eric Timmons) ** more correct use of futexes on 64-bit Linux. (lp#1876825, reported by Ilya Perminov) ** restore building on current Solaris. (lp#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. (lp#1878653, reported by Syll) * bug fix: EQness is better preserved given partial sharing of list contents in the file compiler. (lp#1583753, reported by Denis Budyak) * bug fix: the peephole pass neglected to preserve jump table labels. (lp#1876485) * bug fix: fix compiler crash in block compilation merging of toplevel lambdas. (lp#1865336, reported by il71) * bug fix: sb-introspect's function-lambda-arglist is better at extracting default values of nested macro arguments. (lp#1876194) * bug fix: RESTART-BIND's body is an implicit progn, and so does not accept declarations. (lp#1876303, reported by Michal Herda) * optimization: EQUAL hash tables with keys involving structure-objects will have fewer systematic collisions. -
-
-
sbcl-2.0.4
407356a0 · ·changes in sbcl-2.0.4 relative to sbcl-2.0.3: * 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. (lp#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. -
-
-
sbcl-2.0.3
f24da394 · ·changes in sbcl-2.0.3 relative to sbcl-2.0.2: * 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. (lp#666086) * optimization: transform (values-list (list one-item)) to (values one-item) as multiple items were already recognized. -
-
-
-
sbcl-2.0.2
2602953a · ·changes in sbcl-2.0.2 relative to sbcl-2.0.1: * 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. (lp#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. -
-
-
-
-
-
-
-
-
sbcl-2.0.1
11c72fac · ·changes in sbcl-2.0.1 relative to sbcl-2.0.0: * 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.