From b28cdd9c3c0bbeba4f624cbfc649dc4e47b699a8 Mon Sep 17 00:00:00 2001 From: dos-reis Date: Thu, 10 Jun 2010 07:53:08 +0000 Subject: * interp/g-opt.boot (optCollectVector): Generate %loop for the non-simple case. --- src/interp/g-opt.boot | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src/interp') 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', -- cgit v1.2.3