diff options
Diffstat (limited to 'boehm_gc/stubborn.c')
-rw-r--r-- | boehm_gc/stubborn.c | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/boehm_gc/stubborn.c b/boehm_gc/stubborn.c new file mode 100644 index 0000000..f4e0958 --- /dev/null +++ b/boehm_gc/stubborn.c @@ -0,0 +1,58 @@ +/* + * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers + * Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved. + * + * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED + * OR IMPLIED. ANY USE IS AT YOUR OWN RISK. + * + * Permission is hereby granted to use or copy this program + * for any purpose, provided the above notices are retained on all copies. + * Permission to modify the code and to distribute modified code is granted, + * provided the above notices are retained, and a notice that the code was + * modified is included with the above copyright notice. + */ +/* Boehm, July 31, 1995 5:02 pm PDT */ + + +#include "private/gc_priv.h" + +#if defined(MANUAL_VDB) +/* Stubborn object (hard to change, nearly immutable) allocation. */ +/* This interface is deprecated. We mostly emulate it using */ +/* MANUAL_VDB. But that imposes the additional constraint that */ +/* written, but not yet GC_dirty()ed objects must be referenced */ +/* by a stack. */ +void * GC_malloc_stubborn(size_t lb) +{ + return(GC_malloc(lb)); +} + +/*ARGSUSED*/ +void GC_end_stubborn_change(void *p) +{ + GC_dirty(p); +} + +/*ARGSUSED*/ +void GC_change_stubborn(void *p) +{ +} + +#else /* !MANUAL_VDB */ + +void * GC_malloc_stubborn(size_t lb) +{ + return(GC_malloc(lb)); +} + +/*ARGSUSED*/ +void GC_end_stubborn_change(void *p) +{ +} + +/*ARGSUSED*/ +void GC_change_stubborn(void *p) +{ +} + +#endif /* !MANUAL_VDB */ |