diff options
author | dos-reis <gdr@axiomatics.org> | 2012-08-20 04:29:01 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2012-08-20 04:29:01 +0000 |
commit | 4fc0d2118f3b25dfa852ac6aadee83ddf9cc330a (patch) | |
tree | 398b988e0d2c30b146f6844c0e5184f5d89c9ea8 /src/boot | |
parent | 9995c4454f37aa63690a691b0be2b569d9744839 (diff) | |
download | open-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.clisp | 96 | ||||
-rw-r--r-- | src/boot/translator.boot | 9 |
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 |