Author: Armin Rigo <ar...@tunes.org>
Branch: jitframe-on-heap
Changeset: r62002:b78f3e5cc346
Date: 2013-03-04 11:18 +0100
http://bitbucket.org/pypy/pypy/changeset/b78f3e5cc346/

Log:    merge heads

diff --git a/rpython/jit/backend/llsupport/jitframe.py 
b/rpython/jit/backend/llsupport/jitframe.py
--- a/rpython/jit/backend/llsupport/jitframe.py
+++ b/rpython/jit/backend/llsupport/jitframe.py
@@ -113,6 +113,9 @@
         elif fld == -3:
             (obj_addr + getofs('jf_gc_trace_state')).signed[0] = -4
             return obj_addr + getofs('jf_guard_exc')
+        elif fld == -4:
+            (obj_addr + getofs('jf_gc_trace_state')).signed[0] = -5
+            return obj_addr + getofs('jf_forward')
         else:
             if not (obj_addr + getofs('jf_gcmap')).address[0]:
                 return llmemory.NULL    # done
diff --git a/rpython/jit/backend/llsupport/test/test_gc.py 
b/rpython/jit/backend/llsupport/test/test_gc.py
--- a/rpython/jit/backend/llsupport/test/test_gc.py
+++ b/rpython/jit/backend/llsupport/test/test_gc.py
@@ -296,20 +296,20 @@
             assert all_addrs[counter] == frame_adr + jitframe.getofs(name)
             counter += 1
     # gcpattern
-    assert all_addrs[4] == indexof(0)
-    assert all_addrs[5] == indexof(1)
-    assert all_addrs[6] == indexof(3)
-    assert all_addrs[7] == indexof(5)
-    assert all_addrs[8] == indexof(7)
+    assert all_addrs[5] == indexof(0)
+    assert all_addrs[6] == indexof(1)
+    assert all_addrs[7] == indexof(3)
+    assert all_addrs[8] == indexof(5)
+    assert all_addrs[9] == indexof(7)
     if sys.maxint == 2**31 - 1:
-        assert all_addrs[9] == indexof(31)
-        assert all_addrs[10] == indexof(33 + 32)
+        assert all_addrs[10] == indexof(31)
+        assert all_addrs[11] == indexof(33 + 32)
     else:
-        assert all_addrs[9] == indexof(63)
-        assert all_addrs[10] == indexof(65 + 64)
+        assert all_addrs[10] == indexof(63)
+        assert all_addrs[11] == indexof(65 + 64)
 
-    assert len(all_addrs) == 4 + 6 + 4
-    # 4 static fields, 4 addresses from gcmap, 2 from gcpattern
+    assert len(all_addrs) == 5 + 6 + 4
+    # 5 static fields, 4 addresses from gcmap, 2 from gcpattern
     lltype.free(frame_info, flavor='raw')
     lltype.free(frame.jf_gcmap, flavor='raw')
 
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to