Author: Maciej Fijalkowski <[email protected]>
Branch: jitframe-on-heap
Changeset: r61836:feefc84bc9da
Date: 2013-02-27 11:53 +0200
http://bitbucket.org/pypy/pypy/changeset/feefc84bc9da/

Log:    fix

diff --git a/rpython/jit/backend/llsupport/test/test_gc_integration.py 
b/rpython/jit/backend/llsupport/test/test_gc_integration.py
--- a/rpython/jit/backend/llsupport/test/test_gc_integration.py
+++ b/rpython/jit/backend/llsupport/test/test_gc_integration.py
@@ -685,10 +685,11 @@
         
         def f(frame, x):
             assert frame.jf_gcmap[0] & 31 == 0
+            frame.jf_descr = frame.jf_force_descr # make guard_not_forced fail
             assert x == 1
-            return 2
+            return lltype.nullptr(llmemory.GCREF.TO)
 
-        FUNC = lltype.FuncType([JITFRAMEPTR, lltype.Signed], lltype.Signed)
+        FUNC = lltype.FuncType([JITFRAMEPTR, lltype.Signed], llmemory.GCREF)
         fptr = llhelper(lltype.Ptr(FUNC), f)
         calldescr = cpu.calldescrof(FUNC, FUNC.ARGS, FUNC.RESULT,
                                     EffectInfo.MOST_GENERAL)
@@ -702,9 +703,9 @@
         p1 = getarrayitem_gc(p0, 0, descr=arraydescr)
         p2 = getarrayitem_gc(p0, 1, descr=arraydescr)
         p3 = getarrayitem_gc(p0, 2, descr=arraydescr)
-        i3 = call_may_force(ConstClass(fptr), pf, i0, descr=calldescr)
-        guard_not_forced(descr=faildescr) [p1, p2, p3]
-        finish(i3, descr=finishdescr)
+        px = call_may_force(ConstClass(fptr), pf, i0, descr=calldescr)
+        guard_not_forced(descr=faildescr) [p1, p2, p3, px]
+        finish(px, descr=finishdescr)
         """, namespace={'fptr': fptr, 'calldescr': calldescr,
                         'arraydescr': cpu.arraydescrof(A),
                         'faildescr': BasicFailDescr(1),
@@ -714,4 +715,6 @@
         cpu.gc_ll_descr.init_nursery(100)
         cpu.setup_once()
         cpu.compile_loop(loop.inputargs, loop.operations, token)
-        cpu.execute_token(token, 1, a)
+        frame = lltype.cast_opaque_ptr(JITFRAMEPTR,
+                                       cpu.execute_token(token, 1, a))
+        assert bin(frame.jf_gcmap[0]).count('1') == 4
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to