aboutsummaryrefslogtreecommitdiff
path: root/src/interp/c-util.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2011-01-27 21:12:57 +0000
committerdos-reis <gdr@axiomatics.org>2011-01-27 21:12:57 +0000
commita31c0a21788a17c1bce15120225bc5a15fa1da33 (patch)
tree5f5cea97cd52114dee92a8b66ca802e7fd0fab08 /src/interp/c-util.boot
parent8e0d0dbfa31e6a035ec5e954c192742ade763dda (diff)
downloadopen-axiom-a31c0a21788a17c1bce15120225bc5a15fa1da33.tar.gz
Generate SVREF for simple vector slot refs.
Diffstat (limited to 'src/interp/c-util.boot')
-rw-r--r--src/interp/c-util.boot11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/interp/c-util.boot b/src/interp/c-util.boot
index cfb68f21..08bfb572 100644
--- a/src/interp/c-util.boot
+++ b/src/interp/c-util.boot
@@ -179,10 +179,9 @@ declareUnusedParameters x == (augment x; x) where
devaluate d ==
not vector? d => d
- QSGREATERP(QVSIZE d,5) and getShellEntry(d,3) is ['Category] =>
- getShellEntry(d,0)
- QSGREATERP(QVSIZE d,0) =>
- d':=getShellEntry(d,0)
+ QVSIZE d > 5 and vectorRef(d,3) is ['Category] => vectorRef(d,0)
+ QVSIZE d > 0 =>
+ d' := vectorRef(d,0)
isFunctor d' => d'
d
d
@@ -1629,7 +1628,7 @@ expandFormTemplate(shell,args,slot) ==
integer? slot =>
slot = 0 => "$"
slot = 2 => "$$"
- expandFormTemplate(shell,args,getShellEntry(shell,slot))
+ expandFormTemplate(shell,args,vectorRef(shell,slot))
atom slot => slot
slot is ["local",parm] and (n := isFormal parm) =>
args.n -- FIXME: we should probably expand with dual signature
@@ -1645,7 +1644,7 @@ equalFormTemplate(shell,args,slot,form) ==
integer? slot =>
slot = 0 => form = "$"
slot = 2 => form = "$$"
- equalFormTemplate(shell,args,getShellEntry(shell,slot),form)
+ equalFormTemplate(shell,args,vectorRef(shell,slot),form)
slot is ["local",parm] and (n := isFormal parm) =>
equalFormTemplate(shell,args,args.n,form)
slot is ["NTREVAL",val] => form = val