• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/compiler-rt/lib/tsan/rtl/

Lines Matching refs:clock

18 // ThreadClock contains fixed-size vector clock for maximum number of threads.
19 // SyncClock contains growable vector clock for currently necessary number of
25 // clock[i] = max(clock[i], src->clock[i]);
30 // dst->clock[i] = max(dst->clock[i], clock[i]);
35 // tmp = clock[i];
36 // clock[i] = max(clock[i], sc->clock[i]);
37 // sc->clock[i] = tmp;
43 // dst->clock[i] = clock[i];
72 // clk_ - variable size vector clock, low kClkBits hold timestamp,
76 // acquired this clock (except possibly for dirty elements).
77 // dirty_ - holds up to two indeces in the vector clock that other threads
79 // release_store_tid_ - denotes that the clock state is a result of
177 // Remember that this thread has acquired this clock.
291 // Reuse the cached clock.
292 // Note: we could reuse/cache the cached clock in more cases:
293 // we could update the existing clock and cache it, or replace it with the
294 // currently cached clock and release the old one. And for a shared
295 // existing clock, we could replace it with the currently cached;
297 // cached clock only when the target clock is empty.
303 // The cached clock is shared (immutable),
304 // so this is where we store the current clock.
346 // If the resulting clock is cachable, cache it for future release operations.
347 // The clock is always cachable if we released to an empty sync object.
412 // Sets a single element in the vector clock.
425 printf("clock=[");
484 const uptr move = top * sizeof(tab_->clock[0]);
485 internal_memcpy(&new_cb->clock[0], tab_->clock, move);
486 internal_memset(&new_cb->clock[top], 0, sizeof(*new_cb) - move);
487 internal_memset(tab_->clock, 0, move);
490 // At this point we have first level table allocated and all clock elements
502 // Flushes all dirty elements into the main clock array.
523 // Unshares the current clock if it's shared.
541 // Allocate brand new clock in the current object.
557 // Can we cache this clock for future release operations?
577 return tab_->clock[tid];
580 return cb->clock[tid];
586 uptr ratio = sizeof(ClockBlock::clock[0]) / sizeof(ClockBlock::table[0]);
587 // How many clock elements we can fit into the first level block.
621 printf("clock=[");
640 pos_ = &cb->clock[0];
648 pos_ = &parent_->tab_->clock[0];