Browse Source

kernel/thread: Avoid sign conversion within GetCommandBufferAddress()

Previously this was performing a u64 + int sign conversion. When dealing
with addresses, we should generally be keeping the arithmetic in the
same signedness type.

This also gets rid of the static lifetime of the constant, as there's no
need to make a trivial type like this potentially live for the entire
duration of the program.
nce_cpp
Lioncash 7 years ago
parent
commit
2cdd110a6c
  1. 4
      src/core/hle/kernel/thread.cpp

4
src/core/hle/kernel/thread.cpp

@ -237,8 +237,8 @@ s32 Thread::GetWaitObjectIndex(const WaitObject* object) const {
VAddr Thread::GetCommandBufferAddress() const {
// 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) {

Loading…
Cancel
Save