On Mon, Oct 24, 2011 at 7:39 PM, Mark Evenson evenson.not.org@gmail.com wrote:
On Oct 24, 2011, at 19:21 , Faré wrote: […]
Can ABCL somehow start a fresh image for cheap in the same Java heap, or even better, fork a CL image within the same Java heap? That would make ABCL much more useful as an XCVB backend.
No, the usual JVM implementations don't have this sort of capability. If our abstractions of specials, streams, etc. are managed correctly, we should be able to run threads for you quite cheaply. I'm working on a wrapping of the JVM Executor service. Stay tuned.
I believe Faré's reason for starting a new image is to have it clean of any side-effects of previous compilations. Strictly speaking, this would only be possible if the JVM supported fork() or save-image, but unfortunately it doesn't and will probably never do. However, I have an idea for a compromise that would not get you a truly fresh new image, but could nevertheless create a new environment clean enough for most use cases. I don't have the time to go into details now, but that's definitely something I've been wanting to experiment with for some time.
Alessio