[pypy-svn] r23583 - in pypy/dist/pypy/rpython: . test

cfbolz at codespeak.net cfbolz at codespeak.net
Wed Feb 22 02:23:31 CET 2006


Author: cfbolz
Date: Wed Feb 22 02:23:29 2006
New Revision: 23583

Modified:
   pypy/dist/pypy/rpython/annlowlevel.py
   pypy/dist/pypy/rpython/test/test_normalizecalls.py
   pypy/dist/pypy/rpython/typesystem.py
Log:
don't insert stack checks again when doing normalizations in the mix level
helpers


Modified: pypy/dist/pypy/rpython/annlowlevel.py
==============================================================================
--- pypy/dist/pypy/rpython/annlowlevel.py	(original)
+++ pypy/dist/pypy/rpython/annlowlevel.py	Wed Feb 22 02:23:29 2006
@@ -170,7 +170,7 @@
                                 "originally specified: %r\n"
                                 " found by annotating: %r" %
                                 (graph, s_result, s_real_result))
-        rtyper.type_system.perform_normalizations(rtyper)
+        rtyper.type_system.perform_normalizations(rtyper, insert_stack_checks=False)
         for r in self.delayedreprs:
             r.set_setup_delayed(False)
         for p, repr, obj in self.delayedconsts:

Modified: pypy/dist/pypy/rpython/test/test_normalizecalls.py
==============================================================================
--- pypy/dist/pypy/rpython/test/test_normalizecalls.py	(original)
+++ pypy/dist/pypy/rpython/test/test_normalizecalls.py	Wed Feb 22 02:23:29 2006
@@ -189,7 +189,7 @@
         t.checkgraphs()
         return t
 
-    def DONT_test_mix_after_recursion(self):
+    def test_mix_after_recursion(self):
         def prefn(n):
             if n:
                 return 2*prefn(n-1)

Modified: pypy/dist/pypy/rpython/typesystem.py
==============================================================================
--- pypy/dist/pypy/rpython/typesystem.py	(original)
+++ pypy/dist/pypy/rpython/typesystem.py	Wed Feb 22 02:23:29 2006
@@ -58,14 +58,16 @@
 in a graph."""
         raise NotImplementedError()
 
-    def perform_normalizations(self, rtyper):
+    def perform_normalizations(self, rtyper, insert_stack_checks=True):
         """Prepare the annotator's internal data structures for rtyping
         with the specified type system.
         """
         # default implementation
         from pypy.translator.transform import insert_stackcheck
         from pypy.rpython.normalizecalls import perform_normalizations
-        insert_stackcheck(rtyper.annotator)
+        # XXX stack checks cannot be inserted again
+        if insert_stack_checks:
+            insert_stackcheck(rtyper.annotator)
         perform_normalizations(rtyper)
 
 class LowLevelTypeSystem(TypeSystem):



More information about the Pypy-commit mailing list