]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
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 */ |