Stanislav Shwartsman
|
457152334e
|
step2 in XSAVE implementation
|
2008-02-13 16:45:21 +00:00 |
|
Stanislav Shwartsman
|
8615022962
|
Added first stubs for XSAVE/XRESTOR implementation
Disassemble XSAVE/XRSTOR instructions (4 instructions)
Update CHANGES - a bit speculatively
|
2008-02-12 22:41:39 +00:00 |
|
Stanislav Shwartsman
|
8d7410a852
|
Canonical check have higher priority than #AC check
|
2008-02-11 20:52:10 +00:00 |
|
Stanislav Shwartsman
|
063d896226
|
Optimization in 16-bit resolve functions
Fixes for hosts which can't support misaligned memory access
|
2008-02-07 20:43:13 +00:00 |
|
Stanislav Shwartsman
|
a2897933a3
|
white space cleanup
|
2008-02-02 21:46:54 +00:00 |
|
Stanislav Shwartsman
|
1a55fce072
|
remove staruct for eflags and use single 32-bit variable
|
2008-01-29 22:26:29 +00:00 |
|
Stanislav Shwartsman
|
37fbb82baa
|
Cleanups. Move bxInstruction_c definition to separate file instr.h
|
2008-01-29 17:13:10 +00:00 |
|
Stanislav Shwartsman
|
7b80c5f481
|
I merged and succeded to remove some similar execution functions - less code, less chance for branch misprediction
|
2008-01-25 19:34:30 +00:00 |
|
Stanislav Shwartsman
|
9ec2c87aaa
|
cleanups and optimizations
|
2008-01-22 16:20:30 +00:00 |
|
Stanislav Shwartsman
|
192f398b46
|
removed --enable-magic-breakpoint configure option - it is enabled by default if Bochs internal debugger compiled in. Also it always possible to switch magic break off by .bochsrc option
|
2008-01-21 21:36:58 +00:00 |
|
Stanislav Shwartsman
|
63d8d50cfc
|
code cleanup
|
2008-01-20 20:11:17 +00:00 |
|
Stanislav Shwartsman
|
8c9de8b4db
|
speculative tracing on fetchdecode level
|
2008-01-18 09:36:15 +00:00 |
|
Stanislav Shwartsman
|
9e53b71a55
|
Segment base in not long mode should only 32-bit
|
2008-01-14 19:03:50 +00:00 |
|
Stanislav Shwartsman
|
c6fd4ebf94
|
Split CALL_Ev and JMP_Ev methods
|
2008-01-12 16:40:38 +00:00 |
|
Stanislav Shwartsman
|
77b4b70b9b
|
oops, revert incorrectly merged change
|
2008-01-10 20:32:23 +00:00 |
|
Stanislav Shwartsman
|
1f4608cd84
|
Fix for implemened 3dnow instuctions (most of them are not implemented)
|
2008-01-10 20:26:49 +00:00 |
|
Stanislav Shwartsman
|
d9984bb3a1
|
Eliminate BxResolve call from the heart of cpu loop and move into instructions that really require this calculation. Yes, it blows the code of EVERY CPU method but it has >15% speedup !
|
2008-01-10 19:37:56 +00:00 |
|
Stanislav Shwartsman
|
a9e001bd30
|
Optimize short traces
|
2008-01-05 10:21:25 +00:00 |
|
Stanislav Shwartsman
|
eee1a9030d
|
a bit simplify and optimize shift instructions
print failed segment info in check_cs - more debug info
|
2007-12-30 20:16:35 +00:00 |
|
Stanislav Shwartsman
|
d891f0d8ec
|
Fixed more VC2008 warnings - hopefully last ones
|
2007-12-30 17:53:12 +00:00 |
|
Stanislav Shwartsman
|
79fc57dec8
|
Fixed more VCPP2008 warnings
|
2007-12-26 23:07:44 +00:00 |
|
Stanislav Shwartsman
|
c3c9c40674
|
Move MaxFetch calculation into fetchdecode - simplify the logic
|
2007-12-22 17:17:40 +00:00 |
|
Stanislav Shwartsman
|
e9a148f9c4
|
lmost last instruction split -> CMOV in 16/32 bit modes
|
2007-12-21 18:24:19 +00:00 |
|
Stanislav Shwartsman
|
a93b0afdbe
|
Merge page split detection method suggested by Darek Mihocka
|
2007-12-21 10:33:39 +00:00 |
|
Stanislav Shwartsman
|
5d4e32b8da
|
Avoid pointer params for every read_virtual_* except 16-byte SSE and 10-byte x87 reads
|
2007-12-20 20:58:38 +00:00 |
|
Stanislav Shwartsman
|
b516589e4e
|
Changes in write_virtual_* and pop_* functions -> avoid moving parameteres by pointer
|
2007-12-20 18:29:42 +00:00 |
|
Stanislav Shwartsman
|
c9932e97eb
|
Fixes in resolve.cc -> reduce amount of resolve functions even more
|
2007-12-18 21:41:44 +00:00 |
|
Stanislav Shwartsman
|
fe2e0525da
|
More optimization for string instructions
|
2007-12-17 19:52:01 +00:00 |
|
Stanislav Shwartsman
|
0af87ab63b
|
Split string instructions according to the address size - simpler and faster
|
2007-12-17 18:48:26 +00:00 |
|
Stanislav Shwartsman
|
a545bf63ce
|
push_64 and pop_64 could happen only in 64-bit mode
|
2007-12-16 21:40:44 +00:00 |
|
Stanislav Shwartsman
|
46366b5064
|
Speedup simulation by eliminating CPL==3 check from read/write_virtual* functions
|
2007-12-16 21:03:46 +00:00 |
|
Stanislav Shwartsman
|
de5838ce80
|
cleanups and fixes for Immediate_IbIb of SSE4A
|
2007-12-16 20:47:10 +00:00 |
|
Stanislav Shwartsman
|
1e843cb462
|
Decode SSE4A
Rework immediate bytes decoding to make it faster
|
2007-12-15 17:42:24 +00:00 |
|
Stanislav Shwartsman
|
3a6d714398
|
Split for JMP_Ew/Ed opcodes from Grp5
|
2007-12-14 23:15:52 +00:00 |
|
Stanislav Shwartsman
|
fd73390ca5
|
Split 64-bit CMOVcc opcode
|
2007-12-14 22:41:43 +00:00 |
|
Stanislav Shwartsman
|
903f6dea35
|
Split setCC functions - makes code faster and simpler
|
2007-12-14 21:29:36 +00:00 |
|
Stanislav Shwartsman
|
d9a59c7a1f
|
Added ability to merge traces cross JCC branch instructions
Makes traces longer -> emulation faster in average
|
2007-12-14 20:41:09 +00:00 |
|
Stanislav Shwartsman
|
db69a25c36
|
Trace cache instrumentation methods
Next step will be tracing cross non-taken branches
|
2007-12-14 11:27:44 +00:00 |
|
Stanislav Shwartsman
|
adda3befd3
|
Trace cache optimization merged
|
2007-12-09 18:36:05 +00:00 |
|
Stanislav Shwartsman
|
ee465a7714
|
misaligned SSE support works only for loads
|
2007-12-09 17:40:23 +00:00 |
|
Stanislav Shwartsman
|
d54d537f81
|
One more step for lazy flags optimization
|
2007-12-06 16:57:59 +00:00 |
|
Stanislav Shwartsman
|
a835e3f8ff
|
get_FLAG_Lazy not always returns 0/1
|
2007-12-05 06:27:01 +00:00 |
|
Stanislav Shwartsman
|
295a36ef58
|
2nd step of lazy flags optimization
|
2007-12-05 06:17:09 +00:00 |
|
Stanislav Shwartsman
|
88899cf617
|
Changes for lazy flags handling -> 1st stap in transition to new lazy flags handling by Darek Mihocka (www.emulators.com)
|
2007-12-04 19:27:23 +00:00 |
|
Stanislav Shwartsman
|
c58e95f611
|
Make hw breakpoint match check a function - normally it should be called from read/write_virtual as well
|
2007-12-03 20:49:24 +00:00 |
|
Stanislav Shwartsman
|
a0147fe055
|
Fixed bug prevented to boot Win98
|
2007-11-30 08:49:12 +00:00 |
|
Stanislav Shwartsman
|
1a55835155
|
Optimize lazy flags for MUL/IMUL
|
2007-11-29 21:45:10 +00:00 |
|
Stanislav Shwartsman
|
8cfd17202a
|
some simple SSE code optimizations
|
2007-11-27 22:12:45 +00:00 |
|
Stanislav Shwartsman
|
c51888f43f
|
Split last BxLockable opcodes -> this allows to eliminate mod==0xc0 check from fetchdecode of every instruction
reduce ACPU.CC dependencies - now that file doesn't depend of CPU
|
2007-11-25 20:22:10 +00:00 |
|
Stanislav Shwartsman
|
e51184c8cf
|
Eliminate saving of RSP from heart of cpu_loop
Now save RSP only where it is really required
|
2007-11-24 14:22:34 +00:00 |
|