forked from eden-emu/eden
		
	kernel: Remove unused object_address_table.cpp/.h
These source files were entirely unused throughout the rest of the codebase. This also has the benefit of getting rid of a global variable as well.
This commit is contained in:
		
							parent
							
								
									18dd56c38d
								
							
						
					
					
						commit
						ea4e7b7fc5
					
				
					 6 changed files with 0 additions and 104 deletions
				
			
		|  | @ -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(); | ||||
| 
 | ||||
|  |  | |||
|  | @ -11,7 +11,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" | ||||
| 
 | ||||
| namespace Kernel { | ||||
|  |  | |||
|  | @ -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
 | ||||
|  | @ -17,7 +17,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" | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Lioncash
						Lioncash