SarahW
|
0985952317
|
Added code generation for RMW versions of ADD/SUB/OR/XOR/AND
|
2016-11-13 14:30:39 +00:00 |
|
SarahW
|
a174a88c49
|
Codeblock tree now includes both physical and virtual addresses into key. Fixes performance issues with Windows 3.1.
|
2016-11-08 21:30:48 +00:00 |
|
SarahW
|
75f9316c11
|
x86-32 recompiler compiles FPU instructions using direct access to register stack when top-of-stack is static. Minor speedup.
|
2016-09-11 15:38:05 +01:00 |
|
SarahW
|
eb126fd822
|
Moved more variables into cpu_state structure.
|
2016-08-21 21:28:23 +01:00 |
|
SarahW
|
42237ac1f8
|
Recompiler now only recompiles a block after seeing it twice. Improves performance on stuff that uses self modifying code - eg Doom, Duke Nukem 3D, Windows 95 idle
|
2016-07-31 12:33:37 +01:00 |
|
SarahW
|
512c8e5d44
|
Winchip FPU timings now more accurate.
|
2016-05-14 19:36:40 +01:00 |
|
SarahW
|
2909742567
|
Re-wrote broken codeblock_tree_delete() function.
|
2016-05-12 21:21:49 +01:00 |
|
SarahW
|
153c22e442
|
Cyrix 6x86 emulation. Based on patch from leilei.
Moved MOV TRx, reg to correct opcode - required by Award 430VX BIOS with 6x86.
|
2016-04-27 22:23:49 +01:00 |
|
SarahW
|
14df80109b
|
Added recompiler block tree to x86-64 recompiler. Fixed return value in codeblock_tree_find() that could cause GCC to generate bad code.
|
2016-04-08 20:49:03 +01:00 |
|
SarahW
|
36bb949126
|
If recompiler block hash table points to wrong block, then walk tree to find correct block instead of recompiling. Speedups of 10-20% on games that were seeing hash aliasing, eg Quake III, System Shock 2, UltraHLE etc
|
2016-04-06 20:48:36 +01:00 |
|
TomW
|
4011a246ff
|
Added code generation for MMX instructions
|
2016-02-24 20:55:48 +00:00 |
|
TomW
|
673d785743
|
Writing to a memory page with code present only causes code block flushes if the data changes, or if a block is currently being recompiled.
|
2016-02-03 21:09:05 +00:00 |
|
TomW
|
e9bea8ab7e
|
Added recompiled versions of PUSH [mem], PUSH seg, NOP, CLD, STD, JMP indirect, CALL indirect.
|
2015-11-17 20:52:51 +00:00 |
|
TomW
|
f339f00315
|
Interpreter and dynamic recompiler now present in a single binary.
|
2015-08-21 20:55:36 +01:00 |
|
TomW
|
5f391a1992
|
Reduced number of unnecessary register loads in x86-64 recompiler.
|
2015-08-05 20:31:20 +01:00 |
|
TomW
|
634c235dc2
|
Fix Linux build. Enable 64-bit recompiler in Linux.
|
2015-07-18 16:03:39 +01:00 |
|
TomW
|
08254b8dfb
|
Initial 64-bit recompiler.
Various 64-bit fixes.
Various fixes to allow building under MinGW-w64.
|
2015-07-18 12:11:54 +01:00 |
|
TomW
|
f3607c2308
|
Added code generation for :
- FCOM/FUCOM
- FSUBR/FSUBRP/FDIVR/FDIVRP
- FLDCW/FSTCW
- FILD/FIST/FISTP (16-bit, 32-bit and 64-bit variants)
- FLD/FST/FSTP double precision
- Integer and double precision variants of FADD/FSUB/FMUL/FDIV
Also added 64-bit readmemq/writememq functions.
|
2015-06-13 16:14:35 +01:00 |
|
TomW
|
15bca849c8
|
Added code generation for first batch of FPU instructions; instructions added are most common instructions used in Quake.
|
2015-04-19 08:42:04 +01:00 |
|
TomW
|
bbf0011e95
|
Added code generation for JCXZ, LOOP, JE, JNE, JS, JNS, JB, JNB, JO, JNO, JP and JNP.
|
2015-04-14 20:40:40 +01:00 |
|
TomW
|
a97e89e857
|
Added code generation for register and immediate PUSH/POP, RET, relative CALL and JMP instructions.
|
2015-03-30 20:42:33 +01:00 |
|
TomW
|
ba715706b6
|
Added code generation for memory versions of MOV, and memory source versions of ADD, SUB, AND, OR, XOR and CMP.
|
2015-02-08 17:17:14 +00:00 |
|
TomW
|
b4592cdea3
|
Implemented new memory mapping to improve performance of self modifying code.
New scheme allows code blocks to cross pages.
Reduced code block size down to 2kB.
|
2015-01-28 21:58:02 +00:00 |
|
TomW
|
630592125c
|
Added code generation for immediate->register and register versions of MOV, XCHG, ADD, SUB, AND, OR, XOR, TEST, CMP, INC and DEC.
|
2015-01-16 21:22:14 +00:00 |
|
TomW
|
13226a2bd4
|
Added Pentium and Pentium MMX emulation.
|
2014-11-17 20:41:02 +00:00 |
|
TomW
|
2905c43db8
|
Cycle counts for recompiled blocks now generated at compile time.
|
2014-11-12 19:33:49 +00:00 |
|
TomW
|
4676daade4
|
Initial commit of dynamic recompiler.
Various CPU changes to support dynamic recompiler.
|
2014-11-05 21:24:16 +00:00 |
|