Home | History | Annotate | Download | only in helgrind

Lines Matching refs:ThrID

142    We pack it into 64 bits by representing the Thr* using a ThrID, a
156 32 since a ThrID is a UInt. 29 comes from the fact that
158 not only a ThrID but also 2+1 other bits (access size and
161 NB2: thrid values are issued upwards from 1024, and values less
169 Thr's to thrid values (set up in Thr__new) persists forever.
182 ThrID == 0 to denote an empty Thr_n_RCEC record. So ThrID == 0
183 must never be a valid ThrID. Given NB2 that's OK.
190 ThrID thrid : SCALARTS_N_THRBITS;
302 ThrID thrid : SCALARTS_N_THRBITS;
1791 static ThrID Thr__to_ThrID ( Thr* thr ); /* fwds */
1792 static Thr* Thr__from_ThrID ( ThrID thrid ); /* fwds */
1821 /* The dead thread (ThrID, actually) table. A thread may only be
1824 the ThrID values must be unique. This table lists the identity of
1831 static XArray* /* of ThrID */ verydead_thread_table = NULL;
1835 ThrID id1 = *(ThrID*)v1;
1836 ThrID id2 = *(ThrID*)v2;
1848 HG_(free), sizeof(ThrID) );
1903 Returns zero iff LEQ(A,B), or a valid ThrID if not (zero is an
1904 invald ThrID). In the latter case, the returned ThrID indicates
1950 if (st1->thrid >= st2->thrid)
2005 ThrID thrid = vts->ts[i].thrid;
2006 if (VG_(lookupXA)(thridsToDel, &thrid, NULL, NULL))
2014 ThrID thrid = vts->ts[i].thrid;
2015 if (VG_(lookupXA)(thridsToDel, &thrid, NULL, NULL))
2048 out->ts[hi].thrid = Thr__to_ThrID(thr);
2059 ThrID me_thrid;
2078 if (UNLIKELY(here->thrid >= me_thrid))
2088 (b) there is a next entry, and its thrid > me_thrid:
2090 (c) there is a next entry, and its thrid == me_thrid:
2097 out->ts[hi].thrid = me_thrid;
2102 if (me_thrid == here->thrid) { /* case (c) */
2108 out->ts[hi].thrid = here->thrid;
2114 out->ts[hi].thrid = me_thrid;
2138 ThrID thrid;
2160 /* This logic is to enumerate triples (thrid, tyma, tymb) drawn
2161 from a and b in order, where thrid is the next ThrID
2174 thrid = tmpb->thrid;
2182 thrid = tmpa->thrid;
2188 /* both not empty; extract lowest-ThrID'd triple */
2191 if (tmpa->thrid < tmpb->thrid) {
2192 /* a has the lowest unconsidered ThrID */
2193 thrid = tmpa->thrid;
2197 } else if (tmpa->thrid > tmpb->thrid) {
2198 /* b has the lowest unconsidered ThrID */
2199 thrid = tmpb->thrid;
2204 /* they both next mention the same ThrID */
2205 tl_assert(tmpa->thrid == tmpb->thrid);
2206 thrid = tmpa->thrid; /* == tmpb->thrid */
2220 out->ts[hi].thrid = thrid;
2233 they are, or the first ThrID for which they are not (no valid ThrID
2237 static UInt/*ThrID*/ VTS__cmpLEQ ( VTS* a, VTS* b )
2256 ThrID thrid;
2270 thrid = tmpb->thrid;
2277 thrid = tmpa->thrid;
2282 /* both not empty; extract lowest-ThrID'd triple */
2285 if (tmpa->thrid < tmpb->thrid) {
2286 /* a has the lowest unconsidered ThrID */
2288 thrid = tmpa->thrid;
2293 if (tmpa->thrid > tmpb->thrid) {
2294 /* b has the lowest unconsidered ThrID */
2297 thrid = tmpb->thrid;
2300 /* they both next mention the same ThrID */
2301 tl_assert(tmpa->thrid == tmpb->thrid);
2303 thrid = tmpa->thrid;
2315 tl_assert(thrid >= 1024);
2316 return thrid;
2320 return 0; /* all points are LEQ => return an invalid ThrID */
2356 && tmpa->thrid == tmpb->thrid))
2368 if (tmpa->thrid < tmpb->thrid) return -1;
2369 if (tmpa->thrid > tmpb->thrid) return 1;
2401 st->thrid, (ULong)st->tym);
2420 ThrID idx_thrid = Thr__to_ThrID(idx);
2426 if (st->thrid == idx_thrid)
2442 ThrID nyu;
2854 ThrID thrid1, thrid2;
2855 thrid2 = *(ThrID*)VG_(indexXA)( verydead_thread_table, 0 );
2858 thrid2 = *(ThrID*)VG_(indexXA)( verydead_thread_table, i );
3310 ThrID diffthrid;
3645 /* Maps ThrID values to their Thr*s (which contain ThrID values that
3647 numbered slot (0) is for thrid = 1024, (1) is for 1025, etc. */
3650 /* And a counter to dole out ThrID values. For rationale/background,
3652 static ThrID thrid_counter = 1024; /* runs up to ThrID_MAX_VALID */
3654 static ThrID Thr__to_ThrID ( Thr* thr ) {
3655 return thr->thrid;
3657 static Thr* Thr__from_ThrID ( UInt thrid ) {
3658 Thr* thr = *(Thr**)VG_(indexXA)( thrid_to_thr_map, thrid - 1024 );
3659 tl_assert(thr->thrid == thrid);
3680 /* Add this Thr* <-> ThrID binding to the mapping, and
3693 thr->thrid = thrid_counter++;
3695 tl_assert(ix + 1024 == thr->thrid);
4187 UInt thrid : SCALARTS_N_THRBITS;
4200 /* unused slots in this array have .thrid == 0, which is invalid */
4257 ThrID thrid = thr->thrid;
4258 tl_assert(thrid != 0); /* zero is used to denote an empty slot. */
4282 see if we have a stack trace pertaining to this (thrid, R/W,
4289 if (ref->accs[i].thrid != thrid)
4310 tl_assert(ref->accs[i].thrid == thrid);
4318 if (ref->accs[N_OLDREF_ACCS-1].thrid != 0) {
4331 ref->accs[0].thrid = thrid;
4336 /* thrid==0 is used to signify an empty slot, so we can't
4337 add zero thrid (such a ThrID is invalid anyway). */
4338 /* tl_assert(thrid != 0); */ /* There's a dominating assert above. */
4356 ref->accs[0].thrid = thrid;
4362 /* thrid==0 is used to signify an empty slot, so we can't
4363 add zero thrid (such a ThrID is invalid anyway). */
4364 /* tl_assert(thrid != 0); */ /* There's a dominating assert above. */
4369 ref->accs[j].thrid
4394 ThrID cand_thrid;
4407 ThrID thrid = thr->thrid;
4430 tl_assert(ref->accs[0].thrid != 0); /* first slot must always be used */
4441 cand_thrid = cand->thrid;
4450 if (cand_thrid == thrid)
4574 ThrID aThrID = oldref->accs[i].thrid;
4817 ThrID aThrID = oldref->accs[j].thrid;