#include "filter-ir.h"
#include "filter-ast.h"
+#include <common/macros.h>
+
#ifndef max_t
#define max_t(type, a, b) ((type) ((a) > (b) ? (a) : (b)))
#endif
return -EINVAL;
if (new_alloc_len > old_alloc_len) {
+ struct lttng_filter_bytecode_alloc *newptr;
+
new_alloc_len =
max_t(uint32_t, 1U << get_count_order(new_alloc_len), old_alloc_len << 1);
- *fb = realloc(*fb, new_alloc_len);
- if (!*fb)
+ newptr = realloc(*fb, new_alloc_len);
+ if (!newptr)
return -ENOMEM;
+ *fb = newptr;
/* We zero directly the memory from start of allocation. */
memset(&((char *) *fb)[old_alloc_len], 0, new_alloc_len - old_alloc_len);
(*fb)->alloc_len = new_alloc_len;
}
}
-__attribute__((visibility("hidden")))
+LTTNG_HIDDEN
void filter_bytecode_free(struct filter_parser_ctx *ctx)
{
free(ctx->bytecode);
ctx->bytecode_reloc = NULL;
}
-__attribute__((visibility("hidden")))
+LTTNG_HIDDEN
int filter_visitor_bytecode_generate(struct filter_parser_ctx *ctx)
{
int ret;