Avalikustatud on SBCL 2.4.1 (Steel Bank Common Lisp), avatud lähtekoodiga rakendus Common Lisp programmeerimiskeelele. Projekti kood on kirjutatud keeltes Common Lisp ja C ning jaotatakse BSD litsentsi alusel.
Uues väljaandes:
- Paralleelsele prügikorjajale, mis kasutab mark-region algoritmi, on lisatud osaline tugi kompaktsete instantside pealkirjade jaoks.
- Funktsioonide puhul, millel on deklareeritud tagastus tüübid, on suurte väärtustega SAFETY optimeerimise režiimides ja DEBUG 3 režiimis tagatud tagastusväärtuste tüüpide kontroll.
- Platvormil FreeBSD on rakendatud linkimist libpthreadiga ja välja lülitatud aadressiruumi rändamine (ASLR).
- Taastatud tugi 64-bitistele arhitektuuridele riscv ja ppc.
- Kõikidel platvormidel on rakendatud fastrem-32 tugi (optimeeritud FLOOR arvutuste jaoks).
- Eemaldatud viga, mis viis kolmandate ridade korduva puhastamiseni pärast paralleelse prügikorjaja mark-regioni memory defragmentatsiooni.
- Lahendatud probleem kompilatori tingimuse SATISFIES töötlemise ciclinguga.
- Häkkimistabelid, mida kasutatakse süsteemi erinevates osades (paketid, Unicode tabelid), on muudetud kollisioonivabade häkkimisfunktsioonide kasutamiseks (täiuslik).
- Makro TYPECASE klassistruktuuride hierarhiate jaoks on rakendatud kollisioonivaba häkkimist.
- Rakendatud on jõudluse optimeerimiseks piirikontrollide eemaldamine pidevate nihketega indeksite jaoks, kui kompilaator teab, et indeks on väiksem kui suuruse ja nihke vahe.
- Kompilaatoris on arvesse võetud täiendavaid andmeid DIGIT-CHAR optimeerimise kohta.
- Kompilaatoris on rakendatud võimalus välistada vahepealsed väärtused mõnede APPLY, CONCATENATE ja MAKE-ARRAY kutsungite puhul, kui argumendid on loodud värskete cons-muudatustega järjestustest.
- Tsüklit „(LOOP FOR X IN (REVERSE LIST) …)” on kiirendatud, nüüd kasutab see vähem cons-e.
- Tsükkel „(LOOP … APPEND …)” on muutunud kompaktsemaks ja teeb vähem tööd NIL-i lisamisel.
- Erinevate massiivide tüüpide kontrollid on kiirendatud ja lühendatud.
Allikas: opennet.ru
