1 | #+title: ABCL 1.9.1 released |
---|
2 | * abcl-1.9.1 |
---|
3 | If one has been hesitating about using the latest ABCL because one |
---|
4 | "never uses a dot oh release", we have now sloughed off abcl-1.9.1 for |
---|
5 | your appraisal from the depths of a Bear's long winter nap. Now one |
---|
6 | can use the somewhat less buggy version of the Tenth Edition of Armed |
---|
7 | Bear Common Lisp, available, as usual, at |
---|
8 | <https://abcl.org/releases/1.9.1/> or via Maven |
---|
9 | <https://search.maven.org/artifact/org.abcl/abcl/1.9.1/jar>. |
---|
10 | |
---|
11 | ** News |
---|
12 | |
---|
13 | |
---|
14 | N.b. that when running on openjdk17 and later runtimes, there is quite |
---|
15 | a bit of necessary fiddling with command line arguments to "open" |
---|
16 | various modules to the Bear's introspective gaze. For example, see |
---|
17 | <https://abcl.org/svn/tags/1.9.1/ci/create-abcl-properties.bash> for |
---|
18 | the switches necessary to use CFFI to successfully run the CL+SSL test |
---|
19 | suite. |
---|
20 | |
---|
21 | As a reward for your patience, we mention the following notable |
---|
22 | improvements: |
---|
23 | |
---|
24 | *** CFFI compatibility |
---|
25 | |
---|
26 | We improved the compiler to use wide indices for stack frame locals |
---|
27 | for the ALOAD, ASTORE, ILOAD, ISTORE, LLOAD, and LSTORE opcodes, which |
---|
28 | among other goodness, allows CFFI-TESTS to compile again. In |
---|
29 | addition, we have updated the jar artifact used by CFFI to jna-5.12.1 |
---|
30 | which includes support for native linkage on the Apple Silicon |
---|
31 | and other exotic architectures. |
---|
32 | |
---|
33 | *** (Alan Ruttenberg) Ability to discriminate generic function execution on sub-types of MOP:SPECIALIZER |
---|
34 | |
---|
35 | Following SBCL, CCL, and ECL, the Bear now accepts subtypes of |
---|
36 | MOP:SPECIALIZER as a generic function discriminator. |
---|
37 | |
---|
38 | *** Overhauled relationship to later openjdk threading models |
---|
39 | |
---|
40 | Going back to the future of the original green thread models, recent |
---|
41 | openjdk releases have started offering lightweight threading |
---|
42 | implementations. For the Bear, the ability to spawn virtual threads |
---|
43 | is indicated by the presence of :VIRTUAL-THREADS in CL:*FEATURES*. |
---|
44 | Setting the special THREADS:*THREADING-MODEL* to :VIRTUAL results in |
---|
45 | THREADS:MAKE-THREADS spawning virtual threads. On some openjdks one |
---|
46 | may have to pass a command-line switch the JVM to enable virtual |
---|
47 | threading. |
---|
48 | |
---|
49 | *** (Uthar) Implement array types for JAVA:JNEW-RUNTIME-CLASS |
---|
50 | |
---|
51 | Support for creating synthetic Java classes at runtime via |
---|
52 | JAVA:JNEW-RUNTIME-CLASS has been improved by introducing machinery for |
---|
53 | dealing with array types. |
---|
54 | |
---|
55 | *** (Alejandrozf) Compiler uses of signals to fallback to interpreted form |
---|
56 | |
---|
57 | We fall back to use an interpreted form for compilation results larger |
---|
58 | than 65535 bytes, which fixes the loading of the FirCAS computer |
---|
59 | algebra system. |
---|
60 | |
---|
61 | *** (Alejandrozf) Further fixes to COMPILE-FILE-PATHNAME |
---|
62 | |
---|
63 | We have restored the ability to compile Maxima by hopefully untangling |
---|
64 | the lask kinks in the reworking of our COMPILE-FILE-PATHNAME logic. |
---|
65 | |
---|
66 | *** (Tarn W. Burton) Avoid NIL in simple LOOP from CL:FORMAT directives |
---|
67 | |
---|
68 | Simplify simple CL:LOOP requires only compound forms, in the place |
---|
69 | where returning NIL is neither permitted nor desired. |
---|
70 | |
---|
71 | *** Broad testing and tweaks across Java Long Term Support (LTS) binaries |
---|
72 | |
---|
73 | We have extensively tested against recent openjdk8, openjdk11, |
---|
74 | openjdk17, and openjdk19 binaries. Unfortunately, for openjdk17+ |
---|
75 | runtimes one needs to pass additional runtime command line switches to |
---|
76 | the hosting JVM which "open" Java modules to reflective actions. |
---|
77 | |
---|
78 | * Fuller details |
---|
79 | |
---|
80 | More details can be found in <https://abcl.org/svn/tags/1.9.1/CHANGES>. |
---|
81 | |
---|
82 | Enjoy, and please CONS responsibly⊠|
---|
83 | |
---|