[pypy-svn] r13307 - in pypy/dist/pypy: rpython translator

pedronis at codespeak.net pedronis at codespeak.net
Sat Jun 11 23:08:40 CEST 2005


Author: pedronis
Date: Sat Jun 11 23:08:39 2005
New Revision: 13307

Modified:
   pypy/dist/pypy/rpython/rtyper.py
   pypy/dist/pypy/translator/transform.py
Log:
always annotator simplify before specializing, made transform_dead_code idempotent



Modified: pypy/dist/pypy/rpython/rtyper.py
==============================================================================
--- pypy/dist/pypy/rpython/rtyper.py	(original)
+++ pypy/dist/pypy/rpython/rtyper.py	Sat Jun 11 23:08:39 2005
@@ -61,6 +61,8 @@
 
     def specialize(self):
         """Main entry point: specialize all annotated blocks of the program."""
+        # specialize depends on annotator simplifications
+        self.annotator.simplify()
         # first make sure that all functions called in a group have exactly
         # the same signature, by hacking their flow graphs if needed
         perform_normalizations(self.annotator)

Modified: pypy/dist/pypy/translator/transform.py
==============================================================================
--- pypy/dist/pypy/translator/transform.py	(original)
+++ pypy/dist/pypy/translator/transform.py	Sat Jun 11 23:08:39 2005
@@ -303,6 +303,8 @@
     c2 = Constant(AssertionError(msg))
     errlink = Link([c1, c2], graph.exceptblock)
     block.recloseblock(errlink, *block.exits)
+    # record new link to make the transformation idempotent
+    self.links_followed[errlink] = True
     # fix the annotation of the exceptblock.inputargs
     etype, evalue = graph.exceptblock.inputargs
     s_type = annmodel.SomeObject()



More information about the Pypy-commit mailing list