Lines Matching refs:drp
45 dt_regset_t *drp = malloc(sizeof (dt_regset_t));
47 if (drp == NULL)
50 drp->dr_bitmap = malloc(sizeof (ulong_t) * n);
51 drp->dr_size = nregs;
53 if (drp->dr_bitmap == NULL) {
54 dt_regset_destroy(drp);
58 bzero(drp->dr_bitmap, sizeof (ulong_t) * n);
59 return (drp);
63 dt_regset_destroy(dt_regset_t *drp)
65 free(drp->dr_bitmap);
66 free(drp);
70 dt_regset_reset(dt_regset_t *drp)
72 bzero(drp->dr_bitmap, sizeof (ulong_t) * BT_BITOUL(drp->dr_size));
76 dt_regset_assert_free(dt_regset_t *drp)
80 for (reg = 0; reg < drp->dr_size; reg++) {
81 if (BT_TEST(drp->dr_bitmap, reg) != 0) {
95 dt_regset_alloc(dt_regset_t *drp)
97 ulong_t nbits = drp->dr_size - 1;
102 if (drp->dr_bitmap[wx] != ~0UL)
108 ulong_t word = drp->dr_bitmap[wx];
115 BT_SET(drp->dr_bitmap, reg);
127 dt_regset_free(dt_regset_t *drp, int reg)
129 assert(reg >= 0 && reg < drp->dr_size);
130 assert(BT_TEST(drp->dr_bitmap, reg) != 0);
131 BT_CLEAR(drp->dr_bitmap, reg);