This patch is now applied on trunk (rev. 12345) and you are encouraged to try it and comment on it.
I haven't benchmarked it, but I don't expect a performance degradation, just a slightly increased memory usage due to the extra reference to the intended class stored in every JavaObject.
Bye, Alessio
There's a regression:
Error loading /Users/alanr/repos/lsw/trunk/jss/armedbear-0.18.0-dev-darwin-unknown/invoke.abcl at line 56 (offset 3507) Debugger invoked on condition of type TYPE-ERROR: java.lang.Boolean is not assignable to boolean Restarts: 0: RETRY Retry performing #<ASDF:LOAD-OP (:VERBOSE T) {26EEE5}> on #<ASDF:CL-SOURCE-FILE "invoke" {ABE92B}>. 1: ACCEPT Continue, treating #<ASDF:LOAD-OP (:VERBOSE T) {26EEE5}> on #<ASDF:CL-SOURCE-FILE "invoke" {ABE92B}> as having been successful. [1] CL-USER(1): :bt 0: (SYSTEM:BACKTRACE) 1: (INVOKE-DEBUGGER #<TYPE-ERROR {8B356D}>) 2: org.armedbear.lisp.Lisp.error(Lisp.java:353) 3: org.armedbear.lisp.JavaObject.javaInstance(JavaObject.java:238) 4: org.armedbear.lisp.Java.jstatic(Java.java:389) 5: org.armedbear.lisp.Java.access$600(Java.java:50) 6: org.armedbear.lisp.Java$9.execute(Java.java:434) 7: org.armedbear.lisp.Primitive.execute(Primitive.java:174) [1] CL-USER(2):