[DTrace-devel] [PATCH 33/61] Assemble tuple components at predictable offsets
Kris Van Hees
kris.van.hees at oracle.com
Fri Aug 5 19:02:42 UTC 2022
On Fri, Jul 08, 2022 at 10:45:17AM -0400, eugene.loh--- via DTrace-devel wrote:
> From: Eugene Loh <eugene.loh at oracle.com>
>
> We concatenate tuple components in the tuple assembly area. When a
> component is a string, we place the following component immediately
> after the terminating NUL byte.
>
> We will use this same tuple-assembly code to support aggregation keys,
> however, and for printing aggregation keys it would be nice for each
> key to start at a predictable offset. Make that change in dt_cg_arglist().
>
> Signed-off-by: Eugene Loh <eugene.loh at oracle.com>
Reviewed-by: Kris Van Hees <kris.van.hees at oracle.com>
... queued for dev
> ---
> libdtrace/dt_cg.c | 5 +----
> 1 file changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/libdtrace/dt_cg.c b/libdtrace/dt_cg.c
> index b0c2a362..5b2276b0 100644
> --- a/libdtrace/dt_cg.c
> +++ b/libdtrace/dt_cg.c
> @@ -2749,13 +2749,10 @@ dt_cg_arglist(dt_ident_t *idp, dt_node_t *args, dt_irlist_t *dlp,
> dt_regset_free(drp, BPF_REG_0);
> dt_cg_probe_error(yypcb, DTRACEFLT_BADADDR,
> DT_ISIMM, 128 + i);
> - dt_regset_xalloc(drp, BPF_REG_0);
>
> emitl(dlp, lbl_valid,
> - BPF_ALU64_REG(BPF_ADD, treg, BPF_REG_0));
> + BPF_ALU64_IMM(BPF_ADD, treg, size + 1));
> tuplesize += size + 1;
> -
> - dt_regset_free(drp, BPF_REG_0);
> } else if (t.dtdt_flags & DIF_TF_BYREF) {
> uint_t lbl_valid = dt_irlist_label(dlp);
>
> --
> 2.18.4
>
>
> _______________________________________________
> DTrace-devel mailing list
> DTrace-devel at oss.oracle.com
> https://oss.oracle.com/mailman/listinfo/dtrace-devel
More information about the DTrace-devel
mailing list