]> granicus.if.org Git - gc/commitdiff
Add macro to optionally omit GC_move_disappearing_link
authorIvan Maidanski <ivmai@mail.ru>
Wed, 9 Nov 2011 09:59:11 +0000 (13:59 +0400)
committerIvan Maidanski <ivmai@mail.ru>
Wed, 9 Nov 2011 09:59:11 +0000 (13:59 +0400)
* finalize.c (GC_move_disappearing_link): Do not define if
GC_MOVE_DISAPPEARING_LINK_NOT_NEEDED defined (new macro).

finalize.c

index b8f59c709266cea029d235730bcdc688d525f346..2cb1dd265426d53eaee1bd26829a5bc6f2b1a6b5 100644 (file)
@@ -243,8 +243,9 @@ GC_API int GC_CALL GC_unregister_disappearing_link(void * * link)
     return(0);
 }
 
-GC_API int GC_CALL GC_move_disappearing_link(void **link, void **new_link)
-{
+#ifndef GC_MOVE_DISAPPEARING_LINK_NOT_NEEDED
+  GC_API int GC_CALL GC_move_disappearing_link(void **link, void **new_link)
+  {
     struct disappearing_link *curr_dl, *prev_dl, *new_dl;
     size_t curr_index, new_index;
     word curr_hidden_link;
@@ -301,7 +302,8 @@ GC_API int GC_CALL GC_move_disappearing_link(void **link, void **new_link)
     dl_head[new_index] = curr_dl;
     UNLOCK();
     return GC_SUCCESS;
-}
+  }
+#endif /* !GC_MOVE_DISAPPEARING_LINK_NOT_NEEDED */
 
 /* Possible finalization_marker procedures.  Note that mark stack       */
 /* overflow is handled by the caller, and is not a disaster.            */