Lines Matching refs:stack
39 /* Maximum number of DWARF expression stack slots before returning an error. */
111 do_push (struct eval_stack *stack, Dwarf_Addr val)
113 if (stack->used >= DWARF_EXPR_STACK_MAX)
118 if (stack->used == stack->allocated)
120 stack->allocated = MAX (stack->allocated * 2, 32);
122 new_addrs = realloc (stack->addrs,
123 stack->allocated * sizeof (*stack->addrs));
129 stack->addrs = new_addrs;
131 stack->addrs[stack->used++] = val;
136 do_pop (struct eval_stack *stack, Dwarf_Addr *val)
138 if (stack->used == 0)
143 *val = stack->addrs[--stack->used];
160 struct eval_stack stack =
167 #define pop(x) do_pop(&stack, x)
168 #define push(x) do_push(&stack, x)
186 free (stack.addrs);
193 free (stack.addrs);
213 free (stack.addrs);
221 free (stack.addrs);
228 free (stack.addrs);
235 free (stack.addrs);
241 free (stack.addrs);
248 free (stack.addrs);
254 free (stack.addrs);
261 free (stack.addrs);
268 free (stack.addrs);
273 if (stack.used <= op->number)
275 free (stack.addrs);
279 if (! push (stack.addrs[stack.used - 1 - op->number]))
281 free (stack.addrs);
289 free (stack.addrs);
296 free (stack.addrs);
306 free (stack.addrs);
315 free (stack.addrs);
323 free (stack.addrs);
332 free (stack.addrs);
348 free (stack.addrs);
356 free (stack.addrs); \
367 free (stack.addrs);
375 free (stack.addrs); \
384 free (stack.addrs); \
392 free (stack.addrs);
397 free (stack.addrs);
403 free (stack.addrs);
411 free (stack.addrs);
416 free (stack.addrs);
422 free (stack.addrs);
444 free (stack.addrs);
456 free (stack.addrs);
478 free (stack.addrs);
494 free (stack.addrs);
497 free (stack.addrs);