Просмотр исходного кода

Merge pull request #2314 from lioncash/const

kernel/thread: Minor interface cleanup
bunnei 7 лет назад
Родитель
Сommit
74a4a50470

+ 1 - 1
src/core/hle/kernel/process.cpp

@@ -257,7 +257,7 @@ void Process::Acquire(Thread* thread) {
     ASSERT_MSG(!ShouldWait(thread), "Object unavailable!");
     ASSERT_MSG(!ShouldWait(thread), "Object unavailable!");
 }
 }
 
 
-bool Process::ShouldWait(Thread* thread) const {
+bool Process::ShouldWait(const Thread* thread) const {
     return !is_signaled;
     return !is_signaled;
 }
 }
 
 

+ 1 - 1
src/core/hle/kernel/process.h

@@ -251,7 +251,7 @@ private:
     ~Process() override;
     ~Process() override;
 
 
     /// Checks if the specified thread should wait until this process is available.
     /// Checks if the specified thread should wait until this process is available.
-    bool ShouldWait(Thread* thread) const override;
+    bool ShouldWait(const Thread* thread) const override;
 
 
     /// Acquires/locks this process for the specified thread if it's available.
     /// Acquires/locks this process for the specified thread if it's available.
     void Acquire(Thread* thread) override;
     void Acquire(Thread* thread) override;

+ 1 - 1
src/core/hle/kernel/readable_event.cpp

@@ -14,7 +14,7 @@ namespace Kernel {
 ReadableEvent::ReadableEvent(KernelCore& kernel) : WaitObject{kernel} {}
 ReadableEvent::ReadableEvent(KernelCore& kernel) : WaitObject{kernel} {}
 ReadableEvent::~ReadableEvent() = default;
 ReadableEvent::~ReadableEvent() = default;
 
 
-bool ReadableEvent::ShouldWait(Thread* thread) const {
+bool ReadableEvent::ShouldWait(const Thread* thread) const {
     return !signaled;
     return !signaled;
 }
 }
 
 

+ 1 - 1
src/core/hle/kernel/readable_event.h

@@ -36,7 +36,7 @@ public:
         return HANDLE_TYPE;
         return HANDLE_TYPE;
     }
     }
 
 
-    bool ShouldWait(Thread* thread) const override;
+    bool ShouldWait(const Thread* thread) const override;
     void Acquire(Thread* thread) override;
     void Acquire(Thread* thread) override;
 
 
     /// Unconditionally clears the readable event's state.
     /// Unconditionally clears the readable event's state.

+ 1 - 1
src/core/hle/kernel/server_port.cpp

@@ -30,7 +30,7 @@ void ServerPort::AppendPendingSession(SharedPtr<ServerSession> pending_session)
     pending_sessions.push_back(std::move(pending_session));
     pending_sessions.push_back(std::move(pending_session));
 }
 }
 
 
-bool ServerPort::ShouldWait(Thread* thread) const {
+bool ServerPort::ShouldWait(const Thread* thread) const {
     // If there are no pending sessions, we wait until a new one is added.
     // If there are no pending sessions, we wait until a new one is added.
     return pending_sessions.empty();
     return pending_sessions.empty();
 }
 }

+ 1 - 1
src/core/hle/kernel/server_port.h

@@ -75,7 +75,7 @@ public:
     /// waiting to be accepted by this port.
     /// waiting to be accepted by this port.
     void AppendPendingSession(SharedPtr<ServerSession> pending_session);
     void AppendPendingSession(SharedPtr<ServerSession> pending_session);
 
 
-    bool ShouldWait(Thread* thread) const override;
+    bool ShouldWait(const Thread* thread) const override;
     void Acquire(Thread* thread) override;
     void Acquire(Thread* thread) override;
 
 
 private:
 private:

+ 1 - 1
src/core/hle/kernel/server_session.cpp

@@ -46,7 +46,7 @@ ResultVal<SharedPtr<ServerSession>> ServerSession::Create(KernelCore& kernel, st
     return MakeResult(std::move(server_session));
     return MakeResult(std::move(server_session));
 }
 }
 
 
-bool ServerSession::ShouldWait(Thread* thread) const {
+bool ServerSession::ShouldWait(const Thread* thread) const {
     // Closed sessions should never wait, an error will be returned from svcReplyAndReceive.
     // Closed sessions should never wait, an error will be returned from svcReplyAndReceive.
     if (parent->client == nullptr)
     if (parent->client == nullptr)
         return false;
         return false;

+ 1 - 1
src/core/hle/kernel/server_session.h

@@ -82,7 +82,7 @@ public:
      */
      */
     ResultCode HandleSyncRequest(SharedPtr<Thread> thread);
     ResultCode HandleSyncRequest(SharedPtr<Thread> thread);
 
 
-    bool ShouldWait(Thread* thread) const override;
+    bool ShouldWait(const Thread* thread) const override;
 
 
     void Acquire(Thread* thread) override;
     void Acquire(Thread* thread) override;
 
 

+ 6 - 6
src/core/hle/kernel/thread.cpp

@@ -28,7 +28,7 @@
 
 
 namespace Kernel {
 namespace Kernel {
 
 
-bool Thread::ShouldWait(Thread* thread) const {
+bool Thread::ShouldWait(const Thread* thread) const {
     return status != ThreadStatus::Dead;
     return status != ThreadStatus::Dead;
 }
 }
 
 
@@ -233,16 +233,16 @@ void Thread::SetWaitSynchronizationOutput(s32 output) {
     context.cpu_registers[1] = output;
     context.cpu_registers[1] = output;
 }
 }
 
 
-s32 Thread::GetWaitObjectIndex(WaitObject* object) const {
+s32 Thread::GetWaitObjectIndex(const WaitObject* object) const {
     ASSERT_MSG(!wait_objects.empty(), "Thread is not waiting for anything");
     ASSERT_MSG(!wait_objects.empty(), "Thread is not waiting for anything");
-    auto match = std::find(wait_objects.rbegin(), wait_objects.rend(), object);
+    const auto match = std::find(wait_objects.rbegin(), wait_objects.rend(), object);
     return static_cast<s32>(std::distance(match, wait_objects.rend()) - 1);
     return static_cast<s32>(std::distance(match, wait_objects.rend()) - 1);
 }
 }
 
 
 VAddr Thread::GetCommandBufferAddress() const {
 VAddr Thread::GetCommandBufferAddress() const {
     // Offset from the start of TLS at which the IPC command buffer begins.
     // Offset from the start of TLS at which the IPC command buffer begins.
-    static constexpr int CommandHeaderOffset = 0x80;
-    return GetTLSAddress() + CommandHeaderOffset;
+    constexpr u64 command_header_offset = 0x80;
+    return GetTLSAddress() + command_header_offset;
 }
 }
 
 
 void Thread::SetStatus(ThreadStatus new_status) {
 void Thread::SetStatus(ThreadStatus new_status) {
@@ -371,7 +371,7 @@ void Thread::ChangeScheduler() {
     system.CpuCore(processor_id).PrepareReschedule();
     system.CpuCore(processor_id).PrepareReschedule();
 }
 }
 
 
-bool Thread::AllWaitObjectsReady() {
+bool Thread::AllWaitObjectsReady() const {
     return std::none_of(
     return std::none_of(
         wait_objects.begin(), wait_objects.end(),
         wait_objects.begin(), wait_objects.end(),
         [this](const SharedPtr<WaitObject>& object) { return object->ShouldWait(this); });
         [this](const SharedPtr<WaitObject>& object) { return object->ShouldWait(this); });

+ 3 - 3
src/core/hle/kernel/thread.h

@@ -111,7 +111,7 @@ public:
         return HANDLE_TYPE;
         return HANDLE_TYPE;
     }
     }
 
 
-    bool ShouldWait(Thread* thread) const override;
+    bool ShouldWait(const Thread* thread) const override;
     void Acquire(Thread* thread) override;
     void Acquire(Thread* thread) override;
 
 
     /**
     /**
@@ -205,7 +205,7 @@ public:
      * object in the list.
      * object in the list.
      * @param object Object to query the index of.
      * @param object Object to query the index of.
      */
      */
-    s32 GetWaitObjectIndex(WaitObject* object) const;
+    s32 GetWaitObjectIndex(const WaitObject* object) const;
 
 
     /**
     /**
      * Stops a thread, invalidating it from further use
      * Stops a thread, invalidating it from further use
@@ -299,7 +299,7 @@ public:
     }
     }
 
 
     /// Determines whether all the objects this thread is waiting on are ready.
     /// Determines whether all the objects this thread is waiting on are ready.
-    bool AllWaitObjectsReady();
+    bool AllWaitObjectsReady() const;
 
 
     const MutexWaitingThreads& GetMutexWaitingThreads() const {
     const MutexWaitingThreads& GetMutexWaitingThreads() const {
         return wait_mutex_threads;
         return wait_mutex_threads;

+ 1 - 1
src/core/hle/kernel/wait_object.h

@@ -24,7 +24,7 @@ public:
      * @param thread The thread about which we're deciding.
      * @param thread The thread about which we're deciding.
      * @return True if the current thread should wait due to this object being unavailable
      * @return True if the current thread should wait due to this object being unavailable
      */
      */
-    virtual bool ShouldWait(Thread* thread) const = 0;
+    virtual bool ShouldWait(const Thread* thread) const = 0;
 
 
     /// Acquire/lock the object for the specified thread if it is available
     /// Acquire/lock the object for the specified thread if it is available
     virtual void Acquire(Thread* thread) = 0;
     virtual void Acquire(Thread* thread) = 0;