aboutsummaryrefslogtreecommitdiff
path: root/src/interp
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp')
-rw-r--r--src/interp/g-opt.boot11
-rw-r--r--src/interp/lisp-backend.boot7
2 files changed, 10 insertions, 8 deletions
diff --git a/src/interp/g-opt.boot b/src/interp/g-opt.boot
index 9d971018..fbdf5687 100644
--- a/src/interp/g-opt.boot
+++ b/src/interp/g-opt.boot
@@ -398,11 +398,8 @@ optSuchthat [.,:u] == ["SUCHTHAT",:u]
++ List of VM side effect free operators.
$VMsideEffectFreeOperators ==
- '(CAR CDR LENGTH SIZE EQ NOT NULL OR AND
- SPADfirst _+ _- _* _< _= _<_= _> _>_= ASH
- QEQCAR QCDR QCAR IDENTP
- FLOAT_-RADIX FLOAT FLOAT_-SIGN
- CGREATERP GGREATERP CHAR GET BVEC_-GREATER %when %false %true
+ '(SPADfirst ASH IDENTP FLOAT_-RADIX FLOAT FLOAT_-SIGN
+ CGREATERP GGREATERP %when %false %true
%otherwise %2bit %2bool
%and %or %not %peq %ieq %ilt %ile %igt %ige %head %tail %integer?
%beq %blt %ble %bgt %bge %bitand %bitior %bitnot %bcompl %ilength
@@ -419,8 +416,8 @@ $VMsideEffectFreeOperators ==
%strlength %streq %i2s %schar %strlt %strconc %strcopy %strstc
%aref %vref %vlength %veclit
%bitvecnot %bitvecand %bitvecnand %bivecor %bitvecnor %bitvecxor
- %bitveccopy %bitvecconc %bitveclength %bitvecref %bitveceq
- %before? %equal %sptreq %ident?)
+ %bitveccopy %bitvecconc %bitveclength %bitvecref %bitveceq %bitveclt
+ %before? %equal %sptreq %ident? %property)
++ List of simple VM operators
$simpleVMoperators ==
diff --git a/src/interp/lisp-backend.boot b/src/interp/lisp-backend.boot
index af3e246b..008ed3d1 100644
--- a/src/interp/lisp-backend.boot
+++ b/src/interp/lisp-backend.boot
@@ -329,6 +329,9 @@ expandBitvecref ['%bitvecref,x,y] ==
expandBitveceq ['%bitveceq,x,y] ==
['EQUAL,expandToVMForm x,expandToVMForm y]
+expandBitveclt ['%bitveclt,x,y] ==
+ ['BVEC_-GREATER,expandToVMForm y,expandToVMForm x]
+
expandMakebitvec ['%makebitvec,x,y] ==
['MAKE_-ARRAY,['LIST,expandToVMForm x],
KEYWORD::ELEMENT_-TYPE,quoteForm '%Bit,
@@ -423,7 +426,7 @@ for x in [
['%ieven?, :'EVENP],
['%integer?,:'INTEGERP],
['%iodd?, :'ODDP],
- ['%ismall?, :'FIXNUMP],
+ ['%ismall?, :'SMINTP],
['%i2s, :'WRITE_-TO_-STRING],
['%ilength, :'INTEGER_-LENGTH],
['%ibit, :'INTEGER_-BIT],
@@ -507,6 +510,7 @@ for x in [
['%gensym, :'GENSYM],
['%sname, :'SYMBOL_-NAME],
['%ident?, :'SYMBOLP],
+ ['%property,:'GET],
-- string functions
['%string?, :'STRINGP],
@@ -571,6 +575,7 @@ for x in [
['%bitveccopy, :function expandBitveccopy],
['%bitvecconc, :function expandBitvecconc],
['%bitveceq, :function expandBitveceq],
+ ['%bitveclt, :function expandBitveclt],
['%bitvecref, :function expandBitvecref],
['%makebitvec, :function expandMakebitvec],