aboutsummaryrefslogtreecommitdiffstats
path: root/src/alloc.c
diff options
context:
space:
mode:
authorGerd Möllmann2024-06-23 16:20:37 +0200
committerGerd Möllmann2024-06-23 16:20:37 +0200
commit33dd41c7459dd9b95af9e17f48cb23c7c236b5c7 (patch)
tree0ba95fc42cc95f02a8891197df26717feed39a50 /src/alloc.c
parent5b45d53c9fd94b8fa59db9fdc04112006ec6e3e4 (diff)
parent39aa286072924ebef68b068fa9d9afc8374ede86 (diff)
downloademacs-33dd41c7459dd9b95af9e17f48cb23c7c236b5c7.tar.gz
emacs-33dd41c7459dd9b95af9e17f48cb23c7c236b5c7.zip
Merge branch 'master' into scratch/igc
Diffstat (limited to 'src/alloc.c')
-rw-r--r--src/alloc.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/alloc.c b/src/alloc.c
index 8637f12bd98..80701ae1b38 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -7300,6 +7300,13 @@ mark_frame (struct Lisp_Vector *ptr)
7300 for (tem = f->conversion.actions; tem; tem = tem->next) 7300 for (tem = f->conversion.actions; tem; tem = tem->next)
7301 mark_object (tem->data); 7301 mark_object (tem->data);
7302#endif 7302#endif
7303
7304#ifdef HAVE_WINDOW_SYSTEM
7305 /* Mark this frame's image cache, though it might be common to several
7306 frames with the same font size. */
7307 if (FRAME_IMAGE_CACHE (f))
7308 mark_image_cache (FRAME_IMAGE_CACHE (f));
7309#endif /* HAVE_WINDOW_SYSTEM */
7303} 7310}
7304 7311
7305static void 7312static void
@@ -7597,7 +7604,7 @@ process_mark_stack (ptrdiff_t base_sp)
7597 7604
7598 case PVEC_SUBR: 7605 case PVEC_SUBR:
7599#ifdef HAVE_NATIVE_COMP 7606#ifdef HAVE_NATIVE_COMP
7600 if (SUBR_NATIVE_COMPILEDP (obj)) 7607 if (NATIVE_COMP_FUNCTIONP (obj))
7601 { 7608 {
7602 set_vector_marked (ptr); 7609 set_vector_marked (ptr);
7603 struct Lisp_Subr *subr = XSUBR (obj); 7610 struct Lisp_Subr *subr = XSUBR (obj);
@@ -7763,12 +7770,6 @@ mark_terminals (void)
7763 for (t = terminal_list; t; t = t->next_terminal) 7770 for (t = terminal_list; t; t = t->next_terminal)
7764 { 7771 {
7765 eassert (t->name != NULL); 7772 eassert (t->name != NULL);
7766#ifdef HAVE_WINDOW_SYSTEM
7767 /* If a terminal object is reachable from a stacpro'ed object,
7768 it might have been marked already. Make sure the image cache
7769 gets marked. */
7770 mark_image_cache (t->image_cache);
7771#endif /* HAVE_WINDOW_SYSTEM */
7772 if (!vectorlike_marked_p (&t->header)) 7773 if (!vectorlike_marked_p (&t->header))
7773 mark_vectorlike (&t->header); 7774 mark_vectorlike (&t->header);
7774 } 7775 }
@@ -7798,7 +7799,7 @@ survives_gc_p (Lisp_Object obj)
7798 7799
7799 case Lisp_Vectorlike: 7800 case Lisp_Vectorlike:
7800 survives_p = 7801 survives_p =
7801 (SUBRP (obj) && !SUBR_NATIVE_COMPILEDP (obj)) || 7802 (SUBRP (obj) && !NATIVE_COMP_FUNCTIONP (obj)) ||
7802 vector_marked_p (XVECTOR (obj)); 7803 vector_marked_p (XVECTOR (obj));
7803 break; 7804 break;
7804 7805