Author: Ronan Lamy <ronan.l...@gmail.com> Branch: callfamily Changeset: r76841:053f28ada18a Date: 2015-04-20 03:52 +0100 http://bitbucket.org/pypy/pypy/changeset/053f28ada18a/
Log: cleanup diff --git a/rpython/rtyper/rpbc.py b/rpython/rtyper/rpbc.py --- a/rpython/rtyper/rpbc.py +++ b/rpython/rtyper/rpbc.py @@ -70,6 +70,17 @@ class ConcreteCallTableRow(dict): """A row in a concrete call table.""" + @classmethod + def from_row(cls, rtyper, row): + concreterow = cls() + for funcdesc, graph in row.items(): + llfn = rtyper.getcallable(graph) + concreterow[funcdesc] = llfn + assert len(concreterow) > 0 + # 'typeOf(llfn)' should be the same for all graphs + concreterow.fntype = typeOf(llfn) + return concreterow + class LLCallTable(object): """A call table of a call family with low-level functions.""" @@ -124,17 +135,9 @@ concreterows = {} for shape, rows in callfamily.calltables.items(): for index, row in enumerate(rows): - concreterow = ConcreteCallTableRow() - for funcdesc, graph in row.items(): - llfn = rtyper.getcallable(graph) - concreterow[funcdesc] = llfn - assert len(concreterow) > 0 - # 'llfn' should be the same for all graphs - concreterow.fntype = typeOf(llfn) + concreterow = ConcreteCallTableRow.from_row(rtyper, row) concreterows[shape, index] = concreterow - - for row in concreterows.values(): - llct.add(row) + llct.add(concreterow) for (shape, index), row in concreterows.items(): existingindex, biggerrow = llct.lookup(row) _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit