#endif
-#define IS_INTEGER_REGISTER(reg_type) (reg_type == REG_S64)
+#define IS_INTEGER_REGISTER(reg_type) \
+ (reg_type == REG_S64 || reg_type == REG_U64)
static int context_get_index(struct lttng_probe_ctx *lttng_probe_ctx,
struct load_ptr *ptr,
case OBJECT_TYPE_U8:
dbg_printk("op load field u8\n");
stack_top->u.v = *(uint8_t *) stack_top->u.ptr.ptr;
- stack_top->type = REG_S64;
+ stack_top->type = REG_U64;
break;
case OBJECT_TYPE_U16:
{
if (stack_top->u.ptr.rev_bo)
__swab16s(&tmp);
stack_top->u.v = tmp;
- stack_top->type = REG_S64;
+ stack_top->type = REG_U64;
break;
}
case OBJECT_TYPE_U32:
if (stack_top->u.ptr.rev_bo)
__swab32s(&tmp);
stack_top->u.v = tmp;
- stack_top->type = REG_S64;
+ stack_top->type = REG_U64;
break;
}
case OBJECT_TYPE_U64:
if (stack_top->u.ptr.rev_bo)
__swab64s(&tmp);
stack_top->u.v = tmp;
- stack_top->type = REG_S64;
+ stack_top->type = REG_U64;
break;
}
case OBJECT_TYPE_STRING:
/* LTTNG_FILTER_DISCARD or LTTNG_FILTER_RECORD_FLAG */
switch (estack_ax_t) {
case REG_S64:
+ case REG_U64:
retval = !!estack_ax_v;
break;
case REG_DOUBLE:
res = ((uint64_t) estack_bx_v >> (uint32_t) estack_ax_v);
estack_pop(stack, top, ax, bx, ax_t, bx_t);
estack_ax_v = res;
- estack_ax_t = REG_S64;
+ estack_ax_t = REG_U64;
next_pc += sizeof(struct binary_op);
PO;
}
res = ((uint64_t) estack_bx_v << (uint32_t) estack_ax_v);
estack_pop(stack, top, ax, bx, ax_t, bx_t);
estack_ax_v = res;
- estack_ax_t = REG_S64;
+ estack_ax_t = REG_U64;
next_pc += sizeof(struct binary_op);
PO;
}
res = ((uint64_t) estack_bx_v & (uint64_t) estack_ax_v);
estack_pop(stack, top, ax, bx, ax_t, bx_t);
estack_ax_v = res;
- estack_ax_t = REG_S64;
+ estack_ax_t = REG_U64;
next_pc += sizeof(struct binary_op);
PO;
}
res = ((uint64_t) estack_bx_v | (uint64_t) estack_ax_v);
estack_pop(stack, top, ax, bx, ax_t, bx_t);
estack_ax_v = res;
- estack_ax_t = REG_S64;
+ estack_ax_t = REG_U64;
next_pc += sizeof(struct binary_op);
PO;
}
res = ((uint64_t) estack_bx_v ^ (uint64_t) estack_ax_v);
estack_pop(stack, top, ax, bx, ax_t, bx_t);
estack_ax_v = res;
- estack_ax_t = REG_S64;
+ estack_ax_t = REG_U64;
next_pc += sizeof(struct binary_op);
PO;
}