aboutsummaryrefslogtreecommitdiff
path: root/src/interp
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2009-03-01 05:22:19 +0000
committerdos-reis <gdr@axiomatics.org>2009-03-01 05:22:19 +0000
commitc42526006076b88ff2755f33eb1defd2e455e67e (patch)
tree975c82ab94b65bc41169dd0c339700d4a2efc825 /src/interp
parent4311f047fffe6dbc6f58ba4f37f074cc9d155630 (diff)
downloadopen-axiom-c42526006076b88ff2755f33eb1defd2e455e67e.tar.gz
Optimization should not change slot numbers.
Diffstat (limited to 'src/interp')
-rw-r--r--src/interp/nruncomp.boot7
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