aboutsummaryrefslogtreecommitdiff
path: root/src/interp/define.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2008-04-07 10:34:36 +0000
committerdos-reis <gdr@axiomatics.org>2008-04-07 10:34:36 +0000
commitda9f79f1d47983d726e90858f85b074dc88d0866 (patch)
tree1091fb7e2473a9910eb0592fa553856c5562df78 /src/interp/define.boot
parent498b53ea49bdd7d640fc4f8426e8ecf6b0128cc5 (diff)
downloadopen-axiom-da9f79f1d47983d726e90858f85b074dc88d0866.tar.gz
* interp/compiler.boot (compWithMappingMode): Use getShellEntry.
* interp/define.boot (compDefineFunctor1): Use setShellEntry. (canCacheLocalDomain): Likewise. (compilerCases): Likewise. (doIt): Likewise. * interp/functor.boot (setVector0): Likewise. (setVector3): Likewise. (setVector4part4): Likewise. (setVector5): Likewise. (mkVectorWithDeferral): Likewise. (DescendCodeAdd1): Likewise. (DescendCode): Likewise. (ConsantCreator): Likewise. (SetFunctionSlots): Likewise. (CheckVector): Likewise. * interp/g-opt.boot (optCall): Use getShellEntry. (optSpecialCall): Likewise. * interp/i-util.boot (devaluate): Likewise. * interp/nruncomp.boot (buildFunctor): Use setShellEntry. (NRTsetVector4a): Likewise. (NRTputInLocalReferences): Use getShellEntry. (NRTputInHead): Likewise. * interp/nrunopt.boot (augmentPredVector): Use setShellEntry. * interp/nruntime.boot (getShellEntry): New. (setShellEntry): Likewise. * interp/package.boot (processPackage): Use getShellEntry. (PackageDescendCode): Use setShellEntry. * interp/sys-globals.boot ($QuickCode): Remove. * interp/template.boot (NRTdescendCodeTran): Use setShellEntry. * interp/types.boot (%Void): New. (%Shell): New. * interp/wi2.boot (compDefineFunctor1): Use setShellEntry.
Diffstat (limited to 'src/interp/define.boot')
-rw-r--r--src/interp/define.boot14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/interp/define.boot b/src/interp/define.boot
index 08a302ce..d79ed090 100644
--- a/src/interp/define.boot
+++ b/src/interp/define.boot
@@ -398,9 +398,7 @@ compDefineFunctor1(df is ['DEF,form,signature,$functorSpecialCases,body],
$getDomainCode: local -- code for getting views
$insideFunctorIfTrue: local:= true
$functorsUsed: local --not currently used, finds dependent functors
- $setelt: local :=
- $QuickCode = true => 'QSETREFV
- 'SETELT
+ $setelt: local := "setShellEntry"
$TOP__LEVEL: local
$genSDVar: local:= 0
originale:= $e
@@ -1007,14 +1005,14 @@ addArgumentConditions($body,$functionName) ==
$body
putInLocalDomainReferences (def := [opName,[lam,varl,body]]) ==
- $elt: local := ($QuickCode => 'QREFELT; 'ELT)
+ $elt: local := "getShellEntry"
--+
NRTputInTail CDDADR def
def
canCacheLocalDomain(dom,elt)==
- dom is [op,'_$,n] and MEMQ(op,'(ELT QREFELT)) => nil
+ dom is [op,'_$,n] and MEMQ(op,'(getShellEntry ELT QREFELT)) => nil
domargsglobal(dom) =>
$functorLocalParameters:= [:$functorLocalParameters,dom]
PUSH([dom,GENVAR(),[elt,$selector,$funcLocLen]],$usedDomList)
@@ -1042,8 +1040,8 @@ compileCases(x,$e) == -- $e is referenced in compile
eval substitute(R',R,u)]]
isEltArgumentIn(Rlist,x) ==
atom x => nil
- x is ['ELT,R,.] => MEMQ(R,Rlist) or isEltArgumentIn(Rlist,rest x)
- x is ["QREFELT",R,.] => MEMQ(R,Rlist) or isEltArgumentIn(Rlist,rest x)
+ x is [op,R,.] and op in '(getShellEntry ELT QREFELT) =>
+ MEMQ(R,Rlist) or isEltArgumentIn(Rlist,rest x)
isEltArgumentIn(Rlist,first x) or isEltArgumentIn(Rlist,rest x)
null specialCaseAssoc => compile x
listOfDomains:= ASSOCLEFT specialCaseAssoc
@@ -1332,7 +1330,7 @@ doIt(item,$predl) ==
[[lhs,:SUBLIS($LocalDomainAlist,(get(lhs,'value,$e)).0)],:$LocalDomainAlist]
--+
code is ['LET,:.] =>
- RPLACA(item,($QuickCode => 'QSETREFV;'SETELT))
+ RPLACA(item,"setShellEntry")
rhsCode:=
rhs'
RPLACD(item,['$,NRTgetLocalIndexClear lhs,rhsCode])