Lines Matching defs:chunk

64 The way we do this is to take a large chunk, allocating memory from
65 low addresses. When you want to build a symbol in the chunk you just
66 add chars above the current "high water mark" in the chunk. When you
69 Mostly the chars will not burst over the highest address of the chunk,
70 because you would typically expect a chunk to be (say) 100 times as
80 When the chars burst over a chunk boundary, we allocate a larger
81 chunk, and then copy the partly formed object from the end of the old
82 chunk to the beginning of the new larger chunk. We then carry on
91 We carve out one object at a time from the current chunk.
158 struct _obstack_chunk /* Lives at front of each chunk. */
160 char *limit; /* 1 past end of this chunk */
161 struct _obstack_chunk *prev; /* address of prior chunk or NULL */
165 struct obstack /* control current object in current chunk */
168 struct _obstack_chunk *chunk; /* address of current struct obstack_chunk */
171 char *chunk_limit; /* address of char after current chunk */
180 void *extra_arg; /* first arg for chunk alloc/dealloc funcs */
182 struct _obstack_chunk *(*chunkfun) (); /* User's fcn to allocate a chunk. */
183 void (*freefun) (); /* User's function to free a chunk. */
184 char *extra_arg; /* first arg for chunk alloc/dealloc funcs */
186 unsigned use_extra_arg:1; /* chunk alloc/dealloc funcs take extra arg */
188 chunk contains a zero-length object. This
189 prevents freeing the chunk if we allocate
190 a bigger chunk to replace it. */
277 because a new chunk might be needed to hold the final size. */
285 /* Pointer to next byte not yet allocated in current chunk. */
394 (__o->chunk->prev == 0 && __o->next_free - __o->chunk->contents == 0); })
490 if (__o1->next_free - (char *)__o1->chunk \
491 > __o1->chunk_limit - (char *)__o1->chunk) \
500 if (__obj > (void *)__o->chunk && __obj < (void *)__o->chunk_limit) \
514 ((h)->chunk->prev == 0 && (h)->next_free - (h)->chunk->contents == 0)
586 (((h)->next_free - (char *) (h)->chunk \
587 > (h)->chunk_limit - (char *) (h)->chunk) \
594 ( (h)->temp = (char *) (obj) - (char *) (h)->chunk, \
595 (((h)->temp > 0 && (h)->temp < (h)->chunk_limit - (char *) (h)->chunk)\
597 = (h)->temp + (char *) (h)->chunk) \
598 : (((obstack_free) ((h), (h)->temp + (char *) (h)->chunk), 0), 0)))
601 ( (h)->temp = (char *) (obj) - (char *) (h)->chunk, \
602 (((h)->temp > 0 && (h)->temp < (h)->chunk_limit - (char *) (h)->chunk)\
604 = (h)->temp + (char *) (h)->chunk) \
605 : (_obstack_free ((h), (h)->temp + (char *) (h)->chunk), 0)))