void enterblock(BlockCnt bl, boolean isloop) { bl.isloop = isloop; bl.nactvar = nactvar; bl.firstlabel = (short) ls.dyd.n_label; bl.firstgoto = (short) ls.dyd.n_gt; bl.upval = false; bl.previous = this.bl; this.bl = bl; _assert(this.freereg == this.nactvar); }
void markupval(int level) { BlockCnt bl = this.bl; while (bl.nactvar > level) bl = bl.previous; bl.upval = true; }