Megjelent az SBCL 2.4.1 (Steel Bank Common Lisp), a Common Lisp programozási nyelv szabad implementációja. A projekt kódja Common Lisp és C nyelveken íródott, és BSD licence alatt terjesztik.
Az új kiadásban:
- A párhuzamos szemétgyűjtő, amely a mark-region algoritmust használja, részleges támogatást kapott a tömörített példányok fejlécéhez.
- A deklarált visszatérési típusú funkciók esetében a nagy SAFETY értékekkel és DEBUG 3 módban megvalósítottuk a visszatérési értékek típusellenőrzését.
- A FreeBSD platformon megvalósult a libpthread-val történő linkelés, és le lett tiltva a címkék véletlenszerűsítése (ASLR).
- Visszaállítottuk a 64 bites riscv és ppc architektúrák támogatását.
- Minden platformon megvalósítottuk a fastrem-32 támogatását (az FLOOR optimalizált számításaihoz).
- Megoldotta a hibát, amely a párhuzamos mark-region szemétgyűjtő után a mozgatott sorok ismételt törlését okozta.
- Megoldottuk a fordító ciklikus problémáját néhány SATISFIES típusú konstrukció feldolgozása közben.
- A rendszer különböző részein (csomagok, Unicode táblák) használt hash-táblákat a kolízióktól mentes (tökéletes) hash funkciók használatára alakítottuk.
- A TYPECASE makró a klasszisztruktúrák hierarchiájához kolízióktól mentes hash használatával lett implementálva.
- A teljesítmény optimalizálása érdekében eltávolítottuk a határellenőrzéseket a fixelt eltolással rendelkező indexek esetében, amikor a fordító tudja, hogy az index kisebb, mint a méret és az eltolás közötti különbség.
- A fordító figyelembe vette a DIGIT-CHAR optimalizációs adatokat.
- A fordító lehetővé tette a köztes értékek kizárását bizonyos APPLY, CONCATENATE és MAKE-ARRAY hívásokban, ahol az argumentumokat friss cons módosításokból állítanak elő.
- Felgyorsítottuk a „(LOOP FOR X IN (REVERSE LIST) …)” ciklus működését, amely most kevesebb cons-t használ.
- A „(LOOP … APPEND …)” ciklus kompaktabbá vált, és kevesebb munkát végez NIL hozzáadásakor.
- Gyorsítottuk és csökkentettük a különböző tömbök típusellenőrzéseit.
Forrás: opennet.ru
