flyinghead
7f2fcfde6f
wince: don't use setjmp/longjmp on windows
2019-05-10 22:31:59 +02:00
flyinghead
e6794743ad
wince: rec-x64 fix for win32
...
fix GDI on windows
2019-05-10 21:21:30 +02:00
Flyinghead
810b8a59da
wince: 32-bit virtual mem space
...
use fast mem read/write for x64 and arm64 dynarecs
2019-04-29 18:23:00 +02:00
Flyinghead
553f6054ce
NO_MMU build fixes
2019-04-19 11:56:11 +02:00
Flyinghead
9920880987
dynarec: reserve code cache space for frequently changing blocks
...
detect frequent SMC check failures and use a specific code cache area
for these blocks.
flush the temp area when full but keep the main code cache area
2019-04-19 11:45:05 +02:00
Flyinghead
0f34d776f6
wince: delete sr.FD hack, restore FD block check in x64 rec
...
use longjmp for interpreter fallback exceptions
2019-04-18 14:15:01 +02:00
Flyinghead
5d6e96463c
x64 and win32 build fixes
2019-04-15 18:31:15 +02:00
Flyinghead
dece3fc13e
wince: use setjmp/longjmp instead of try/catch for dynarecs
...
WinCE fast mmu implementation
WIP arm64 dynarec
2019-04-15 18:02:34 +02:00
Flyinghead
ba00da2420
dynarec: don't throw exceptions if NO_MMU
2019-03-25 13:53:49 +01:00
Flyinghead
ef43883fb5
dynarec: WinCE support WIP
...
Only for the x64 dynarec atm
Bugs remaining
2019-03-25 11:53:13 +01:00
Flyinghead
91fb92264d
x64 dynarec: do not use RSQRTSS as it lacks precision
...
RSQRTSS error is:
|Relative Error| <= 1.5 ∗ 2^-12
whereas SH4's FSRRA abs error is <= 2^-21
Fixes loop issues is Sonic Adventure 1 and 2
Issue #1489
2019-02-04 10:48:22 +01:00
Flyinghead
91cfd4b2f7
Reserve and allocate maximum RAM/VRAM/ARAM in all cases
...
Reserve enough virtual memory space for DC and Naomi
Allocate dynarec entry point tables for max possible ram
Free mem and release vmem on exit
2019-01-24 09:48:58 +01:00
Flyinghead
eb37dacadb
x64: disable the use of AVX instructions because of rounding issues
2019-01-22 16:17:25 +01:00
Flyinghead
cd4e4cbdc9
x64 dynarec: check if extension is supported by cpu. seh on win32
...
Check if FMA/AVX/SSE3 is supported before using it
fully naked main loop in win32 with proper seh directives
win32: more xmm regs to allocate and no need to save them when calling
out
2019-01-18 17:02:50 +01:00
Flyinghead
f852480b88
OSX: build fix
2019-01-16 14:44:40 +01:00
Flyinghead
05d7cf2c72
x64 dynarec: implement immediate address ram read. OSX fix
2019-01-16 13:39:52 +01:00
Flyinghead
e241613b8f
x64 dynarec: implemented swaplb, fipr, ftrv, frswap and other fixes
...
native implementations for swaplb, fipr, ftrv and frswap
use explode_spans to map 2V and F64 to registers
save xmm registers when calling subroutine
2019-01-14 21:15:36 +01:00
Flyinghead
31163b8d7e
x64 dynarec: various fixes and optimizations
...
implemented fsca
fixed fsetgt and cvtf2i
2019-01-13 12:27:02 +01:00
Flyinghead
a2cd9d7af1
x64 dynarec: use register alloc spans, implement native opcodes
2019-01-12 23:48:48 +01:00
Flyinghead
fc05727538
dynarecs clean-up
...
move GetRegPtr and ngen_FailedToFindBlock to sh4/dyna
2019-01-11 23:52:20 +01:00
Flyinghead
d438f6d9c9
x64 dynarec: don't reset the cycle counter but add a time slice
...
This is how the interpreter and other dynarecs work. Better scheduling
precison.
Fixes Gundam Side Story freeze at boot.
2018-11-22 18:57:07 +01:00
Flyinghead
960904c401
Exit cleanly in desktop platforms
...
Lighter and cleaner version of the previous PR
2018-07-23 19:52:50 +02:00
Stefanos Kornilios Mitsis Poiitidis
f45f888d0b
Use platform specific first argument register
2018-07-01 12:15:59 +02:00
Stefanos Kornilios Mitsis Poiitidis
ad05c35a7e
Implement CheckBlock for x64
2018-06-29 15:19:49 +02:00
Stefanos Kornilios Mitsis Poiitidis
a4186381fb
xbyak: Move to deps folder
2015-08-24 13:27:51 +02:00
Stefanos Kornilios Mitsis Poiitidis
4c19f347aa
x64/xbyak: Update to 4.86
...
- Resolves call warnings for clang/gcc
- Overall minor improvements
- Also added copyright file
2015-08-24 13:22:30 +02:00
Jan Holthuis
109a2cce93
rec_x64.cpp: Fix function calls
...
Resolves #719 .
2015-08-15 18:15:49 +02:00
Stefanos Kornilios Mitsis Poiitidis
4aaff464b3
shrec/jitx64: Implement all block ends
...
This is still minimal and doesn't do any linking or other smart stuff
Also fixed a bug on shop_jdyn
2015-08-05 05:00:01 +02:00
Stefanos Kornilios Mitsis Poiitidis
a9c76351f6
build: Draft & cleanup, refactor rec* options
2015-07-25 13:17:42 +02:00
Stefanos Kornilios Mitsis Poiitidis
82ef7d0754
jitx64: 16KBs of emit space are guaranteed, not 64
2015-07-21 15:42:10 +02:00
Stefanos Kornilios Mitsis Poiitidis
0a3fcfe4ac
jit-x64: typofix on shop_writem, WriteMem64
2015-07-21 14:48:37 +02:00
Stefanos Kornilios Mitsis Poiitidis
b056cf6cef
Implement jitcore opset for x64
...
Now mov64, readm, writem, in addition to jittiny ifb, jdyn, mov32
2015-07-14 20:17:45 +02:00
Stefanos Kornilios Mitsis Poiitidis
1125f25eae
Fix win86 build
2015-07-14 17:47:54 +02:00
Stefanos Kornilios Mitsis Poiitidis
8cb6d6578c
Count cycles correctly
2015-07-14 17:23:02 +02:00
Stefanos Kornilios Mitsis Poiitidis
e50cfe3010
x64 tinyjit: linux support
2015-07-14 03:35:34 +02:00
Stefanos Kornilios Mitsis Poiitidis
3852cf9ac8
Minimal x64 jit: Desync'd, but runs
2015-07-13 23:56:42 +02:00