Objavljen je izdanak SBCL 2.4.2 (Steel Bank Common Lisp), slobodne implementacije programskog jezika Common Lisp. Kod projekta napisan je na jezicima Common Lisp i C, te se distribuira pod BSD licencom.
U novom izdanju:
- Kompilacija sustavom samog sebe na x86-64 s Linuxom sada proizvodi bitovno identične kros-kompilirane fasl-ove gdje je graditeljski host cmucl, ccl, clisp ili sam sbcl.
- Optimizacije:
- Velik broj unutarnjih tablica, osobito onih koje se odnose na podršku Unicodeu, prebačen je na korištenje heš funkcija bez kolizija (perfect), što je poboljšalo brzinu i smanjilo veličinu.
- FIND, POSITION, ASSOC i RASSOC s argumentima nepromjenjive sekvence, koja sadrži simbole kao ključeve, sada se kompajliraju za pretraživanje korištenjem heševa bez kolizija.
- Na sustavima x86-64 u kompajleru osigurano je uklanjanje prijelaza jump-to-jump.
- Ispravke grešaka:
- Obnovljena je mogućnost nasljeđivanja i od SEQUENCE i od SB-MOP:FUNCALLABLE-STANDARD-OBJECT.
- COERCE neće pretvarati lambda forme u funkcije ako je zadano ime tipa podklasa FUNCTION.
- LOG s argumentima double-float i racionalnim argumentima (u bilo kojem redu) ne gubi točnost putem privremenog single-float argumenta.
- LOG s osnovom 2 i cijelim potenicama od 2 vjerojatno će dati matematički točan odgovor.
- LOG na racionalnim brojevima bliskim jedinici s brojnicima ili nazivnicima bliskim poteci 2 koristit će log1p i, na taj način, gubit će manje točnosti.
- Vanjski format utf-8 s Unix završecima linija ažurira informacije o veličinama njegovih simbola pri upotrebi brzog puta za ASCII simbola.
- Sadržaj vjerojatno više nevaljanih dinamički postojećih cons-ova nije ispisivan u metodi PRINT-OBJECT za THREAD objekte.
- Stalno postavljanje vanjskih ulaznih točaka za funkcije ispred svih drugih lokalnih funkcija.
- Uklanjanje neaktivnih napomena optimizacije za citirane forme i jedinstvene pozive APPEND pri visokoj brzini.
- Beskonacna petlja u COPY-SEQ na nizovima nulte duljine s tipom elemenata NIL.
- Ispravak kompilacije konstruktora struktura ne najvišeg nivoa.
- Ispravci u SB-SIMD:
- Poboljšanje provjere granica u SB-SIMD.
- Ispravak SB-SIMD AVX f64.4-reverse.
- Ispravak miješanja SB-SIMD na AVX i SSE2.
- Ispravak vremena života u sse+xmm0 VOP-ima.
Izvor: opennet.ru
