diff options
Diffstat (limited to 'gc/gc_copy_descr.h')
-rw-r--r-- | gc/gc_copy_descr.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gc/gc_copy_descr.h b/gc/gc_copy_descr.h new file mode 100644 index 0000000..212c99e --- /dev/null +++ b/gc/gc_copy_descr.h @@ -0,0 +1,26 @@ + +/* + * Copyright (c) 1999 by Silicon Graphics. 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. + */ +/* Descriptor for allocation request. May be redefined by client. */ +typedef struct { + GC_word bitmap; /* Bitmap describing pointer locations. */ + /* High order bit correspond to 0th */ + /* word. 2 lsbs must be 0. */ + size_t length; /* In bytes, must be multiple of word */ + /* size. Must be >0, <= 512 */ +} * GC_copy_descriptor; + +/* The collector accesses descriptors only through these two macros. */ +#define GC_SIZE_FROM_DESCRIPTOR(d) ((d) -> length) +#define GC_BIT_MAP_FROM_DESCRIPTOR(d) ((d) -> bitmap) + |