Author: Armin Rigo <ar...@tunes.org> Branch: c7-refactor Changeset: r844:685f6c6003e3 Date: 2014-02-24 18:09 +0100 http://bitbucket.org/pypy/stmgc/changeset/685f6c6003e3/
Log: tweaks diff --git a/c7/stm/core.c b/c7/stm/core.c --- a/c7/stm/core.c +++ b/c7/stm/core.c @@ -176,9 +176,7 @@ assert(STM_PSEGMENT->objects_pointing_to_nursery == NULL); assert(STM_PSEGMENT->large_overflow_objects == NULL); -#ifdef STM_TESTS check_nursery_at_transaction_start(); -#endif } diff --git a/c7/stm/nursery.c b/c7/stm/nursery.c --- a/c7/stm/nursery.c +++ b/c7/stm/nursery.c @@ -253,8 +253,17 @@ static void check_nursery_at_transaction_start(void) { +#ifndef NDEBUG assert((uintptr_t)STM_SEGMENT->nursery_current == _stm_nursery_start); - uintptr_t i; - for (i = 0; i < _stm_nursery_end - _stm_nursery_start; i++) - assert(STM_SEGMENT->nursery_current[i] == 0); + uintptr_t i, limit; +# ifdef STM_TESTS + limit = _stm_nursery_end - _stm_nursery_start; +# else + limit = 64; +# endif + for (i = 0; i < limit; i += 8) { + assert(*(TLPREFIX uint64_t *)(STM_SEGMENT->nursery_current + i) == 0); + _duck(); + } +#endif } diff --git a/c7/stm/nursery.h b/c7/stm/nursery.h --- a/c7/stm/nursery.h +++ b/c7/stm/nursery.h @@ -6,4 +6,4 @@ static uint32_t highest_overflow_number; static void minor_collection(bool commit); -static void check_nursery_at_transaction_start(void) __attribute__((unused)); +static void check_nursery_at_transaction_start(void); diff --git a/c7/test/support.py b/c7/test/support.py --- a/c7/test/support.py +++ b/c7/test/support.py @@ -32,6 +32,7 @@ typedef ... object_t; typedef ... stm_jmpbuf_t; #define SIZEOF_MYOBJ ... +#define _STM_FAST_ALLOC ... typedef struct { object_t **shadowstack, **shadowstack_base; diff --git a/c7/test/test_nursery.py b/c7/test/test_nursery.py --- a/c7/test/test_nursery.py +++ b/c7/test/test_nursery.py @@ -98,8 +98,9 @@ assert old assert young - def test_larger_than_section(self): - obj_size = NURSERY_SECTION_SIZE + 16 + def test_larger_than_limit_for_nursery(self): + py.test.skip("XXX later") + obj_size = lib._STM_FAST_ALLOC + 16 self.start_transaction() seen = set() _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit