Lines Matching refs:retstack
34 void pt_retstack_init(struct pt_retstack *retstack) in pt_retstack_init() argument
36 if (!retstack) in pt_retstack_init()
39 retstack->top = 0; in pt_retstack_init()
40 retstack->bottom = 0; in pt_retstack_init()
43 int pt_retstack_is_empty(const struct pt_retstack *retstack) in pt_retstack_is_empty() argument
45 if (!retstack) in pt_retstack_is_empty()
48 return (retstack->top == retstack->bottom ? 1 : 0); in pt_retstack_is_empty()
51 int pt_retstack_pop(struct pt_retstack *retstack, uint64_t *ip) in pt_retstack_pop() argument
55 if (!retstack) in pt_retstack_pop()
58 top = retstack->top; in pt_retstack_pop()
60 if (top == retstack->bottom) in pt_retstack_pop()
65 retstack->top = top; in pt_retstack_pop()
68 *ip = retstack->stack[top]; in pt_retstack_pop()
73 int pt_retstack_push(struct pt_retstack *retstack, uint64_t ip) in pt_retstack_push() argument
77 if (!retstack) in pt_retstack_push()
80 top = retstack->top; in pt_retstack_push()
81 bottom = retstack->bottom; in pt_retstack_push()
83 retstack->stack[top] = ip; in pt_retstack_push()
90 retstack->top = top; in pt_retstack_push()
91 retstack->bottom = bottom; in pt_retstack_push()