aboutsummaryrefslogtreecommitdiff
path: root/src/boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2012-08-20 04:29:01 +0000
committerdos-reis <gdr@axiomatics.org>2012-08-20 04:29:01 +0000
commit4fc0d2118f3b25dfa852ac6aadee83ddf9cc330a (patch)
tree398b988e0d2c30b146f6844c0e5184f5d89c9ea8 /src/boot
parent9995c4454f37aa63690a691b0be2b569d9744839 (diff)
downloadopen-axiom-4fc0d2118f3b25dfa852ac6aadee83ddf9cc330a.tar.gz
* interp/util.lisp (BUILD-INTERPSYS): loadDelayedFFI early.
* interp/sys-driver.boot (%sysInit): Do not call sys-osInitCLispFFI (no longer necessary.) * boot/translator.boot (genModuleFinalization): Generate forms to be evaluated at load and execution time, instead of a function call. * interp/spad.lisp (process): Remove.
Diffstat (limited to 'src/boot')
-rw-r--r--src/boot/strap/translator.clisp96
-rw-r--r--src/boot/translator.boot9
2 files changed, 51 insertions, 54 deletions
diff --git a/src/boot/strap/translator.clisp b/src/boot/strap/translator.clisp
index 11759bc9..c681da73 100644
--- a/src/boot/strap/translator.clisp
+++ b/src/boot/strap/translator.clisp
@@ -35,56 +35,52 @@
(|coreError| "current module has no name"))
(T
(SETQ |init|
- (CONS 'DEFUN
- (CONS
- (INTERN
- (CONCAT |$currentModuleName| "InitCLispFFI"))
- (CONS NIL
- (CONS
- (LIST 'MAPC (LIST 'FUNCTION 'FMAKUNBOUND)
- (|quote|
- (LET ((|bfVar#2| NIL)
- (|bfVar#3| NIL)
- (|bfVar#1|
- |$foreignsDefsForCLisp|)
- (|d| NIL))
- (LOOP
- (COND
- ((OR (NOT (CONSP |bfVar#1|))
- (PROGN
- (SETQ |d| (CAR |bfVar#1|))
- NIL))
- (RETURN |bfVar#2|))
- ((NULL |bfVar#2|)
- (SETQ |bfVar#2|
- #1=(CONS (CADR |d|)
- NIL))
- (SETQ |bfVar#3| |bfVar#2|))
- (T (RPLACD |bfVar#3| #1#)
- (SETQ |bfVar#3|
- (CDR |bfVar#3|))))
- (SETQ |bfVar#1|
- (CDR |bfVar#1|))))))
- (LET ((|bfVar#5| NIL)
- (|bfVar#6| NIL)
- (|bfVar#4| |$foreignsDefsForCLisp|)
- (|d| NIL))
- (LOOP
- (COND
- ((OR (NOT (CONSP |bfVar#4|))
- (PROGN
- (SETQ |d| (CAR |bfVar#4|))
- NIL))
- (RETURN |bfVar#5|))
- ((NULL |bfVar#5|)
- (SETQ |bfVar#5|
- #2=(CONS
- (LIST 'EVAL (|quote| |d|))
- NIL))
- (SETQ |bfVar#6| |bfVar#5|))
- (T (RPLACD |bfVar#6| #2#)
- (SETQ |bfVar#6| (CDR |bfVar#6|))))
- (SETQ |bfVar#4| (CDR |bfVar#4|)))))))))
+ (LIST 'EVAL-WHEN (LIST :LOAD-TOPLEVEL :EXECUTE)
+ (CONS 'PROGN
+ (CONS
+ (LIST 'MAPC (LIST 'FUNCTION 'FMAKUNBOUND)
+ (|quote|
+ (LET ((|bfVar#2| NIL)
+ (|bfVar#3| NIL)
+ (|bfVar#1|
+ |$foreignsDefsForCLisp|)
+ (|d| NIL))
+ (LOOP
+ (COND
+ ((OR (NOT (CONSP |bfVar#1|))
+ (PROGN
+ (SETQ |d| (CAR |bfVar#1|))
+ NIL))
+ (RETURN |bfVar#2|))
+ ((NULL |bfVar#2|)
+ (SETQ |bfVar#2|
+ #1=(CONS (CADR |d|) NIL))
+ (SETQ |bfVar#3| |bfVar#2|))
+ (T (RPLACD |bfVar#3| #1#)
+ (SETQ |bfVar#3|
+ (CDR |bfVar#3|))))
+ (SETQ |bfVar#1|
+ (CDR |bfVar#1|))))))
+ (LET ((|bfVar#5| NIL)
+ (|bfVar#6| NIL)
+ (|bfVar#4| |$foreignsDefsForCLisp|)
+ (|d| NIL))
+ (LOOP
+ (COND
+ ((OR (NOT (CONSP |bfVar#4|))
+ (PROGN
+ (SETQ |d| (CAR |bfVar#4|))
+ NIL))
+ (RETURN |bfVar#5|))
+ ((NULL |bfVar#5|)
+ (SETQ |bfVar#5|
+ #2=(CONS
+ (LIST 'EVAL (|quote| |d|))
+ NIL))
+ (SETQ |bfVar#6| |bfVar#5|))
+ (T (RPLACD |bfVar#6| #2#)
+ (SETQ |bfVar#6| (CDR |bfVar#6|))))
+ (SETQ |bfVar#4| (CDR |bfVar#4|))))))))
(|reallyPrettyPrint| |init| |stream|))))
(T NIL))))
diff --git a/src/boot/translator.boot b/src/boot/translator.boot
index 7f347cdc..5ade6ce3 100644
--- a/src/boot/translator.boot
+++ b/src/boot/translator.boot
@@ -58,10 +58,11 @@ genModuleFinalization(stream) ==
$currentModuleName = nil =>
coreError '"current module has no name"
init :=
- ["DEFUN", makeSymbol strconc($currentModuleName,'"InitCLispFFI"), nil,
- ["MAPC",["FUNCTION", "FMAKUNBOUND"],
- quote [second d for d in $foreignsDefsForCLisp]],
- :[["EVAL",quote d] for d in $foreignsDefsForCLisp]]
+ ["EVAL-WHEN", [KEYWORD::LOAD_-TOPLEVEL,KEYWORD::EXECUTE],
+ ["PROGN",
+ ["MAPC",["FUNCTION", "FMAKUNBOUND"],
+ quote [second d for d in $foreignsDefsForCLisp]],
+ :[["EVAL",quote d] for d in $foreignsDefsForCLisp]]]
reallyPrettyPrint(init,stream)
nil