Lines Matching refs:tid
107 ThreadClock::ThreadClock(unsigned tid, unsigned reused)
108 : tid_(tid)
113 CHECK_LT(tid, kMaxTidInClock);
144 unsigned tid = dirty.tid;
145 if (tid != kInvalidTid) {
146 if (clk_[tid] < dirty.epoch) {
147 clk_[tid] = dirty.epoch;
252 CHECK_EQ(dst->dirty_[0].tid, kInvalidTid);
255 dst->dirty_[0].tid = tid_;
290 dst->dirty_[i].tid = kInvalidTid;
322 const unsigned tid = dirty->tid;
323 if (tid == tid_ || tid == kInvalidTid) {
325 dirty->tid = tid_;
346 if (dirty.tid != kInvalidTid) {
347 if (clk_[dirty.tid] < dirty.epoch)
356 void ThreadClock::set(ClockCache *c, unsigned tid, u64 v) {
357 DCHECK_LT(tid, kMaxTid);
358 DCHECK_GE(v, clk_[tid]);
359 clk_[tid] = v;
360 if (nclk_ <= tid)
361 nclk_ = tid + 1;
370 printf("] tid=%u/%u last_acq=%llu", tid_, reused_, last_acquire_);
399 dirty_[i].tid = kInvalidTid;
448 if (dirty->tid != kInvalidTid) {
449 CHECK_LT(dirty->tid, size_);
450 elem(dirty->tid).epoch = dirty->epoch;
451 dirty->tid = kInvalidTid;
504 if (dirty_[i].tid != kInvalidTid)
513 ALWAYS_INLINE ClockElem &SyncClock::elem(unsigned tid) const {
514 DCHECK_LT(tid, size_);
515 const uptr block = tid / ClockBlock::kClockCount;
517 tid %= ClockBlock::kClockCount;
519 return tab_->clock[tid];
522 return cb->clock[tid];
548 u64 SyncClock::get(unsigned tid) const {
551 if (dirty.tid == tid)
554 return elem(tid).epoch;
558 u64 SyncClock::get_clean(unsigned tid) const {
559 return elem(tid).epoch;
571 dirty_[0].tid, dirty_[0].epoch,
572 dirty_[1].tid, dirty_[1].epoch);