aboutsummaryrefslogtreecommitdiff
path: root/src/interp/i-analy.boot
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp/i-analy.boot')
-rw-r--r--src/interp/i-analy.boot11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/interp/i-analy.boot b/src/interp/i-analy.boot
index d288eb80..26a1309d 100644
--- a/src/interp/i-analy.boot
+++ b/src/interp/i-analy.boot
@@ -52,6 +52,13 @@ $inRetract := false
--% Interpreter Analysis Functions
+++ Record calling context information in the VAT `t'.
+putCallInfo(t,op,arg,nargs) ==
+ putAtree(t,"callingFunction",op)
+ putAtree(t,"argumentNumber",arg)
+ putAtree(t,"totalArgs",nargs)
+ t
+
getMinimalVariableTower(var,t) ==
-- gets the minimal polynomial subtower of t that contains the
-- given variable. Returns NIL if none.
@@ -228,9 +235,7 @@ bottomUp t ==
(null dol) and (fn:= GETL(opName,"up")) and (u:= FUNCALL(fn, t)) => u
nargs := #argl
if opName then for x in argl for i in 1.. repeat
- putAtree(x,'callingFunction,opName)
- putAtree(x,'argumentNumber,i)
- putAtree(x,'totalArgs,nargs)
+ putCallInfo(x,opName,i,nargs)
if tar then pushDownTargetInfo(opName,tar,argl)