diff options
author | dos-reis <gdr@axiomatics.org> | 2007-10-12 04:33:34 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2007-10-12 04:33:34 +0000 |
commit | 154daf2e85eaa209486de6d41e8a1b067590bb8e (patch) | |
tree | 66b48e2b838cd2033727638c181a12d21b7e4ead /src/interp/g-opt.boot.pamphlet | |
parent | bdea50f2baa8f866a77d355ef23a1ba844f8c2b7 (diff) | |
download | open-axiom-154daf2e85eaa209486de6d41e8a1b067590bb8e.tar.gz |
* Makefile.pamphlet (${DEPSYS}): Depend on g-util.$(FASLEXT).
Load explicitly.
(<<profile.clisp>>): Remove.
(<<g-cndata.clisp>>): Likewise.
(<<g-opt.clisp>>): Likewise.
(<<g-timer.clisp>>): Likewise.
(<<hypertex.clisp>>): Likewise.
(<<rulesets.clisp>>): Likewise.
(<<ht-util.clisp>>): Likewise.
(<<htsetvar.clisp>>): Likewise.
(<<ht-root.clisp>>): Likewise.
(<<htcheck.clisp>>): Likewise.
(ht-root.$(FASLEXT)): New rule.
(htcheck.$(FASLEXT)): Likewise.
(ht-util.$(FASLEXT)): Likewise.
(htsetvar.$(FASLEXT)): Likewise.
(hypertex.$(FASLEXT)): Likewise.
(profile.$(FASLEXT)): Likewise.
(rulesets.$(FASLEXT)): Likewise.
(g-opt.$(FASLEXT)): Likewise.
(g-timer.$(FASLEXT)): Likewise.
(g-util.$(FASLEXT)): Likewise.
(g-cndata.$(FASLEXT)): Likewise.
* daase.lisp.pamphlet (*attributes*): Move definition to
sys-constants.boot.
* g-cndata.boot.pamphlet: Push into package "BOOT". Fix syntax.
* g-opt.boot.pamphlet: Likewise.
(EqualBarGensym): Fix thinko.
* g-timer.boot.pamphlet: Push into package "BOOT".
* g-util.boot.pamphlet: Likewise.
* ht-root.boot.pamphlet: Likewise. Fix syntax.
* ht-util.boot.pamphlet: Push into package "BOOT".
* htcheck.boot.pamphlet: Likewise.
* htsetvar.boot.pamphlet: Likewise.
* hypertex.boot.pamphlet: Likewise. Fix syntax.
* profile.boot.pamphlet: Likewise.
* rulesets.boot.pamphlet: Likewise.
* setq.lisp.pamphlet (/VERSION): Move definition to sys-globals.boot.
* spad.lisp.pamphlet (/WSNAME): Likewise.
(|rplac|): Move to sys-macros.boot.
Diffstat (limited to 'src/interp/g-opt.boot.pamphlet')
-rw-r--r-- | src/interp/g-opt.boot.pamphlet | 56 |
1 files changed, 28 insertions, 28 deletions
diff --git a/src/interp/g-opt.boot.pamphlet b/src/interp/g-opt.boot.pamphlet index 33fad9dd..cb16c275 100644 --- a/src/interp/g-opt.boot.pamphlet +++ b/src/interp/g-opt.boot.pamphlet @@ -46,6 +46,10 @@ <<*>>= <<license>> +import '"def" + +)package "BOOT" + --% OPTIMIZER optimizeFunctionDef(def) == @@ -119,12 +123,12 @@ optCatch (x is ["CATCH",g,a]) == changeThrowToExit(rest s,g) rplac(rest a,[:s,["EXIT",u]]) ["CATCH",y,a]:= optimize x - if hasNoThrows(a,g) - then (rplac(first x,first a); rplac(rest x,rest a)) where - hasNoThrows(a,g) == - a is ["THROW", =g,:.] => false - atom a => true - hasNoThrows(first a,g) and hasNoThrows(rest a,g) + if hasNoThrows(a,g) where + hasNoThrows(a,g) == + a is ["THROW", =g,:.] => false + atom a => true + hasNoThrows(first a,g) and hasNoThrows(rest a,g) + then (rplac(first x,first a); rplac(rest x,rest a)) else changeThrowToGo(a,g) where changeThrowToGo(s,g) == @@ -264,7 +268,7 @@ AssocBarGensym(key,l) == EqualBarGensym(key,CAR x) => return x EqualBarGensym(x,y) == - $GensymAssoc: nil + $GensymAssoc: fluid fn(x,y) where fn(x,y) == x=y => true @@ -391,27 +395,23 @@ optEQ u == u u -EVALANDFILEACTQ - ( - for x in '( (call optCall) _ - (SEQ optSEQ)_ - (EQ optEQ) - (MINUS optMINUS)_ - (QSMINUS optQSMINUS)_ - (_- opt_-)_ - (LESSP optLESSP)_ - (SPADCALL optSPADCALL)_ - (_| optSuchthat)_ - (CATCH optCatch)_ - (COND optCond)_ - (mkRecord optMkRecord)_ - (RECORDELT optRECORDELT)_ - (SETRECORDELT optSETRECORDELT)_ - (RECORDCOPY optRECORDCOPY)) _ - repeat MAKEPROP(CAR x,'OPTIMIZE,CREATE_-SBC CADR x) - --much quicker to call functions if they have an SBC - ) - +for x in '( (call optCall) _ + (SEQ optSEQ)_ + (EQ optEQ) + (MINUS optMINUS)_ + (QSMINUS optQSMINUS)_ + (_- opt_-)_ + (LESSP optLESSP)_ + (SPADCALL optSPADCALL)_ + (_| optSuchthat)_ + (CATCH optCatch)_ + (COND optCond)_ + (mkRecord optMkRecord)_ + (RECORDELT optRECORDELT)_ + (SETRECORDELT optSETRECORDELT)_ + (RECORDCOPY optRECORDCOPY)) _ + repeat MAKEPROP(CAR x,'OPTIMIZE,CREATE_-SBC CADR x) + --much quicker to call functions if they have an SBC @ \eject |