• Home
  • Raw
  • Download

Lines Matching refs:sg

62 static void sg_init(Segment* const sg,  in sg_init()  argument
69 tl_assert(sg); in sg_init()
76 sg->g_next = NULL; in sg_init()
77 sg->g_prev = NULL; in sg_init()
78 sg->thr_next = NULL; in sg_init()
79 sg->thr_prev = NULL; in sg_init()
80 sg->tid = created; in sg_init()
81 sg->refcnt = 1; in sg_init()
84 sg->stacktrace = VG_(record_ExeContext)(vg_created, 0); in sg_init()
86 sg->stacktrace = 0; in sg_init()
89 DRD_(vc_copy)(&sg->vc, &creator_sg->vc); in sg_init()
91 DRD_(vc_init)(&sg->vc, 0, 0); in sg_init()
92 DRD_(vc_increment)(&sg->vc, created); in sg_init()
93 DRD_(bm_init)(&sg->bm); in sg_init()
99 vc = DRD_(vc_aprint)(&sg->vc); in sg_init()
107 static void DRD_(sg_cleanup)(Segment* const sg) in DRD_()
109 tl_assert(sg); in DRD_()
110 tl_assert(sg->refcnt == 0); in DRD_()
112 DRD_(vc_cleanup)(&sg->vc); in DRD_()
113 DRD_(bm_cleanup)(&sg->bm); in DRD_()
119 Segment* sg; in DRD_() local
126 sg = VG_(malloc)("drd.segment.sn.1", sizeof(*sg)); in DRD_()
127 sg_init(sg, creator, created); in DRD_()
129 DRD_(g_sg_list)->g_prev = sg; in DRD_()
130 sg->g_next = DRD_(g_sg_list); in DRD_()
132 DRD_(g_sg_list) = sg; in DRD_()
133 return sg; in DRD_()
136 static void DRD_(sg_delete)(Segment* const sg) in DRD_()
142 vc = DRD_(vc_aprint)(&sg->vc); in DRD_()
150 tl_assert(sg); in DRD_()
151 if (sg->g_next) in DRD_()
152 sg->g_next->g_prev = sg->g_prev; in DRD_()
153 if (sg->g_prev) in DRD_()
154 sg->g_prev->g_next = sg->g_next; in DRD_()
156 DRD_(g_sg_list) = sg->g_next; in DRD_()
157 DRD_(sg_cleanup)(sg); in DRD_()
158 VG_(free)(sg); in DRD_()
162 Segment* DRD_(sg_get)(Segment* const sg) in DRD_()
164 tl_assert(sg); in DRD_()
166 sg->refcnt++; in DRD_()
167 return sg; in DRD_()
174 void DRD_(sg_put)(Segment* const sg) in DRD_()
176 if (sg == 0) in DRD_()
183 vc = DRD_(vc_aprint)(&sg->vc); in DRD_()
186 sg->refcnt, sg->refcnt - 1, vc); in DRD_()
190 tl_assert(sg->refcnt >= 1); in DRD_()
192 if (--sg->refcnt == 0) in DRD_()
194 DRD_(sg_delete)(sg); in DRD_()
228 void DRD_(sg_print)(Segment* const sg) in DRD_()
230 tl_assert(sg); in DRD_()
232 DRD_(vc_print)(&sg->vc); in DRD_()
234 DRD_(bm_print)(&sg->bm); in DRD_()