]> granicus.if.org Git - gc/commitdiff
Export GC_is_tmp_root() and GC_print_trace[_inner]()
authorIvan Maidanski <ivmai@mail.ru>
Sat, 29 Oct 2016 07:14:42 +0000 (10:14 +0300)
committerIvan Maidanski <ivmai@mail.ru>
Tue, 1 Nov 2016 21:35:48 +0000 (00:35 +0300)
Note: these 3 functions are not used by GC itself.

* include/gc_mark.h (GC_is_tmp_root, GC_print_trace,
GC_print_trace_inner): New public API prototype.
* mark.c [TRACE_BUF] (GC_print_trace_inner, GC_print_trace): Define as
public (GC_API+GC_CALL).
* mark_rts.c [MSWIN32 && !NO_DEBUGGING] (GC_is_tmp_root): Likewise.
* mark_rts.c [MSWIN32 && !NO_DEBUGGING] (GC_is_tmp_root): Replace
GC_bool return type with int, replace ptr_t argument type to void*
(because GC_bool and ptr_t are not exported from GC).

include/gc_mark.h
mark.c
mark_rts.c

index 330d71e8a983b85bf749d0b74da2d63d85596343..7324abd8fe9835e90e40d134d9cc9842ec108592 100644 (file)
@@ -305,6 +305,11 @@ GC_API void GC_CALL GC_enumerate_reachable_objects_inner(
                                 GC_reachable_object_proc,
                                 void * /* client_data */) GC_ATTR_NONNULL(1);
 
+GC_API int GC_CALL GC_is_tmp_root(void *);
+
+GC_API void GC_CALL GC_print_trace(GC_word /* gc_no */);
+GC_API void GC_CALL GC_print_trace_inner(GC_word /* gc_no */);
+
 #ifdef __cplusplus
   } /* end of extern "C" */
 #endif
diff --git a/mark.c b/mark.c
index e8d46ba23a78ec00c0d29bff7789a8cca29d6924..a7b5d9b7752ef58a7b1970bffab71e0b9f5165b2 100644 (file)
--- a/mark.c
+++ b/mark.c
@@ -1483,7 +1483,7 @@ void GC_add_trace_entry(char *kind, word arg1, word arg2)
     if (GC_trace_buf_ptr >= TRACE_ENTRIES) GC_trace_buf_ptr = 0;
 }
 
-void GC_print_trace_inner(word gc_no)
+GC_API void GC_CALL GC_print_trace_inner(word gc_no)
 {
     int i;
 
@@ -1503,7 +1503,7 @@ void GC_print_trace_inner(word gc_no)
     GC_printf("Trace incomplete\n");
 }
 
-void GC_print_trace(word gc_no)
+GC_API void GC_CALL GC_print_trace(word gc_no)
 {
     DCL_LOCK_STATE;
 
index 38a277c627fd9d5b83f69bcf03ebd7a7315940ad..ec11763c9c4093fff067a95348ae2397ece5f46d 100644 (file)
@@ -363,7 +363,7 @@ STATIC void GC_remove_tmp_roots(void)
   /* Not used at present (except for, may be, debugging purpose).       */
   /* Workaround for the OS mapping and unmapping behind our back:       */
   /* Is the address p in one of the temporary static root sections?     */
-  GC_bool GC_is_tmp_root(ptr_t p)
+  GC_API int GC_CALL GC_is_tmp_root(void *p)
   {
     static int last_root_set = MAX_ROOT_SETS;
     register int i;