Megjelent az SBCL 2.4.2 (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 licenc alatt terjesztik.
Az új kiadásban:
- A rendszer saját magának történő lefordítása x86-64 Linux rendszereken most bit pontosan megfelelő krossz-kompilerelt fasl fájlokat eredményez, ahol a build host cmucl, ccl, clisp vagy maga az sbcl.
- Optimalizálások:
- Nagyszámú belső táblázat, különösen a Unicode támogatásához kapcsolódók, átálltak a kolíziókat mellőző hash függvények használatára, ami javította a sebességet és csökkentette a méretet.
- A FIND, POSITION, ASSOC és RASSOC most már kolíziótól mentes hash-alapú keresést használva fordulnak le, ha az argumentumok változatlan sorrendűek és kulcsokként szimbólumokat tartalmaznak.
- x86-64 rendszereken a fordító kiküszöböli a jump-to-jump ugrásokat.
- Hibajavítások:
- Visszaállítva a SEQUENCE és a SB-MOP:FUNCALLABLE-STANDARD-OBJECT öröklésének lehetősége.
- A COERCE nem fogja átkonvertálni a lambda formákat funkciókká, ha a megadott típus neve a FUNCTION alosztálya.
- A LOG double-float és racionális argumentumokkal (bármilyen sorrendben) nem veszíti el a pontosságot egy közvetítő single-float argumentumon keresztül.
- A 2-es alapú LOG egész számú kettes hatvány esetén valószínűleg matematikailag pontos választ ad.
- A LOG racionális számokkal, amelyek közel állnak az egyhez, és amelyek számlálója vagy nevezője kétes hatványhoz közelít, a log1p-t használják, így kevesebb pontosságot veszít.
- Az utf-8 külső formátum Unix végekkel frissíti a karakterméretek információját az ASCII karakterek gyorsított útjának alkalmazásakor.
- Valószínűleg nem érvényes, dinamikusan létező cons-ok tartalmát nem nyomtatták ki a PRINT-OBJECT metódusban a THREAD objektumokhoz.
- A külső belépési pontok állandó elhelyezése a funkciók előtt bármely más helyi funkció előtt.
- Kimutathatatlan optimalizáló megjegyzések eltávolítása a zárójelek között lévő formák és egységes APPEND hívásokra high-speed környezetben.
- Végtelen ciklus a COPY-SEQ-ben nulla hosszúságú tömbök NIL elemtípussal.
- A nem legfelső szintű struktúra konstruktorainak fordítási hibáit javították.
- Javítások a SB-SIMD-ban:
- Határellenőrzés javítása a SB-SIMD-ban.
- A SB-SIMD AVX f64.4-reverse javítása.
- A SB-SIMD SHA és SSE2 keveredésének javítása.
- Az sse+xmm0 VOP-ok életciklusának javítása.
Forrás: opennet.ru
