X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=liblttng-ust%2Flttng-filter-specialize.c;fp=liblttng-ust%2Flttng-filter-specialize.c;h=a729e427f9dead2c3ebdaffc931f79cb9ff79b39;hb=77aa5901fd3f09001fb7e78f3533cf58c6d345e5;hp=66e3db6f7228b379fc9fe0d584f05465d483b404;hpb=5cf8141d2003c0e72279867015cb0afc50c82a77;p=lttng-ust.git diff --git a/liblttng-ust/lttng-filter-specialize.c b/liblttng-ust/lttng-filter-specialize.c index 66e3db6f..a729e427 100644 --- a/liblttng-ust/lttng-filter-specialize.c +++ b/liblttng-ust/lttng-filter-specialize.c @@ -406,15 +406,23 @@ int lttng_filter_specialize_bytecode(struct bytecode_runtime *bytecode) break; } - /* load */ + /* load field ref */ case FILTER_OP_LOAD_FIELD_REF: { ERR("Unknown field ref type\n"); ret = -EINVAL; goto end; } + /* get context ref */ + case FILTER_OP_GET_CONTEXT_REF: + { + ERR("Unknown get context ref type\n"); + ret = -EINVAL; + goto end; + } case FILTER_OP_LOAD_FIELD_REF_STRING: case FILTER_OP_LOAD_FIELD_REF_SEQUENCE: + case FILTER_OP_GET_CONTEXT_REF_STRING: { if (vstack_push(stack)) { ret = -EINVAL; @@ -425,6 +433,7 @@ int lttng_filter_specialize_bytecode(struct bytecode_runtime *bytecode) break; } case FILTER_OP_LOAD_FIELD_REF_S64: + case FILTER_OP_GET_CONTEXT_REF_S64: { if (vstack_push(stack)) { ret = -EINVAL; @@ -435,6 +444,7 @@ int lttng_filter_specialize_bytecode(struct bytecode_runtime *bytecode) break; } case FILTER_OP_LOAD_FIELD_REF_DOUBLE: + case FILTER_OP_GET_CONTEXT_REF_DOUBLE: { if (vstack_push(stack)) { ret = -EINVAL; @@ -445,6 +455,7 @@ int lttng_filter_specialize_bytecode(struct bytecode_runtime *bytecode) break; } + /* load from immediate operand */ case FILTER_OP_LOAD_STRING: { struct load_op *insn = (struct load_op *) pc; @@ -522,7 +533,6 @@ int lttng_filter_specialize_bytecode(struct bytecode_runtime *bytecode) break; } - } } end: