summaryrefslogtreecommitdiff
path: root/mark_rts.c
diff options
context:
space:
mode:
authorhboehm <hboehm>2008-02-07 01:58:28 +0100
committerIvan Maidanski <ivmai@mail.ru>2011-07-26 19:06:42 +0200
commit0ca3e850f03fa5b4e1ac333b3f67908e7b63b451 (patch)
treeea05f56d1a3c7526e8feae25e1633638199e5d33 /mark_rts.c
parent430345552d952cebcde227fef2adaa6b574afd08 (diff)
2008-02-06 Hans Boehm <Hans.Boehm@hp.com> (mostly from Henning Makholm)
* include/private/gc_priv.h, mark_rts.c, typd_mlc.c: Add GC_push_typed_structures() to push GC_ext_descriptors.
Diffstat (limited to 'mark_rts.c')
-rw-r--r--mark_rts.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/mark_rts.c b/mark_rts.c
index 05ece1c..0def44f 100644
--- a/mark_rts.c
+++ b/mark_rts.c
@@ -511,6 +511,8 @@ void GC_push_current_stack(ptr_t cold_gc_frame, void * context)
# endif /* !THREADS */
}
+void (*GC_push_typed_structures) (void) = NULL;
+
/*
* Push GC internal roots. Only called if there is some reason to believe
* these would not otherwise get registered.
@@ -521,6 +523,8 @@ void GC_push_gc_structures(void)
# if defined(THREADS)
GC_push_thread_structures();
# endif
+ if( GC_push_typed_structures )
+ GC_push_typed_structures();
}
#ifdef THREAD_LOCAL_ALLOC