aboutsummaryrefslogtreecommitdiff
path: root/src/interp
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2010-06-26 20:21:15 +0000
committerdos-reis <gdr@axiomatics.org>2010-06-26 20:21:15 +0000
commit7eabcc6358795f6a44b3771cb0cb1b659a5d08f3 (patch)
tree45c4302ea936e8045fcd15ff18ad53a3bc15946f /src/interp
parent1a500aa511c69c769afc27e0c0f786db54167f19 (diff)
downloadopen-axiom-7eabcc6358795f6a44b3771cb0cb1b659a5d08f3.tar.gz
* interp/g-opt.boot ($VMsideEffectFreeOperators): Include %vref
and %vlength. * interp/g-util.boot: Expand them. * algebra/array1.spad.pamphlet (PrimitiveArray): Use them. (IndexedOneDimensionalArray): Likewise.
Diffstat (limited to 'src/interp')
-rw-r--r--src/interp/g-opt.boot3
-rw-r--r--src/interp/g-util.boot5
2 files changed, 7 insertions, 1 deletions
diff --git a/src/interp/g-opt.boot b/src/interp/g-opt.boot
index d526f439..8c7c4a10 100644
--- a/src/interp/g-opt.boot
+++ b/src/interp/g-opt.boot
@@ -478,7 +478,8 @@ $VMsideEffectFreeOperators ==
%fpow %fdiv %fneg %i2f %fminval %fmaxval %fbase %fprec %ftrunc
%nil %pair? %lconcat %llength %lfirst %lsecond %lthird
%lreverse %lempty? %hash %ismall? %string? %f2s
- %ceq %clt %cle %cgt %cge %c2i %i2c)
+ %ceq %clt %cle %cgt %cge %c2i %i2c
+ %vref %vlength)
++ List of simple VM operators
$simpleVMoperators ==
diff --git a/src/interp/g-util.boot b/src/interp/g-util.boot
index b718e253..97519045 100644
--- a/src/interp/g-util.boot
+++ b/src/interp/g-util.boot
@@ -372,6 +372,11 @@ for x in [
-- binary list operations
['%lconcat, :'APPEND],
+ -- simple vector operations
+ ['%vfill, :'FILL],
+ ['%vlength, :'sizeOfSimpleArray],
+ ['%vref, :'getSimpleArrayEntry],
+
-- symbol unary functions
['%gensym, :'GENSYM],