kernel/thread: Remove unused guest_handle member variable

This member variable is entirely unused. It was only set but never
actually utilized. Given that, we can remove it to get rid of noise in
the thread interface.
This commit is contained in:
Lioncash 2019-04-14 06:06:04 -04:00
parent 1f4dfb3998
commit 09caf8a756
3 changed files with 7 additions and 16 deletions

View file

@ -40,9 +40,8 @@ void SetupMainThread(Process& owner_process, KernelCore& kernel, VAddr entry_poi
SharedPtr<Thread> thread = std::move(thread_res).Unwrap(); SharedPtr<Thread> thread = std::move(thread_res).Unwrap();
// Register 1 must be a handle to the main thread // Register 1 must be a handle to the main thread
const Handle guest_handle = owner_process.GetHandleTable().Create(thread).Unwrap(); const Handle thread_handle = owner_process.GetHandleTable().Create(thread).Unwrap();
thread->SetGuestHandle(guest_handle); thread->GetContext().cpu_registers[1] = thread_handle;
thread->GetContext().cpu_registers[1] = guest_handle;
// Threads by default are dormant, wake up the main thread so it runs when the scheduler fires // Threads by default are dormant, wake up the main thread so it runs when the scheduler fires
thread->ResumeFromWait(); thread->ResumeFromWait();

View file

@ -1250,14 +1250,13 @@ static ResultCode CreateThread(Core::System& system, Handle* out_handle, VAddr e
Thread::Create(kernel, name, entry_point, priority, arg, processor_id, stack_top, Thread::Create(kernel, name, entry_point, priority, arg, processor_id, stack_top,
*current_process)); *current_process));
const auto new_guest_handle = current_process->GetHandleTable().Create(thread); const auto new_thread_handle = current_process->GetHandleTable().Create(thread);
if (new_guest_handle.Failed()) { if (new_thread_handle.Failed()) {
LOG_ERROR(Kernel_SVC, "Failed to create handle with error=0x{:X}", LOG_ERROR(Kernel_SVC, "Failed to create handle with error=0x{:X}",
new_guest_handle.Code().raw); new_thread_handle.Code().raw);
return new_guest_handle.Code(); return new_thread_handle.Code();
} }
thread->SetGuestHandle(*new_guest_handle); *out_handle = *new_thread_handle;
*out_handle = *new_guest_handle;
system.CpuCore(thread->GetProcessorID()).PrepareReschedule(); system.CpuCore(thread->GetProcessorID()).PrepareReschedule();

View file

@ -345,10 +345,6 @@ public:
arb_wait_address = address; arb_wait_address = address;
} }
void SetGuestHandle(Handle handle) {
guest_handle = handle;
}
bool HasWakeupCallback() const { bool HasWakeupCallback() const {
return wakeup_callback != nullptr; return wakeup_callback != nullptr;
} }
@ -442,9 +438,6 @@ private:
/// If waiting for an AddressArbiter, this is the address being waited on. /// If waiting for an AddressArbiter, this is the address being waited on.
VAddr arb_wait_address{0}; VAddr arb_wait_address{0};
/// Handle used by guest emulated application to access this thread
Handle guest_handle = 0;
/// Handle used as userdata to reference this object when inserting into the CoreTiming queue. /// Handle used as userdata to reference this object when inserting into the CoreTiming queue.
Handle callback_handle = 0; Handle callback_handle = 0;