Lines Matching refs:array

29 static struct array	*array_new(void);
30 static __inline void array_free(struct array *);
31 static struct array * array_dup(const struct array *);
32 static __inline void array_grow(struct array *, size_t);
33 static __inline void array_assign(struct array *, size_t, const struct value *);
34 static __inline struct value *array_retrieve(const struct array *, size_t);
67 if (v->array != NULL) { in stack_free_value()
68 array_free(v->array); in stack_free_value()
69 v->array = NULL; in stack_free_value()
92 copy->array = a->array == NULL ? NULL : array_dup(a->array); in stack_dup_value()
141 stack->stack[i].array = NULL; in stack_grow()
177 stack->stack[stack->sp].array = v->array == NULL ? in stack_push()
178 NULL : array_dup(v->array); in stack_push()
197 stack->stack[stack->sp].array = v->array == NULL ? in stack_set_tos()
198 NULL : array_dup(v->array); in stack_set_tos()
215 if (stack->stack[stack->sp].array != NULL) { in stack_popnumber()
216 array_free(stack->stack[stack->sp].array); in stack_popnumber()
217 stack->stack[stack->sp].array = NULL; in stack_popnumber()
231 if (stack->stack[stack->sp].array != NULL) { in stack_popstring()
232 array_free(stack->stack[stack->sp].array); in stack_popstring()
233 stack->stack[stack->sp].array = NULL; in stack_popstring()
264 static struct array *
267 struct array *a; in array_new()
276 array_free(struct array *a) in array_free()
288 static struct array *
289 array_dup(const struct array *a) in array_dup()
291 struct array *n; in array_dup()
304 array_grow(struct array *array, size_t newsize) in array_grow() argument
308 array->data = brealloc(array->data, newsize * sizeof(*array->data)); in array_grow()
309 for (i = array->size; i < newsize; i++) { in array_grow()
310 array->data[i].type = BCODE_NONE; in array_grow()
311 array->data[i].array = NULL; in array_grow()
313 array->size = newsize; in array_grow()
317 array_assign(struct array *array, size_t indexv, const struct value *v) in array_assign() argument
319 if (indexv >= array->size) in array_assign()
320 array_grow(array, indexv+1); in array_assign()
321 stack_free_value(&array->data[indexv]); in array_assign()
322 array->data[indexv] = *v; in array_assign()
326 array_retrieve(const struct array *array, size_t indexv) in array_retrieve() argument
328 if (indexv >= array->size) in array_retrieve()
330 return &array->data[indexv]; in array_retrieve()
336 struct array *a; in frame_assign()
341 n.array = NULL; in frame_assign()
345 a = stack->stack[stack->sp].array; in frame_assign()
347 a = stack->stack[stack->sp].array = array_new(); in frame_assign()
354 struct array *a; in frame_retrieve()
358 a = stack->stack[stack->sp].array; in frame_retrieve()
360 a = stack->stack[stack->sp].array = array_new(); in frame_retrieve()