Внутренний заголовочный файл модуля FXAlloc.
Подробнее...
#include "FXAlloc.h"
#include <stdalign.h>
#include <stdlib.h>
См. исходные тексты.
|
| void * | fxalloc_proxy_alloc (size_t NBytes) |
| | Прокси-функция аллокации
|
| |
| void | fxalloc_proxy_free (void *Ptr) |
| | Прокси-функция высвобождения
|
| |
| void * | fxalloc_ungraded_alloc_init (size_t NBytes) |
| | Функция для инициализации грейдов по-умолчанию
|
| |
| void * | fxalloc_shifted_speed (size_t NBytes) |
| | Выделение блока. Режим: скорость. Алгоритм поиска: сдвиг битов размера.
|
| |
| void * | fxalloc_shifted_summary (size_t NBytes) |
| | Выделение блока. Режим: поверхностное профилирование. Алгоритм поиска: сдвиг битов размера.
|
| |
| void * | fxalloc_shifted_full (size_t NBytes) |
| | Выделение блока. Режим: глубокое профилирование. Алгоритм поиска: сдвиг битов размера.
|
| |
| void * | fxalloc_binary_speed (size_t NBytes) |
| | Выделение блока. Режим: скорость. Алгоритм поиска: бинарный поиск.
|
| |
| void * | fxalloc_binary_summary (size_t NBytes) |
| | Выделение блока. Режим: поверхностное профилирование. Алгоритм поиска: бинарный поиск.
|
| |
| void * | fxalloc_binary_full (size_t NBytes) |
| | Выделение блока. Режим: глубокое профилирование. Алгоритм поиска: бинарный поиск.
|
| |
| void * | fxalloc_linear_speed (size_t NBytes) |
| | Выделение блока. Режим: скорость. Алгоритм поиска: линейный поиск.
|
| |
| void * | fxalloc_linear_summary (size_t NBytes) |
| | Выделение блока. Режим: поверхностное профилирование. Алгоритм поиска: линейный поиск.
|
| |
| void * | fxalloc_linear_full (size_t NBytes) |
| | Выделение блока. Режим: глубокое профилирование. Алгоритм поиска: линейный поиск.
|
| |
| void * | fxfree_speed (void *Ptr) |
| | Возврат блока в пул. Режим: скорость
|
| |
| void * | fxfree_summary (void *Ptr) |
| | Возврат блока в пул. Режим: поверхностное профилирование
|
| |
| void * | fxfree_full (void *Ptr) |
| | Возврат блока в пул. Режим: глубокое профилирование
|
| |
|
| TLS void *(* | thread_alloc )(size_t NBytes) |
| | Макрос условной компиляции квалификаторов типа указателя для fxalloc и fxfree В случае если не определён данный блок кода компилируется и все вызовы происзодят через прокси функцию
|
| |
| TLS void(* | thread_free )(void *Ptr) |
| | Указатель на активную функцию аллокации
|
| |
| TLS FXThreadPool * | thread_pool |
| | Указатель на пул данного потока Изначально равен NULL, инициализируется при первом вызове fxalloc или fxalloc_init
|
| |
| TLS eXFAllocSearchType | search_type |
| | Переменная хранящая тип поиска для функций выеления памяти в данном потоке При первом вызове fxalloc без предварительного вызова fxalloc_init устанавливается в FXSEARCH_SHIFTED, в противном случае определяется функцией fxalloc_init
|
| |
| TLS eFXAllocProfile | thread_profile |
| | Текущий профиль потока FXALLOC_SPEED | FXALLOC_SUMMARY | FXALLOC_FULL.
|
| |
Внутренний заголовочный файл модуля FXAlloc.
- Автор
- felex67 (admin.nosp@m.@fel.nosp@m.exdev.nosp@m..ru)
- Версия
- 1.0.0 dev-in-progress
◆ fxalloc_binary_full()
| void * fxalloc_binary_full |
( |
size_t |
NBytes | ) |
|
Выделение блока. Режим: глубокое профилирование. Алгоритм поиска: бинарный поиск.
◆ fxalloc_binary_speed()
| void * fxalloc_binary_speed |
( |
size_t |
NBytes | ) |
|
Выделение блока. Режим: скорость. Алгоритм поиска: бинарный поиск.
◆ fxalloc_binary_summary()
| void * fxalloc_binary_summary |
( |
size_t |
NBytes | ) |
|
Выделение блока. Режим: поверхностное профилирование. Алгоритм поиска: бинарный поиск.
◆ fxalloc_linear_full()
| void * fxalloc_linear_full |
( |
size_t |
NBytes | ) |
|
Выделение блока. Режим: глубокое профилирование. Алгоритм поиска: линейный поиск.
◆ fxalloc_linear_speed()
| void * fxalloc_linear_speed |
( |
size_t |
NBytes | ) |
|
Выделение блока. Режим: скорость. Алгоритм поиска: линейный поиск.
◆ fxalloc_linear_summary()
| void * fxalloc_linear_summary |
( |
size_t |
NBytes | ) |
|
Выделение блока. Режим: поверхностное профилирование. Алгоритм поиска: линейный поиск.
◆ fxalloc_proxy_alloc()
| void * fxalloc_proxy_alloc |
( |
size_t |
NBytes | ) |
|
Прокси-функция аллокации
- Аргументы
-
- Возвращает
- void*
- Возвращаемые значения
-
| !NULL | Указатель на область памяти выровненный по sizeof(void*) |
| NULL | ошибка выделения памяти |
◆ fxalloc_proxy_free()
| void fxalloc_proxy_free |
( |
void * |
Ptr | ) |
|
Прокси-функция высвобождения
- Аргументы
-
| Ptr | указатель на блок выделенный пользователю |
◆ fxalloc_shifted_full()
| void * fxalloc_shifted_full |
( |
size_t |
NBytes | ) |
|
Выделение блока. Режим: глубокое профилирование. Алгоритм поиска: сдвиг битов размера.
◆ fxalloc_shifted_speed()
| void * fxalloc_shifted_speed |
( |
size_t |
NBytes | ) |
|
Выделение блока. Режим: скорость. Алгоритм поиска: сдвиг битов размера.
◆ fxalloc_shifted_summary()
| void * fxalloc_shifted_summary |
( |
size_t |
NBytes | ) |
|
Выделение блока. Режим: поверхностное профилирование. Алгоритм поиска: сдвиг битов размера.
◆ fxalloc_ungraded_alloc_init()
| void * fxalloc_ungraded_alloc_init |
( |
size_t |
NBytes | ) |
|
Функция для инициализации грейдов по-умолчанию
- Аргументы
-
- Возвращает
- void*
◆ fxfree_full()
| void * fxfree_full |
( |
void * |
Ptr | ) |
|
Возврат блока в пул. Режим: глубокое профилирование
◆ fxfree_speed()
| void * fxfree_speed |
( |
void * |
Ptr | ) |
|
Возврат блока в пул. Режим: скорость
◆ fxfree_summary()
| void * fxfree_summary |
( |
void * |
Ptr | ) |
|
Возврат блока в пул. Режим: поверхностное профилирование
◆ search_type
Переменная хранящая тип поиска для функций выеления памяти в данном потоке При первом вызове fxalloc без предварительного вызова fxalloc_init устанавливается в FXSEARCH_SHIFTED, в противном случае определяется функцией fxalloc_init
◆ thread_alloc
| TLS void *(* thread_alloc) (size_t NBytes) |
( |
size_t |
NBytes | ) |
|
|
extern |
Макрос условной компиляции квалификаторов типа указателя для fxalloc и fxfree В случае если не определён данный блок кода компилируется и все вызовы происзодят через прокси функцию
Указатель на активную функцию аллокации
◆ thread_free
| TLS void(* thread_free) (void *Ptr) |
( |
void * |
Ptr | ) |
|
|
extern |
Указатель на активную функцию аллокации
◆ thread_pool
Указатель на пул данного потока Изначально равен NULL, инициализируется при первом вызове fxalloc или fxalloc_init
◆ thread_profile
Текущий профиль потока FXALLOC_SPEED | FXALLOC_SUMMARY | FXALLOC_FULL.