MCPcopy Create free account
hub / github.com/emscripten-core/emscripten / _mi_prim_commit

Function _mi_prim_commit

system/lib/mimalloc/src/prim/windows/prim.c:368–383  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

366#endif
367
368int _mi_prim_commit(void* addr, size_t size, bool* is_zero) {
369 *is_zero = false;
370 /*
371 // zero'ing only happens on an initial commit... but checking upfront seems expensive..
372 _MEMORY_BASIC_INFORMATION meminfo; _mi_memzero_var(meminfo);
373 if (VirtualQuery(addr, &meminfo, size) > 0) {
374 if ((meminfo.State & MEM_COMMIT) == 0) {
375 *is_zero = true;
376 }
377 }
378 */
379 // commit
380 void* p = VirtualAlloc(addr, size, MEM_COMMIT, PAGE_READWRITE);
381 if (p == NULL) return (int)GetLastError();
382 return 0;
383}
384
385int _mi_prim_decommit(void* addr, size_t size, bool* needs_recommit) {
386 BOOL ok = VirtualFree(addr, size, MEM_DECOMMIT);

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected