mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-10-30 15:39:02 -05:00 
			
		
		
		
	Merge pull request #877 from lioncash/remove
kernel: Remove unused object_address_table.cpp/.h
This commit is contained in:
		| @@ -5,7 +5,6 @@ | ||||
| #include "core/hle/kernel/handle_table.h" | ||||
| #include "core/hle/kernel/kernel.h" | ||||
| #include "core/hle/kernel/memory.h" | ||||
| #include "core/hle/kernel/object_address_table.h" | ||||
| #include "core/hle/kernel/process.h" | ||||
| #include "core/hle/kernel/resource_limit.h" | ||||
| #include "core/hle/kernel/thread.h" | ||||
| @@ -33,7 +32,6 @@ void Init(u32 system_mode) { | ||||
| void Shutdown() { | ||||
|     // Free all kernel objects | ||||
|     g_handle_table.Clear(); | ||||
|     g_object_address_table.Clear(); | ||||
|  | ||||
|     Kernel::ThreadingShutdown(); | ||||
|  | ||||
|   | ||||
| @@ -14,7 +14,6 @@ | ||||
| #include "core/hle/kernel/handle_table.h" | ||||
| #include "core/hle/kernel/kernel.h" | ||||
| #include "core/hle/kernel/mutex.h" | ||||
| #include "core/hle/kernel/object_address_table.h" | ||||
| #include "core/hle/kernel/thread.h" | ||||
| #include "core/hle/result.h" | ||||
|  | ||||
|   | ||||
| @@ -1,36 +0,0 @@ | ||||
| // Copyright 2018 yuzu emulator team | ||||
| // Licensed under GPLv2 or any later version | ||||
| // Refer to the license.txt file included. | ||||
|  | ||||
| #include <utility> | ||||
|  | ||||
| #include "common/assert.h" | ||||
| #include "core/hle/kernel/object_address_table.h" | ||||
|  | ||||
| namespace Kernel { | ||||
|  | ||||
| ObjectAddressTable g_object_address_table; | ||||
|  | ||||
| void ObjectAddressTable::Insert(VAddr addr, SharedPtr<Object> obj) { | ||||
|     ASSERT_MSG(objects.find(addr) == objects.end(), "Object already exists with addr=0x{:X}", addr); | ||||
|     objects[addr] = std::move(obj); | ||||
| } | ||||
|  | ||||
| void ObjectAddressTable::Close(VAddr addr) { | ||||
|     ASSERT_MSG(objects.find(addr) != objects.end(), "Object does not exist with addr=0x{:X}", addr); | ||||
|     objects.erase(addr); | ||||
| } | ||||
|  | ||||
| SharedPtr<Object> ObjectAddressTable::GetGeneric(VAddr addr) const { | ||||
|     auto iter = objects.find(addr); | ||||
|     if (iter != objects.end()) { | ||||
|         return iter->second; | ||||
|     } | ||||
|     return {}; | ||||
| } | ||||
|  | ||||
| void ObjectAddressTable::Clear() { | ||||
|     objects.clear(); | ||||
| } | ||||
|  | ||||
| } // namespace Kernel | ||||
| @@ -1,62 +0,0 @@ | ||||
| // Copyright 2018 yuzu emulator team | ||||
| // Licensed under GPLv2 or any later version | ||||
| // Refer to the license.txt file included. | ||||
|  | ||||
| #pragma once | ||||
|  | ||||
| #include <map> | ||||
| #include "common/common_types.h" | ||||
| #include "core/hle/kernel/kernel.h" | ||||
|  | ||||
| namespace Kernel { | ||||
|  | ||||
| /** | ||||
|  * This class is used to keep a table of Kernel objects and their respective addresses in emulated | ||||
|  * memory. For certain Switch SVCs, Kernel objects are referenced by an address to an object the | ||||
|  * guest application manages, so we use this table to look these kernel objects up. This is similiar | ||||
|  * to the HandleTable class. | ||||
|  */ | ||||
| class ObjectAddressTable final : NonCopyable { | ||||
| public: | ||||
|     ObjectAddressTable() = default; | ||||
|  | ||||
|     /** | ||||
|      * Inserts an object and address pair into the table. | ||||
|      */ | ||||
|     void Insert(VAddr addr, SharedPtr<Object> obj); | ||||
|  | ||||
|     /** | ||||
|      * Closes an object by its address, removing it from the table and decreasing the object's | ||||
|      * ref-count. | ||||
|      * @return `RESULT_SUCCESS` or one of the following errors: | ||||
|      *           - `ERR_INVALID_HANDLE`: an invalid handle was passed in. | ||||
|      */ | ||||
|     void Close(VAddr addr); | ||||
|  | ||||
|     /** | ||||
|      * Looks up an object by its address. | ||||
|      * @return Pointer to the looked-up object, or `nullptr` if the handle is not valid. | ||||
|      */ | ||||
|     SharedPtr<Object> GetGeneric(VAddr addr) const; | ||||
|  | ||||
|     /** | ||||
|      * Looks up an object by its address while verifying its type. | ||||
|      * @return Pointer to the looked-up object, or `nullptr` if the handle is not valid or its | ||||
|      *         type differs from the requested one. | ||||
|      */ | ||||
|     template <class T> | ||||
|     SharedPtr<T> Get(VAddr addr) const { | ||||
|         return DynamicObjectCast<T>(GetGeneric(addr)); | ||||
|     } | ||||
|  | ||||
|     /// Closes all addresses held in this table. | ||||
|     void Clear(); | ||||
|  | ||||
| private: | ||||
|     /// Stores the Object referenced by the address | ||||
|     std::map<VAddr, SharedPtr<Object>> objects; | ||||
| }; | ||||
|  | ||||
| extern ObjectAddressTable g_object_address_table; | ||||
|  | ||||
| } // namespace Kernel | ||||
| @@ -20,7 +20,6 @@ | ||||
| #include "core/hle/kernel/event.h" | ||||
| #include "core/hle/kernel/handle_table.h" | ||||
| #include "core/hle/kernel/mutex.h" | ||||
| #include "core/hle/kernel/object_address_table.h" | ||||
| #include "core/hle/kernel/process.h" | ||||
| #include "core/hle/kernel/resource_limit.h" | ||||
| #include "core/hle/kernel/shared_memory.h" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 bunnei
					bunnei