Lines Matching refs:pcb

92 	dt_pcb_t *pcb = data;
100 dvp = &pcb->pcb_difo->dtdo_vartab[pcb->pcb_asvidx++];
101 stroff = dt_strtab_insert(pcb->pcb_strtab, idp->di_name);
104 longjmp(pcb->pcb_jmpbuf, EDT_NOMEM);
106 longjmp(pcb->pcb_jmpbuf, EDT_STR2BIG);
129 dt_node_diftype(pcb->pcb_hdl, &dn, &dvp->dtdv_type);
136 dt_copystr(const char *s, size_t n, size_t off, dt_pcb_t *pcb)
138 bcopy(s, pcb->pcb_difo->dtdo_strtab + off, n);
145 * We track the cumulative references to translators and members in the pcb's
150 dt_as_xlate(dt_pcb_t *pcb, dtrace_difo_t *dp,
153 dtrace_hdl_t *dtp = pcb->pcb_hdl;
165 if (pcb->pcb_asxrefs == NULL) {
166 pcb->pcb_asxreflen = dtp->dt_xlatorid;
167 pcb->pcb_asxrefs =
168 dt_zalloc(dtp, sizeof (ulong_t *) * pcb->pcb_asxreflen);
169 if (pcb->pcb_asxrefs == NULL)
170 longjmp(pcb->pcb_jmpbuf, EDT_NOMEM);
173 if (pcb->pcb_asxrefs[dxp->dx_id] == NULL) {
174 pcb->pcb_asxrefs[dxp->dx_id] =
176 if (pcb->pcb_asxrefs[dxp->dx_id] == NULL)
177 longjmp(pcb->pcb_jmpbuf, EDT_NOMEM);
183 BT_SET(pcb->pcb_asxrefs[dxp->dx_id], dnp->dn_membid);
207 dt_as(dt_pcb_t *pcb)
209 dtrace_hdl_t *dtp = pcb->pcb_hdl;
210 dt_irlist_t *dlp = &pcb->pcb_ir;
264 assert(pcb->pcb_difo == NULL);
265 pcb->pcb_difo = dt_zalloc(dtp, sizeof (dtrace_difo_t));
267 if ((dp = pcb->pcb_difo) == NULL)
268 longjmp(pcb->pcb_jmpbuf, EDT_NOMEM);
273 longjmp(pcb->pcb_jmpbuf, EDT_NOMEM);
276 longjmp(pcb->pcb_jmpbuf, EDT_NOMEM);
340 pcb->pcb_asvidx = 0;
349 (void) dt_idhash_iter(pcb->pcb_locals, dt_countvar, &n);
356 longjmp(pcb->pcb_jmpbuf, EDT_NOMEM);
358 (void) dt_idhash_iter(dtp->dt_tls, dt_copyvar, pcb);
359 (void) dt_idhash_iter(dtp->dt_globals, dt_copyvar, pcb);
360 (void) dt_idhash_iter(pcb->pcb_locals, dt_copyvar, pcb);
373 longjmp(pcb->pcb_jmpbuf, EDT_NOMEM);
382 longjmp(pcb->pcb_jmpbuf, EDT_NOMEM);
390 longjmp(pcb->pcb_jmpbuf, EDT_NOMEM);
398 uint_t knodef = pcb->pcb_cflags & DTRACE_C_KNODEF;
399 uint_t unodef = pcb->pcb_cflags & DTRACE_C_UNODEF;
421 dt_as_xlate(pcb, dp, i - 1, (uint_t)
442 soff = dt_strtab_insert(pcb->pcb_strtab, idp->di_name);
445 longjmp(pcb->pcb_jmpbuf, EDT_NOMEM);
447 longjmp(pcb->pcb_jmpbuf, EDT_STR2BIG);
466 if ((n = dt_strtab_size(pcb->pcb_strtab)) != 0) {
468 longjmp(pcb->pcb_jmpbuf, EDT_NOMEM);
470 (void) dt_strtab_write(pcb->pcb_strtab,
471 (dt_strtab_write_f *)dt_copystr, pcb);
479 if ((n = dt_inttab_size(pcb->pcb_inttab)) != 0) {
482 longjmp(pcb->pcb_jmpbuf, EDT_NOMEM);
484 dt_inttab_write(pcb->pcb_inttab, dp->dtdo_inttab);
493 dt_node_diftype(dtp, pcb->pcb_dret, &dp->dtdo_rtype);
494 pcb->pcb_difo = NULL;
495 pcb->pcb_dret = NULL;
497 if (pcb->pcb_cflags & DTRACE_C_DIFV)