diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ChangeLog | 4 | ||||
-rw-r--r-- | src/interp/g-opt.boot | 24 | ||||
-rw-r--r-- | src/interp/g-util.boot | 12 |
3 files changed, 21 insertions, 19 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index e9fef27d..fbfcf287 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,7 +1,11 @@ 2010-07-23 Gabriel Dos Reis <gdr@cs.tamu.edu> + * interp/g-util.boot: Remove expansion for %ble, %bgt, %bge. * interp/g-opt.boot (optMINUS): Remove. (opt_-): Likewise. + (optBle): New. + (optBgt): Likewise. + (optBge): Likewise. 2010-07-22 Gabriel Dos Reis <gdr@cs.tamu.edu> diff --git a/src/interp/g-opt.boot b/src/interp/g-opt.boot index 887cbb94..543cf45e 100644 --- a/src/interp/g-opt.boot +++ b/src/interp/g-opt.boot @@ -445,12 +445,6 @@ optQSMINUS u == u u -opt_- u == - u is ['_-,v] => - integer? v => -v - u - u - ++ List of VM side effect free operators. $VMsideEffectFreeOperators == '(CAR CDR LENGTH SIZE EQUAL EQL EQ NOT NULL OR AND @@ -696,6 +690,20 @@ optIgt x == optIge x == optNot ['%not,optIlt ['%ilt,second x,third x]] +--% Byte operations + +optBle ['%ble,a,b] == + optNot ['%not,['%blt,b,a]] + +optBgt ['%bgt,a,b] == + ['%blt,b,a] + +optBge ['%bge,a,b] == + optBle ['%ble,b,a] + + + + --% Integer operations optIadd(x is ['%iadd,a,b]) == @@ -726,6 +734,9 @@ for x in '( (%call optCall) _ (%not optNot)_ (%and optAnd)_ (%or optOr)_ + (%ble optBle)_ + (%bgt optBgt)_ + (%bge optBge)_ (%ieq optIeq)_ (%ilt optIlt)_ (%ile optIle)_ @@ -737,7 +748,6 @@ for x in '( (%call optCall) _ (%imul optImul)_ (LIST optLIST)_ (QSMINUS optQSMINUS)_ - (_- opt_-)_ (SPADCALL optSPADCALL)_ (_| optSuchthat)_ (CATCH optCatch)_ diff --git a/src/interp/g-util.boot b/src/interp/g-util.boot index 4f840c3b..5889fc2a 100644 --- a/src/interp/g-util.boot +++ b/src/interp/g-util.boot @@ -231,15 +231,6 @@ expandBefore? ['%before?,x,y] == ['GGREATERP,expandToVMForm y,expandToVMForm x] -- Byte operations -expandBle ['%ble,x,y] == - expandToVMForm ['%not,['%blt,y,x]] - -expandBgt ['%bgt,x,y] == - expandToVMForm ['%blt,y,x] - -expandBge ['%bge,x,y] == - expandToVMForm ['%not,['%blt,x,y]] - expandBcompl ['%bcompl,x] == integer? x => 255 - x ['_+,256,['LOGNOT,expandToVMForm x]] @@ -442,9 +433,6 @@ for x in [ ['%loop, :function expandLoop], ['%return, :function expandReturn], - ['%ble, :function expandBle], - ['%bgt, :function expandBgt], - ['%bge, :function expandBge], ['%bcompl, :function expandBcompl], ['%ieq, :function expandIeq], |