reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
343 MemoryReadAtomic(thr, pc, addr, kSizeLog1); 344 SyncVar *s = ctx->metamap.GetOrCreateAndLock(thr, pc, addr, true); 350 StatInc(thr, StatMutexReadUnlock); 351 thr->fast_state.IncrementEpoch(); 352 TraceAddEvent(thr, thr->fast_state, EventTypeRUnlock, s->GetId()); 352 TraceAddEvent(thr, thr->fast_state, EventTypeRUnlock, s->GetId()); 353 ReleaseImpl(thr, pc, &s->read_clock); 354 } else if (s->owner_tid == thr->tid) { 356 thr->fast_state.IncrementEpoch(); 357 TraceAddEvent(thr, thr->fast_state, EventTypeUnlock, s->GetId()); 357 TraceAddEvent(thr, thr->fast_state, EventTypeUnlock, s->GetId()); 361 StatInc(thr, StatMutexUnlock); 363 ReleaseStoreImpl(thr, pc, &s->clock); 365 StatInc(thr, StatMutexRecUnlock); 371 thr->mset.Del(s->GetId(), write); 373 Callback cb(thr, pc); 380 ReportMutexMisuse(thr, pc, ReportTypeMutexBadUnlock, addr, mid); 382 Callback cb(thr, pc); 383 ReportDeadlock(thr, pc, ctx->dd->GetReport(&cb));