mirror of
https://github.com/microsoft/mimalloc.git
synced 2025-05-05 06:59:32 +03:00
more comments
This commit is contained in:
parent
c0c762611c
commit
ec5f4904b0
3 changed files with 24 additions and 0 deletions
|
@ -8,6 +8,12 @@ terms of the MIT license. A copy of the license can be found in the file
|
||||||
#ifndef MIMALLOC_INTERNAL_H
|
#ifndef MIMALLOC_INTERNAL_H
|
||||||
#define MIMALLOC_INTERNAL_H
|
#define MIMALLOC_INTERNAL_H
|
||||||
|
|
||||||
|
|
||||||
|
// --------------------------------------------------------------------------
|
||||||
|
// This file contains the interal API's of mimalloc and various utility
|
||||||
|
// functions and macros.
|
||||||
|
// --------------------------------------------------------------------------
|
||||||
|
|
||||||
#include "mimalloc/types.h"
|
#include "mimalloc/types.h"
|
||||||
#include "mimalloc/track.h"
|
#include "mimalloc/track.h"
|
||||||
|
|
||||||
|
|
|
@ -8,10 +8,17 @@ terms of the MIT license. A copy of the license can be found in the file
|
||||||
#ifndef MIMALLOC_PRIM_H
|
#ifndef MIMALLOC_PRIM_H
|
||||||
#define MIMALLOC_PRIM_H
|
#define MIMALLOC_PRIM_H
|
||||||
|
|
||||||
|
|
||||||
|
// --------------------------------------------------------------------------
|
||||||
|
// This file specifies the primitive portability API.
|
||||||
|
// Each OS/host needs to implement these primitives, see `src/prim`
|
||||||
|
// for implementations on Window, macOS, WASI, and Linux/Unix.
|
||||||
|
//
|
||||||
// note: on all primitive functions, we always get:
|
// note: on all primitive functions, we always get:
|
||||||
// addr != NULL and page aligned
|
// addr != NULL and page aligned
|
||||||
// size > 0 and page aligned
|
// size > 0 and page aligned
|
||||||
// return value is an error code an int where 0 is success.
|
// return value is an error code an int where 0 is success.
|
||||||
|
// --------------------------------------------------------------------------
|
||||||
|
|
||||||
// OS memory configuration
|
// OS memory configuration
|
||||||
typedef struct mi_os_mem_config_s {
|
typedef struct mi_os_mem_config_s {
|
||||||
|
|
|
@ -8,6 +8,17 @@ terms of the MIT license. A copy of the license can be found in the file
|
||||||
#ifndef MIMALLOC_TYPES_H
|
#ifndef MIMALLOC_TYPES_H
|
||||||
#define MIMALLOC_TYPES_H
|
#define MIMALLOC_TYPES_H
|
||||||
|
|
||||||
|
// --------------------------------------------------------------------------
|
||||||
|
// This file contains the main type definitions for mimalloc:
|
||||||
|
// mi_heap_t : all data for a thread-local heap, contains
|
||||||
|
// lists of all managed heap pages.
|
||||||
|
// mi_segment_t : a larger chunk of memory (32GiB) from where pages
|
||||||
|
// are allocated.
|
||||||
|
// mi_page_t : a mimalloc page (usually 64KiB or 512KiB) from
|
||||||
|
// where objects are allocated.
|
||||||
|
// --------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
#include <stddef.h> // ptrdiff_t
|
#include <stddef.h> // ptrdiff_t
|
||||||
#include <stdint.h> // uintptr_t, uint16_t, etc
|
#include <stdint.h> // uintptr_t, uint16_t, etc
|
||||||
#include "mimalloc/atomic.h" // _Atomic
|
#include "mimalloc/atomic.h" // _Atomic
|
||||||
|
|
Loading…
Add table
Reference in a new issue