Author: wenzhuman <manwen...@gmail.com> Branch: gc_no_cleanup_nursery Changeset: r72416:a99dec1483ec Date: 2014-07-10 22:55 +0000 http://bitbucket.org/pypy/pypy/changeset/a99dec1483ec/
Log: and test case for no clean up nursery diff --git a/rpython/memory/gc/test/test_direct.py b/rpython/memory/gc/test/test_direct.py --- a/rpython/memory/gc/test/test_direct.py +++ b/rpython/memory/gc/test/test_direct.py @@ -11,7 +11,7 @@ from rpython.memory.gctypelayout import TypeLayoutBuilder from rpython.rlib.rarithmetic import LONG_BIT, is_valid_int from rpython.memory.gc import minimark, incminimark -from rpython.memory.gctypelayout import zero_gc_pointers, zero_gc_pointers_inside +from rpython.memory.gctypelayout import zero_gc_pointers_inside WORD = LONG_BIT // 8 ADDR_ARRAY = lltype.Array(llmemory.Address) @@ -108,12 +108,13 @@ addr = self.gc.malloc(self.get_type_id(TYPE), n, zero=True) obj_ptr = llmemory.cast_adr_to_ptr(addr, lltype.Ptr(TYPE)) #TODO: only zero fields if there is gc filed add something like has_gc_ptr() - zero_gc_pointers_inside(obj_ptr, TYPE) + if not self.gc.malloc_zero_filled: + zero_gc_pointers_inside(obj_ptr, TYPE) return obj_ptr class DirectGCTest(BaseDirectGCTest): - + def test_simple(self): p = self.malloc(S) p.x = 5 @@ -666,3 +667,9 @@ class TestIncrementalMiniMarkGCFull(DirectGCTest): from rpython.memory.gc.incminimark import IncrementalMiniMarkGC as GCClass + def test_no_cleanup(self): + p = self.malloc(S) + import pytest + with pytest.raises(lltype.UninitializedMemoryAccess): + x1 = p.x + \ No newline at end of file _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit