Print this page
4474 DTrace Userland CTF Support
4475 DTrace userland Keyword
4476 DTrace tests should be better citizens
4479 pid provider types
4480 dof emulation missing checks
Reviewed by: Bryan Cantrill <bryan@joyent.com>

*** 21,32 **** */ /* * Copyright 2005 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ ! ! #pragma ident "%Z%%M% %I% %E% SMI" #include <strings.h> #include <assert.h> #include <dt_xlator.h> --- 21,34 ---- */ /* * Copyright 2005 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ ! /* ! * Copyright (c) 2013 by Delphix. All rights reserved. ! * Copyright (c) 2013 Joyent, Inc. All rights reserved. ! */ #include <strings.h> #include <assert.h> #include <dt_xlator.h>
*** 67,77 **** * the current member. These refs will be used by dt_cg.c and dt_as.c. */ enp->dn_op = DT_TOK_XLATE; enp->dn_xlator = dxp; enp->dn_xmember = mnp; ! dt_node_type_assign(enp, dxp->dx_dst_ctfp, type); /* * For the member itself, we use a DT_NODE_MEMBER as usual with the * appropriate name, output type, and member expression set to 'enp'. */ --- 69,79 ---- * the current member. These refs will be used by dt_cg.c and dt_as.c. */ enp->dn_op = DT_TOK_XLATE; enp->dn_xlator = dxp; enp->dn_xmember = mnp; ! dt_node_type_assign(enp, dxp->dx_dst_ctfp, type, B_FALSE); /* * For the member itself, we use a DT_NODE_MEMBER as usual with the * appropriate name, output type, and member expression set to 'enp'. */
*** 81,91 **** } else dxp->dx_members = mnp; mnp->dn_membname = strdup(name); mnp->dn_membexpr = enp; ! dt_node_type_assign(mnp, dxp->dx_dst_ctfp, type); if (mnp->dn_membname == NULL) return (dt_set_errno(dtp, EDT_NOMEM)); return (0); --- 83,93 ---- } else dxp->dx_members = mnp; mnp->dn_membname = strdup(name); mnp->dn_membexpr = enp; ! dt_node_type_assign(mnp, dxp->dx_dst_ctfp, type, B_FALSE); if (mnp->dn_membname == NULL) return (dt_set_errno(dtp, EDT_NOMEM)); return (0);
*** 316,326 **** goto out; } for (dxp = dt_list_next(&dtp->dt_xlators); dxp != NULL; dxp = dt_list_next(dxp)) { ! dt_node_type_assign(&xn, dxp->dx_src_ctfp, dxp->dx_src_type); if (ctf_type_compat(dxp->dx_dst_ctfp, dxp->dx_dst_base, dst_ctfp, dst_base) && dt_node_is_argcompat(src, &xn)) goto out; } --- 318,329 ---- goto out; } for (dxp = dt_list_next(&dtp->dt_xlators); dxp != NULL; dxp = dt_list_next(dxp)) { ! dt_node_type_assign(&xn, dxp->dx_src_ctfp, dxp->dx_src_type, ! B_FALSE); if (ctf_type_compat(dxp->dx_dst_ctfp, dxp->dx_dst_base, dst_ctfp, dst_base) && dt_node_is_argcompat(src, &xn)) goto out; }