Objavljen je izdanak SBCL 2.4.1 (Steel Bank Common Lisp), slobodne implementacije programskog jezika Common Lisp. Kod projekta napisan je na jezicima Common Lisp i C, i distribuira se pod BSD licencom.
U novom izdanju:
- U paralelni sakupljač otpada, koji koristi algoritam mark-region, dodana je djelomična podrška za zaglavlja kompaktnog instanciranja.
- Za funkcije s deklariranim povratnim tipovima u načinima optimizacije s visokim vrijednostima SAFETY i u DEBUG 3 režimu osigurana je provjera tipa za povratne vrijednosti.
- Na platformi FreeBSD implementirana je povezivanja s libpthread i isključena je randomizacija adresnog prostora (ASLR).
- Obnovljena je podrška za 64-bitne arhitekture riscv i ppc.
- Za sve platforme implementirana je podrška za fastrem-32 (za optimizirane proračune FLOOR).
- Ispravljena je greška koja je uzrokovala ponovno čišćenje premještenih redaka nakon kompresije memorije paralelnim sakupljačem otpada mark-region.
- Riješen je problem s petljanjem prevoditelja prilikom obrade nekih konstrukcija s tipovima SATISFIES.
- Hash-tablice korištene u različitim dijelovima sustava (paketi, Unicode tablice) pretvorene su kako bi koristile hash funkcije bez kolizija (perfect).
- Makro TYPECASE za hijerarhije struktura klasa implementiran je s primjenom hash funkcije bez kolizija.
- S ciljem optimizacije performansi uklonjene su provjere granica za indekse s konstantnim pomacima, kada prevoditelj zna da je indeks manji od razlike između veličine i pomaka.
- U prevoditelju uzeti su dodatni podaci o optimizaciji DIGIT-CHAR.
- U prevoditelju je implementirana mogućnost isključivanja međuvrijednosti u nekim pozivima APPLY, CONCATENATE i MAKE-ARRAY za argumente sastavljene iz sekvenci sa svježim cons-modifikacijama.
- Povećana je brzina izvođenja petlje «(LOOP FOR X IN (REVERSE LIST) …)», koja sada koristi manje cons-ova.
- Petlja «(LOOP … APPEND …)» postala je kompaktnija i izvršava manje posla prilikom dodavanja NIL.
- Povećana je brzina i smanjene su provjere tipova različitih nizova.
Izvor: opennet.ru
