bytecode: propagate `rev_bo` of element
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Thu, 29 Sep 2022 20:19:00 +0000 (16:19 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Thu, 29 Sep 2022 21:01:54 +0000 (17:01 -0400)
When specializing and executing bytecode.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: Ie52cf779ffbe30fa44dd1651142f34b19c0b5b3c

lttng-filter-interpreter.c
lttng-filter-specialize.c

index 821c12d3ba9679e5ae605ae5189a639529b8c5fd..8c870e14723db99d6d7e341cbf0e25fb776bff75 100644 (file)
@@ -441,6 +441,7 @@ static int dynamic_get_index(struct lttng_probe_ctx *lttng_probe_ctx,
                stack_top->u.ptr.type = LOAD_OBJECT;
                /* field is only used for types nested within variants. */
                stack_top->u.ptr.field = NULL;
+               stack_top->u.ptr.rev_bo = gid->elem.rev_bo;
                break;
        }
        return 0;
index e9a85c78569fa0fda78fae76b9dc2982bd11dd2d..7780f64ad3fe1e7fa8f846ae327c1220dd882a14 100644 (file)
@@ -401,6 +401,7 @@ static int specialize_context_lookup(struct bytecode_runtime *runtime,
        memset(&gid, 0, sizeof(gid));
        gid.ctx_index = idx;
        gid.elem.type = load->object_type;
+       gid.elem.rev_bo = load->rev_bo;
        data_offset = bytecode_push_data(runtime, &gid,
                __alignof__(gid), sizeof(gid));
        if (data_offset < 0) {
@@ -470,6 +471,7 @@ static int specialize_event_payload_lookup(struct lttng_event *event,
        memset(&gid, 0, sizeof(gid));
        gid.offset = field_offset;
        gid.elem.type = load->object_type;
+       gid.elem.rev_bo = load->rev_bo;
        data_offset = bytecode_push_data(runtime, &gid,
                __alignof__(gid), sizeof(gid));
        if (data_offset < 0) {
This page took 0.027819 seconds and 4 git commands to generate.