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: 2015-06-10 18:10:59 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 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(void *p)
      33             :   {
      34             :     GC_dirty(p);
      35             :   }
      36             : 
      37             :   /*ARGSUSED*/
      38             :   GC_API void GC_CALL GC_change_stubborn(void *p)
      39             :   {
      40             :   }
      41             : 
      42             : #else /* !MANUAL_VDB */
      43             : 
      44           0 :   GC_API void * GC_CALL GC_malloc_stubborn(size_t lb)
      45             :   {
      46           0 :     return(GC_malloc(lb));
      47             :   }
      48             : 
      49             :   /*ARGSUSED*/
      50           0 :   GC_API void GC_CALL GC_end_stubborn_change(void *p)
      51             :   {
      52           0 :   }
      53             : 
      54             :   /*ARGSUSED*/
      55           0 :   GC_API void GC_CALL GC_change_stubborn(void *p)
      56             :   {
      57           0 :   }
      58             : 
      59             : #endif /* !MANUAL_VDB */

Generated by: LCOV version 1.11