5 #ifndef V8_HEAP_BARRIER_H_ 6 #define V8_HEAP_BARRIER_H_ 8 #include "src/base/platform/condition-variable.h" 9 #include "src/base/platform/mutex.h" 10 #include "src/base/platform/time.h" 42 base::MutexGuard guard(&mutex_);
47 base::MutexGuard guard(&mutex_);
48 if (waiting_ > 0) condition_.NotifyAll();
52 base::MutexGuard guard(&mutex_);
53 if (done_)
return true;
55 DCHECK_LE(waiting_, tasks_);
57 if (waiting_ == tasks_) {
59 condition_.NotifyAll();
62 if (!condition_.WaitFor(&mutex_, timeout_)) {
73 bool DoneForTesting()
const {
return done_; }
87 #endif // V8_HEAP_BARRIER_H_