![]() |
NVMLib
very early alpha
A library to optimally use a Hybrid RAM setup.
|
#include <stdlib.h>#include <string.h>#include <stdio.h>#include <stdbool.h>#include <math.h>#include <uv.h>#include <errno.h>

Go to the source code of this file.
Macros | |
| #define | DRAM_STACK 0 |
| Types of allocation. More... | |
| #define | NVRAM_STACK 1 |
| Types of allocation. More... | |
| #define | DRAM_HEAP 2 |
| Types of allocation. More... | |
| #define | NVRAM_HEAP 3 |
| Types of allocation. More... | |
| #define | ANY_RAM 4 |
| Types of allocation. More... | |
| #define | TYPES_TABLE_POOL strcat(program_invocation_short_name, "types_table") |
| #define | ALLOC_LIST_POOL strcat(program_invocation_short_name, "alloc_list") |
| #define | TYPES_TABLE_LAYOUT "types_table" |
| #define | ALLOC_LIST_LAYOUT "alloc_list" |
| #define | MAIN_LOG_FILE_NAME "./nvm_main_log.log" |
| The main log file where all the program runtime related info is recorded. More... | |
| #define | MAIN_LOG_FILE main_log_file_fd |
Typedefs | |
| typedef __uint128_t | uint128_t |
| typedef __uint64_t | uint64_t |
| typedef __uint32_t | uint32_t |
| typedef __uint16_t | uint16_t |
| typedef __uint8_t | uint8_t |
| typedef unsigned long int | uintptr_t |
| typedef long int | intptr_t |
Variables | |
| char * | program_invocation_short_name |
| The predefined pools. More... | |
| FILE * | main_log_file_fd |
| uv_mutex_t | object_maintainence_hashmap_mutex |
The mutex used during manupulation of types map More... | |
| uv_mutex_t | object_maintainence_memory_mutex |
The mutex used during nvm_free / access too. More... | |
| uv_mutex_t | object_maintainence_maintain_map_mutex |
The mutex used during manupulation of maintainance map More... | |
| uv_mutex_t | object_maintainence_addtion_mutex |
The mutex used during manupulation of maintainance map More... | |
| uv_mutex_t | object_maintainence_deletion_mutex |
The mutex used during manupulation of maintainance map More... | |
| uv_mutex_t | read_splay_tree_mutex |
The mutex used during manupulation of read splay tree More... | |
| uv_mutex_t | write_splay_tree_mutex |
The mutex used during manupulation of read splay tree More... | |
| #define ALLOC_LIST_POOL strcat(program_invocation_short_name, "alloc_list") |
| #define ANY_RAM 4 |
Types of allocation.
When the object can be placed anywhere.
| #define DRAM_HEAP 2 |
| #define DRAM_STACK 0 |
| #define MAIN_LOG_FILE main_log_file_fd |
| #define MAIN_LOG_FILE_NAME "./nvm_main_log.log" |
| #define NVRAM_HEAP 3 |
| #define NVRAM_STACK 1 |
| #define TYPES_TABLE_POOL strcat(program_invocation_short_name, "types_table") |
| uv_mutex_t object_maintainence_addtion_mutex |
The mutex used during manupulation of maintainance map
Definition at line 16 of file object_maintainance.c.
| uv_mutex_t object_maintainence_deletion_mutex |
The mutex used during manupulation of maintainance map
Definition at line 17 of file object_maintainance.c.
| uv_mutex_t object_maintainence_hashmap_mutex |
The mutex used during manupulation of types map
Definition at line 13 of file object_maintainance.c.
| uv_mutex_t object_maintainence_maintain_map_mutex |
The mutex used during manupulation of maintainance map
Definition at line 15 of file object_maintainance.c.
| uv_mutex_t object_maintainence_memory_mutex |
The mutex used during nvm_free / access too.
Definition at line 14 of file object_maintainance.c.
| char* program_invocation_short_name |
The predefined pools.
| uv_mutex_t read_splay_tree_mutex |
The mutex used during manupulation of read splay tree
Definition at line 18 of file object_maintainance.c.
| uv_mutex_t write_splay_tree_mutex |
The mutex used during manupulation of read splay tree
Definition at line 19 of file object_maintainance.c.