From c4ba088a5df13ff4b4d8853216231d690f2c79c0 Mon Sep 17 00:00:00 2001 From: Liam Date: Thu, 23 Feb 2023 15:49:42 -0500 Subject: kernel: refactor priority inheritance to represent locks as C++ objects --- src/core/hle/kernel/kernel.h | 67 ++------------------------------------------ 1 file changed, 2 insertions(+), 65 deletions(-) (limited to 'src/core/hle/kernel/kernel.h') diff --git a/src/core/hle/kernel/kernel.h b/src/core/hle/kernel/kernel.h index 4449f6949..1b380a07b 100644 --- a/src/core/hle/kernel/kernel.h +++ b/src/core/hle/kernel/kernel.h @@ -305,49 +305,7 @@ public: /// Gets the slab heap for the specified kernel object type. template - KSlabHeap& SlabHeap() { - if constexpr (std::is_same_v) { - return slab_heap_container->client_session; - } else if constexpr (std::is_same_v) { - return slab_heap_container->event; - } else if constexpr (std::is_same_v) { - return slab_heap_container->linked_list_node; - } else if constexpr (std::is_same_v) { - return slab_heap_container->port; - } else if constexpr (std::is_same_v) { - return slab_heap_container->process; - } else if constexpr (std::is_same_v) { - return slab_heap_container->resource_limit; - } else if constexpr (std::is_same_v) { - return slab_heap_container->session; - } else if constexpr (std::is_same_v) { - return slab_heap_container->shared_memory; - } else if constexpr (std::is_same_v) { - return slab_heap_container->shared_memory_info; - } else if constexpr (std::is_same_v) { - return slab_heap_container->thread; - } else if constexpr (std::is_same_v) { - return slab_heap_container->transfer_memory; - } else if constexpr (std::is_same_v) { - return slab_heap_container->code_memory; - } else if constexpr (std::is_same_v) { - return slab_heap_container->device_address_space; - } else if constexpr (std::is_same_v) { - return slab_heap_container->page_buffer; - } else if constexpr (std::is_same_v) { - return slab_heap_container->thread_local_page; - } else if constexpr (std::is_same_v) { - return slab_heap_container->object_name; - } else if constexpr (std::is_same_v) { - return slab_heap_container->session_request; - } else if constexpr (std::is_same_v) { - return slab_heap_container->secure_system_resource; - } else if constexpr (std::is_same_v) { - return slab_heap_container->event_info; - } else if constexpr (std::is_same_v) { - return slab_heap_container->debug; - } - } + KSlabHeap& SlabHeap(); /// Gets the current slab resource counts. Init::KSlabResourceCounts& SlabResourceCounts(); @@ -393,28 +351,7 @@ private: private: /// Helper to encapsulate all slab heaps in a single heap allocated container - struct SlabHeapContainer { - KSlabHeap client_session; - KSlabHeap event; - KSlabHeap linked_list_node; - KSlabHeap port; - KSlabHeap process; - KSlabHeap resource_limit; - KSlabHeap session; - KSlabHeap shared_memory; - KSlabHeap shared_memory_info; - KSlabHeap thread; - KSlabHeap transfer_memory; - KSlabHeap code_memory; - KSlabHeap device_address_space; - KSlabHeap page_buffer; - KSlabHeap thread_local_page; - KSlabHeap object_name; - KSlabHeap session_request; - KSlabHeap secure_system_resource; - KSlabHeap event_info; - KSlabHeap debug; - }; + struct SlabHeapContainer; std::unique_ptr slab_heap_container; }; -- cgit v1.2.3