X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=liblttng-ust%2Flttng-filter-specialize.c;h=1ade2883005bdc93f4f7b33abeb1bcad4c5a02ee;hb=93c591bb3a90753ce66197f2c1e41c8ef554506f;hp=6de25047787d2b09954d1ce88815f53988463cea;hpb=4e8f9a89eef37ea1228dff49f7a38330d2b42633;p=lttng-ust.git diff --git a/liblttng-ust/lttng-filter-specialize.c b/liblttng-ust/lttng-filter-specialize.c index 6de25047..1ade2883 100644 --- a/liblttng-ust/lttng-filter-specialize.c +++ b/liblttng-ust/lttng-filter-specialize.c @@ -621,6 +621,17 @@ int lttng_filter_specialize_bytecode(struct lttng_event *event, goto end; case FILTER_OP_RETURN: + if (vstack_ax(stack)->type == REG_S64) + *(filter_opcode_t *) pc = FILTER_OP_RETURN_S64; + ret = 0; + goto end; + + case FILTER_OP_RETURN_S64: + if (vstack_ax(stack)->type != REG_S64) { + ERR("Unexpected register type\n"); + ret = -EINVAL; + goto end; + } ret = 0; goto end;