diff options
Diffstat (limited to 'src/interp')
-rw-r--r-- | src/interp/g-opt.boot | 11 | ||||
-rw-r--r-- | src/interp/lisp-backend.boot | 7 |
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], |