Lines Matching refs:dp
6918 dtrace_store_by_ref(dtrace_difo_t *dp, caddr_t tomax, size_t size, in dtrace_store_by_ref() argument
6932 if (dp->dtdo_rtype.dtdt_kind == DIF_TYPE_STRING) { in dtrace_store_by_ref()
7364 dtrace_difo_t *dp = pred->dtp_difo; in dtrace_probe() local
7367 rval = dtrace_dif_emulate(dp, &mstate, vstate, state); in dtrace_probe()
7388 dtrace_difo_t *dp; in dtrace_probe() local
7400 if ((dp = act->dta_difo) != NULL) in dtrace_probe()
7401 v = dtrace_dif_emulate(dp, in dtrace_probe()
7492 dp = act->dta_difo; in dtrace_probe()
7493 ASSERT(dp != NULL); in dtrace_probe()
7495 val = dtrace_dif_emulate(dp, &mstate, vstate, state); in dtrace_probe()
7648 if (dp->dtdo_rtype.dtdt_flags & (DIF_TF_BYREF | DIF_TF_BYUREF)) { in dtrace_probe()
7658 if (dp->dtdo_rtype.dtdt_flags & DIF_TF_BYREF && in dtrace_probe()
7660 &dp->dtdo_rtype, NULL, &mstate, vstate)) in dtrace_probe()
7665 dtrace_store_by_ref(dp, tomax, size, &valoffs, in dtrace_probe()
7667 dp->dtdo_rtype.dtdt_flags & DIF_TF_BYREF ? in dtrace_probe()
9693 dtrace_difo_validate(dtrace_difo_t *dp, dtrace_vstate_t *vstate, uint_t nregs, in dtrace_difo_validate() argument
9707 dp->dtdo_destructive = 0; in dtrace_difo_validate()
9709 for (pc = 0; pc < dp->dtdo_len && err == 0; pc++) { in dtrace_difo_validate()
9710 dif_instr_t instr = dp->dtdo_buf[pc]; in dtrace_difo_validate()
9774 dp->dtdo_buf[pc] = DIF_INSTR_LOAD(op + in dtrace_difo_validate()
9848 if (label >= dp->dtdo_len) { in dtrace_difo_validate()
9870 if (DIF_INSTR_INTEGER(instr) >= dp->dtdo_intlen) { in dtrace_difo_validate()
9880 if (DIF_INSTR_STRING(instr) >= dp->dtdo_strlen) { in dtrace_difo_validate()
9939 dp->dtdo_destructive = 1; in dtrace_difo_validate()
9977 if (dp->dtdo_len != 0 && in dtrace_difo_validate()
9978 DIF_INSTR_OP(dp->dtdo_buf[dp->dtdo_len - 1]) != DIF_OP_RET) { in dtrace_difo_validate()
9979 err += efunc(dp->dtdo_len - 1, in dtrace_difo_validate()
9983 if (!(dp->dtdo_rtype.dtdt_flags & (DIF_TF_BYREF | DIF_TF_BYUREF))) { in dtrace_difo_validate()
9988 switch (dp->dtdo_rtype.dtdt_size) { in dtrace_difo_validate()
9997 err += efunc(dp->dtdo_len - 1, "bad return size\n"); in dtrace_difo_validate()
10001 for (i = 0; i < dp->dtdo_varlen && err == 0; i++) { in dtrace_difo_validate()
10002 dtrace_difv_t *v = &dp->dtdo_vartab[i], *existing = NULL; in dtrace_difo_validate()
10110 for (pc = 0; pc < dp->dtdo_len && err == 0; pc++) { in dtrace_difo_validate()
10111 dif_instr_t instr = dp->dtdo_buf[pc]; in dtrace_difo_validate()
10157 dtrace_difo_validate_helper(dtrace_difo_t *dp) in dtrace_difo_validate_helper() argument
10163 for (pc = 0; pc < dp->dtdo_len; pc++) { in dtrace_difo_validate_helper()
10164 dif_instr_t instr = dp->dtdo_buf[pc]; in dtrace_difo_validate_helper()
10308 dtrace_difo_cacheable(dtrace_difo_t *dp) in dtrace_difo_cacheable() argument
10312 if (dp == NULL) in dtrace_difo_cacheable()
10315 for (i = 0; i < dp->dtdo_varlen; i++) { in dtrace_difo_cacheable()
10316 dtrace_difv_t *v = &dp->dtdo_vartab[i]; in dtrace_difo_cacheable()
10339 for (i = 0; i < dp->dtdo_len; i++) { in dtrace_difo_cacheable()
10340 uint_t op = DIF_INSTR_OP(dp->dtdo_buf[i]); in dtrace_difo_cacheable()
10353 dtrace_difo_hold(dtrace_difo_t *dp) in dtrace_difo_hold() argument
10359 dp->dtdo_refcnt++; in dtrace_difo_hold()
10360 ASSERT(dp->dtdo_refcnt != 0); in dtrace_difo_hold()
10366 for (i = 0; i < dp->dtdo_varlen; i++) { in dtrace_difo_hold()
10367 dtrace_difv_t *v = &dp->dtdo_vartab[i]; in dtrace_difo_hold()
10385 dtrace_difo_chunksize(dtrace_difo_t *dp, dtrace_vstate_t *vstate) in dtrace_difo_chunksize() argument
10389 const dif_instr_t *text = dp->dtdo_buf; in dtrace_difo_chunksize()
10395 for (pc = 0; pc < dp->dtdo_len; pc++) { in dtrace_difo_chunksize()
10407 sval = dp->dtdo_inttab[DIF_INSTR_INTEGER(instr)]; in dtrace_difo_chunksize()
10499 for (i = 0; i < dp->dtdo_varlen; i++) { in dtrace_difo_chunksize()
10500 dtrace_difv_t *v = &dp->dtdo_vartab[i]; in dtrace_difo_chunksize()
10508 if (i == dp->dtdo_varlen) in dtrace_difo_chunksize()
10536 dtrace_difo_init(dtrace_difo_t *dp, dtrace_vstate_t *vstate) in dtrace_difo_init() argument
10542 ASSERT(dp->dtdo_buf != NULL && dp->dtdo_len != 0); in dtrace_difo_init()
10544 for (i = 0; i < dp->dtdo_varlen; i++) { in dtrace_difo_init()
10545 dtrace_difv_t *v = &dp->dtdo_vartab[i]; in dtrace_difo_init()
10645 dtrace_difo_chunksize(dp, vstate); in dtrace_difo_init()
10646 dtrace_difo_hold(dp); in dtrace_difo_init()
10650 dtrace_difo_duplicate(dtrace_difo_t *dp, dtrace_vstate_t *vstate) in dtrace_difo_duplicate() argument
10655 ASSERT(dp->dtdo_buf != NULL); in dtrace_difo_duplicate()
10656 ASSERT(dp->dtdo_refcnt != 0); in dtrace_difo_duplicate()
10660 ASSERT(dp->dtdo_buf != NULL); in dtrace_difo_duplicate()
10661 sz = dp->dtdo_len * sizeof (dif_instr_t); in dtrace_difo_duplicate()
10663 bcopy(dp->dtdo_buf, new->dtdo_buf, sz); in dtrace_difo_duplicate()
10664 new->dtdo_len = dp->dtdo_len; in dtrace_difo_duplicate()
10666 if (dp->dtdo_strtab != NULL) { in dtrace_difo_duplicate()
10667 ASSERT(dp->dtdo_strlen != 0); in dtrace_difo_duplicate()
10668 new->dtdo_strtab = kmem_alloc(dp->dtdo_strlen, KM_SLEEP); in dtrace_difo_duplicate()
10669 bcopy(dp->dtdo_strtab, new->dtdo_strtab, dp->dtdo_strlen); in dtrace_difo_duplicate()
10670 new->dtdo_strlen = dp->dtdo_strlen; in dtrace_difo_duplicate()
10673 if (dp->dtdo_inttab != NULL) { in dtrace_difo_duplicate()
10674 ASSERT(dp->dtdo_intlen != 0); in dtrace_difo_duplicate()
10675 sz = dp->dtdo_intlen * sizeof (uint64_t); in dtrace_difo_duplicate()
10677 bcopy(dp->dtdo_inttab, new->dtdo_inttab, sz); in dtrace_difo_duplicate()
10678 new->dtdo_intlen = dp->dtdo_intlen; in dtrace_difo_duplicate()
10681 if (dp->dtdo_vartab != NULL) { in dtrace_difo_duplicate()
10682 ASSERT(dp->dtdo_varlen != 0); in dtrace_difo_duplicate()
10683 sz = dp->dtdo_varlen * sizeof (dtrace_difv_t); in dtrace_difo_duplicate()
10685 bcopy(dp->dtdo_vartab, new->dtdo_vartab, sz); in dtrace_difo_duplicate()
10686 new->dtdo_varlen = dp->dtdo_varlen; in dtrace_difo_duplicate()
10694 dtrace_difo_destroy(dtrace_difo_t *dp, dtrace_vstate_t *vstate) in dtrace_difo_destroy() argument
10698 ASSERT(dp->dtdo_refcnt == 0); in dtrace_difo_destroy()
10700 for (i = 0; i < dp->dtdo_varlen; i++) { in dtrace_difo_destroy()
10701 dtrace_difv_t *v = &dp->dtdo_vartab[i]; in dtrace_difo_destroy()
10750 kmem_free(dp->dtdo_buf, dp->dtdo_len * sizeof (dif_instr_t)); in dtrace_difo_destroy()
10751 kmem_free(dp->dtdo_inttab, dp->dtdo_intlen * sizeof (uint64_t)); in dtrace_difo_destroy()
10752 kmem_free(dp->dtdo_strtab, dp->dtdo_strlen); in dtrace_difo_destroy()
10753 kmem_free(dp->dtdo_vartab, dp->dtdo_varlen * sizeof (dtrace_difv_t)); in dtrace_difo_destroy()
10755 kmem_free(dp, sizeof (dtrace_difo_t)); in dtrace_difo_destroy()
10759 dtrace_difo_release(dtrace_difo_t *dp, dtrace_vstate_t *vstate) in dtrace_difo_release() argument
10764 ASSERT(dp->dtdo_refcnt != 0); in dtrace_difo_release()
10766 for (i = 0; i < dp->dtdo_varlen; i++) { in dtrace_difo_release()
10767 dtrace_difv_t *v = &dp->dtdo_vartab[i]; in dtrace_difo_release()
10777 if (--dp->dtdo_refcnt == 0) in dtrace_difo_release()
10778 dtrace_difo_destroy(dp, vstate); in dtrace_difo_release()
10895 dtrace_predicate_create(dtrace_difo_t *dp) in dtrace_predicate_create() argument
10900 ASSERT(dp->dtdo_refcnt != 0); in dtrace_predicate_create()
10903 pred->dtp_difo = dp; in dtrace_predicate_create()
10906 if (!dtrace_difo_cacheable(dp)) in dtrace_predicate_create()
10939 dtrace_difo_t *dp = pred->dtp_difo; in dtrace_predicate_release() local
10940 #pragma unused(dp) /* __APPLE__ */ in dtrace_predicate_release()
10943 ASSERT(dp != NULL && dp->dtdo_refcnt != 0); in dtrace_predicate_release()
10985 dtrace_difo_t *dp; in dtrace_actdesc_release() local
10992 if ((dp = act->dtad_difo) != NULL) in dtrace_actdesc_release()
10993 dtrace_difo_release(dp, vstate); in dtrace_actdesc_release()
11420 dtrace_difo_t *dp = desc->dtad_difo; in dtrace_ecb_action_add() local
11454 dp != NULL && dp->dtdo_destructive)) { in dtrace_ecb_action_add()
11484 if (dp == NULL) in dtrace_ecb_action_add()
11487 if ((size = dp->dtdo_rtype.dtdt_size) != 0) in dtrace_ecb_action_add()
11490 if (dp->dtdo_rtype.dtdt_kind == DIF_TYPE_STRING) { in dtrace_ecb_action_add()
11491 if (!(dp->dtdo_rtype.dtdt_flags & DIF_TF_BYREF)) in dtrace_ecb_action_add()
11539 if (dp == NULL || ((size = dp->dtdo_rtype.dtdt_size) != in dtrace_ecb_action_add()
11541 (dp->dtdo_rtype.dtdt_flags & DIF_TF_BYREF)) in dtrace_ecb_action_add()
11548 if (dp == NULL || in dtrace_ecb_action_add()
11549 (dp->dtdo_rtype.dtdt_size != sizeof (uint64_t)) || in dtrace_ecb_action_add()
11550 (dp->dtdo_rtype.dtdt_flags & DIF_TF_BYREF)) in dtrace_ecb_action_add()
11571 if (dp == NULL) in dtrace_ecb_action_add()
11576 if (dp == NULL || in dtrace_ecb_action_add()
11577 (size = dp->dtdo_rtype.dtdt_size) != sizeof (int) || in dtrace_ecb_action_add()
11578 (dp->dtdo_rtype.dtdt_flags & DIF_TF_BYREF)) in dtrace_ecb_action_add()
11586 if (dp == NULL) in dtrace_ecb_action_add()
11600 if (dp == NULL) in dtrace_ecb_action_add()
11640 if ((action->dta_difo = dp) != NULL) in dtrace_ecb_action_add()
11641 dtrace_difo_hold(dp); in dtrace_ecb_action_add()
11668 dtrace_difo_t *dp; in dtrace_ecb_action_remove() local
11683 if ((dp = act->dta_difo) != NULL) in dtrace_ecb_action_remove()
11684 dtrace_difo_release(dp, vstate); in dtrace_ecb_action_remove()
13302 dtrace_difo_t *dp; in dtrace_dof_difo() local
13357 dp = kmem_zalloc(sizeof (dtrace_difo_t), KM_SLEEP); in dtrace_dof_difo()
13358 dp->dtdo_rtype = dofd->dofd_rtype; in dtrace_dof_difo()
13391 bufp = (void **)((uintptr_t)dp + difo[i].bufoffs); in dtrace_dof_difo()
13392 lenp = (uint32_t *)((uintptr_t)dp + difo[i].lenoffs); in dtrace_dof_difo()
13432 if (dp->dtdo_buf == NULL) { in dtrace_dof_difo()
13448 for (i = 0; i < dp->dtdo_varlen; i++) { in dtrace_dof_difo()
13449 dtrace_difv_t *v = &dp->dtdo_vartab[i]; in dtrace_dof_difo()
13459 if (dtrace_difo_validate(dp, vstate, DIF_DIR_NREGS, cr) != 0) in dtrace_dof_difo()
13462 dtrace_difo_init(dp, vstate); in dtrace_dof_difo()
13463 return (dp); in dtrace_dof_difo()
13466 kmem_free(dp->dtdo_buf, dp->dtdo_len * sizeof (dif_instr_t)); in dtrace_dof_difo()
13467 kmem_free(dp->dtdo_inttab, dp->dtdo_intlen * sizeof (uint64_t)); in dtrace_dof_difo()
13468 kmem_free(dp->dtdo_strtab, dp->dtdo_strlen); in dtrace_dof_difo()
13469 kmem_free(dp->dtdo_vartab, dp->dtdo_varlen * sizeof (dtrace_difv_t)); in dtrace_dof_difo()
13471 kmem_free(dp, sizeof (dtrace_difo_t)); in dtrace_dof_difo()
13479 dtrace_difo_t *dp; in dtrace_dof_predicate() local
13481 if ((dp = dtrace_dof_difo(dof, sec, vstate, cr)) == NULL) in dtrace_dof_predicate()
13484 return (dtrace_predicate_create(dp)); in dtrace_dof_predicate()
15418 dtrace_difo_t *dp; in dtrace_helper_validate() local
15420 if ((dp = helper->dtha_predicate) != NULL) in dtrace_helper_validate()
15421 err += dtrace_difo_validate_helper(dp); in dtrace_helper_validate()
16479 dtrace_difo_t *dp; in dtrace_helpers_duplicate() local
16508 if ((dp = helper->dtha_predicate) != NULL) { in dtrace_helpers_duplicate()
16509 dp = dtrace_difo_duplicate(dp, vstate); in dtrace_helpers_duplicate()
16510 new->dtha_predicate = dp; in dtrace_helpers_duplicate()