UtgÄvan av SBCL 2.4.1 (Steel Bank Common Lisp), en fri implementation av programmeringssprÄket Common Lisp, har publicerats. Projektets kod Àr skriven i Common Lisp och C och distribueras under BSD-licensen.
I den nya utgÄvan:
- Det parallella skrÀpmagasinet, som anvÀnder mark-region algoritmen, har fÄtt delvis stöd för rubriker för kompakta instanser.
- För funktioner med deklarerade returtyper har sÀkerhet och DEBUG-lÀge 3 implementerat typkontroll för returvÀrden under optimaliseringslÀgen med högre sÀkerhet.
- PÄ FreeBSD-plattformen har lÀnkning med libpthread implementerats och randomisering av adressutrymmet (ASLR) har inaktiverats.
- à terstÀllning av byggprocessen pÄ 64-bitars arkitekturer riscv och ppc.
- Stöd för fastrem-32 (för optimerade FLOOR-berÀkningar) har implementerats pÄ alla plattformar.
- En bugg som ledde till upprepad rensning av flyttade rader efter komprimering av minnet med det parallella skrÀpmagasinet mark-region har ÄtgÀrdats.
- Problemet med att kompilatorn gick i oÀndlig loop vid hantering av vissa konstruktioner med SATISFIES-typer har lösts.
- Hash-tabeller som anvÀnds i olika delar av systemet (paket, Unicode-tabeller) har omvandlats för att anvÀnda kollisionfria hash-funktioner (perfekta).
- Makrotypen TYPECASE för hierarkier av klassstrukturer har implementerats med hjÀlp av kollisionfria hashar.
- För att optimera prestandan har grÀnskontroller för index med fasta förskjutningar tagits bort nÀr kompilatorn vet att index Àr mindre Àn skillnaden mellan storlek och förskjutning.
- Kompilatorn har tagit hÀnsyn till ytterligare data om optimering av DIGIT-CHAR.
- Kompilatorn har implementerat möjligheten att utesluta mellanliggande vÀrden i vissa anrop av APPLY, CONCATENATE och MAKE-ARRAY för argument byggda av sekvenser med fÀrska cons-modifieringar.
- Cykeln '(LOOP FOR X IN (REVERSE LIST) âŠ)' har pĂ„skyndats och anvĂ€nder nu fĂ€rre cons.
- Cykeln '(LOOP ⊠APPEND âŠ)' har blivit kompaktare och utför mindre arbete vid tillĂ€gg av NIL.
- Typkontroller för olika arrayer har pÄskyndats och förenklats.
KĂ€lla: opennet.ru
