diff options
author | dos-reis <gdr@axiomatics.org> | 2010-06-10 07:53:08 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2010-06-10 07:53:08 +0000 |
commit | b28cdd9c3c0bbeba4f624cbfc649dc4e47b699a8 (patch) | |
tree | d255e5eab546d1485d92eab20800de47d825b259 /src/interp/g-opt.boot | |
parent | f85354f7024aeb0803ddf39af67024eb6407e8fa (diff) | |
download | open-axiom-b28cdd9c3c0bbeba4f624cbfc649dc4e47b699a8.tar.gz |
* interp/g-opt.boot (optCollectVector): Generate %loop for the
non-simple case.
Diffstat (limited to 'src/interp/g-opt.boot')
-rw-r--r-- | src/interp/g-opt.boot | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/interp/g-opt.boot b/src/interp/g-opt.boot index 84fd563e..7c9ad4bd 100644 --- a/src/interp/g-opt.boot +++ b/src/interp/g-opt.boot @@ -600,11 +600,10 @@ optCollectVector form == -- if no suitable loop index was found, introduce one. if index = nil then index := gensym() - iters := [:iters,["ISTEP",index,0,1]] + iters := [:iters,['STEP,index,0,1]] vec := gensym() ["LET",[[vec,["makeSimpleArray",["getVMType",eltType],vecSize]]], - ["REPEAT",:iters,["setSimpleArrayEntry",vec,index,body]], - vec] + ['%loop,:iters,["setSimpleArrayEntry",vec,index,body],vec]] ++ Translate retraction of a value denoted by `e' to sub-domain `m' ++ defined by predicate `pred', |