Filter: specialize 'and' and 'or' ops.
[lttng-ust.git] / liblttng-ust / filter-bytecode.h
index e68607e9cb78695e5c6f36f76d8b61d2e08eda61..61d10cd7732eed1be9034012540507a49af93dac 100644 (file)
@@ -67,6 +67,8 @@ enum filter_op {
        FILTER_OP_BIN_AND,
        FILTER_OP_BIN_OR,
        FILTER_OP_BIN_XOR,
+
+       /* binary comparators */
        FILTER_OP_EQ,
        FILTER_OP_NE,
        FILTER_OP_GT,
@@ -74,6 +76,30 @@ enum filter_op {
        FILTER_OP_GE,
        FILTER_OP_LE,
 
+       /* string binary comparator */
+       FILTER_OP_EQ_STRING,
+       FILTER_OP_NE_STRING,
+       FILTER_OP_GT_STRING,
+       FILTER_OP_LT_STRING,
+       FILTER_OP_GE_STRING,
+       FILTER_OP_LE_STRING,
+
+       /* s64 binary comparator */
+       FILTER_OP_EQ_S64,
+       FILTER_OP_NE_S64,
+       FILTER_OP_GT_S64,
+       FILTER_OP_LT_S64,
+       FILTER_OP_GE_S64,
+       FILTER_OP_LE_S64,
+
+       /* double binary comparator */
+       FILTER_OP_EQ_DOUBLE,
+       FILTER_OP_NE_DOUBLE,
+       FILTER_OP_GT_DOUBLE,
+       FILTER_OP_LT_DOUBLE,
+       FILTER_OP_GE_DOUBLE,
+       FILTER_OP_LE_DOUBLE,
+
        /* unary */
        FILTER_OP_UNARY_PLUS,
        FILTER_OP_UNARY_MINUS,
@@ -88,6 +114,10 @@ enum filter_op {
        /* logical */
        FILTER_OP_AND,
        FILTER_OP_OR,
+       FILTER_OP_AND_S64,
+       FILTER_OP_OR_S64,
+       FILTER_OP_AND_DOUBLE,
+       FILTER_OP_OR_DOUBLE,
 
        /* load */
        FILTER_OP_LOAD_FIELD_REF,
This page took 0.026508 seconds and 4 git commands to generate.