48
48
typedef GC_word GC_descr;
50
GC_API GC_descr GC_make_descriptor GC_PROTO((GC_bitmap bm, size_t len));
50
GC_API GC_descr GC_make_descriptor(GC_bitmap bm, size_t len);
51
51
/* Return a type descriptor for the object whose layout */
52
52
/* is described by the argument. */
53
53
/* The least significant bit of the first word is one */
75
75
/* T_descr = GC_make_descriptor(T_bitmap, GC_WORD_LEN(T)); */
77
GC_API GC_PTR GC_malloc_explicitly_typed
78
GC_PROTO((size_t size_in_bytes, GC_descr d));
77
GC_API void * GC_malloc_explicitly_typed(size_t size_in_bytes, GC_descr d);
79
78
/* Allocate an object whose layout is described by d. */
80
79
/* The resulting object MAY NOT BE PASSED TO REALLOC. */
81
80
/* The returned object is cleared. */
83
GC_API GC_PTR GC_malloc_explicitly_typed_ignore_off_page
84
GC_PROTO((size_t size_in_bytes, GC_descr d));
82
GC_API void * GC_malloc_explicitly_typed_ignore_off_page
83
(size_t size_in_bytes, GC_descr d);
86
GC_API GC_PTR GC_calloc_explicitly_typed
87
GC_PROTO((size_t nelements,
88
size_t element_size_in_bytes,
85
GC_API void * GC_calloc_explicitly_typed(size_t nelements,
86
size_t element_size_in_bytes,
90
88
/* Allocate an array of nelements elements, each of the */
91
89
/* given size, and with the given descriptor. */
92
90
/* The elemnt size must be a multiple of the byte */