+#if MDBG_DUMP
+static void
+dump_atoms(int show_marked)
+{
+ struct ao_scheme_atom *atom;
+
+ printf("atoms {\n");
+ for (atom = ao_scheme_atoms; atom; atom = ao_scheme_poly_atom(atom->next)) {
+ printf("\t%d: %s", MDBG_OFFSET(atom), atom->name);
+ if (show_marked)
+ printf(" %s", ao_scheme_marked(atom) ? "referenced" : "unreferenced");
+ printf("\n");
+ }
+ printf("}\n");
+
+}
+#define DUMP_ATOMS(a) dump_atoms(a)
+#else
+#define DUMP_ATOMS(a)
+#endif
+