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
69af4a21ac
[x64] Fill unwind reservation info bytes with 0xCC as well
2018-11-17 11:04:25 -06:00
Dr. Chat
5ed086f03f
x64 Code Cache: Notify Intel VTune of generated functions.
2017-03-16 17:45:47 -05:00
Dr. Chat
7683069f6c
Set context/membase registers to rsi/rdi respectively.
...
Use offsetof for the backend thunks.
2016-08-26 11:00:42 -05:00
Dr. Chat
2d55b12cc9
Fix a race condition in x64 code cache involving RtlGrowFunctionTable
2016-07-19 13:59:40 -05:00
Dr. Chat
f3fe260a17
Fallback case if indirection table could not be allocated.
2015-11-04 06:46:52 -06:00
Ben Vanik
3c96b6fa0a
DANGER DANGER. Switching to global critical region.
...
This changes almost all locks held by guest threads to use a single global
critical region. This emulates the behavior on the PPC of disabling
interrupts (by calls like KeRaiseIrqlToDpcLevel or masking interrupts),
and prevents deadlocks from occuring when threads are suspended or
otherwise blocked.
This has performance implications and a pass is needed to ensure the
locking is as granular as possible. It could also break everything
because it's fundamentally unsound. We'll see.
2015-09-06 09:30:54 -07:00
Ben Vanik
eaa1a8ee3a
Refactoring SymbolInfo/FunctionInfo/Function into Symbol/Function.
2015-08-05 21:50:02 -07:00
Ben Vanik
e657276996
Mostly working stack walking (besides issue #372 ).
2015-07-29 00:15:52 -07:00
Ben Vanik
352bae30cb
Removing win32 code from X64CodeCache.
...
Fixes #349 .
2015-07-19 10:33:00 -07:00
Ben Vanik
ecd4af10c9
Fixing some clang warnings/errors.
2015-07-15 23:26:58 -07:00
Ben Vanik
8154d1dad6
Moving xe::Memory and code cache to abstracted APIs.
2015-07-15 22:10:05 -07:00
Ben Vanik
6cf29b969d
Abstraction for VirtualAlloc/VirtualFree.
2015-07-15 19:05:08 -07:00
Ben Vanik
12120262b8
Adding non-win8 API for unwind info, but it doesn't work :/
...
Working on #295 .
2015-06-26 21:50:32 -07:00
Ben Vanik
fb1f4906d9
xb format --all (we are now format clean). Buildbot will yell at you.
2015-06-22 22:26:51 -07:00
Drew DeVault
a064ba053e
Add missing includes for cstring
2015-06-16 23:16:18 -06:00
Ben Vanik
5f33087a12
Adding mmap for code cache and exposing cache properties.
2015-06-16 20:13:39 -07:00
Ben Vanik
0ffd8bbedd
Place all XMM constants in memory so we can avoid clobbering rax.
2015-06-15 18:59:27 -07:00
Ben Vanik
f5a2b85d42
Switching to xe::mutex.
2015-05-25 00:52:21 -07:00
Ben Vanik
bac3f8c3bd
Fixing tests.
2015-05-21 07:51:56 -07:00
Ben Vanik
fc4727c339
Changing calls/jmps to use the indirection table. Most games seem faster.
2015-05-21 00:12:28 -07:00
Ben Vanik
ad72c193a6
Fixing stack traces, making lr BC... to diff from stack scribble BE...
2015-05-20 23:28:34 -07:00
Ben Vanik
5e5eb47789
Rewriting code cache to put everything at fixed addresses.
2015-05-20 19:23:46 -07:00