Merge pull request #2077 from lioncash/virt

kernel/wait_object: Devirtualize functions related to manipulating the thread list directly
This commit is contained in:
bunnei 2019-01-31 15:19:02 -05:00 committed by GitHub
commit db21ac2627
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 3 additions and 15 deletions

View file

@ -44,8 +44,4 @@ ResultCode ReadableEvent::Reset() {
return RESULT_SUCCESS; return RESULT_SUCCESS;
} }
void ReadableEvent::WakeupAllWaitingThreads() {
WaitObject::WakeupAllWaitingThreads();
}
} // namespace Kernel } // namespace Kernel

View file

@ -39,8 +39,6 @@ public:
bool ShouldWait(Thread* thread) const override; bool ShouldWait(Thread* thread) const override;
void Acquire(Thread* thread) override; void Acquire(Thread* thread) override;
void WakeupAllWaitingThreads() override;
/// Unconditionally clears the readable event's state. /// Unconditionally clears the readable event's state.
void Clear(); void Clear();

View file

@ -66,10 +66,6 @@ void Timer::Clear() {
signaled = false; signaled = false;
} }
void Timer::WakeupAllWaitingThreads() {
WaitObject::WakeupAllWaitingThreads();
}
void Timer::Signal(int cycles_late) { void Timer::Signal(int cycles_late) {
LOG_TRACE(Kernel, "Timer {} fired", GetObjectId()); LOG_TRACE(Kernel, "Timer {} fired", GetObjectId());

View file

@ -51,8 +51,6 @@ public:
bool ShouldWait(Thread* thread) const override; bool ShouldWait(Thread* thread) const override;
void Acquire(Thread* thread) override; void Acquire(Thread* thread) override;
void WakeupAllWaitingThreads() override;
/** /**
* Starts the timer, with the specified initial delay and interval. * Starts the timer, with the specified initial delay and interval.
* @param initial Delay until the timer is first fired * @param initial Delay until the timer is first fired

View file

@ -33,19 +33,19 @@ public:
* Add a thread to wait on this object * Add a thread to wait on this object
* @param thread Pointer to thread to add * @param thread Pointer to thread to add
*/ */
virtual void AddWaitingThread(SharedPtr<Thread> thread); void AddWaitingThread(SharedPtr<Thread> thread);
/** /**
* Removes a thread from waiting on this object (e.g. if it was resumed already) * Removes a thread from waiting on this object (e.g. if it was resumed already)
* @param thread Pointer to thread to remove * @param thread Pointer to thread to remove
*/ */
virtual void RemoveWaitingThread(Thread* thread); void RemoveWaitingThread(Thread* thread);
/** /**
* Wake up all threads waiting on this object that can be awoken, in priority order, * Wake up all threads waiting on this object that can be awoken, in priority order,
* and set the synchronization result and output of the thread. * and set the synchronization result and output of the thread.
*/ */
virtual void WakeupAllWaitingThreads(); void WakeupAllWaitingThreads();
/** /**
* Wakes up a single thread waiting on this object. * Wakes up a single thread waiting on this object.