Author: fijal
Branch: arm64
Changeset: r96942:5c1c80752f24
Date: 2019-07-03 18:31 +0200
http://bitbucket.org/pypy/pypy/changeset/5c1c80752f24/

Log:    try to test guard_nonnull_class

diff --git a/rpython/jit/backend/llsupport/test/test_zrpy_gc_direct.py 
b/rpython/jit/backend/llsupport/test/test_zrpy_gc_direct.py
--- a/rpython/jit/backend/llsupport/test/test_zrpy_gc_direct.py
+++ b/rpython/jit/backend/llsupport/test/test_zrpy_gc_direct.py
@@ -66,6 +66,14 @@
                     'faildescr': faildescr,
                     'vtable_B': vtable_B})
 
+    loop1a = parse("""
+    [p0]
+    guard_class(p0, ConstInt(vtable_B), descr=faildescr) []
+    finish(descr=finaldescr)
+    """, namespace={'finaldescr': finaldescr,
+                    'faildescr': faildescr,
+                    'vtable_B': vtable_B})
+
     loop2 = parse("""
     [p0]
     guard_gc_type(p0, ConstInt(typeid_B), descr=faildescr) []
@@ -92,10 +100,12 @@
     def g():
         cpu.setup_once()
         token1 = JitCellToken()
+        token1a = JitCellToken()
         token2 = JitCellToken()
         token3 = JitCellToken()
         token4 = JitCellToken()
         cpu.compile_loop(loop1.inputargs, loop1.operations, token1)
+        cpu.compile_loop(loop1a.inputargs, loop1a.operations, token1a)
         cpu.compile_loop(loop2.inputargs, loop2.operations, token2)
         cpu.compile_loop(loop3.inputargs, loop3.operations, token3)
         cpu.compile_loop(loop4.inputargs, loop4.operations, token4)
@@ -105,6 +115,11 @@
                 (token1, rffi.cast(llmemory.GCREF, B())),
                 (token1, rffi.cast(llmemory.GCREF, C())),
 
+                (token1a, rffi.cast(llmemory.GCREF, A())),
+                (token1a, lltype.nullptr(llmemory.GCREF.TO)),
+                (token1a, rffi.cast(llmemory.GCREF, B())),
+                (token1a, rffi.cast(llmemory.GCREF, C())),
+
                 (token2, rffi.cast(llmemory.GCREF, A())),
                 (token2, rffi.cast(llmemory.GCREF, B())),
                 (token2, rffi.cast(llmemory.GCREF, C())),
@@ -175,6 +190,11 @@
                     'match\n'
                     'fail\n'
 
+                    'fail\n'
+                    'fail\n'
+                    'match\n'
+                    'fail\n'
+
                     'fail\n'  '0\n'
                     'match\n' '1\n'
                     'fail\n'  '0\n'
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to