Lines Matching refs:pcb

94 	dt_pcb_t *pcb = data;
102 dvp = &pcb->pcb_difo->dtdo_vartab[pcb->pcb_asvidx++];
103 stroff = dt_strtab_insert(pcb->pcb_strtab, idp->di_name);
106 longjmp(pcb->pcb_jmpbuf, EDT_NOMEM);
108 longjmp(pcb->pcb_jmpbuf, EDT_STR2BIG);
131 dt_node_diftype(pcb->pcb_hdl, &dn, &dvp->dtdv_type);
138 dt_copystr(const char *s, size_t n, size_t off, dt_pcb_t *pcb)
140 bcopy(s, pcb->pcb_difo->dtdo_strtab + off, n);
147 * We track the cumulative references to translators and members in the pcb's
152 dt_as_xlate(dt_pcb_t *pcb, dtrace_difo_t *dp,
155 dtrace_hdl_t *dtp = pcb->pcb_hdl;
167 if (pcb->pcb_asxrefs == NULL) {
168 pcb->pcb_asxreflen = dtp->dt_xlatorid;
169 pcb->pcb_asxrefs =
170 dt_zalloc(dtp, sizeof (ulong_t *) * pcb->pcb_asxreflen);
171 if (pcb->pcb_asxrefs == NULL)
172 longjmp(pcb->pcb_jmpbuf, EDT_NOMEM);
175 if (pcb->pcb_asxrefs[dxp->dx_id] == NULL) {
176 pcb->pcb_asxrefs[dxp->dx_id] =
178 if (pcb->pcb_asxrefs[dxp->dx_id] == NULL)
179 longjmp(pcb->pcb_jmpbuf, EDT_NOMEM);
185 BT_SET(pcb->pcb_asxrefs[dxp->dx_id], dnp->dn_membid);
209 dt_as(dt_pcb_t *pcb)
211 dtrace_hdl_t *dtp = pcb->pcb_hdl;
212 dt_irlist_t *dlp = &pcb->pcb_ir;
266 assert(pcb->pcb_difo == NULL);
267 pcb->pcb_difo = dt_zalloc(dtp, sizeof (dtrace_difo_t));
269 if ((dp = pcb->pcb_difo) == NULL)
270 longjmp(pcb->pcb_jmpbuf, EDT_NOMEM);
275 longjmp(pcb->pcb_jmpbuf, EDT_NOMEM);
278 longjmp(pcb->pcb_jmpbuf, EDT_NOMEM);
342 pcb->pcb_asvidx = 0;
351 (void) dt_idhash_iter(pcb->pcb_locals, dt_countvar, &n);
358 longjmp(pcb->pcb_jmpbuf, EDT_NOMEM);
360 (void) dt_idhash_iter(dtp->dt_tls, dt_copyvar, pcb);
361 (void) dt_idhash_iter(dtp->dt_globals, dt_copyvar, pcb);
362 (void) dt_idhash_iter(pcb->pcb_locals, dt_copyvar, pcb);
375 longjmp(pcb->pcb_jmpbuf, EDT_NOMEM);
384 longjmp(pcb->pcb_jmpbuf, EDT_NOMEM);
392 longjmp(pcb->pcb_jmpbuf, EDT_NOMEM);
400 uint_t knodef = pcb->pcb_cflags & DTRACE_C_KNODEF;
401 uint_t unodef = pcb->pcb_cflags & DTRACE_C_UNODEF;
423 dt_as_xlate(pcb, dp, i - 1, (uint_t)
444 soff = dt_strtab_insert(pcb->pcb_strtab, idp->di_name);
447 longjmp(pcb->pcb_jmpbuf, EDT_NOMEM);
449 longjmp(pcb->pcb_jmpbuf, EDT_STR2BIG);
468 if ((n = dt_strtab_size(pcb->pcb_strtab)) != 0) {
470 longjmp(pcb->pcb_jmpbuf, EDT_NOMEM);
472 (void) dt_strtab_write(pcb->pcb_strtab,
473 (dt_strtab_write_f *)dt_copystr, pcb);
481 if ((n = dt_inttab_size(pcb->pcb_inttab)) != 0) {
484 longjmp(pcb->pcb_jmpbuf, EDT_NOMEM);
486 dt_inttab_write(pcb->pcb_inttab, dp->dtdo_inttab);
495 dt_node_diftype(dtp, pcb->pcb_dret, &dp->dtdo_rtype);
496 pcb->pcb_difo = NULL;
497 pcb->pcb_dret = NULL;
499 if (pcb->pcb_cflags & DTRACE_C_DIFV)