about summary refs log tree commit diff stats
path: root/src/custommem.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Added preliminary unit test runner (#3045)Yang Liu2025-10-141-1/+2
| | | | | | | | | | | | | | | | | * Added preliminary unit test runner * Set .text section address * Added support for added custom memory regions * Move json.h to include * Display banner * Added support for custom memory data * Added the ability to include path in nasm * Print env variables
* [DYNAREC] Added BOX64_DYNAREC_NOHOTPAGE to disabled hotpage detectionptitSeb2025-10-031-0/+2
|
* [BOX32] More work on box32 memory management and threadsptitSeb2025-09-101-0/+7
|
* [BOX32] Some improvment to box32 memory managment and thread handlingptitSeb2025-09-101-1/+14
|
* [BOX32] Various small improvments on box32, mostly on memory trackingptitSeb2025-09-081-42/+113
|
* [TRACE] Fixed some typosptitSeb2025-09-081-6/+6
|
* [TRACE] Small improvment for memory allocator traceptitSeb2025-09-031-3/+5
|
* [DYNAREC] Fine tuned DIRTY=1 settings and added 1 game profile to [RCFILE]ptitSeb2025-07-191-1/+1
|
* [BOX32] Simplified and improved 32bits memory managementptitSeb2025-07-031-12/+15
|
* [DYNAREC] Refactor hotpage detection and dynarec_dirty 1 & 2. Also adjust ↵ptitSeb2025-06-301-27/+117
| | | | some launcher/games flags
* Add `map64_customMalloc` (#2764)Chi-Kuan Chiu2025-06-231-6/+140
| | | | | | | | | | | | | Most allocations target ~56 bytes, causing internal fragmentation in `map128_customMalloc`. Introduce `map64_customMalloc`, a 64-byte–chunk variant of `map128_customMalloc`. The new allocator uses a `uint16_t` “map” array: each bit in a 16-bit entry tracks the in-use status of one 64-byte chunk (16 chunks per map entry). The bitmap region is fixed at 256 bytes. Note that “map” here is a fast-lookup structure, distinct from the bitmap itself. All chunk- size, shift, and map-size calculations have been updated accordingly. Relates to #2740
* [DYNACACHE] Introduced DynaCache for ARM64 (disabled by default)ptitSeb2025-06-191-10/+189
|
* [DYNACACHE] Added the ability to mark a maplist has having new blocks ↵ptitSeb2025-06-161-1/+3
| | | | (instead of dirty block that are refreshed)
* [DYNACACHE] Made the blocklist_t part of the dynarec allocated mmap, to ease ↵ptitSeb2025-06-161-107/+98
| | | | future serialize of the map
* [WOWBOX64] This should fiw wowbox64 buildptitSeb2025-06-111-1/+1
|
* [DYNACACHE] Dynarec memory is now part of MMpa file tracking when possibleptitSeb2025-06-111-3/+33
|
* Refine the naming scheme in rbtree (#2717)Chi-Kuan Chiu2025-06-091-2/+2
| | | | | | | | | | | | | Replaced all occurrences of `rb_get_righter` with `rb_get_rightmost` and `rb_get_lefter` with `rb_get_leftmost` for improved semantic clarity. Also updated related function declarations, definitions, and usage across: - rbtree.c - rbtree.h - custommem.c - dynablock.c - env.c - box64context.c
* [DYNAREC] Modified JumpTable slightly so 32bits and 48bits address space jmp ↵ptitSeb2025-06-081-14/+43
| | | | can be done with only 2 and 3 memory fetch (todo: RV64 and LA64 handling of 48bits)
* [TRACE] Slight better trace when running with custommem memory trackerptitSeb2025-05-191-3/+9
|
* rbtree needs initialized mutexesAndré Zwing2025-05-121-1/+1
|
* Fixed a potential deadlock on custom memory managment (mostly for Box32)ptitSeb2025-05-091-1/+3
|
* Try to fix some remaining regression with customme rbtree refactor (for #2600)ptitSeb2025-05-051-1/+1
|
* Fixed an issue with custom memory when a map is created for an blockstree ↵ptitSeb2025-04-201-22/+52
| | | | node, avoiding re-entrance on blockstree handling and tree corruption
* Merge `mmapmem` into `mapallmem` (#2550)Chi-Kuan Chiu2025-04-201-22/+28
| | | | | | | | | | | | | | | This commit removes the separate `mmapmem` red-black tree and merges its into `mapallmem`, reducing overall memory usage. To distinguish memory regions that were previously tracked separately in `mmapmem`, we now use a new `mem_flag_t` bitmask enum in the data field of `mapallmem`: MEM_ALLOCATED = 1 // allocated MEM_RESERVED = 2 // reserved MEM_MMAP = 3 // allocated via mmap() Resolves #2546
* [DYNAREC] Better dynablock mempry handling, and fixed a regression ↵ptitSeb2025-04-181-7/+7
| | | | introduced when improving dynmem rbtree
* [WOW64] Finished skeleton code for PE build (#2542)Yang Liu2025-04-171-1/+1
| | | | | * [WOW64] Finished skeleton code for PE build * move musl to external
* [DYNAREC] Speedup a bit DYNAREC_DIRTY=1ptitSeb2025-04-101-1/+1
|
* [WOW64] More tweaks towards PE build (#2519)Yang Liu2025-04-101-30/+8
|
* Reduced usage of the rbtree in FindDynablockFromAddress by creating node ↵ptitSeb2025-04-091-4/+20
| | | | only on first query (in response to #2511 analysis)
* Made custommem OS-independent (#2517)Yang Liu2025-04-091-7/+2
|
* Added backtrace.h for holding backtrace-related functions (#2515)Yang Liu2025-04-091-3/+3
|
* [WOW64] Add wow64 PE build scaffolding (#2513)Yang Liu2025-04-081-65/+34
|
* Moved more OS-dependent functions to os.h (#2491)Yang Liu2025-04-011-0/+1
|
* [DEBUG] Fixed debug tool testAllBlocks() to correctly handle new map128 ↵ptitSeb2025-03-311-5/+12
| | | | custom alloc
* Optimized and fixed custom 128bytes allocatorptitSeb2025-03-301-2/+7
|
* Introduced a bitmap based allocator for <= 128bits customMalloc (not ↵ptitSeb2025-03-301-38/+167
| | | | lockfree yet)
* [BOX32] Small change on memory managment againptitSeb2025-03-181-34/+6
|
* This should fix non-Dynarec buildptitSeb2025-03-171-26/+26
|
* [BOX32] Small refactor on memory managmentptitSeb2025-03-171-30/+58
|
* [DYNAREC] Introduced DYNAREC_DIRTY=2 and changed a profile to use itptitSeb2025-03-121-2/+48
|
* [DYNAREC] Reduced lifetime of hotpage when using DIRTY=1ptitSeb2025-03-101-1/+1
|
* [DYNAREC] Fixed some potential issue with NEVERCLEAN on memory mapping trackingptitSeb2025-03-091-2/+3
|
* Removed isDBFromAddressRange and added that function to ↵ptitSeb2025-03-071-20/+5
| | | | cleanDBFromAddressRange as it was used only 1 time and followed by that function anyway
* [DYNAREC] Fixed a potential SEGFAULT in FindDynablockFromNativeAddress, and ↵ptitSeb2025-02-051-2/+4
| | | | added aprofile for BeamNG.drive linux version (for #424)
* [DYNAREC] Small change on DIRTY=1 to reduce hotpage effectptitSeb2025-01-271-1/+2
|
* Added [BOX64] prefix for all the stdout logs (#2279)Yang Liu2025-01-211-7/+7
| | | | | | | * Added [BOX64] prefix for all the stdout logs * Remove some hardcoded prefix * review
* [ENV] Initial refactor of env variables infrastructure (#2274)Yang Liu2025-01-211-18/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * [ENV] Initial refactor of env variables infrastructure * Ported BOX64_DYNAREC_LOG * Ported more options * Ported BOX64_MALLOC_HACK * Ported BOX64_DYNAREC_TEST * Ported more options * Ported more options * Ported more options * Ported all options * Removed old rcfile parser * Fix * review * fix * fix * more fixes
* Don't try to use free a custom block if init is not doneptitSeb2025-01-101-1/+1
|
* Small fix to program break trackingptitSeb2025-01-071-1/+1
|
* Trace program program to not allocate memory over there (help ↵ptitSeb2025-01-071-0/+20
| | | | TalosPrinciple2, probably other UE5 games too)