core: gc: Enable memory dump debugging.

* src/gc.c (gc): If MES_DUMP is set, dump arena.  [POINTER_CELLS &&
!GC_NOFLIP]: Run gc_ twice to enable comparing memory dumps.
This commit is contained in:
Jan (janneke) Nieuwenhuizen 2020-09-20 09:35:56 +02:00
parent b05558ec00
commit 20595cd044
No known key found for this signature in database
GPG key ID: F3C1A0D9C1D65273

View file

@ -742,6 +742,8 @@ gc_ ()
SCM SCM
gc () gc ()
{ {
if (getenv ("MES_DUMP") != 0)
gc_dump_arena (g_cells, gc_free ());
if (g_debug > 5) if (g_debug > 5)
{ {
eputs ("symbols: "); eputs ("symbols: ");
@ -753,6 +755,9 @@ gc ()
} }
gc_push_frame (); gc_push_frame ();
gc_ (); gc_ ();
#if POINTER_CELLS && !GC_NOFLIP
gc_ ();
#endif
gc_pop_frame (); gc_pop_frame ();
if (g_debug > 5) if (g_debug > 5)
{ {
@ -763,6 +768,8 @@ gc ()
write_error_ (R0); write_error_ (R0);
eputs ("\n"); eputs ("\n");
} }
if (getenv ("MES_DUMP") != 0)
gc_dump_arena (g_cells, gc_free ());
return cell_unspecified; return cell_unspecified;
} }