Lines Matching refs:drp
41 dt_regset_t *drp = malloc(sizeof (dt_regset_t));
43 if (drp == NULL)
46 drp->dr_bitmap = malloc(sizeof (ulong_t) * n);
47 drp->dr_size = size + 1;
49 if (drp->dr_bitmap == NULL) {
50 dt_regset_destroy(drp);
54 bzero(drp->dr_bitmap, sizeof (ulong_t) * n);
55 return (drp);
59 dt_regset_destroy(dt_regset_t *drp)
61 free(drp->dr_bitmap);
62 free(drp);
66 dt_regset_reset(dt_regset_t *drp)
68 bzero(drp->dr_bitmap, sizeof (ulong_t) * BT_BITOUL(drp->dr_size));
72 dt_regset_alloc(dt_regset_t *drp)
74 ulong_t nbits = drp->dr_size - 1;
79 if (drp->dr_bitmap[wx] != ~0UL)
85 ulong_t word = drp->dr_bitmap[wx];
92 BT_SET(drp->dr_bitmap, reg);
102 dt_regset_free(dt_regset_t *drp, int reg)
104 assert(reg > 0 && reg < drp->dr_size);
105 assert(BT_TEST(drp->dr_bitmap, reg) != 0);
106 BT_CLEAR(drp->dr_bitmap, reg);