Author: Armin Rigo <[email protected]>
Branch: card-marking
Changeset: r1262:488189516065
Date: 2014-06-30 12:23 +0200
http://bitbucket.org/pypy/stmgc/changeset/488189516065/

Log:    Fix test using cards on a non-GC array

diff --git a/c7/test/support.py b/c7/test/support.py
--- a/c7/test/support.py
+++ b/c7/test/support.py
@@ -321,11 +321,13 @@
 {
     struct myobj_s *myobj = (struct myobj_s*)obj;
     if (myobj->type_id < 421420) {
-        abort(); // works, but we want to test otherwise
-        /* basic case: index=byteoffset */
+        *base_offset = SIZEOF_MYOBJ;
+        *item_size = 1;
     }
-    *base_offset = sizeof(struct myobj_s);
-    *item_size = sizeof(object_t *);
+    else {
+        *base_offset = sizeof(struct myobj_s);
+        *item_size = sizeof(object_t *);
+    }
 }
 
 void stm_push_marker(stm_thread_local_t *tl, uintptr_t onum, object_t *ob)
@@ -427,7 +429,7 @@
 def stm_set_char(obj, c, offset=HDR, use_cards=False):
     assert HDR <= offset < stm_get_obj_size(obj)
     if use_cards:
-        stm_write_card(obj, offset)
+        stm_write_card(obj, offset - HDR)
     else:
         stm_write(obj)
     stm_get_real_address(obj)[offset] = c
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to