Lines Matching refs:stack

39 /* Maximum number of DWARF expression stack slots before returning an error.  */
96 do_push (struct eval_stack *stack, Dwarf_Addr val)
98 if (stack->used >= DWARF_EXPR_STACK_MAX)
103 if (stack->used == stack->allocated)
105 stack->allocated = MAX (stack->allocated * 2, 32);
107 new_addrs = realloc (stack->addrs,
108 stack->allocated * sizeof (*stack->addrs));
114 stack->addrs = new_addrs;
116 stack->addrs[stack->used++] = val;
121 do_pop (struct eval_stack *stack, Dwarf_Addr *val)
123 if (stack->used == 0)
128 *val = stack->addrs[--stack->used];
145 struct eval_stack stack =
152 #define pop(x) do_pop(&stack, x)
153 #define push(x) do_push(&stack, x)
171 free (stack.addrs);
178 free (stack.addrs);
198 free (stack.addrs);
206 free (stack.addrs);
213 free (stack.addrs);
220 free (stack.addrs);
226 free (stack.addrs);
233 free (stack.addrs);
239 free (stack.addrs);
246 free (stack.addrs);
253 free (stack.addrs);
258 if (stack.used <= op->number)
260 free (stack.addrs);
264 if (! push (stack.addrs[stack.used - 1 - op->number]))
266 free (stack.addrs);
274 free (stack.addrs);
281 free (stack.addrs);
291 free (stack.addrs);
300 free (stack.addrs);
308 free (stack.addrs);
317 free (stack.addrs);
333 free (stack.addrs);
341 free (stack.addrs); \
352 free (stack.addrs);
360 free (stack.addrs); \
369 free (stack.addrs); \
377 free (stack.addrs);
382 free (stack.addrs);
388 free (stack.addrs);
396 free (stack.addrs);
401 free (stack.addrs);
407 free (stack.addrs);
429 free (stack.addrs);
441 free (stack.addrs);
463 free (stack.addrs);
479 free (stack.addrs);
482 free (stack.addrs);
653 or the return pc is undefined, maybe end of call stack. */