[armedbear-devel] In-memory compilation status
alessiostalla at gmail.com
Tue Sep 8 11:04:24 UTC 2009
On Tue, Sep 8, 2009 at 12:45 PM, Mark Evenson<evenson at panix.com> wrote:
> On 9/8/09 10:27 AM, Alessio Stalla wrote:
>> If others have ideas in this regard, please share. I'd like to avoid
>> Plan B (having users resort to the competition :D)
> This seems somewhat related to my recent work to load ABCL FASLs from
> JAR files, in that I have had to change Lisp.loadCompiledFile() to get
> things to work. In that new code, if I can address a FASL via a URL
> resolvable via java.net.URL, I can load the FASL.
> Does the cloud platform being considered here have a way to address its
> storage as URLs?
> I don't quite see the parts of the compiler that need to write to the
> filesystem. Can anyone point me to the places where that happens?
Going from memory, when it compiles local functions/closures, it needs
to write each one to its own class file. The compiled top-level
function will contain instructions like
loadCompiledFunction("tempClassFileFoo1234.cls"). After the compiled
function is loaded, if the runtime compiler has been used, temporary
files are deleted.
I also vaguely remember that the compiler uses temporary memory
(remember/recall) for constants and other things, and generates code
in the compiled class files like 'fetch contant 1234 from the
compiler'. So, if it's still like this, that's a problem for the OP,
But I haven't got the abcl source handy now, so that might be incorrect.
More information about the armedbear-devel