#32: Modify the currently disabled runtime-class.lisp code to not require ASM
--------------------------------------------------------------------+-------
Reporter: vvoutilainen | Owner: somebody
Type: enhancement | Status: new
Priority: major | Milestone:
Component: component1 | Version:
Keywords: jvm bytecode compiler runtime dynamic class generation |
--------------------------------------------------------------------+-------
It's possible to define classes at runtime, by generating bytecode and
loading it from the generated binary data, without ever writing it to a
temporary file. runtime-class.lisp does that, but it requires an external
bytecode library (ASM). ABCL has all the functionality for this to be done
without ASM, so the task is to modify the runtime-class.lisp code so that
ASM is no longer required and the code can be taken to be part of the
build.
--
Ticket URL: <http://127.0.0.1:8000/armedbear/ticket/32>
armedbear <http://common-lisp.net/project/armedbear>
armedbear
#55: Clearing LispThread.currentThread()._values more efficiently
-------------------------+--------------------------------------------------
Reporter: ehuelsmann | Owner: ehuelsmann
Type: enhancement | Status: new
Priority: major | Milestone:
Component: compiler | Version:
Keywords: |
-------------------------+--------------------------------------------------
We currently clear _values all over the place; we could be more efficient
some times.
--
Ticket URL: <http://trac.common-lisp.net/armedbear/ticket/55>
armedbear <http://common-lisp.net/project/armedbear>
armedbear
#34: adjust generated '*.cls' filenames
------------------------+---------------------------------------------------
Reporter: mevenson | Owner: somebody
Type: defect | Status: new
Priority: major | Milestone:
Component: component1 | Version:
Keywords: |
------------------------+---------------------------------------------------
dmiles:
it be nice to eventually name the coerce-666.cls coerce_666.cls as the
same name of the way classpaths think about them (they'd continue to
work).. one argument agaist is our autoloader at least gets a better whack
at finding them in the right context apart from classloader
--
Ticket URL: <http://127.0.0.1:8000/armedbear/ticket/34>
armedbear <http://common-lisp.net/project/armedbear>
armedbear
#30: Lisp debugger, for both compiled and interpreted code
----------------------------+-----------------------------------------------
Reporter: vvoutilainen | Owner: somebody
Type: enhancement | Status: new
Priority: major | Milestone: unscheduled
Component: component1 | Version:
Keywords: debug debugger |
----------------------------+-----------------------------------------------
ABCL code can be debugged with normal java debuggers, but it
is somewhat painful for the portions implemented in lisp(1). So we need a
lisp debugger.
(1) It's possible, although a bit tedious, to step through
eval calls in a java debugger by examining the cars and
cdrs of eval parameters when stepping the code.
--
Ticket URL: <http://127.0.0.1:8000/armedbear/ticket/30>
armedbear <http://common-lisp.net/project/armedbear>
armedbear
#56: Eliminate use of temporary files in COMPILE and COMPILE-FILE
-------------------------+--------------------------------------------------
Reporter: ehuelsmann | Owner: ehuelsmann
Type: enhancement | Status: new
Priority: major | Milestone:
Component: compiler | Version:
Keywords: |
-------------------------+--------------------------------------------------
The functions COMPILE and COMPILE-FILE use temporary files for the class
files generated by the compiler.
However, COMPILE directly loads them back into memory and deletes the temp
file, while COMPILE-FILE deletes the temp file after adding it to a ZIP
archive.
This ticket exists to indicate that infrastructure is required to better
manage where output goes to, abstracting from the temp files.
--
Ticket URL: <http://trac.common-lisp.net/armedbear/ticket/56>
armedbear <http://common-lisp.net/project/armedbear>
armedbear
#18: Incorporate 'invoke.lisp' dynamic classpath ability
-------------------------+--------------------------------------------------
Reporter: mevenson | Owner: somebody
Type: enhancement | Status: new
Priority: minor | Milestone:
Component: component1 | Version:
Keywords: |
-------------------------+--------------------------------------------------
Alan Ruttenberg's [invoke.lisp][1] has the ability to easily add
additional Java JARs at runtime by using the [beanshell classloader][2].
With a few additions to the ASDF system, this allows one to easily specify
"wrappings" of Java components which load JARs or find classfiles on the
filesystem.
The code in the Beanshell classmanager could be added to the ABCL src tree
fairly easily to facilitate this behavior.
[1]: http://svn.mumble.net:8080/svn/lsw/trunk/jss/invoke.lisp
[2]: http://www.beanshell.org/home.html
--
Ticket URL: <http://127.0.0.1:8000/armedbear/ticket/18>
armedbear <http://common-lisp.net/project/armedbear>
armedbear
#51: Implement debugger option to retry/return from stack frame
-------------------------+--------------------------------------------------
Reporter: ehuelsmann | Owner: somebody
Type: enhancement | Status: new
Priority: major | Milestone:
Component: other | Version:
Keywords: |
-------------------------+--------------------------------------------------
It would be very valuable to be able to retry a stack frame after changing
some of the local variables / function arguments in it.
--
Ticket URL: <http://127.0.0.1:8000/armedbear/ticket/51>
armedbear <http://common-lisp.net/project/armedbear>
armedbear
#57: Eliminate the use of writeToString for condition creation
------------------------+---------------------------------------------------
Reporter: ehuelsmann | Owner: somebody
Type: defect | Status: new
Priority: critical | Milestone:
Component: other | Version:
Keywords: |
------------------------+---------------------------------------------------
Due to the fact that the object being written may be recursive, we need to
bind *print-level* and *print-circle* before writing objects to error
strings. Possibly, these instances can be replaced by a format string and
format arguments.
--
Ticket URL: <http://trac.common-lisp.net/armedbear/ticket/57>
armedbear <http://common-lisp.net/project/armedbear>
armedbear
#24: Ability to load ASDF systems off JAR files in the classpath
-------------------------+--------------------------------------------------
Reporter: ehuelsmann | Owner: somebody
Type: enhancement | Status: new
Priority: major | Milestone:
Component: component1 | Version:
Keywords: |
-------------------------+--------------------------------------------------
Alan Ruttenberg writes:
I'd really like the ability to pop an
asdf central registry directory into the abcl jar and have abcl be
able to asdf load from there. Would really simplify packaging apps
based on abcl.
--
Ticket URL: <http://127.0.0.1:8000/armedbear/ticket/24>
armedbear <http://common-lisp.net/project/armedbear>
armedbear
#29: Support loading system files off other paths (in a JAR) than the default
one
-------------------------+--------------------------------------------------
Reporter: ehuelsmann | Owner: somebody
Type: enhancement | Status: new
Priority: major | Milestone:
Component: component1 | Version:
Keywords: |
-------------------------+--------------------------------------------------
Alan Ruttenberg writes:
In order to enable easy packaging of a system into a jar file, one
that might even be usable as an applet, a small change is needed.
Currently load-system-file can read an .abcl compiled file set from
the abcl jar. Actually, it doesn't load the .abcl directly. That file
is a zip file with a "top level" file with a "._" extension and a
bunch of .cls files. The unpacked contents of these files live in the
abcl jar, with the "._" file renamed to have the extension ".abcl".
The loading happens by first loading the "._" file, a file of lisp
forms, which when evaluated, in turn calls load-compiled-function on
each of the component .cls files (plus does some other stuff). All of
these files live in a single directory in the jar file: org/armedbear/
lisp/
I'd like to be able to load from a subdirectory of that, in which I
would put my files. I can tell load-system-file to load the initial
abcl file from the subdirectory, say, org/armedbear/lisp/util/, but
then load-compiled-function wants to load the components from org/
armedbear/lisp. So the small change is to set *load-truename* in load-
system-file, based on the supplied path, and then to use it as the
pathname defaults when executing the call to load-compiled-function.
It seems to do this for the case where it loads from the regular file
system, but not when working with the jar file.
Once this change is in place, to package up a system, one would unjar
abcl.jar, move one's compiled files in to a subdirectory of org/
armedbear/lisp, unzip all of them, rename *._ to *.abcl, and jar them
back up.
One could them load a file from the jar with: (sys:load-system-file
"mydir/foo.abcl")
loadCompiledFunction is defined in Lisp.java and loadSystemFile in
Load.java
--
Ticket URL: <http://127.0.0.1:8000/armedbear/ticket/29>
armedbear <http://common-lisp.net/project/armedbear>
armedbear