[armedbear-cvs] r12278 - trunk/abcl/src/org/armedbear/lisp
Erik Huelsmann
ehuelsmann at common-lisp.net
Sat Nov 14 20:57:45 UTC 2009
Author: ehuelsmann
Date: Sat Nov 14 15:57:42 2009
New Revision: 12278
Log:
Add some loader process documentation.
Modified:
trunk/abcl/src/org/armedbear/lisp/Load.java
Modified: trunk/abcl/src/org/armedbear/lisp/Load.java
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/Load.java (original)
+++ trunk/abcl/src/org/armedbear/lisp/Load.java Sat Nov 14 15:57:42 2009
@@ -47,6 +47,23 @@
import java.util.zip.ZipFile;
import java.util.zip.ZipInputStream;
+/* This file holds ABCL's (FASL and non-FASL) loading behaviours.
+ *
+ * The loading process works like this:
+ * The loader associates the input filename with a special variable
+ * and starts evaluating the forms in the file.
+ *
+ * If one of the forms is (INIT-FASL :VERSION <version>), from that
+ * point the file is taken to be a FASL.
+ * The FASL loader takes over and retrieves the file being loaded
+ * from the special variable and continues loading from there.
+ *
+ * Note: In order to prevent re-opening the ZIP file again and again,
+ * ABCL keeps a cache of opened zip files, which are retrieved to load
+ * .cls (compiled-function files) from the ZIP while loading the main
+ * ._ file with FASL loading instructions.
+ */
+
public final class Load extends Lisp
{
public static final LispObject load(String filename)
@@ -59,7 +76,7 @@
Symbol.LOAD_PRINT.symbolValue(thread) != NIL,
true);
}
-
+
private static final File findLoadableFile(final String filename,
final String dir)
{
@@ -93,7 +110,7 @@
boolean verbose,
boolean print,
boolean ifDoesNotExist)
- {
+ {
return load(pathname, filename, verbose, print, ifDoesNotExist, false);
}
More information about the armedbear-cvs
mailing list