Author: Gregor Wegberg <[email protected]>
Branch: gc-incminimark-pinning
Changeset: r74014:26934ad677e7
Date: 2014-10-18 19:46 +0200
http://bitbucket.org/pypy/pypy/changeset/26934ad677e7/

Log:    passing all object pinning specific GC tests again

diff --git a/rpython/memory/gc/test/test_object_pinning.py 
b/rpython/memory/gc/test/test_object_pinning.py
--- a/rpython/memory/gc/test/test_object_pinning.py
+++ b/rpython/memory/gc/test/test_object_pinning.py
@@ -636,7 +636,6 @@
 
 
     def test_pin_nursery_top_scenario1(self):
-        py.test.skip("nursery no longer zeros, test needs to be rewritten")
         ptr1 = self.malloc(T)
         adr1 = llmemory.cast_ptr_to_adr(ptr1)
         ptr1.someInt = 101
@@ -658,9 +657,9 @@
         # scenario: no minor collection happened, only three mallocs
         # and pins
         #
-        # +- nursery                           nursery_real_top -+
-        # |                                                      |
-        # v                                                      v
+        # +- nursery
+        # |
+        # v
         # +--------+--------+--------+---------------------...---+
         # | pinned | pinned | pinned | empty                     |
         # +--------+--------+--------+---------------------...---+
@@ -671,11 +670,9 @@
         #
         assert adr3 < self.gc.nursery_free
         assert self.gc.nursery_free < self.gc.nursery_top
-        assert self.gc.nursery_top == self.gc.nursery_real_top
 
 
     def test_pin_nursery_top_scenario2(self):
-        py.test.skip("nursery no longer zeros, test needs to be rewritten")
         ptr1 = self.malloc(T)
         adr1 = llmemory.cast_ptr_to_adr(ptr1)
         ptr1.someInt = 101
@@ -696,9 +693,9 @@
 
         # scenario: after first GC minor collection
         #
-        # +- nursery                           nursery_real_top -+
-        # |                                                      |
-        # v                                                      v
+        # +- nursery
+        # |
+        # v
         # +--------+--------+--------+---------------------...---+
         # | pinned | pinned | pinned | empty                     |
         # +--------+--------+--------+---------------------...---+
@@ -712,11 +709,9 @@
         assert self.gc.nursery_free == self.gc.nursery_top
         assert self.gc.nursery_top == self.gc.nursery
         assert self.gc.nursery_top < adr3
-        assert adr3 < self.gc.nursery_real_top
 
 
     def test_pin_nursery_top_scenario3(self):
-        py.test.skip("nursery no longer zeros, test needs to be rewritten")
         ptr1 = self.malloc(T)
         adr1 = llmemory.cast_ptr_to_adr(ptr1)
         ptr1.someInt = 101
@@ -738,9 +733,9 @@
         # scenario: after unpinning first object and a minor
         # collection
         #
-        # +- nursery                           nursery_real_top -+
-        # |                                                      |
-        # v                                                      v
+        # +- nursery
+        # |
+        # v
         # +--------+--------+--------+---------------------...---+
         # | empty  | pinned | pinned | empty                     |
         # +--------+--------+--------+---------------------...---+
@@ -755,11 +750,9 @@
         assert self.gc.nursery_free == self.gc.nursery
         assert self.gc.nursery_top > self.gc.nursery_free
         assert self.gc.nursery_top < adr2
-        assert adr3 < self.gc.nursery_real_top
 
 
     def test_pin_nursery_top_scenario4(self):
-        py.test.skip("nursery no longer zeros, test needs to be rewritten")
         ptr1 = self.malloc(T)
         adr1 = llmemory.cast_ptr_to_adr(ptr1)
         ptr1.someInt = 101
@@ -781,9 +774,9 @@
         # scenario: after unpinning first & second object and a minor
         # collection
         #
-        # +- nursery                           nursery_real_top -+
-        # |                                                      |
-        # v                                                      v
+        # +- nursery
+        # |
+        # v
         # +-----------------+--------+---------------------...---+
         # | empty           | pinned | empty                     |
         # +-----------------+--------+---------------------...---+
@@ -799,11 +792,9 @@
         assert self.gc.nursery_free == self.gc.nursery
         assert self.gc.nursery_free < self.gc.nursery_top
         assert self.gc.nursery_top < adr3
-        assert adr3 < self.gc.nursery_real_top
         
 
     def test_pin_nursery_top_scenario5(self):
-        py.test.skip("nursery no longer zeros, test needs to be rewritten")
         ptr1 = self.malloc(T)
         adr1 = llmemory.cast_ptr_to_adr(ptr1)
         ptr1.someInt = 101
@@ -825,9 +816,9 @@
         # scenario: no minor collection happened, only three mallocs
         # and pins
         #
-        # +- nursery                           nursery_real_top -+
-        # |                                                      |
-        # v                                                      v
+        # +- nursery
+        # |
+        # v
         # +--------+--------+--------+---------------------...---+
         # | pinned | pinned | pinned | empty                     |
         # +--------+--------+--------+---------------------...---+
@@ -838,13 +829,12 @@
         #
         assert adr3 < self.gc.nursery_free
         assert self.gc.nursery_free < self.gc.nursery_top
-        assert self.gc.nursery_top == self.gc.nursery_real_top
 
         # scenario: unpin everything and minor collection
         #
-        # +- nursery                           nursery_real_top -+
-        # |                                                      |
-        # v                                                      v
+        # +- nursery
+        # |
+        # v
         # +----------------------------------+-------------...---+
         # | reset arena                      | empty (not reset) |
         # +----------------------------------+-------------...---+
@@ -859,9 +849,7 @@
         self.gc.collect()
 
         assert self.gc.nursery_free == self.gc.nursery
-        # the following assert is important: make sure that
-        # we did not reset the whole nursery
-        assert self.gc.nursery_top < self.gc.nursery_real_top
+        assert self.gc.nursery_top > self.gc.nursery_free
 
 
     def fill_nursery_with_pinned_objects(self):
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to