[DTrace-devel] [PATCH 33/61] Assemble tuple components at predictable offsets
eugene.loh at oracle.com
eugene.loh at oracle.com
Fri Jul 8 14:45:17 UTC 2022
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>
---
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
More information about the DTrace-devel
mailing list