X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Flib%2Flttng-ctl%2Ffilter%2Ffilter-visitor-generate-bytecode.c;h=e28abd57271ecec91936d19e2918c8c1b1aa986c;hp=4dd52d8d0eed988a7c97e88bd5dc80449b0480fb;hb=62a7b8edf965b89d3ca57da120dcedfcf36dfe02;hpb=46820c8b8f1fbbc15b3afdbb18472b703da1fcd4 diff --git a/src/lib/lttng-ctl/filter/filter-visitor-generate-bytecode.c b/src/lib/lttng-ctl/filter/filter-visitor-generate-bytecode.c index 4dd52d8d0..e28abd572 100644 --- a/src/lib/lttng-ctl/filter/filter-visitor-generate-bytecode.c +++ b/src/lib/lttng-ctl/filter/filter-visitor-generate-bytecode.c @@ -23,6 +23,7 @@ #include #include #include +#include #include "filter-bytecode.h" #include "filter-ir.h" @@ -34,47 +35,17 @@ #define max_t(type, a, b) ((type) ((a) > (b) ? (a) : (b))) #endif -//#define INIT_ALLOC_SIZE PAGE_SIZE #define INIT_ALLOC_SIZE 4 static int recursive_visit_gen_bytecode(struct filter_parser_ctx *ctx, struct ir_op *node); -static inline int fls(unsigned int x) -{ - int r = 32; - - if (!x) - return 0; - if (!(x & 0xFFFF0000U)) { - x <<= 16; - r -= 16; - } - if (!(x & 0xFF000000U)) { - x <<= 8; - r -= 8; - } - if (!(x & 0xF0000000U)) { - x <<= 4; - r -= 4; - } - if (!(x & 0xC0000000U)) { - x <<= 2; - r -= 2; - } - if (!(x & 0x80000000U)) { - x <<= 1; - r -= 1; - } - return r; -} - static inline int get_count_order(unsigned int count) { int order; - order = fls(count) - 1; + order = lttng_fls(count) - 1; if (count & (count - 1)) order++; return order;