mirror of
https://github.com/Atmosphere-NX/Atmosphere.git
synced 2025-05-21 02:15:07 -04:00
kern: avoid constexpr init for many objects (avoids unnecessary memory clear) (#1668)
This commit is contained in:
parent
20716cb3de
commit
36e4914be8
77 changed files with 489 additions and 339 deletions
|
@ -973,7 +973,7 @@ namespace ams::kern {
|
|||
|
||||
/* Get the request and client thread. */
|
||||
KSessionRequest *request;
|
||||
KScopedAutoObject<KThread> client_thread;
|
||||
KThread *client_thread;
|
||||
{
|
||||
KScopedSchedulerLock sl;
|
||||
|
||||
|
@ -991,9 +991,13 @@ namespace ams::kern {
|
|||
m_request_list.pop_front();
|
||||
|
||||
/* Get the thread for the request. */
|
||||
client_thread = KScopedAutoObject<KThread>(request->GetThread());
|
||||
R_UNLESS(client_thread.IsNotNull(), svc::ResultSessionClosed());
|
||||
client_thread = request->GetThread();
|
||||
R_UNLESS(client_thread != nullptr, svc::ResultSessionClosed());
|
||||
|
||||
/* Open the client thread. */
|
||||
client_thread->Open();
|
||||
}
|
||||
ON_SCOPE_EXIT { client_thread->Close(); };
|
||||
|
||||
/* Set the request as our current. */
|
||||
m_current_request = request;
|
||||
|
@ -1004,7 +1008,7 @@ namespace ams::kern {
|
|||
bool recv_list_broken = false;
|
||||
|
||||
/* Receive the message. */
|
||||
Result result = ReceiveMessage(recv_list_broken, server_message, server_buffer_size, server_message_paddr, *client_thread.GetPointerUnsafe(), client_message, client_buffer_size, this, request);
|
||||
Result result = ReceiveMessage(recv_list_broken, server_message, server_buffer_size, server_message_paddr, *client_thread, client_message, client_buffer_size, this, request);
|
||||
|
||||
/* Handle cleanup on receive failure. */
|
||||
if (R_FAILED(result)) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue