Izdaja SBCL 2.4.1, implementacije jezika Common Lisp

Objavljena je bila izdaja SBCL 2.4.1 (Steel Bank Common Lisp), brezplačne izvedbe programskega jezika Common Lisp. Koda projekta je napisana v Common Lisp in C ter se distribuira pod licenco BSD.

V novi izdaji:

  • Dodana je delna podpora za glave kompaktnih primerkov vzporednemu zbiralniku smeti z uporabo algoritma označevanja regije.
  • Za funkcije z deklariranimi vrnjenimi vrstami velika načina optimizacije SAFETY in DEBUG 3 zagotavljata, da se preverjanje vrste izvaja na vrnjenih vrednostih.
  • Na platformi FreeBSD je implementirano povezovanje z libpthread in onemogočeno naključno določanje naslovnega prostora (ASLR).
  • Zbor na 64-bitnih arhitekturah riscv in ppc je bil obnovljen.
  • Podpora za Fastrem-32 je bila implementirana za vse platforme (za optimizirane izračune FLOOR).
  • Odpravljena je napaka, ki je povzročila, da so bile premaknjene vrstice po zgoščevanju pomnilnika po zgoščevanju pomnilnika s strani vzporednega zbiralnika smeti za območje označevanja ponovno sprane.
  • Težava z zankami prevajalnika pri obdelavi nekaterih konstrukcij s tipi SATISFIES je bila rešena.
  • Zgoščevalne tabele, ki se uporabljajo v različnih delih sistema (paketi, tabele Unicode), so pretvorjene tako, da uporabljajo zgoščevalne funkcije brez kolizij (popolno).
  • Makro TYPECASE za hierarhije strukture razredov je implementiran z zgoščevanjem brez kolizij.
  • Za optimizacijo zmogljivosti so bila odstranjena preverjanja meja za indekse s konstantnimi odmiki, kjer prevajalnik ve, da je indeks manjši od razlike med velikostjo in odmikom.
  • Prevajalnik upošteva dodatne podatke za optimizacijo DIGIT-CHAR.
  • Prevajalnik je implementiral možnost izključitve vmesnih vrednosti v nekaterih klicih APPLY, CONCATENATE in MAKE-ARRAY za argumente, sestavljene iz zaporedij s svežimi spremembami slabosti.
  • Pospešeno je bilo delovanje zanke “(LOOP FOR X IN (REVERSE LIST) ...)”, ki zdaj uporablja manj cons.
  • Zanka "(LOOP... APPEND...)" je bolj kompaktna in opravi manj dela pri dodajanju NIL.
  • Preverjanje tipov za različne nize je bilo pospešeno in skrajšano.

Vir: opennet.ru

Dodaj komentar