about summary refs log tree commit diff stats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* [INTERP] Fex fixes and small cosmetic changes to some partial (V)MOV opcodesptitSeb2025-04-235-47/+80
|
* [ARM64_DYNAREC] Made REP MOVSB optimisation flaglessptitSeb2025-04-231-4/+4
|
* [ARM64_DYNAREC] Optimized REP STOSBptitSeb2025-04-232-2/+36
|
* [PERFMAP] Added x86 address of code when function name cannot be found, ↵ptitSeb2025-04-231-1/+4
| | | | instead of ???
* [ARM64_DYNAREC] Various improvment to various SSE/AVX 128bits/256bits mov ↵ptitSeb2025-04-238-89/+144
| | | | opcodes
* [INTERP] RaZ upper 128bits on vmov* Ex, Gx if Ex is a registry (unused?)ptitSeb2025-04-232-0/+6
|
* [RBTREE] Fixed an edge case (#2562)rajdakin2025-04-221-1/+3
|
* [DYNAREC] Added a x87pc test and some cosmetic changes too (#2561)Yang Liu2025-04-2216-158/+83
|
* [LA64_DYNAREC] Add SSSE3's mmx ops. (#2559)phorcys2025-04-221-0/+162
| | | | | | | | | | | | | | | | | 0f.38.00 PSHUFB 01 PHADDW 02 PHADDD 03 PHADDSW 04 PMADDUBSW 05 PHSUBW 06 PHSUBD 07 PHSUBSW 08 PSIGNB 09 PSIGNW 0a PSIGND 0b PMULHRSW 1c PABSB 1d PABSW 1e PABSD
* [ARM64_DYNAREC] Improved (V)[MIN/MAX][S/P][S/D] opcodesptitSeb2025-04-224-34/+10
|
* [INTERP] Improved (V)[MIN/MAX][S/P][S/D] opcodesptitSeb2025-04-228-34/+25
|
* [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, ...)`.
* [RV64_DYNAREC] Better handling of x87double=2 (#2560)Yang Liu2025-04-2210-1/+47
|
* [ARM64_DYNAREC] Small improvements to (V)MASKMOVDQU opcodeptitSeb2025-04-212-6/+4
|
* [ARM64_DYNAREC] Better handling of x87double=2ptitSeb2025-04-2110-0/+53
|
* [ARM64_DYNAREC] Fixed potential issue with (V)LDDQU opcodeptitSeb2025-04-212-3/+3
|
* [DYNAREC] More handling of low precision x87 flag change (#2556)Yang Liu2025-04-214-2/+8
|
* [INTERP] More fixes to INSERTQ/EXTRQ opcodesptitSeb2025-04-212-13/+17
|
* [RV64_DYNAREC][TRACE][COSIM] Improve x87 fiability in dynarec trace and ↵Yang Liu2025-04-211-1/+1
| | | | cosim scenario (#2555)
* [ARM64_DYNAREC] Add/Improved (V)H[ADD/SUB]P[S/D] opcodesptitSeb2025-04-216-23/+53
|
* [ENV][COSIM] Enable x87double only if it's off (#2554)Yang Liu2025-04-211-1/+2
|
* [ARM64_DYNAREC] Small change to 66 0F 3A 17 opcodeptitSeb2025-04-211-2/+2
|
* [INTERP] Fixed EXTRQ opcodeptitSeb2025-04-211-3/+3
|
* [ARM64_DYNAREC] Minor cosmetic changesptitSeb2025-04-212-2/+2
|
* [INTERP] Better NAN handling for (V)DIV[P/S][S/D] opcodesptitSeb2025-04-213-0/+5
|
* [INTERP] VDPPD has no 256bits versionptitSeb2025-04-211-12/+2
|
* [RV64_DYNAREC] Added X87DOUBLE=2 support (#2553)Yang Liu2025-04-2122-24/+88
|
* [ARM64_DYNAREC] Another potential fix for X87DOUBLE=2ptitSeb2025-04-211-1/+1
|
* [ARM64_DYNAREC] Fixed some potential issues with BOX64_DYNAREC_DOUBLE=2ptitSeb2025-04-213-4/+1
|
* [TRACE] Fixed an issue with a trace on dynablock exiting executionptitSeb2025-04-211-1/+1
|
* [TRACE] Better trace, using maplile name if available, and better write on a ↵ptitSeb2025-04-202-2/+5
| | | | dynablock memory log
* 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
* [DEBUG] Exposed a debug function to print an rbtreeptitSeb2025-04-202-20/+31
|
* 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
* [BOX32][WRAPPER] Removed a debug leftoverptitSeb2025-04-191-1/+0
|
* [BOX32][WRAPPER] Added a workaround on XF86VidModeGetAllModeLines for 12 ↵ptitSeb2025-04-191-7/+12
| | | | labors of Hercules 6
* [BOX32][WRAPPER] Added 32bits wrapped ftime functionptitSeb2025-04-196-1/+28
|
* [INTERP] Added F2 0F BA opcode (for 2547)ptitSeb2025-04-191-1/+1
|
* Another fix for non-dynarec buildptitSeb2025-04-181-0/+2
|
* This should fix non-dynarec buildptitSeb2025-04-181-0/+2
|
* [DYNAREC] Better dynablock mempry handling, and fixed a regression ↵ptitSeb2025-04-181-7/+7
| | | | introduced when improving dynmem rbtree
* Also preserve flags stuffs on signal handling when neededptitSeb2025-04-181-1/+29
|
* [DYNAREC][TRACE] Slightly better trace message on creating dynablockptitSeb2025-04-181-2/+2
|
* [LA64_DYNAREC]Add/opt more SSE/MMX ops (#2543)phorcys2025-04-182-24/+60
| | | | | | | | | | * Add SSE2 op MASKMOVDQU. * Opt PSADBW. * Add SSE3 HSUBPD op. * Add mmx PALIGNR op. * Fix PSRLDQ. * Fix PSRAW Gx,Ex PSRAW Gm,Em. mmx/sse get COUNT from Em/Ex as an 64bit unsigned... testsuite with shift 0x4,0x4,0x4,0x4, result COUNT as 0x04040404.
* [DYNAREC] Small improvment to callret=2 handling of path to regen a blockptitSeb2025-04-182-2/+5
|
* Removed a function not used anymoreptitSeb2025-04-181-14/+0
|
* [MMAP] Better guessing of wine process mapping regionsptitSeb2025-04-181-10/+14
|
* [WOW64] Finished skeleton code for PE build (#2542)Yang Liu2025-04-178-10/+54
| | | | | * [WOW64] Finished skeleton code for PE build * move musl to external
* [LA64_DYNAREC] Add SSE1/SSE2's cvt mmx ops. (#2538)phorcys2025-04-172-0/+166
|
* [WOW64] More tweaks to CMake PE build (#2541)Yang Liu2025-04-161-13/+45
|