[pypy-svn] r49992 - in pypy/dist/pypy/jit/hintannotator: . test

antocuni at codespeak.net antocuni at codespeak.net
Fri Dec 21 22:15:43 CET 2007


Author: antocuni
Date: Fri Dec 21 22:15:43 2007
New Revision: 49992

Modified:
   pypy/dist/pypy/jit/hintannotator/model.py
   pypy/dist/pypy/jit/hintannotator/test/test_annotator.py
Log:
argh! We need to propagate deepfrozen in each of the two branches, not
only in one. One more test passes



Modified: pypy/dist/pypy/jit/hintannotator/model.py
==============================================================================
--- pypy/dist/pypy/jit/hintannotator/model.py	(original)
+++ pypy/dist/pypy/jit/hintannotator/model.py	Fri Dec 21 22:15:43 2007
@@ -724,6 +724,7 @@
 
 def handle_highlevel_operation_novirtual(bookkeeper, ismethod, immutable, *args_hs):
     RESULT = bookkeeper.current_op_concretetype()
+    deepfrozen = ismethod and args_hs[0].deepfrozen # if self is deepfrozen, the result is it too
     if ismethod and (immutable or args_hs[0].deepfrozen):
         for hs_v in args_hs:
             if not isinstance(hs_v, SomeLLAbstractConstant):
@@ -734,8 +735,8 @@
                                            for hs_c in args_hs])
             return SomeLLAbstractConstant(RESULT, d,
                                           eager_concrete = False,   # probably
-                                          myorigin = myorigin)
-    deepfrozen = ismethod and args_hs[0].deepfrozen # if self is deepfrozen, the result is it too
+                                          myorigin = myorigin,
+                                          deepfrozen=deepfrozen)
     return variableoftype(RESULT, deepfrozen=deepfrozen)
     
 

Modified: pypy/dist/pypy/jit/hintannotator/test/test_annotator.py
==============================================================================
--- pypy/dist/pypy/jit/hintannotator/test/test_annotator.py	(original)
+++ pypy/dist/pypy/jit/hintannotator/test/test_annotator.py	Fri Dec 21 22:15:43 2007
@@ -1104,9 +1104,6 @@
     test_simple_struct_malloc = skip_policy
     test_container_union = skip_policy
 
-    # these tests fail because of deepfreeze
-    test_specialize_deepfreeze_calls = skip_policy
-
     def test_void_oosend(self):
         class Foo:
             def bar(self):



More information about the Pypy-commit mailing list