TIVI-153: Add as dependency for Iputils
[profile/ivi/gc.git] / stubborn.c
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 /* Boehm, July 31, 1995 5:02 pm PDT */
15
16
17 #include "private/gc_priv.h"
18
19 #if defined(MANUAL_VDB)
20 /* Stubborn object (hard to change, nearly immutable) allocation. */
21 /* This interface is deprecated.  We mostly emulate it using      */
22 /* MANUAL_VDB.  But that imposes the additional constraint that   */
23 /* written, but not yet GC_dirty()ed objects must be referenced   */
24 /* by a stack.                                                    */
25 void * GC_malloc_stubborn(size_t lb)
26 {
27     return(GC_malloc(lb));
28 }
29
30 /*ARGSUSED*/
31 void GC_end_stubborn_change(void *p)
32 {
33     GC_dirty(p);
34 }
35
36 /*ARGSUSED*/
37 void GC_change_stubborn(void *p)
38 {
39 }
40
41 #else /* !MANUAL_VDB */
42
43 void * GC_malloc_stubborn(size_t lb)
44 {
45     return(GC_malloc(lb));
46 }
47
48 /*ARGSUSED*/
49 void GC_end_stubborn_change(void *p)
50 {
51 }
52
53 /*ARGSUSED*/
54 void GC_change_stubborn(void *p)
55 {
56 }
57
58 #endif /* !MANUAL_VDB */