diff --git a/runtime/mem/rendezvous.cpp b/runtime/mem/rendezvous.cpp index ed2be10..7aa07ca 100644 --- a/runtime/mem/rendezvous.cpp +++ b/runtime/mem/rendezvous.cpp @@ -43,18 +43,6 @@ void Rendezvous::SafepointEnd() LOG(DEBUG, GC) << "Rendezvous: SafepointEnd exit"; } -ScopedSuspendAllThreads::ScopedSuspendAllThreads(Rendezvous *rendezvous) : rendezvous_(rendezvous) -{ - ASSERT(rendezvous_ != nullptr); - rendezvous_->SafepointBegin(); -} - -ScopedSuspendAllThreads::~ScopedSuspendAllThreads() -{ - ASSERT(rendezvous_ != nullptr); - rendezvous_->SafepointEnd(); -} - ScopedSuspendAllThreadsRunning::ScopedSuspendAllThreadsRunning(Rendezvous *rendezvous) : rendezvous_(rendezvous) { ASSERT(rendezvous_ != nullptr); diff --git a/runtime/mem/rendezvous.h b/runtime/mem/rendezvous.h index dd053f0..08c2a2e 100644 --- a/runtime/mem/rendezvous.h +++ b/runtime/mem/rendezvous.h @@ -59,10 +59,18 @@ private: NO_COPY_SEMANTIC(EmptyRendezvous); }; -class PANDA_PUBLIC_API ScopedSuspendAllThreads { +class ScopedSuspendAllThreads { public: - explicit ScopedSuspendAllThreads(Rendezvous *rendezvous) ACQUIRE(*Locks::mutator_lock); - ~ScopedSuspendAllThreads() RELEASE(*Locks::mutator_lock); + explicit ScopedSuspendAllThreads(Rendezvous *rendezvous) ACQUIRE(*Locks::mutator_lock) : rendezvous_(rendezvous) + { + ASSERT(rendezvous_ != nullptr); + rendezvous_->SafepointBegin(); + } + ~ScopedSuspendAllThreads() RELEASE(*Locks::mutator_lock) + { + ASSERT(rendezvous_ != nullptr); + rendezvous_->SafepointEnd(); + } NO_COPY_SEMANTIC(ScopedSuspendAllThreads); NO_MOVE_SEMANTIC(ScopedSuspendAllThreads);