aboutsummaryrefslogtreecommitdiff
path: root/src/interp
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2011-02-10 21:06:02 +0000
committerdos-reis <gdr@axiomatics.org>2011-02-10 21:06:02 +0000
commit81f1eb5784645fffc263bae02d4d12020c1e694c (patch)
treed0f93eba6aacab8bcb63d4793dcf1f56367579d2 /src/interp
parent23d51a95663fe0587a1252193f9a976495ddc146 (diff)
downloadopen-axiom-81f1eb5784645fffc263bae02d4d12020c1e694c.tar.gz
* interp/vmlisp.lisp (VEC-SETELT): Remove.
* interp/scan.boot (scanInserts): Use vectorRef. * interp/functor.boot (DescendCode): Don't check for SETELT or QSETREFV forms. * interp/nrunfast.boot (evalSlotDomain): Likewise.
Diffstat (limited to 'src/interp')
-rw-r--r--src/interp/functor.boot2
-rw-r--r--src/interp/modemap.boot4
-rw-r--r--src/interp/nrunfast.boot1
-rw-r--r--src/interp/scan.boot14
-rw-r--r--src/interp/vmlisp.lisp3
5 files changed, 10 insertions, 14 deletions
diff --git a/src/interp/functor.boot b/src/interp/functor.boot
index 4e066e9a..c909d55d 100644
--- a/src/interp/functor.boot
+++ b/src/interp/functor.boot
@@ -565,8 +565,6 @@ DescendCode(code,flag,viewAssoc,EnvToPass) ==
code is ['MDEF,:.] => nil
code is ['%call,:.] => code
code is ["setShellEntry",:.] => code -- can be generated by doItIf
- code is ['SETELT,:.] => systemErrorHere ["DescendCode",code]
- code is ['QSETREFV,:.] => systemErrorHere ["DescendCode",code]
stackWarning('"unknown Functor code: %1 ",[code])
code
diff --git a/src/interp/modemap.boot b/src/interp/modemap.boot
index 375ea972..d058a937 100644
--- a/src/interp/modemap.boot
+++ b/src/interp/modemap.boot
@@ -361,7 +361,9 @@ addConstructorModemaps(name,form is [functorName,:.],e) ==
--The way XLAMs work:
--- ((XLAM ($1 $2 $3) (SETELT $1 0 $3)) X "c" V) ==> (SETELT X 0 V)
+-- ((XLAM ($1 $2 $3) (%store (%vref $1 0) $3)) X "c" V) ==>
+-- (%store (%vref X 0) V)
+--
getDomainsInScope e ==
$insideCapsuleFunctionIfTrue=true => $CapsuleDomainsInScope
diff --git a/src/interp/nrunfast.boot b/src/interp/nrunfast.boot
index 2a524414..f0532e58 100644
--- a/src/interp/nrunfast.boot
+++ b/src/interp/nrunfast.boot
@@ -98,7 +98,6 @@ evalSlotDomain(u,dollar) ==
vector? y => y
y is ["setShellEntry",:.] => eval y
--lazy domains need to marked; this is dangerous?
- y is ['SETELT,:.] => systemErrorHere "evalSlotDomain"
y is [v,:.] =>
vector? v => lazyDomainSet(y,dollar,u) --old style has [$,code,:lazyt]
IDENTP v and constructor? v
diff --git a/src/interp/scan.boot b/src/interp/scan.boot
index 18a858a5..7973d579 100644
--- a/src/interp/scan.boot
+++ b/src/interp/scan.boot
@@ -1,6 +1,6 @@
-- Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
-- All rights reserved.
--- Copyright (C) 2007-2010, Gabriel Dos Reis.
+-- Copyright (C) 2007-2011, Gabriel Dos Reis.
-- All rights reserved.
--
-- Redistribution and use in source and binary forms, with or without
@@ -168,11 +168,11 @@ scanInsert(s,d) ==
k := k+1
v := newVector(n+1)
for i in 0..k-1 repeat
- VEC_-SETELT(v,i,u.i)
- VEC_-SETELT(v,k,s)
+ vectorRef(v,i) := u.i
+ vectorRef(v,k) := s
for i in k..n-1 repeat
- VEC_-SETELT(v,i+1,u.i)
- VEC_-SETELT(d,h,v)
+ vectorRef(v,i+1) := u.i
+ vectorRef(d,h) := v
s
scanDictCons()==
@@ -180,9 +180,9 @@ scanDictCons()==
d :=
a := newVector 256
b := newVector 1
- VEC_-SETELT(b,0,MAKE_-CVEC 0)
+ vectorRef(b,0) := MAKE_-CVEC 0
for i in 0..255 repeat
- VEC_-SETELT(a,i,b)
+ vectorRef(a,i) := b
a
for s in l repeat
scanInsert(s,d)
diff --git a/src/interp/vmlisp.lisp b/src/interp/vmlisp.lisp
index b4cbf6d2..af7021cd 100644
--- a/src/interp/vmlisp.lisp
+++ b/src/interp/vmlisp.lisp
@@ -428,9 +428,6 @@
(defmacro times (&rest args)
`(* ,@args))
-(defmacro vec-setelt (vec ind val)
- `(setf (svref ,vec ,ind) ,val))
-
(defmacro zero? (x)
`(and (typep ,x 'fixnum) (zerop (the fixnum ,x))))