about summary refs log tree commit diff stats
path: root/src/tools (follow)
Commit message (Collapse)AuthorAgeFilesLines
* [RBTREE] Fixed an edge case (#2562)rajdakin2025-04-221-1/+3
|
* [RBTREE] Cache boundary nodes and remove `add_range()` (#2557)Chi-Kuan Chiu2025-04-221-31/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Cache leftmost and rightmost node Add two fields to `rbtree`: `lefter` and `righter`, to cache the leftmost and rightmost nodes respectively. This eliminates the need for O(log N) traversals in `rb_get_lefter()` and `rb_get_righter()`. Motivated by the Linux kernel's use of cached pointers for `rb_first()` and `rb_last()`, this change improves efficiency of boundary queries by replacing repeated tree walks with direct pointer dereference. Experiment: running `chess.exe` with Box64 + Wine (#2511) - ~3,500 insertions into the tree - 607 lightweight cache updates (single assignment) - 397 full tree traversals avoided This results in reduced runtime overhead for boundary checks, with memory cost (+2 pointer per tree). Expected benefits increase in larger or more dynamic workloads. Ref: https://docs.kernel.org/core-api/rbtree.html * Remove redundant add_range() wrapper The function `add_range()` was only called when `tree->root == NULL`. In such cases, the while-loop inside `add_range()` never runs, resulting in a call to `add_range_next_to()` with `prev == NULL`. Replaced it with direct calls to `add_range_next_to(tree, NULL, ...)`.
* [ENV][COSIM] Enable x87double only if it's off (#2554)Yang Liu2025-04-211-1/+2
|
* [DEBUG] Exposed a debug function to print an rbtreeptitSeb2025-04-201-20/+24
|
* Removed a function not used anymoreptitSeb2025-04-181-14/+0
|
* Eliminated many compilation warnings (#2535)Yang Liu2025-04-151-1/+2
|
* [WOW64] Added non-functional PE build (#2532)Yang Liu2025-04-142-778/+0
|
* [WOW64] Splitted freq and cleanup functions from x64emu (#2521)Yang Liu2025-04-112-16/+85
|
* [WOW64] More work on the PE wow64 build (#2518)Yang Liu2025-04-101-0/+21
| | | | | * [WOW64] More work on the PE wow64 build * added a TODO
* [DYNAREC] Improved handling of db_size rbtreeptitSeb2025-04-091-0/+310
|
* [DYNAREC] Better handling of self-loop and added CALLRET=2 settings (ARM64 ↵ptitSeb2025-04-091-0/+2
| | | | only, RV64 and LA64 todo)
* Decoupled alternate functions from bridge (#2500)Yang Liu2025-04-033-45/+49
|
* Moved more functions to os.h (#2497)Yang Liu2025-04-033-5/+3
| | | | | | | * Removed some unused function declarations * Moved more functions to os.h * review
* Moved more OS-dependent functions to os.h (#2491)Yang Liu2025-04-011-1/+2
|
* Introduced box64cpu.h for exported interpreter and dynarec functions (#2490)Yang Liu2025-04-012-3/+4
|
* Some cosmetic changes to C header files (#2487)Yang Liu2025-04-011-0/+28
| | | | | * [DYNAREC] Move cosim functions to a new header * Moved isNativeCall to elfloader
* [RCFILE] Fixed BOX64_EMULATED_LIBS that was broken when used inside an rcfileptitSeb2025-03-201-0/+3
|
* [BOX32] Change to get all created bricks to be conitgus on 32bits, as ↵ptitSeb2025-03-171-2/+8
| | | | address space is pretty small
* [RCFILE] Added range gdbjit support (#2414)Yang Liu2025-03-032-9/+29
|
* [RCFILE] Fixed load addr parse issue (#2413)Yang Liu2025-03-031-6/+7
|
* Limit to 11 the number of cpuid invalid parameter messageptitSeb2025-02-121-1/+7
|
* [RCFILE] Fixed ROLLING_LOG when setup in a profile onlyptitSeb2025-02-071-5/+11
|
* [RCFILE] Add some print of NODYNAREC and DYNAREC_TEST when applyedptitSeb2025-02-021-6/+21
|
* [ENV] More tweaks on recoding env mapping (#2309)Yang Liu2025-02-011-5/+5
| | | | | * [ENV] More tweaks on recoding env mapping * review
* [ENV] Fixed crash when rcfile does not exist (for #2295) (#2307)Yang Liu2025-02-011-4/+5
| | | | | * [ENV] Fixed crash when rcfile does not exist (for #2295) * review
* More improvmnet to map with fd trackingptitSeb2025-01-291-2/+22
|
* [ANDROID] Nope, re-disable map with fd tracking on AndroidptitSeb2025-01-291-0/+2
|
* [ANDROID] Try to re-enable map with fd tracking on AndroidptitSeb2025-01-291-2/+0
|
* Improved file map tracking, and use file map info in dynarec for bigblock ↵ptitSeb2025-01-272-1/+46
| | | | setting
* [ANDROID] Disable file map tracking on Android for now, as it seems to segfaultptitSeb2025-01-271-0/+2
|
* [ENV] Improved a bit env var handling and per file env varptitSeb2025-01-271-6/+4
|
* Expanded file mapping tracking for future use (might help #2295)ptitSeb2025-01-251-12/+43
|
* [DYNAREC] Added preliminary per-file settings (#2288)Yang Liu2025-01-232-22/+62
|
* Clean up UnityPlayer.dll detection from my_mmap64 (#2286)Yang Liu2025-01-231-0/+22
|
* Fixed various issues introduced in the env infra refactor (#2281)Yang Liu2025-01-221-6/+23
| | | | | | | | | | | * Open trace file again after apply env files * dynrec_df=1 by default * more fixes * more fixes * more
* Added [BOX64] prefix for all the stdout logs (#2279)Yang Liu2025-01-211-5/+5
| | | | | | | * Added [BOX64] prefix for all the stdout logs * Remove some hardcoded prefix * review
* [ENV] Optimized BOX64ENV log a bit (#2277)Yang Liu2025-01-211-1/+18
|
* [ENV] Initial refactor of env variables infrastructure (#2274)Yang Liu2025-01-213-825/+543
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * [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
* [BOX32] Fixed some issue with previous commit on box32 loading wine/protonptitSeb2025-01-171-1/+4
|
* Added some hack to simulate seccomp/bpf Windows syscalls handling in protonptitSeb2025-01-171-3/+7
|
* [DYNAREC] Introduce BOX64_DYNAREC_DIRTY and some profile to use itptitSeb2025-01-151-0/+2
|
* Small changes on envv and arv managmentptitSeb2025-01-142-2/+4
|
* [RCFILE] Log before applying the changeptitSeb2025-01-141-16/+16
|
* [INTERPRETER] Added a few more cpu extension and associated opcodes ↵ptitSeb2025-01-051-2/+23
| | | | ([ARM64_DYNAREC] added some of the new opcodes too)
* Use uname -m to get CPU architecture (#2222)東雲なの2024-12-281-1/+1
| | | Use uname -m to get CPU architecture is simplier than lscpu
* Exposed MMXext for CPUTYPE=1ptitSeb2024-12-271-1/+1
|
* [INTERPRETER] Exposed SSE4a for CPUTYPE=1, implemented all 4 opcodesptitSeb2024-12-271-1/+1
|
* Introduce BOX64_CPUTYPE to choose emulating Intel or AMD cpus (no AMD ↵ptitSeb2024-12-272-123/+318
| | | | specific extension yet)
* [LA64_DYNAREC] Added hardware wall-clock support (#2216)Yang Liu2024-12-261-8/+2
| | | | | * [LA64_DYNAREC] Added hardware wall-clock support * Refined multi-language support
* [LA64_DYNAREC] Added nativeflags support (#2202)Yang Liu2024-12-241-1/+1
|