diff options
author | dos-reis <gdr@axiomatics.org> | 2009-03-01 05:22:19 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2009-03-01 05:22:19 +0000 |
commit | c42526006076b88ff2755f33eb1defd2e455e67e (patch) | |
tree | 975c82ab94b65bc41169dd0c339700d4a2efc825 /src/interp | |
parent | 4311f047fffe6dbc6f58ba4f37f074cc9d155630 (diff) | |
download | open-axiom-c42526006076b88ff2755f33eb1defd2e455e67e.tar.gz |
Optimization should not change slot numbers.
Diffstat (limited to 'src/interp')
-rw-r--r-- | src/interp/nruncomp.boot | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/interp/nruncomp.boot b/src/interp/nruncomp.boot index 72d88b88..b4094c98 100644 --- a/src/interp/nruncomp.boot +++ b/src/interp/nruncomp.boot @@ -192,13 +192,13 @@ genDeltaEntry opMmPair == if eltOrConst = 'Subsumed then eltOrConst := 'ELT if atom dc then dc = "$" => nsig := sig - if NUMBERP nsig then nsig := MSUBST('$,dc,substitute("$$","$",sig)) - newimp := optDeltaEntry(op,nsig,dc,eltOrConst) => newimp + if NUMBERP nsig then nsig := MSUBST("$",dc,substitute("$$","$",sig)) setDifference(listOfBoundVars dc,$functorLocalParameters) ^= [] => ['applyFun,['compiledLookupCheck,MKQ op, mkList consSig(nsig,dc),consDomainForm(dc,nil)]] odc := dc - if not atom dc then dc := substitute("$$",'$,dc) + if not atom dc then + dc := substitute("$$","$",dc) opModemapPair := [op,[dc,:[NRTgetLocalIndex x for x in nsig]],["T",cform]] -- force pred to T if null NRTassocIndex dc and @@ -217,6 +217,7 @@ genDeltaEntry opMmPair == $NRTdeltaListComp:=[nil,:$NRTdeltaListComp] $NRTdeltaLength := $NRTdeltaLength+1 0 + impl := optDeltaEntry(op,nsig,odc,eltOrConst) => impl u ++ Return the slot number (within the template vector of the functor |