Lines Matching refs:stack
36 _prop_stack_init(prop_stack_t stack) in _prop_stack_init() argument
38 stack->used_intern_elems = 0; in _prop_stack_init()
39 SLIST_INIT(&stack->extern_elems); in _prop_stack_init()
43 _prop_stack_push(prop_stack_t stack, prop_object_t obj, void *data1, in _prop_stack_push() argument
49 if (stack->used_intern_elems == PROP_STACK_INTERN_ELEMS) { in _prop_stack_push()
60 SLIST_INSERT_HEAD(&stack->extern_elems, eelem, stack_link); in _prop_stack_push()
65 _PROP_ASSERT(stack->used_intern_elems < PROP_STACK_INTERN_ELEMS); in _prop_stack_push()
66 _PROP_ASSERT(SLIST_EMPTY(&stack->extern_elems)); in _prop_stack_push()
68 ielem = &stack->intern_elems[stack->used_intern_elems]; in _prop_stack_push()
74 ++stack->used_intern_elems; in _prop_stack_push()
80 _prop_stack_pop(prop_stack_t stack, prop_object_t *obj, void **data1, in _prop_stack_pop() argument
86 if (stack->used_intern_elems == 0) in _prop_stack_pop()
89 if ((eelem = SLIST_FIRST(&stack->extern_elems)) != NULL) { in _prop_stack_pop()
90 _PROP_ASSERT(stack->used_intern_elems == PROP_STACK_INTERN_ELEMS); in _prop_stack_pop()
92 SLIST_REMOVE_HEAD(&stack->extern_elems, stack_link); in _prop_stack_pop()
105 --stack->used_intern_elems; in _prop_stack_pop()
106 ielem = &stack->intern_elems[stack->used_intern_elems]; in _prop_stack_pop()