Release of SBCL 2.4.1, an implementation of the Common Lisp language

The release of SBCL 2.4.1 (Steel Bank Common Lisp), a free implementation of the Common Lisp programming language, has been published. The project code is written in Common Lisp and C, and is distributed under the BSD license.

In the new release:

  • Added partial support for compact instance headers to the parallel garbage collector using the mark-region algorithm.
  • For functions with declared return types, the large SAFETY and DEBUG 3 optimization modes ensure that type checking is performed on return values.
  • On the FreeBSD platform, linking with libpthread is implemented and address space randomization (ASLR) is disabled.
  • The assembly on 64-bit riscv and ppc architectures has been restored.
  • Fastrem-32 support has been implemented for all platforms (for optimized FLOOR calculations).
  • Fixed a bug that caused moved lines to be re-flushed after memory compaction by the mark-region parallel garbage collector.
  • The problem with the compiler looping when processing some constructions with SATISFIES types has been resolved.
  • Hash tables used in various parts of the system (packages, Unicode tables) are converted to use hash functions that are free of collisions (perfect).
  • The TYPECASE macro for class structure hierarchies is implemented using a collision-free hash.
  • To optimize performance, bounds checks have been removed for indexes with constant offsets, where the compiler knows that the index is less than the difference between size and offset.
  • The compiler takes into account additional DIGIT-CHAR optimization data.
  • The compiler has implemented the ability to exclude intermediate values ​​in some APPLY, CONCATENATE and MAKE-ARRAY calls for arguments constructed from sequences with fresh cons modifications.
  • The operation of the loop β€œ(LOOP FOR X IN (REVERSE LIST) ...)” has been accelerated, which now uses fewer cons.
  • The "(LOOP... APPEND...)" loop is more compact and does less work when adding NIL.
  • Type checks for various arrays have been accelerated and shortened.

Source: opennet.ru

Add a comment