Author: Armin Rigo <[email protected]>
Branch: guard-compatible
Changeset: r90038:73fc262b3645
Date: 2017-02-10 17:43 +0100
http://bitbucket.org/pypy/pypy/changeset/73fc262b3645/
Log: fix test_rewrite
diff --git a/rpython/jit/backend/llsupport/test/test_rewrite.py
b/rpython/jit/backend/llsupport/test/test_rewrite.py
--- a/rpython/jit/backend/llsupport/test/test_rewrite.py
+++ b/rpython/jit/backend/llsupport/test/test_rewrite.py
@@ -1439,19 +1439,28 @@
def test_guard_compatible(self):
from rpython.jit.backend.llsupport import guard_compat
- self.check_rewrite("""
- [p0]
- guard_compatible(p0, ConstPtr(myR1)) []
- guard_compatible(p0, ConstPtr(myR1)) []
- jump()
- """, """
- [p0]
- guard_compatible(p0, 0) []
- guard_compatible(p0, 2) [] # no sharing the number
- jump()
- """)
- assert len(self.gcrefs) == 4
- for i in [0, 2]:
- # type-checking
+ org_GuardCompatibleDescr = guard_compat.GuardCompatibleDescr
+ try:
+ guard_compat.GuardCompatibleDescr = AbstractFailDescr
+ self.check_rewrite("""
+ [p0]
+ guard_compatible(p0, ConstPtr(myR1)) []
+ guard_compatible(p0, ConstPtr(myR1)) []
+ jump()
+ """, """
+ [p0]
+ p1 = load_from_gc_table(1)
+ guard_compatible(p0, p1) []
+ guard_compatible(p0, p1) []
+ jump()
+ """)
+ finally:
+ guard_compat.GuardCompatibleDescr = org_GuardCompatibleDescr
+ for i, expected in enumerate([
+ 'struct BACKEND_CHOICES ',
+ 'struct R ',
+ 'BasicFailDescr',
+ 'struct BACKEND_CHOICES ',
+ 'BasicFailDescr']):
x = self.gcrefs[i]
- lltype.cast_opaque_ptr(lltype.Ptr(guard_compat.BACKEND_CHOICES), x)
+ assert expected in repr(x._obj.container)
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit