Remove core dn layer
This commit is contained in:
+18
-18
@@ -51,9 +51,9 @@ DN_API void *DN_OS_MemReserve(DN_USize size, DN_MemCommit commit, DN_U32 page_fl
|
||||
|
||||
void *result = VirtualAlloc(nullptr, size, flags, os_page_flags);
|
||||
if (flags & MEM_COMMIT) {
|
||||
DN_Assert(g_dn_os_core_);
|
||||
DN_AtomicAddU64(&g_dn_os_core_->vmem_allocs_total, 1);
|
||||
DN_AtomicAddU64(&g_dn_os_core_->vmem_allocs_frame, 1);
|
||||
DN_Assert(g_dn_);
|
||||
DN_AtomicAddU64(&g_dn_->os.vmem_allocs_total, 1);
|
||||
DN_AtomicAddU64(&g_dn_->os.vmem_allocs_frame, 1);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
@@ -65,9 +65,9 @@ DN_API bool DN_OS_MemCommit(void *ptr, DN_USize size, DN_U32 page_flags)
|
||||
return false;
|
||||
unsigned long os_page_flags = DN_OS_MemConvertPageToOSFlags_(page_flags);
|
||||
result = VirtualAlloc(ptr, size, MEM_COMMIT, os_page_flags) != nullptr;
|
||||
DN_Assert(g_dn_os_core_);
|
||||
DN_AtomicAddU64(&g_dn_os_core_->vmem_allocs_total, 1);
|
||||
DN_AtomicAddU64(&g_dn_os_core_->vmem_allocs_frame, 1);
|
||||
DN_Assert(g_dn_);
|
||||
DN_AtomicAddU64(&g_dn_->os.vmem_allocs_total, 1);
|
||||
DN_AtomicAddU64(&g_dn_->os.vmem_allocs_frame, 1);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -95,8 +95,8 @@ DN_API int DN_OS_MemProtect(void *ptr, DN_USize size, DN_U32 page_flags)
|
||||
|
||||
static DN_Str8 const ALIGNMENT_ERROR_MSG =
|
||||
DN_Str8Lit("Page protection requires pointers to be page aligned because we can only guard memory at a multiple of the page boundary.");
|
||||
DN_AssertF(DN_IsPowerOfTwoAligned(DN_Cast(uintptr_t) ptr, g_dn_os_core_->page_size), "%s", ALIGNMENT_ERROR_MSG.data);
|
||||
DN_AssertF(DN_IsPowerOfTwoAligned(size, g_dn_os_core_->page_size), "%s", ALIGNMENT_ERROR_MSG.data);
|
||||
DN_AssertF(DN_IsPowerOfTwoAligned(DN_Cast(uintptr_t) ptr, g_dn_->os.page_size), "%s", ALIGNMENT_ERROR_MSG.data);
|
||||
DN_AssertF(DN_IsPowerOfTwoAligned(size, g_dn_->os.page_size), "%s", ALIGNMENT_ERROR_MSG.data);
|
||||
|
||||
unsigned long os_page_flags = DN_OS_MemConvertPageToOSFlags_(page_flags);
|
||||
unsigned long prev_flags = 0;
|
||||
@@ -113,9 +113,9 @@ DN_API void *DN_OS_MemAlloc(DN_USize size, DN_ZMem z_mem)
|
||||
DN_U32 flags = z_mem == DN_ZMem_Yes ? HEAP_ZERO_MEMORY : 0;
|
||||
DN_Assert(size <= DN_Cast(DWORD)(-1));
|
||||
void *result = HeapAlloc(GetProcessHeap(), flags, DN_Cast(DWORD) size);
|
||||
DN_Assert(g_dn_os_core_);
|
||||
DN_AtomicAddU64(&g_dn_os_core_->mem_allocs_total, 1);
|
||||
DN_AtomicAddU64(&g_dn_os_core_->mem_allocs_frame, 1);
|
||||
DN_Assert(g_dn_);
|
||||
DN_AtomicAddU64(&g_dn_->os.mem_allocs_total, 1);
|
||||
DN_AtomicAddU64(&g_dn_->os.mem_allocs_frame, 1);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -225,8 +225,8 @@ DN_API DN_OSDateTime DN_OS_DateUnixTimeSToDate(DN_U64 time)
|
||||
|
||||
DN_API void DN_OS_GenBytesSecure(void *buffer, DN_U32 size)
|
||||
{
|
||||
DN_Assert(g_dn_os_core_);
|
||||
DN_W32Core *w32 = DN_Cast(DN_W32Core *) g_dn_os_core_->platform_context;
|
||||
DN_Assert(g_dn_);
|
||||
DN_W32Core *w32 = DN_Cast(DN_W32Core *) g_dn_->os.platform_context;
|
||||
DN_Assert(w32->bcrypt_init_success);
|
||||
|
||||
long gen_status = BCryptGenRandom(w32->bcrypt_rng_handle, DN_Cast(unsigned char *) buffer, size, 0 /*flags*/);
|
||||
@@ -283,8 +283,8 @@ DN_API void DN_OS_SleepMs(DN_UInt milliseconds)
|
||||
|
||||
DN_API DN_U64 DN_OS_PerfCounterFrequency()
|
||||
{
|
||||
DN_Assert(g_dn_os_core_);
|
||||
DN_W32Core *w32 = DN_Cast(DN_W32Core *) g_dn_os_core_->platform_context;
|
||||
DN_Assert(g_dn_);
|
||||
DN_W32Core *w32 = DN_Cast(DN_W32Core *) g_dn_->os.platform_context;
|
||||
DN_Assert(w32->qpc_frequency.QuadPart);
|
||||
DN_U64 result = w32->qpc_frequency.QuadPart;
|
||||
return result;
|
||||
@@ -1002,8 +1002,8 @@ DN_API DN_OSExecAsyncHandle DN_OS_ExecAsync(DN_Slice<DN_Str8> cmd_line, DN_OSExe
|
||||
|
||||
static DN_W32Core *DN_OS_GetW32Core_()
|
||||
{
|
||||
DN_Assert(g_dn_os_core_ && g_dn_os_core_->platform_context);
|
||||
DN_W32Core *result = DN_Cast(DN_W32Core *)g_dn_os_core_->platform_context;
|
||||
DN_Assert(g_dn_ && g_dn_->os.platform_context);
|
||||
DN_W32Core *result = DN_Cast(DN_W32Core *)g_dn_->os.platform_context;
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -1033,7 +1033,7 @@ static DN_W32SyncPrimitive *DN_W32_AllocSyncPrimitive_()
|
||||
w32->sync_primitive_free_list = w32->sync_primitive_free_list->next;
|
||||
result->next = nullptr;
|
||||
} else {
|
||||
DN_OSCore *os = g_dn_os_core_;
|
||||
DN_OSCore *os = &g_dn_->os;
|
||||
result = DN_ArenaNew(&os->arena, DN_W32SyncPrimitive, DN_ZMem_Yes);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user