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 | |
| 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')
| -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', |
