fixed GC bug in (while). saved stack waste