summaryrefslogtreecommitdiff
path: root/src/alloc.c
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2004-05-18 16:22:46 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2004-05-18 16:22:46 +0000
commit74c35a48a74ba1e57f39100d030b8e299860494e (patch)
treeb3668ab4d6050839ff0f46da88f8c573d07e2fa7 /src/alloc.c
parent4d0b9a0a45e14e5612a40c93063cab7842645557 (diff)
(Fgarbage_collect): Do all the marking before flushing
unmarked elements of the undo list.
Diffstat (limited to 'src/alloc.c')
-rw-r--r--src/alloc.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/src/alloc.c b/src/alloc.c
index c38376d80bc..3dc21ca30e0 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -4465,6 +4465,17 @@ returns nil, because real GC can't be done. */)
}
mark_kboards ();
+#if GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES
+ mark_stack ();
+#endif
+
+#ifdef USE_GTK
+ {
+ extern void xg_mark_data ();
+ xg_mark_data ();
+ }
+#endif
+
/* Look thru every buffer's undo list
for elements that update markers that were not marked,
and delete them. */
@@ -4508,17 +4519,6 @@ returns nil, because real GC can't be done. */)
}
}
-#if GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES
- mark_stack ();
-#endif
-
-#ifdef USE_GTK
- {
- extern void xg_mark_data ();
- xg_mark_data ();
- }
-#endif
-
gc_sweep ();
/* Clear the mark bits that we set in certain root slots. */