[pypy-commit] pypy invalidate-virtualrefs: fix annotation/rtyping

antocuni noreply at buildbot.pypy.org
Wed May 25 20:27:20 CEST 2011


Author: Antonio Cuni <anto.cuni at gmail.com>
Branch: invalidate-virtualrefs
Changeset: r44479:8d7f15ce19ee
Date: 2011-05-25 14:49 +0200
http://bitbucket.org/pypy/pypy/changeset/8d7f15ce19ee/

Log:	fix annotation/rtyping

diff --git a/pypy/rlib/jit.py b/pypy/rlib/jit.py
--- a/pypy/rlib/jit.py
+++ b/pypy/rlib/jit.py
@@ -255,6 +255,15 @@
         s_obj = self.bookkeeper.immutablevalue(self.instance())
         return _jit_vref.SomeVRef(s_obj)
 
+class Entry(ExtRegistryEntry):
+    _about_ = _virtual_ref_finish
+
+    def compute_result_annotation(self, s_vref, s_obj):
+        pass
+
+    def specialize_call(self, hop):
+        pass
+    
 vref_None = non_virtual_ref(None)
 
 # ____________________________________________________________
diff --git a/pypy/rlib/test/test__jit_vref.py b/pypy/rlib/test/test__jit_vref.py
--- a/pypy/rlib/test/test__jit_vref.py
+++ b/pypy/rlib/test/test__jit_vref.py
@@ -55,7 +55,7 @@
         x1 = X()
         vref = virtual_ref(x1)
         x2 = vref()
-        virtual_ref_finish(x1)
+        virtual_ref_finish(vref, x1)
         return x2
     a = RPythonAnnotator()
     s = a.build_types(f, [])
@@ -100,7 +100,7 @@
             x1 = X()
             vref = virtual_ref(x1)
             x2 = vref()
-            virtual_ref_finish(x2)
+            virtual_ref_finish(vref, x2)
             return x2
         x = self.interpret(f, [])
         assert self.castable(self.OBJECTTYPE, x)


More information about the pypy-commit mailing list