diff options
-rw-r--r-- | compat/defs.hpp | 6 | ||||
-rw-r--r-- | src/world.cpp | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/compat/defs.hpp b/compat/defs.hpp index f4c440f8..585c45d1 100644 --- a/compat/defs.hpp +++ b/compat/defs.hpp @@ -47,3 +47,9 @@ #define fm_DECLARE_DEFAULT_MOVE_COPY_ASSIGNMENTS_(type) \ [[maybe_unused]] fm_DECLARE_DEFAULT_MOVE_ASSIGNMENT_(type); \ [[maybe_unused]] fm_DECLARE_DEFAULT_COPY_ASSIGNMENT_(type) + +#ifdef _MSC_VER +# define fm_noinline __declspec(noinline) +#else +# define fm_noinline __attribute__((noinline)) +#endif diff --git a/src/world.cpp b/src/world.cpp index 39b47db1..454f8e68 100644 --- a/src/world.cpp +++ b/src/world.cpp @@ -12,6 +12,7 @@ world::world(std::size_t capacity) : _chunks{capacity, hasher} _chunks.max_load_factor(max_load_factor); } +fm_noinline chunk& world::operator[](chunk_coords coord) noexcept { maybe_collect(); |