[svn:parrot] r49589 - branches/generational_gc/src/gc
bacek at svn.parrot.org
bacek at svn.parrot.org
Wed Oct 20 02:00:13 UTC 2010
Author: bacek
Date: Wed Oct 20 02:00:13 2010
New Revision: 49589
URL: https://trac.parrot.org/parrot/changeset/49589
Log:
Add some stats output when DETAILED_MEMORY_DEBUG defined.
Modified:
branches/generational_gc/src/gc/gc_ms2.c
Modified: branches/generational_gc/src/gc/gc_ms2.c
==============================================================================
--- branches/generational_gc/src/gc/gc_ms2.c Tue Oct 19 23:09:00 2010 (r49588)
+++ branches/generational_gc/src/gc/gc_ms2.c Wed Oct 20 02:00:13 2010 (r49589)
@@ -264,6 +264,9 @@
__attribute__nonnull__(1)
__attribute__nonnull__(2);
+static void gc_ms2_print_stats(PARROT_INTERP, const char* header, int gen)
+ __attribute__nonnull__(1);
+
static void gc_ms2_reallocate_buffer_storage(PARROT_INTERP,
ARGIN(Buffer *str),
size_t size)
@@ -434,6 +437,8 @@
#define ASSERT_ARGS_gc_ms2_pmc_validate __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(pmc))
+#define ASSERT_ARGS_gc_ms2_print_stats __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_gc_ms2_reallocate_buffer_storage \
__attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
@@ -663,6 +668,8 @@
else
gen = self->current_generation = 0;
+ gc_ms2_print_stats(interp, "Before", gen);
+
gc_ms2_check_sanity(interp);
/* Trace roots */
@@ -779,7 +786,9 @@
gc_ms2_check_sanity(interp);
+ gc_ms2_print_stats(interp, "Bringing", gen);
gc_ms2_bring_them_together(interp, old_object_tails);
+ gc_ms2_print_stats(interp, "Here", gen);
/* Now. Sweep all dead objects */
@@ -801,6 +810,9 @@
gc_ms2_compact_memory_pool(interp);
gc_ms2_check_sanity(interp);
+
+
+ gc_ms2_print_stats(interp, "After", gen);
}
/*
@@ -2010,6 +2022,21 @@
}
}
+static void
+gc_ms2_print_stats(PARROT_INTERP, const char* header, int gen)
+{
+ MarkSweep_GC *self = (MarkSweep_GC *)interp->gc_sys->gc_private;
+
+#ifdef DETAIL_MEMORY_DEBUG
+ fprintf(stderr, "%s\ngen: %d\n0: %d %d\n1: %d %d\n2: %d %d\n\n",
+ header,
+ gen,
+ self->objects[0]->count, self->strings[0]->count,
+ self->objects[1]->count, self->strings[1]->count,
+ self->objects[2]->count, self->strings[2]->count);
+#endif
+}
+
/*
=back
More information about the parrot-commits
mailing list