Commit Graph

275 Commits

Author SHA1 Message Date
Triang3l
5c47a3a588 [x64] vcfux single rounding for 0x80000000+ 2020-12-11 21:20:13 +03:00
gibbed
326220309b [x64] Handle constant in LOG2_F32/F64/V128. 2020-11-27 05:34:08 -06:00
Triang3l
a73592c2ef [Memory/CPU] UWP: Support separate code execution and write memory, FromApp functions + other Windows memory fixes 2020-11-24 22:18:50 +03:00
Triang3l
86ae42919d [Memory] Close shared memory FD and properly handle its invalid value 2020-11-22 14:17:37 +03:00
Sandy Carter
49e194009b [memory linux] Properly unlink shared memory
shm_unlink(name) is the proper way to close a shared memory in linux.
Prior to this, xenia was creating and not cleaning up shared memory handle
which would accumulate in /dev/shm. shm_unlink is the proper way of doing
this.
Add filename to CloseFileMappingHandle signature.
Add simple test to open and close.
2020-11-22 13:54:00 +03:00
Sandy Carter
2c7009ca80 [memory] Move "Local\\" prefix to win impl
CreateFileMappingHandle now takes shared memory name without a prefix.
The doc of shm_open recommends not using slashes and prefixing with "/".
The prefixing has been moved to the os implementation layer.
Invocations of CreateFileMappingHandle were all using "Local\\" so these
prefixes were removed.
2020-11-22 13:54:00 +03:00
gibbed
814728ebbe [x64] Space r/xmm regs in thunk emitter. 2020-04-13 12:57:14 -05:00
gibbed
a48bb71c2f Overhaul logging. 2020-04-07 16:09:41 -05:00
gibbed
5bf0b34445 C++17ification.
C++17ification!

- Filesystem interaction now uses std::filesystem::path.
- Usage of const char*, std::string have been changed to
  std::string_view where appropriate.
- Usage of printf-style functions changed to use fmt.
2020-04-07 16:09:41 -05:00
Margen67
b3d1c5982a [CPU] Typo fix 2020-03-07 19:39:56 -06:00
gibbed
aa28430786 [x64] NAN up vmsum3fp128/vmsum4fp128.
It seems vmsum3fp128/vmsum4fp128 need to output a NAN on overflow.

Do so. Probably inefficiently.
2020-02-24 18:13:07 -06:00
gibbed
a6e6f0f7bf Lint cleanup. 2020-02-22 13:29:07 -06:00
Gliniak
0d866aa173 [CPU] Increased maximum function count 2020-02-09 15:47:29 -06:00
Prism Tutaj
1cce25d5e7 [CPU] Change thunk layout and fix Linux thunk misalignment 2020-02-05 09:49:29 -06:00
Joel Linn
922f1f220a [CPU] Implement mftb instruction natively.
When the cvars clock_no_scaling and clock_source_raw are set, tick counts will be directly calculated in the emitted code.
2019-12-01 17:11:58 -06:00
gibbed
ae15c27a24 [x64] Take advantage of StashConstantXmm. 2019-11-30 20:08:10 -06:00
gibbed
04a54cc58f [x64] Fix constant src2 in VECTOR_ROTATE_LEFT_V128. 2019-11-30 20:08:10 -06:00
gibbed
f7a8c5ce7a [x64] Fix corruption of src1 in calls to EmulateVectorRotateLeft.
To mitigate this mistake in the future, implemented new
StashConstantXmm functions.
2019-11-30 20:08:10 -06:00
gibbed
e9802a9f3b [x64] Further simplification / fix buffer overrun in code cache.
- [x64] Further simplify padding of code / unwind reservation in code cache.
- [x64] Fix accidental buffer overrun caused by previous simplification.
2019-08-26 13:42:44 -05:00
gibbed
c4ff8d7c58 [x64] Fix prolog/epilog sizes for emitted functions. 2019-08-25 17:02:42 -05:00
gibbed
c808b59834 [x64] Simplify growable function pointer definitions. 2019-08-25 17:02:42 -05:00
gibbed
015e91140a [x64] Don't have a zeroed unwind info as the first slot. 2019-08-25 17:02:42 -05:00
gibbed
920b5c5839 [x64] Simplify padding of code / unwind reservation in code cache. 2019-08-25 17:02:42 -05:00
gibbed
24321dbcd9 [x64] Fix up offset of stack alloc in prolog for unwind info.
- [x64] Track offset of stack alloc in prolog within emitted functions.
- [x64] Don't use hardcoded offset of stack alloc in prolog in generated
  unwind info.
2019-08-23 06:12:22 -05:00
gibbed
0dc4a13db3 [x64] Fix up unwind info for emitted functions.
- [x64] Track size of code within emitted functions (prolog, body, epilog).
- [x64] Don't use hardcoded prolog size in generated unwind info.
- [x64] Update URLs to MSDN documentation on UNWIND_INFO/UNWIND_CODE.
2019-08-23 06:12:22 -05:00
gibbed
918a7d4365 [x64] Reuse module handle when pulling in growable function table imports. 2019-08-23 06:12:22 -05:00
gibbed
92a85d6692 [x64] Remove outdated comment. 2019-08-23 06:12:22 -05:00
Triang3l
bc4b68db45 [CPU] Data cache control instructions 2019-08-18 16:22:32 +03:00
Triang3l
003c02c640 [CPU, Memory] 0xE0000000 adjustment by @elad335 and mapping 2019-08-14 21:37:52 +03:00
gibbed
b2f62b1982 Clean up cvars (rename, recategorize). 2019-08-03 23:46:03 -05:00
Jonathan Goyvaerts
81fe22f1c8 Get rid of gflags alltogether 2019-08-03 02:34:19 +02:00
Jonathan Goyvaerts
c1af632562 Replace all gflag implementations with cvar implementations 2019-08-03 02:34:07 +02:00
Rick Gibbed
372928cd57 Merge pull request #1387 from Margen67/update_capstone
Update Capstone to latest stable (4.0.1).
2019-08-02 11:09:02 -05:00
Triang3l
8c00aea5ff [CPU] vpkd3d VPACK_NORMPACKED64 2019-07-20 22:04:37 +03:00
Margen67
aea0d8d6b3 [third_party] Update capstone to latest stable 2019-06-24 23:15:28 -07:00
gibbed
bc0ebcb26e - Clean up log level names, no need for LOG_LEVEL_ prefix when it is an
enum class.
- Clarify usage of log level in comment.
2019-04-30 17:41:27 -05:00
gibbed
593a871c84 [x64] Use vmovaps instead of movaps in emitted function prolog/epilog. 2019-04-18 09:36:06 -05:00
Triang3l
4ae9266f13 [CPU] Fix vpkd3d half4 component order 2019-01-24 17:45:41 +03:00
Triang3l
949b05f517 [CPU] Fix saturation in D3DCOLOR vpkd3d 2019-01-13 17:29:06 +03:00
gibbed
e7d77f4780 Clarify AVX requirement error message. 2018-11-26 10:33:22 -06:00
Dr. Chat
b3d509eb01 [x64] Swap to using anchor variables instead of dummy function calls 2018-11-23 18:02:04 -06:00
Dr. Chat
df964015a4 [x64] Fix improper use of compare_exchange_strong when adjusting code commit mark 2018-11-23 18:02:04 -06:00
Dr. Chat
384ec98a42 [x64] Allow the JIT to use volatile registers 2018-11-23 18:02:04 -06:00
Dr. Chat
b57bb74965 [x64] Change the parameters to host_to_guest_thunk
Shuffle some code around in x64_backend.cc
Add GetNativeParam to avoid hardcoding parameters
2018-11-23 18:02:04 -06:00
Dr. Chat
c451fda819 [x64] Template-ize a few vector emulation functions 2018-11-23 18:02:03 -06:00
Dr. Chat
4571e8207a [x64] Minor cleanups in emitter 2018-11-23 18:02:03 -06:00
Dr. Chat
b2f9d54e7e [x64] Factor out memory handling code 2018-11-23 18:02:03 -06:00
Dr. Chat
bb74114cab [x64] Factor out control code 2018-11-23 18:02:03 -06:00
Dr. Chat
c318009733 [x64] Factor out vector handling code 2018-11-23 18:02:03 -06:00
Dr. Chat
6861cce492 [x64] Factor out a lot of the opcode handling code 2018-11-23 18:02:02 -06:00