< prev index next >

src/hotspot/share/utilities/waitBarrier_generic.hpp

Print this page
rev 57095 : [mq]: use
rev 57096 : [mq]: trailing_semi

*** 25,34 **** --- 25,35 ---- #ifndef SHARE_UTILITIES_WAITBARRIER_GENERIC_HPP #define SHARE_UTILITIES_WAITBARRIER_GENERIC_HPP #include "memory/allocation.hpp" #include "runtime/semaphore.hpp" + #include "utilities/macros.hpp" // In addition to the barrier tag, it uses two counters to keep the semaphore // count correct and not leave any late thread waiting. class GenericWaitBarrier : public CHeapObj<mtInternal> { volatile int _barrier_tag;
*** 37,49 **** // The number of threads in the wait path, before or after the tag check. // These threads can become waiters. volatile int _barrier_threads; Semaphore _sem_barrier; ! // Prevent copying and assignment of GenericWaitBarrier instances. ! GenericWaitBarrier(const GenericWaitBarrier&); ! GenericWaitBarrier& operator=(const GenericWaitBarrier&); int wake_if_needed(); public: GenericWaitBarrier() : _barrier_tag(0), _waiters(0), _barrier_threads(0), _sem_barrier(0) {} --- 38,48 ---- // The number of threads in the wait path, before or after the tag check. // These threads can become waiters. volatile int _barrier_threads; Semaphore _sem_barrier; ! NONCOPYABLE(GenericWaitBarrier); int wake_if_needed(); public: GenericWaitBarrier() : _barrier_tag(0), _waiters(0), _barrier_threads(0), _sem_barrier(0) {}
< prev index next >