Lines Matching refs:array
30 static struct array *array_new(void);
31 static __inline void array_free(struct array *);
32 static struct array *array_dup(const struct array *);
33 static __inline void array_grow(struct array *, size_t);
34 static __inline void array_assign(struct array *, size_t, const struct value *);
35 static __inline struct value *array_retrieve(const struct array *, size_t);
71 if (v->array != NULL) { in stack_free_value()
72 array_free(v->array); in stack_free_value()
73 v->array = NULL; in stack_free_value()
97 copy->array = a->array == NULL ? NULL : array_dup(a->array); in stack_dup_value()
157 stack->stack[stack->sp].array = NULL; in stack_pushnumber()
167 stack->stack[stack->sp].array = NULL; in stack_pushstring()
186 stack->stack[stack->sp].array = v->array == NULL ? in stack_push()
187 NULL : array_dup(v->array); in stack_push()
208 stack->stack[stack->sp].array = v->array == NULL ? in stack_set_tos()
209 NULL : array_dup(v->array); in stack_set_tos()
228 if (stack->stack[stack->sp].array != NULL) { in stack_popnumber()
229 array_free(stack->stack[stack->sp].array); in stack_popnumber()
230 stack->stack[stack->sp].array = NULL; in stack_popnumber()
245 if (stack->stack[stack->sp].array != NULL) { in stack_popstring()
246 array_free(stack->stack[stack->sp].array); in stack_popstring()
247 stack->stack[stack->sp].array = NULL; in stack_popstring()
279 static struct array *
282 struct array *a; in array_new()
291 array_free(struct array *a) in array_free()
303 static struct array *
304 array_dup(const struct array *a) in array_dup()
306 struct array *n; in array_dup()
319 array_grow(struct array *array, size_t newsize) in array_grow() argument
323 array->data = brealloc(array->data, newsize * sizeof(*array->data)); in array_grow()
324 for (i = array->size; i < newsize; i++) { in array_grow()
325 array->data[i].type = BCODE_NONE; in array_grow()
326 array->data[i].array = NULL; in array_grow()
328 array->size = newsize; in array_grow()
332 array_assign(struct array *array, size_t i, const struct value *v) in array_assign() argument
335 if (i >= array->size) in array_assign()
336 array_grow(array, i + 1); in array_assign()
337 stack_free_value(&array->data[i]); in array_assign()
338 array->data[i] = *v; in array_assign()
342 array_retrieve(const struct array *array, size_t i) in array_retrieve() argument
345 if (i >= array->size) in array_retrieve()
347 return &array->data[i]; in array_retrieve()
353 struct array *a; in frame_assign()
358 n.array = NULL; in frame_assign()
362 a = stack->stack[stack->sp].array; in frame_assign()
364 a = stack->stack[stack->sp].array = array_new(); in frame_assign()
371 struct array *a; in frame_retrieve()
375 a = stack->stack[stack->sp].array; in frame_retrieve()
377 a = stack->stack[stack->sp].array = array_new(); in frame_retrieve()