| |
| /* |
| * 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) |
| |