GC: remove unmaintained counters

This commit is contained in:
Matthew Flatt 2015-09-18 12:40:14 -06:00
parent 40f9467c07
commit a9015e5484
4 changed files with 0 additions and 99 deletions

View File

@ -224,7 +224,6 @@ static void *bc_alloc_std_page(BlockCache *bc, int dirty_ok, int expect_mprotect
BD_MAP_UNSET_BIT(bd->protect_map, end_pos); BD_MAP_UNSET_BIT(bd->protect_map, end_pos);
end_pos++; end_pos++;
} }
GC_MP_CNT_INC(mp_alloc_med_big_cnt);
os_protect_pages((char *)p - ((pos - start_pos) * APAGE_SIZE), os_protect_pages((char *)p - ((pos - start_pos) * APAGE_SIZE),
(end_pos - start_pos) * APAGE_SIZE, (end_pos - start_pos) * APAGE_SIZE,
1); 1);
@ -416,11 +415,6 @@ static ssize_t block_cache_flush_freed_pages(BlockCache* bc) {
} }
alloc_cache_size_diff = alloc_cache_flush_freed_pages(bc->bigBlockCache); alloc_cache_size_diff = alloc_cache_flush_freed_pages(bc->bigBlockCache);
#ifdef GC_MP_CNT
mp_bc_freed = -size_diff;
mp_ac_freed = -alloc_cache_size_diff;
#endif
return size_diff + alloc_cache_size_diff; return size_diff + alloc_cache_size_diff;
} }

View File

@ -11,27 +11,6 @@
generation eventually compacts. generation eventually compacts.
*/ */
/* #define GC_MP_CNT */
/* GC MProtect Counters */
#ifdef GC_MP_CNT
int mp_write_barrier_cnt;
int mp_mark_cnt;
int mp_alloc_med_big_cnt;
int mp_pr_add_cnt;
int mp_pr_call_cnt;
int mp_pr_ff_cnt;
int mp_gc_unprotect_cnt;
int mp_gc_protect_cnt;
int mp_gcs_cnt;
intptr_t mp_prev_compact_cnt;
intptr_t mp_compact_cnt;
intptr_t mp_bc_freed;
intptr_t mp_ac_freed;
# define GC_MP_CNT_INC(x) ((x)++)
#else
# define GC_MP_CNT_INC(x) /* empty */
#endif
#if 0 #if 0
# define POINTER_OWNERSHIP_CHECK # define POINTER_OWNERSHIP_CHECK
#endif #endif
@ -2807,7 +2786,6 @@ static int designate_modified_gc(NewGC *gc, void *p)
if (page) { if (page) {
page->mprotected = 0; page->mprotected = 0;
mmu_write_unprotect_page(gc->mmu, page->addr, real_page_size(page), page_mmu_type(page), &page->mmu_src_block); mmu_write_unprotect_page(gc->mmu, page->addr, real_page_size(page), page_mmu_type(page), &page->mmu_src_block);
GC_MP_CNT_INC(mp_write_barrier_cnt);
if (!page->back_pointers) if (!page->back_pointers)
set_has_back_pointers(gc, page); set_has_back_pointers(gc, page);
gc->modified_unprotects++; gc->modified_unprotects++;
@ -3631,7 +3609,6 @@ void GC_mark2(void *pp, struct NewGC *gc)
if (work->mprotected) { if (work->mprotected) {
work->mprotected = 0; work->mprotected = 0;
mmu_write_unprotect_page(gc->mmu, work->addr, APAGE_SIZE, page_mmu_type(work), &work->mmu_src_block); mmu_write_unprotect_page(gc->mmu, work->addr, APAGE_SIZE, page_mmu_type(work), &work->mmu_src_block);
GC_MP_CNT_INC(mp_mark_cnt);
} }
newplace = PTR(NUM(work->addr) + work->size); newplace = PTR(NUM(work->addr) + work->size);
} else { } else {
@ -4172,9 +4149,6 @@ static void reset_gen1_pages_live_and_previous_sizes(NewGC *gc)
{ {
mpage *work; mpage *work;
int i; int i;
#ifdef GC_MP_CNT
mp_gc_unprotect_cnt = mp_pr_add_cnt;
#endif
GCDEBUG((DEBUGOUTF, "MAJOR COLLECTION - PREPPING PAGES - reset live_size, reset previous_size, unprotect.\n")); GCDEBUG((DEBUGOUTF, "MAJOR COLLECTION - PREPPING PAGES - reset live_size, reset previous_size, unprotect.\n"));
/* we need to make sure that previous_size for every page is reset, so /* we need to make sure that previous_size for every page is reset, so
@ -4199,9 +4173,6 @@ static void reset_gen1_pages_live_and_previous_sizes(NewGC *gc)
} }
mmu_flush_write_unprotect_ranges(gc->mmu); mmu_flush_write_unprotect_ranges(gc->mmu);
#ifdef GC_MP_CNT
mp_gc_unprotect_cnt = mp_pr_add_cnt - mp_gc_unprotect_cnt;
#endif
} }
static void mark_backpointers(NewGC *gc) static void mark_backpointers(NewGC *gc)
@ -4334,9 +4305,6 @@ inline static void do_heap_compact(NewGC *gc)
int tic_tock = gc->num_major_collects % 2; int tic_tock = gc->num_major_collects % 2;
mmu_prep_for_compaction(gc->mmu); mmu_prep_for_compaction(gc->mmu);
#ifdef GC_MP_CNT
mp_prev_compact_cnt = mp_compact_cnt;
#endif
for(i = 0; i < PAGE_BIG; i++) { for(i = 0; i < PAGE_BIG; i++) {
mpage *work = gc->gen1_pages[i], *prev, *npage; mpage *work = gc->gen1_pages[i], *prev, *npage;
@ -4392,9 +4360,6 @@ inline static void do_heap_compact(NewGC *gc)
fprintf(gcdebugOUT(gc), "Compacting from %p to %p \n", start+1, newplace+1); fprintf(gcdebugOUT(gc), "Compacting from %p to %p \n", start+1, newplace+1);
fprintf_debug(gc, work, "Compacting", info, gcdebugOUT(gc), 0); fprintf_debug(gc, work, "Compacting", info, gcdebugOUT(gc), 0);
} }
#endif
#ifdef GC_MP_CNT
mp_compact_cnt += gcWORDS_TO_BYTES(info->size);
#endif #endif
GCDEBUG((DEBUGOUTF,"Moving size %i object from %p to %p\n", GCDEBUG((DEBUGOUTF,"Moving size %i object from %p to %p\n",
gcWORDS_TO_BYTES(info->size), start+1, newplace+1)); gcWORDS_TO_BYTES(info->size), start+1, newplace+1));
@ -4899,9 +4864,6 @@ static void protect_old_pages(NewGC *gc)
MMU *mmu = gc->mmu; MMU *mmu = gc->mmu;
mpage *page; mpage *page;
int i; int i;
#ifdef GC_MP_CNT
mp_gc_protect_cnt = mp_pr_add_cnt;
#endif
for (i = 0; i < PAGE_TYPES; i++) { for (i = 0; i < PAGE_TYPES; i++) {
if (i != PAGE_ATOMIC) { if (i != PAGE_ATOMIC) {
@ -4928,55 +4890,8 @@ static void protect_old_pages(NewGC *gc)
} }
mmu_flush_write_protect_ranges(mmu); mmu_flush_write_protect_ranges(mmu);
#ifdef GC_MP_CNT
mp_gc_protect_cnt = mp_pr_add_cnt - mp_gc_protect_cnt;
#endif
} }
#ifdef GC_MP_CNT
void print_debug_stats(NewGC *gc) {
char* color;
if (!(mp_gcs_cnt % 30)) {
printf("GCINSTANC WRITE_BA GC_MARK2 DURINGGC PR_ADD__ PR_PROT_ PR_FFLUS UNPROTEC REPROTEC MMUALLOCATED COMPACTED_ COMPACTLOC BC_FREED AC_FREED\n");
}
mp_gc_protect_cnt = mp_pr_add_cnt - mp_gc_protect_cnt;
mp_gcs_cnt ++;
if (gc->gc_full) {
if (gc == MASTERGC) {
if (gc->num_major_collects % 2) color = "\033[0;32m";
else color = "\033[1;32m";
}
else {
if (gc->num_major_collects % 2) color = "\033[0;31m";
else color = "\033[1;31m";
}
}
else
color = "\033\[0;37m";
printf("%s%p %08i %08i %08i %08i %08i %08i %08i %08i %012li %010li %010li %08li %08li%s\n",
color,
gc,
mp_write_barrier_cnt,
mp_mark_cnt,
mp_alloc_med_big_cnt,
mp_pr_add_cnt,
mp_pr_call_cnt,
mp_pr_ff_cnt,
mp_gc_unprotect_cnt,
mp_gc_protect_cnt,
mmu_memory_allocated(gc->mmu),
mp_compact_cnt,
mp_compact_cnt - mp_prev_compact_cnt,
mp_bc_freed,
mp_ac_freed,
"\033\[0;37m");
mp_bc_freed = 0;
mp_ac_freed = 0;
}
#endif
static void park_for_inform_callback(NewGC *gc) static void park_for_inform_callback(NewGC *gc)
{ {
/* Avoid nested collections, which would need /* Avoid nested collections, which would need
@ -5220,10 +5135,6 @@ static void garbage_collect(NewGC *gc, int force_full, int no_full, int switchin
mmu_flush_freed_pages(gc->mmu); mmu_flush_freed_pages(gc->mmu);
reset_finalizer_tree(gc); reset_finalizer_tree(gc);
#ifdef GC_MP_CNT
print_debug_stats(gc);
#endif
TIME_STEP("reset"); TIME_STEP("reset");
/* now we do want the allocator freaking if we go over half */ /* now we do want the allocator freaking if we go over half */

View File

@ -45,9 +45,7 @@ static void page_range_free(Page_Range *pr)
static void page_range_add(Page_Range *pr, void *_start, uintptr_t len, int writeable) static void page_range_add(Page_Range *pr, void *_start, uintptr_t len, int writeable)
{ {
GC_MP_CNT_INC(mp_pr_add_cnt);
if (!page_range_add_worker(pr, _start, len)) { if (!page_range_add_worker(pr, _start, len)) {
GC_MP_CNT_INC(mp_pr_ff_cnt);
page_range_flush(pr, writeable); page_range_flush(pr, writeable);
page_range_add_worker(pr, _start, len); page_range_add_worker(pr, _start, len);
} }
@ -62,7 +60,6 @@ static void page_range_flush(Page_Range *pr, int writeable)
for (work = pr->range_start; work; work = work->next) { for (work = pr->range_start; work; work = work->next) {
os_protect_pages((void *)work->start, work->len, writeable); os_protect_pages((void *)work->start, work->len, writeable);
GC_MP_CNT_INC(mp_pr_call_cnt);
} }
page_range_reset(pr); page_range_reset(pr);

View File

@ -218,7 +218,6 @@ static void zero_weak_boxes(GCTYPE *gc, int is_late, int force_zero)
if (page->mprotected) { if (page->mprotected) {
page->mprotected = 0; page->mprotected = 0;
mmu_write_unprotect_page(gc->mmu, page->addr, APAGE_SIZE, page_mmu_type(page), &page->mmu_src_block); mmu_write_unprotect_page(gc->mmu, page->addr, APAGE_SIZE, page_mmu_type(page), &page->mmu_src_block);
GC_MP_CNT_INC(mp_mark_cnt);
} }
p = (void **)GC_resolve2(wb->secondary_erase, gc); p = (void **)GC_resolve2(wb->secondary_erase, gc);