Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,6 @@
[submodule "External/Catch2"]
path = External/Catch2
url = https://github.com/catchorg/Catch2.git
[submodule "External/robin-map"]
shallow = true
path = External/robin-map
url = https://github.com/FEX-Emu/robin-map.git
[submodule "External/Vulkan-Headers"]
shallow = true
path = External/Vulkan-Headers
Expand All @@ -49,3 +45,6 @@
[submodule "External/range-v3"]
path = External/range-v3
url = https://github.com/ericniebler/range-v3.git
[submodule "External/unordered_dense"]
path = External/unordered_dense
url = https://github.com/martinus/unordered_dense.git
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -303,7 +303,7 @@ set(CMAKE_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_LINKER_FLAGS_RELWITHDEBINFO} -fno
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fomit-frame-pointer")
set(CMAKE_LINKER_FLAGS_RELEASE "${CMAKE_LINKER_FLAGS_RELEASE} -fomit-frame-pointer")

include_directories(External/robin-map/include/)
include_directories(External/unordered_dense/include/)

include(CTest)
if (BUILD_TESTING OR ENABLE_VIXL_DISASSEMBLER OR ENABLE_VIXL_SIMULATOR)
Expand Down
1 change: 0 additions & 1 deletion External/robin-map
Submodule robin-map deleted from d5683d
1 change: 1 addition & 0 deletions External/unordered_dense
Submodule unordered_dense added at 3234af
8 changes: 4 additions & 4 deletions FEXCore/Source/Interface/Core/LookupCache.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@

#include <FEXCore/fextl/map.h>
#include <FEXCore/fextl/memory_resource.h>
#include <FEXCore/fextl/robin_map.h>
#include <FEXCore/fextl/robin_set.h>
#include <FEXCore/fextl/unordered_map.h>
#include <FEXCore/fextl/unordered_set.h>
#include <FEXCore/fextl/vector.h>
#include <FEXCore/fextl/memory_resource.h>

Expand Down Expand Up @@ -86,7 +86,7 @@ struct GuestToHostMap {
fextl::vector<uint64_t> CodePages;
};

fextl::robin_map<uint64_t, BlockEntry> BlockList;
fextl::unordered_map<uint64_t, BlockEntry> BlockList;

fextl::map<uint64_t, fextl::vector<uint64_t>> CodePages;

Expand Down Expand Up @@ -438,7 +438,7 @@ class LookupCache {
}

// Maps from a page index to all blocks in the page that have at some point been fetched into L1/L2
fextl::map<uint64_t, fextl::robin_set<uint64_t>> CachedCodePages;
fextl::map<uint64_t, fextl::unordered_set<uint64_t>> CachedCodePages;

uintptr_t PagePointer;
uintptr_t PageMemory;
Expand Down
10 changes: 0 additions & 10 deletions FEXCore/include/FEXCore/fextl/robin_map.h

This file was deleted.

10 changes: 0 additions & 10 deletions FEXCore/include/FEXCore/fextl/robin_set.h

This file was deleted.

9 changes: 3 additions & 6 deletions FEXCore/include/FEXCore/fextl/unordered_map.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,9 @@
#pragma once
#include <FEXCore/fextl/allocator.h>

#include <unordered_map>
#include <ankerl/unordered_dense.h>

namespace fextl {
template<class Key, class T, class Hash = std::hash<Key>, class KeyEqual = std::equal_to<Key>, class Allocator = fextl::FEXAlloc<std::pair<const Key, T>>>
using unordered_map = std::unordered_map<Key, T, Hash, KeyEqual, Allocator>;

template<class Key, class T, class Hash = std::hash<Key>, class KeyEqual = std::equal_to<Key>, class Allocator = fextl::FEXAlloc<std::pair<const Key, T>>>
using unordered_multimap = std::unordered_multimap<Key, T, Hash, KeyEqual, Allocator>;
template<class Key, class T, class Hash = std::hash<Key>, class KeyEqual = std::equal_to<Key>, class Allocator = fextl::FEXAlloc<std::pair<Key, T>>>
using unordered_map = ankerl::unordered_dense::map<Key, T, Hash, KeyEqual, Allocator>;
} // namespace fextl
7 changes: 2 additions & 5 deletions FEXCore/include/FEXCore/fextl/unordered_set.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,9 @@
#pragma once
#include <FEXCore/fextl/allocator.h>

#include <unordered_set>
#include <ankerl/unordered_dense.h>

namespace fextl {
template<class Key, class Hash = std::hash<Key>, class KeyEqual = std::equal_to<Key>, class Allocator = fextl::FEXAlloc<Key>>
using unordered_set = std::unordered_set<Key, Hash, KeyEqual, Allocator>;

template<class Key, class Hash = std::hash<Key>, class KeyEqual = std::equal_to<Key>, class Allocator = fextl::FEXAlloc<Key>>
using unordered_multiset = std::unordered_multiset<Key, Hash, KeyEqual, Allocator>;
using unordered_set = ankerl::unordered_dense::set<Key, Hash, KeyEqual, Allocator>;
} // namespace fextl
Loading