diff options
author | Gabriel Dos Reis <gdr@axiomatics.org> | 2016-02-06 18:04:05 -0800 |
---|---|---|
committer | Gabriel Dos Reis <gdr@axiomatics.org> | 2016-02-06 18:04:05 -0800 |
commit | 5cf787319081158829aa7641884b340bacf7b783 (patch) | |
tree | 5d5f5e08a9591900e18b4cc4f82a580da7417283 /src/interp | |
parent | 7ad1bbdc6aa9780b9a7063299bf3b2d049106eed (diff) | |
download | open-axiom-5cf787319081158829aa7641884b340bacf7b783.tar.gz |
Move $lookupDefaults out of newLookupInTable
Move $lookupDefaults to he callers of newLookupInTable to surface
variabilities in the control flow.
Diffstat (limited to 'src/interp')
-rw-r--r-- | src/interp/buildom.boot | 3 | ||||
-rw-r--r-- | src/interp/nrunfast.boot | 10 |
2 files changed, 7 insertions, 6 deletions
diff --git a/src/interp/buildom.boot b/src/interp/buildom.boot index 3201ee43..20ae27a2 100644 --- a/src/interp/buildom.boot +++ b/src/interp/buildom.boot @@ -178,8 +178,7 @@ lookupInDomainAndDefaults(op,sig,domain,dollar,useDefaults) == basicLookup(op,sig,domain,dollar) == item := domainDirectory domain - cons? item and first item in '(lookupInDomain lookupInTable) => - lookupInDomainVector(op,sig,domain,dollar) + item is ['lookupInTable,:.] => lookupInDomainVector(op,sig,domain,dollar) ----------new world code follows------------ u := lookupInDomainAndDefaults(op,sig,domain,dollar,false) => u lookupInDomainAndDefaults(op,sig,domain,dollar,true) diff --git a/src/interp/nrunfast.boot b/src/interp/nrunfast.boot index c160002f..4d0316f6 100644 --- a/src/interp/nrunfast.boot +++ b/src/interp/nrunfast.boot @@ -153,17 +153,19 @@ replaceGoGetSlot env == --======================================================= lookupComplete(op,sig,dollar,env) == + $lookupDefaults => + newLookupInCategories(op,sig,first env,dollar) --lookup first in my cats + or newLookupInAddChain(op,sig,first env,dollar) newLookupInTable(op,sig,dollar,env,false) lookupIncomplete(op,sig,dollar,env) == + $lookupDefaults => + newLookupInCategories(op,sig,first env,dollar) --lookup first in my cats + or newLookupInAddChain(op,sig,first env,dollar) newLookupInTable(op,sig,dollar,env,true) newLookupInTable(op,sig,dollar,[domain,opvec],flag) == dollar = nil => systemError() - $lookupDefaults => - newLookupInCategories(op,sig,domain,dollar) --lookup first in my cats - or newLookupInAddChain(op,sig,domain,dollar) - --fast path when called from newGoGet success := false if $monitorNewWorld then sayLooking(concat('"---->",form2String devaluate domain, |