Explorar o código

Large page support for FreeBSD (#74)

tevador %!s(int64=7) %!d(string=hai) anos
pai
achega
118f3054ea
Modificáronse 1 ficheiros con 2 adicións e 0 borrados
  1. 2 0
      src/virtual_memory.cpp

+ 2 - 0
src/virtual_memory.cpp

@@ -115,6 +115,8 @@ void* allocLargePagesMemory(std::size_t bytes) {
 #else
 #ifdef __APPLE__
 	mem = mmap(nullptr, bytes, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, VM_FLAGS_SUPERPAGE_SIZE_2MB, 0);
+#elif defined(__FreeBSD__)
+	mem = mmap(nullptr, bytes, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS | MAP_ALIGNED_SUPER, -1, 0);
 #else
 	mem = mmap(nullptr, bytes, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS | MAP_HUGETLB | MAP_POPULATE, -1, 0);
 #endif