Lines Matching refs:pcb
62 dt_pcb_push(dtrace_hdl_t *dtp, dt_pcb_t *pcb) in dt_pcb_push() argument
77 bzero(pcb, sizeof (dt_pcb_t)); in dt_pcb_push()
79 dt_scope_create(&pcb->pcb_dstack); in dt_pcb_push()
80 dt_idstack_push(&pcb->pcb_globals, dtp->dt_globals); in dt_pcb_push()
81 dt_irlist_create(&pcb->pcb_ir); in dt_pcb_push()
83 pcb->pcb_hdl = dtp; in dt_pcb_push()
84 pcb->pcb_prev = dtp->dt_pcb; in dt_pcb_push()
86 dtp->dt_pcb = pcb; in dt_pcb_push()
89 yyinit(pcb); in dt_pcb_push()
111 dt_pcb_t *pcb = yypcb; in dt_pcb_pop() local
114 assert(pcb != NULL); in dt_pcb_pop()
115 assert(pcb == dtp->dt_pcb); in dt_pcb_pop()
117 while (pcb->pcb_dstack.ds_next != NULL) in dt_pcb_pop()
120 dt_scope_destroy(&pcb->pcb_dstack); in dt_pcb_pop()
121 dt_irlist_destroy(&pcb->pcb_ir); in dt_pcb_pop()
123 dt_node_link_free(&pcb->pcb_list); in dt_pcb_pop()
124 dt_node_link_free(&pcb->pcb_hold); in dt_pcb_pop()
130 if (pcb->pcb_prog != NULL) in dt_pcb_pop()
131 dt_program_destroy(dtp, pcb->pcb_prog); in dt_pcb_pop()
132 if (pcb->pcb_stmt != NULL) in dt_pcb_pop()
133 dtrace_stmt_destroy(dtp, pcb->pcb_stmt); in dt_pcb_pop()
134 if (pcb->pcb_ecbdesc != NULL) in dt_pcb_pop()
135 dt_ecbdesc_release(dtp, pcb->pcb_ecbdesc); in dt_pcb_pop()
162 if (pcb->pcb_pragmas != NULL) in dt_pcb_pop()
163 dt_idhash_destroy(pcb->pcb_pragmas); in dt_pcb_pop()
164 if (pcb->pcb_locals != NULL) in dt_pcb_pop()
165 dt_idhash_destroy(pcb->pcb_locals); in dt_pcb_pop()
166 if (pcb->pcb_idents != NULL) in dt_pcb_pop()
167 dt_idhash_destroy(pcb->pcb_idents); in dt_pcb_pop()
168 if (pcb->pcb_inttab != NULL) in dt_pcb_pop()
169 dt_inttab_destroy(pcb->pcb_inttab); in dt_pcb_pop()
170 if (pcb->pcb_strtab != NULL) in dt_pcb_pop()
171 dt_strtab_destroy(pcb->pcb_strtab); in dt_pcb_pop()
172 if (pcb->pcb_regs != NULL) in dt_pcb_pop()
173 dt_regset_destroy(pcb->pcb_regs); in dt_pcb_pop()
175 for (i = 0; i < pcb->pcb_asxreflen; i++) in dt_pcb_pop()
176 dt_free(dtp, pcb->pcb_asxrefs[i]); in dt_pcb_pop()
178 dt_free(dtp, pcb->pcb_asxrefs); in dt_pcb_pop()
179 dt_difo_free(dtp, pcb->pcb_difo); in dt_pcb_pop()
181 free(pcb->pcb_filetag); in dt_pcb_pop()
182 free(pcb->pcb_sflagv); in dt_pcb_pop()
184 dtp->dt_pcb = pcb->pcb_prev; in dt_pcb_pop()
185 bzero(pcb, sizeof (dt_pcb_t)); in dt_pcb_pop()