}
static
-int stack_star_glob_match(struct estack *stack, int top, const char *cmp_type)
+int stack_star_glob_match(struct estack *stack, int top,
+ const char *cmp_type __attribute__((unused)))
{
const char *pattern;
const char *candidate;
}
static
-int stack_strcmp(struct estack *stack, int top, const char *cmp_type)
+int stack_strcmp(struct estack *stack, int top, const char *cmp_type __attribute__((unused)))
{
const char *p = estack_bx(stack, top)->u.s.str, *q = estack_ax(stack, top)->u.s.str;
int ret;
return diff;
}
-int lttng_bytecode_interpret_error(struct lttng_ust_bytecode_runtime *bytecode_runtime,
- const char *stack_data,
- void *ctx)
+int lttng_bytecode_interpret_error(
+ struct lttng_ust_bytecode_runtime *bytecode_runtime __attribute__((unused)),
+ const char *stack_data __attribute__((unused)),
+ void *ctx __attribute__((unused)))
{
return LTTNG_UST_BYTECODE_INTERPRETER_ERROR;
}
uint32_t idx)
{
- struct lttng_ust_ctx_field *ctx_field;
- struct lttng_ust_event_field *field;
+ const struct lttng_ust_ctx_field *ctx_field;
+ const struct lttng_ust_event_field *field;
struct lttng_ust_ctx_value v;
- ctx_field = ctx->fields[idx];
+ ctx_field = &ctx->fields[idx];
field = ctx_field->event_field;
ptr->type = LOAD_OBJECT;
ptr->field = field;
switch (field->type->type) {
case lttng_ust_type_integer:
- ctx_field->get_value(ctx_field, &v);
+ ctx_field->get_value(ctx_field->priv, &v);
if (lttng_ust_get_type_integer(field->type)->signedness) {
ptr->object_type = OBJECT_TYPE_S64;
ptr->u.s64 = v.u.s64;
const struct lttng_ust_type_integer *itype;
itype = lttng_ust_get_type_integer(lttng_ust_get_type_enum(field->type)->container_type);
- ctx_field->get_value(ctx_field, &v);
+ ctx_field->get_value(ctx_field->priv, &v);
if (itype->signedness) {
ptr->object_type = OBJECT_TYPE_SIGNED_ENUM;
ptr->u.s64 = v.u.s64;
return -EINVAL;
}
ptr->object_type = OBJECT_TYPE_STRING;
- ctx_field->get_value(ctx_field, &v);
+ ctx_field->get_value(ctx_field->priv, &v);
ptr->ptr = v.u.str;
break;
case lttng_ust_type_sequence:
return -EINVAL;
}
ptr->object_type = OBJECT_TYPE_STRING;
- ctx_field->get_value(ctx_field, &v);
+ ctx_field->get_value(ctx_field->priv, &v);
ptr->ptr = v.u.str;
break;
case lttng_ust_type_string:
ptr->object_type = OBJECT_TYPE_STRING;
- ctx_field->get_value(ctx_field, &v);
+ ctx_field->get_value(ctx_field->priv, &v);
ptr->ptr = v.u.str;
break;
case lttng_ust_type_float:
ptr->object_type = OBJECT_TYPE_DOUBLE;
- ctx_field->get_value(ctx_field, &v);
+ ctx_field->get_value(ctx_field->priv, &v);
ptr->u.d = v.u.d;
ptr->ptr = &ptr->u.d;
break;
case lttng_ust_type_dynamic:
- ctx_field->get_value(ctx_field, &v);
+ ctx_field->get_value(ctx_field->priv, &v);
switch (v.sel) {
case LTTNG_UST_DYNAMIC_TYPE_NONE:
return -EINVAL;
JUMP_TO(BYTECODE_OP_CAST_DOUBLE_TO_S64);
case REG_U64:
estack_ax_t = REG_S64;
- next_pc += sizeof(struct cast_op);
+ next_pc += sizeof(struct cast_op); /* Fall-through */
case REG_STRING: /* Fall-through */
case REG_STAR_GLOB_STRING:
ret = -EINVAL;
{
struct load_op *insn = (struct load_op *) pc;
struct field_ref *ref = (struct field_ref *) insn->data;
- struct lttng_ust_ctx_field *ctx_field;
+ const struct lttng_ust_ctx_field *ctx_field;
struct lttng_ust_ctx_value v;
dbg_printf("get context ref offset %u type dynamic\n",
ref->offset);
- ctx_field = ctx->fields[ref->offset];
- ctx_field->get_value(ctx_field, &v);
+ ctx_field = &ctx->fields[ref->offset];
+ ctx_field->get_value(ctx_field->priv, &v);
estack_push(stack, top, ax, bx, ax_t, bx_t);
switch (v.sel) {
case LTTNG_UST_DYNAMIC_TYPE_NONE:
{
struct load_op *insn = (struct load_op *) pc;
struct field_ref *ref = (struct field_ref *) insn->data;
- struct lttng_ust_ctx_field *ctx_field;
+ const struct lttng_ust_ctx_field *ctx_field;
struct lttng_ust_ctx_value v;
dbg_printf("get context ref offset %u type string\n",
ref->offset);
- ctx_field = ctx->fields[ref->offset];
- ctx_field->get_value(ctx_field, &v);
+ ctx_field = &ctx->fields[ref->offset];
+ ctx_field->get_value(ctx_field->priv, &v);
estack_push(stack, top, ax, bx, ax_t, bx_t);
estack_ax(stack, top)->u.s.str = v.u.str;
if (unlikely(!estack_ax(stack, top)->u.s.str)) {
{
struct load_op *insn = (struct load_op *) pc;
struct field_ref *ref = (struct field_ref *) insn->data;
- struct lttng_ust_ctx_field *ctx_field;
+ const struct lttng_ust_ctx_field *ctx_field;
struct lttng_ust_ctx_value v;
dbg_printf("get context ref offset %u type s64\n",
ref->offset);
- ctx_field = ctx->fields[ref->offset];
- ctx_field->get_value(ctx_field, &v);
+ ctx_field = &ctx->fields[ref->offset];
+ ctx_field->get_value(ctx_field->priv, &v);
estack_push(stack, top, ax, bx, ax_t, bx_t);
estack_ax_v = v.u.s64;
estack_ax_t = REG_S64;
{
struct load_op *insn = (struct load_op *) pc;
struct field_ref *ref = (struct field_ref *) insn->data;
- struct lttng_ust_ctx_field *ctx_field;
+ const struct lttng_ust_ctx_field *ctx_field;
struct lttng_ust_ctx_value v;
dbg_printf("get context ref offset %u type double\n",
ref->offset);
- ctx_field = ctx->fields[ref->offset];
- ctx_field->get_value(ctx_field, &v);
+ ctx_field = &ctx->fields[ref->offset];
+ ctx_field->get_value(ctx_field->priv, &v);
estack_push(stack, top, ax, bx, ax_t, bx_t);
memcpy(&estack_ax(stack, top)->u.d, &v.u.d, sizeof(struct literal_double));
estack_ax_t = REG_DOUBLE;
*/
int lttng_ust_interpret_event_filter(struct lttng_ust_event_common *event,
const char *interpreter_stack_data,
- void *event_filter_ctx)
+ void *event_filter_ctx __attribute__((unused)))
{
struct lttng_ust_bytecode_runtime *filter_bc_runtime;
struct cds_list_head *filter_bytecode_runtime_head = &event->priv->filter_bytecode_runtime_head;