| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | [INTERP] Fex fixes and small cosmetic changes to some partial (V)MOV opcodes | ptitSeb | 2025-04-23 | 5 | -47/+80 |
| | | |||||
| * | [ARM64_DYNAREC] Made REP MOVSB optimisation flagless | ptitSeb | 2025-04-23 | 1 | -4/+4 |
| | | |||||
| * | [ARM64_DYNAREC] Optimized REP STOSB | ptitSeb | 2025-04-23 | 2 | -2/+36 |
| | | |||||
| * | [PERFMAP] Added x86 address of code when function name cannot be found, ↵ | ptitSeb | 2025-04-23 | 1 | -1/+4 |
| | | | | | instead of ??? | ||||
| * | [ARM64_DYNAREC] Various improvment to various SSE/AVX 128bits/256bits mov ↵ | ptitSeb | 2025-04-23 | 8 | -89/+144 |
| | | | | | opcodes | ||||
| * | [INTERP] RaZ upper 128bits on vmov* Ex, Gx if Ex is a registry (unused?) | ptitSeb | 2025-04-23 | 2 | -0/+6 |
| | | |||||
| * | [RBTREE] Fixed an edge case (#2562) | rajdakin | 2025-04-22 | 1 | -1/+3 |
| | | |||||
| * | [DYNAREC] Added a x87pc test and some cosmetic changes too (#2561) | Yang Liu | 2025-04-22 | 16 | -158/+83 |
| | | |||||
| * | [LA64_DYNAREC] Add SSSE3's mmx ops. (#2559) | phorcys | 2025-04-22 | 1 | -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] opcodes | ptitSeb | 2025-04-22 | 4 | -34/+10 |
| | | |||||
| * | [INTERP] Improved (V)[MIN/MAX][S/P][S/D] opcodes | ptitSeb | 2025-04-22 | 8 | -34/+25 |
| | | |||||
| * | [RBTREE] Cache boundary nodes and remove `add_range()` (#2557) | Chi-Kuan Chiu | 2025-04-22 | 1 | -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 Liu | 2025-04-22 | 10 | -1/+47 |
| | | |||||
| * | [ARM64_DYNAREC] Small improvements to (V)MASKMOVDQU opcode | ptitSeb | 2025-04-21 | 2 | -6/+4 |
| | | |||||
| * | [ARM64_DYNAREC] Better handling of x87double=2 | ptitSeb | 2025-04-21 | 10 | -0/+53 |
| | | |||||
| * | [ARM64_DYNAREC] Fixed potential issue with (V)LDDQU opcode | ptitSeb | 2025-04-21 | 2 | -3/+3 |
| | | |||||
| * | [DYNAREC] More handling of low precision x87 flag change (#2556) | Yang Liu | 2025-04-21 | 4 | -2/+8 |
| | | |||||
| * | [INTERP] More fixes to INSERTQ/EXTRQ opcodes | ptitSeb | 2025-04-21 | 2 | -13/+17 |
| | | |||||
| * | [RV64_DYNAREC][TRACE][COSIM] Improve x87 fiability in dynarec trace and ↵ | Yang Liu | 2025-04-21 | 1 | -1/+1 |
| | | | | | cosim scenario (#2555) | ||||
| * | [ARM64_DYNAREC] Add/Improved (V)H[ADD/SUB]P[S/D] opcodes | ptitSeb | 2025-04-21 | 6 | -23/+53 |
| | | |||||
| * | [ENV][COSIM] Enable x87double only if it's off (#2554) | Yang Liu | 2025-04-21 | 1 | -1/+2 |
| | | |||||
| * | [ARM64_DYNAREC] Small change to 66 0F 3A 17 opcode | ptitSeb | 2025-04-21 | 1 | -2/+2 |
| | | |||||
| * | [INTERP] Fixed EXTRQ opcode | ptitSeb | 2025-04-21 | 1 | -3/+3 |
| | | |||||
| * | [ARM64_DYNAREC] Minor cosmetic changes | ptitSeb | 2025-04-21 | 2 | -2/+2 |
| | | |||||
| * | [INTERP] Better NAN handling for (V)DIV[P/S][S/D] opcodes | ptitSeb | 2025-04-21 | 3 | -0/+5 |
| | | |||||
| * | [INTERP] VDPPD has no 256bits version | ptitSeb | 2025-04-21 | 1 | -12/+2 |
| | | |||||
| * | [RV64_DYNAREC] Added X87DOUBLE=2 support (#2553) | Yang Liu | 2025-04-21 | 22 | -24/+88 |
| | | |||||
| * | [ARM64_DYNAREC] Another potential fix for X87DOUBLE=2 | ptitSeb | 2025-04-21 | 1 | -1/+1 |
| | | |||||
| * | [ARM64_DYNAREC] Fixed some potential issues with BOX64_DYNAREC_DOUBLE=2 | ptitSeb | 2025-04-21 | 3 | -4/+1 |
| | | |||||
| * | [TRACE] Fixed an issue with a trace on dynablock exiting execution | ptitSeb | 2025-04-21 | 1 | -1/+1 |
| | | |||||
| * | [TRACE] Better trace, using maplile name if available, and better write on a ↵ | ptitSeb | 2025-04-20 | 2 | -2/+5 |
| | | | | | dynablock memory log | ||||
| * | Fixed an issue with custom memory when a map is created for an blockstree ↵ | ptitSeb | 2025-04-20 | 1 | -22/+52 |
| | | | | | node, avoiding re-entrance on blockstree handling and tree corruption | ||||
| * | [DEBUG] Exposed a debug function to print an rbtree | ptitSeb | 2025-04-20 | 2 | -20/+31 |
| | | |||||
| * | Merge `mmapmem` into `mapallmem` (#2550) | Chi-Kuan Chiu | 2025-04-20 | 1 | -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 leftover | ptitSeb | 2025-04-19 | 1 | -1/+0 |
| | | |||||
| * | [BOX32][WRAPPER] Added a workaround on XF86VidModeGetAllModeLines for 12 ↵ | ptitSeb | 2025-04-19 | 1 | -7/+12 |
| | | | | | labors of Hercules 6 | ||||
| * | [BOX32][WRAPPER] Added 32bits wrapped ftime function | ptitSeb | 2025-04-19 | 6 | -1/+28 |
| | | |||||
| * | [INTERP] Added F2 0F BA opcode (for 2547) | ptitSeb | 2025-04-19 | 1 | -1/+1 |
| | | |||||
| * | Another fix for non-dynarec build | ptitSeb | 2025-04-18 | 1 | -0/+2 |
| | | |||||
| * | This should fix non-dynarec build | ptitSeb | 2025-04-18 | 1 | -0/+2 |
| | | |||||
| * | [DYNAREC] Better dynablock mempry handling, and fixed a regression ↵ | ptitSeb | 2025-04-18 | 1 | -7/+7 |
| | | | | | introduced when improving dynmem rbtree | ||||
| * | Also preserve flags stuffs on signal handling when needed | ptitSeb | 2025-04-18 | 1 | -1/+29 |
| | | |||||
| * | [DYNAREC][TRACE] Slightly better trace message on creating dynablock | ptitSeb | 2025-04-18 | 1 | -2/+2 |
| | | |||||
| * | [LA64_DYNAREC]Add/opt more SSE/MMX ops (#2543) | phorcys | 2025-04-18 | 2 | -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 block | ptitSeb | 2025-04-18 | 2 | -2/+5 |
| | | |||||
| * | Removed a function not used anymore | ptitSeb | 2025-04-18 | 1 | -14/+0 |
| | | |||||
| * | [MMAP] Better guessing of wine process mapping regions | ptitSeb | 2025-04-18 | 1 | -10/+14 |
| | | |||||
| * | [WOW64] Finished skeleton code for PE build (#2542) | Yang Liu | 2025-04-17 | 8 | -10/+54 |
| | | | | | | * [WOW64] Finished skeleton code for PE build * move musl to external | ||||
| * | [LA64_DYNAREC] Add SSE1/SSE2's cvt mmx ops. (#2538) | phorcys | 2025-04-17 | 2 | -0/+166 |
| | | |||||
| * | [WOW64] More tweaks to CMake PE build (#2541) | Yang Liu | 2025-04-16 | 1 | -13/+45 |
| | | |||||