LCOV - code coverage report
Current view: top level - mm/boehm-gc - stubborn.c (source / functions) Hit Total Coverage
Test: coverage.info Lines: 0 6 0.0 %
Date: 2017-07-14 10:03:36 Functions: 0 3 0.0 %

          Line data    Source code
       1             : /*
       2             :  * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
       3             :  * Copyright (c) 1991-1994 by Xerox Corporation.  All rights reserved.
       4             :  *
       5             :  * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
       6             :  * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
       7             :  *
       8             :  * Permission is hereby granted to use or copy this program
       9             :  * for any purpose,  provided the above notices are retained on all copies.
      10             :  * Permission to modify the code and to distribute modified code is granted,
      11             :  * provided the above notices are retained, and a notice that the code was
      12             :  * modified is included with the above copyright notice.
      13             :  */
      14             : 
      15             : #include "private/gc_priv.h"
      16             : 
      17             : #if defined(MANUAL_VDB)
      18             : 
      19             :   /* Stubborn object (hard to change, nearly immutable) allocation.     */
      20             :   /* This interface is deprecated.  We mostly emulate it using          */
      21             :   /* MANUAL_VDB.  But that imposes the additional constraint that       */
      22             :   /* written, but not yet GC_dirty()ed objects must be referenced       */
      23             :   /* by a stack.                                                        */
      24             : 
      25             :   void GC_dirty(ptr_t p);
      26             : 
      27             :   GC_API GC_ATTR_MALLOC void * GC_CALL GC_malloc_stubborn(size_t lb)
      28             :   {
      29             :     return(GC_malloc(lb));
      30             :   }
      31             : 
      32             :   GC_API void GC_CALL GC_end_stubborn_change(const void *p)
      33             :   {
      34             :     GC_dirty((ptr_t)p);
      35             :   }
      36             : 
      37             :   GC_API void GC_CALL GC_change_stubborn(const void *p GC_ATTR_UNUSED)
      38             :   {
      39             :   }
      40             : 
      41             : #else /* !MANUAL_VDB */
      42             : 
      43           0 :   GC_API GC_ATTR_MALLOC void * GC_CALL GC_malloc_stubborn(size_t lb)
      44             :   {
      45           0 :     return(GC_malloc(lb));
      46             :   }
      47             : 
      48           0 :   GC_API void GC_CALL GC_end_stubborn_change(const void *p GC_ATTR_UNUSED)
      49             :   {
      50           0 :   }
      51             : 
      52           0 :   GC_API void GC_CALL GC_change_stubborn(const void *p GC_ATTR_UNUSED)
      53             :   {
      54           0 :   }
      55             : 
      56             : #endif /* !MANUAL_VDB */

Generated by: LCOV version 1.11