From f4fe71c1c9e5f0c2eaa159f676efea3ae1953a22 Mon Sep 17 00:00:00 2001 From: bunnei Date: Tue, 18 May 2021 19:52:52 -0700 Subject: hle: kernel: hle_ipc: Simplify incoming/outgoing move/copy/domain objects. --- src/core/hle/kernel/hle_ipc.h | 43 +++++++++++-------------------------------- 1 file changed, 11 insertions(+), 32 deletions(-) (limited to 'src/core/hle/kernel/hle_ipc.h') diff --git a/src/core/hle/kernel/hle_ipc.h b/src/core/hle/kernel/hle_ipc.h index 51cd1a898..b47e363cc 100644 --- a/src/core/hle/kernel/hle_ipc.h +++ b/src/core/hle/kernel/hle_ipc.h @@ -11,7 +11,6 @@ #include #include #include -#include #include "common/assert.h" #include "common/common_types.h" @@ -289,23 +288,23 @@ public: bool CanWriteBuffer(std::size_t buffer_index = 0) const; Handle GetCopyHandle(std::size_t index) const { - return copy_handles.at(index); + return incoming_copy_handles.at(index); } Handle GetMoveHandle(std::size_t index) const { - return move_handles.at(index); + return incoming_move_handles.at(index); } void AddMoveObject(KAutoObject* object) { - move_objects.emplace_back(object); + outgoing_move_objects.emplace_back(object); } void AddCopyObject(KAutoObject* object) { - copy_objects.emplace_back(object); + outgoing_copy_objects.emplace_back(object); } void AddDomainObject(SessionRequestHandlerPtr object) { - domain_objects.emplace_back(std::move(object)); + outgoing_domain_objects.emplace_back(std::move(object)); } template @@ -317,26 +316,6 @@ public: manager = std::move(manager_); } - /// Clears the list of objects so that no lingering objects are written accidentally to the - /// response buffer. - void ClearIncomingObjects() { - move_objects.clear(); - copy_objects.clear(); - domain_objects.clear(); - } - - std::size_t NumMoveObjects() const { - return move_objects.size(); - } - - std::size_t NumCopyObjects() const { - return copy_objects.size(); - } - - std::size_t NumDomainObjects() const { - return domain_objects.size(); - } - std::string Description() const; KThread& GetThread() { @@ -356,12 +335,12 @@ private: Kernel::KServerSession* server_session{}; KThread* thread; - // TODO(yuriks): Check common usage of this and optimize size accordingly - boost::container::small_vector move_handles; - boost::container::small_vector copy_handles; - boost::container::small_vector move_objects; - boost::container::small_vector copy_objects; - boost::container::small_vector domain_objects; + std::vector incoming_move_handles; + std::vector incoming_copy_handles; + + std::vector outgoing_move_objects; + std::vector outgoing_copy_objects; + std::vector outgoing_domain_objects; std::optional command_header; std::optional handle_descriptor_header; -- cgit v1.2.3