Author: Richard Plangger <r...@pasra.at> Branch: vecopt Changeset: r78751:c83f61da5f2d Date: 2015-08-03 08:22 +0200 http://bitbucket.org/pypy/pypy/changeset/c83f61da5f2d/
Log: could end in a finish operation, crashed the optimizer diff --git a/rpython/jit/metainterp/history.py b/rpython/jit/metainterp/history.py --- a/rpython/jit/metainterp/history.py +++ b/rpython/jit/metainterp/history.py @@ -855,14 +855,13 @@ def append_loop(self, loop, all_target_tokens): # append e.g. the peeled loop to this loop! - label, jump = loop.operations[0], loop.operations[-1] - assert label.getopnum() == rop.LABEL - assert jump.getopnum() == rop.JUMP + jump = loop.operations[-1] + assert jump.getdescr() is not None target_token = None i = 0 # adds all target token until the one is found that jumps from the # last instruction to the label - while target_token is not jump.getdescr(): + while i < len(loop.operations) and target_token is not jump.getdescr(): # there is another label op = loop.operations[i] if op.getopnum() == rop.LABEL: _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit