Author: Armin Rigo <ar...@tunes.org> Branch: c7-more-segments Changeset: r1019:1eef635359f7 Date: 2014-03-15 17:01 +0100 http://bitbucket.org/pypy/stmgc/changeset/1eef635359f7/
Log: Kill unused stuff diff --git a/c7/stm/core.c b/c7/stm/core.c --- a/c7/stm/core.c +++ b/c7/stm/core.c @@ -59,7 +59,7 @@ the common case. Otherwise, we need to compute it based on its location and size. */ if ((obj->stm_flags & GCFLAG_SMALL_UNIFORM) != 0) { - pages_privatize(first_page, 1, true); + pages_privatize(first_page, 1); } else { char *realobj; @@ -73,7 +73,7 @@ /* that's the page *following* the last page with the object */ end_page = (((uintptr_t)obj) + obj_size + 4095) / 4096UL; - pages_privatize(first_page, end_page - first_page, true); + pages_privatize(first_page, end_page - first_page); } } else if (write_locks[lock_idx] == lock_num) { diff --git a/c7/stm/pages.c b/c7/stm/pages.c --- a/c7/stm/pages.c +++ b/c7/stm/pages.c @@ -133,7 +133,7 @@ } #endif -static void privatize_range(uintptr_t pagenum, uintptr_t count, bool full) +static void privatize_range(uintptr_t pagenum, uintptr_t count) { ssize_t pgoff1 = pagenum; ssize_t pgoff2 = pagenum + NB_PAGES; @@ -146,29 +146,16 @@ memset(flag_page_private + pagenum, REMAPPING_PAGE, count); d_remap_file_pages(localpg, count * 4096, pgoff2); uintptr_t i; - if (full) { - for (i = 0; i < count; i++) { - pagecopy(localpg + 4096 * i, otherpg + 4096 * i); - } - } - else { - pagecopy(localpg, otherpg); - if (count > 1) - pagecopy(localpg + 4096 * (count-1), otherpg + 4096 * (count-1)); + for (i = 0; i < count; i++) { + pagecopy(localpg + 4096 * i, otherpg + 4096 * i); } write_fence(); memset(flag_page_private + pagenum, PRIVATE_PAGE, count); increment_total_allocated(4096 * count); } -static void _pages_privatize(uintptr_t pagenum, uintptr_t count, bool full) +static void _pages_privatize(uintptr_t pagenum, uintptr_t count) { - /* narrow the range of pages to privatize from the end: */ - while (flag_page_private[pagenum + count - 1] == PRIVATE_PAGE) { - if (!--count) - return; - } - mutex_pages_lock(); uintptr_t page_start_range = pagenum; @@ -179,7 +166,7 @@ if (prev == PRIVATE_PAGE) { if (pagenum > page_start_range) { privatize_range(page_start_range, - pagenum - page_start_range, full); + pagenum - page_start_range); } page_start_range = pagenum + 1; } @@ -190,7 +177,7 @@ if (pagenum > page_start_range) { privatize_range(page_start_range, - pagenum - page_start_range, full); + pagenum - page_start_range); } mutex_pages_unlock(); diff --git a/c7/stm/pages.h b/c7/stm/pages.h --- a/c7/stm/pages.h +++ b/c7/stm/pages.h @@ -21,9 +21,8 @@ static uint8_t flag_page_private[NB_PAGES]; -static void _pages_privatize(uintptr_t pagenum, uintptr_t count, bool full); +static void _pages_privatize(uintptr_t pagenum, uintptr_t count); static void pages_initialize_shared(uintptr_t pagenum, uintptr_t count); -//static void pages_make_shared_again(uintptr_t pagenum, uintptr_t count); static void mutex_pages_lock(void); static void mutex_pages_unlock(void); @@ -32,8 +31,7 @@ static void force_major_collection_request(void); static void reset_major_collection_requested(void); -inline static void pages_privatize(uintptr_t pagenum, uintptr_t count, - bool full) { +inline static void pages_privatize(uintptr_t pagenum, uintptr_t count) { /* This is written a bit carefully so that a call with a constant count == 1 will turn this loop into just one "if". */ while (flag_page_private[pagenum] == PRIVATE_PAGE) { @@ -42,7 +40,5 @@ } pagenum++; } - _pages_privatize(pagenum, count, full); + _pages_privatize(pagenum, count); } - -/* static bool is_fully_in_shared_pages(object_t *obj); */ _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit