Commit Graph

2514 Commits

Author SHA1 Message Date
sephiroth99
8272beb8d2 Fix assignment of temporary value to non-const reference. 2015-09-22 07:45:57 -07:00
sephiroth99
08ae855e07 It seems 'export' is a reserved keyword for clang. 2015-09-22 07:45:52 -07:00
sephiroth99
f3a4e1146f Fix logical-op parenthesis error from clang. 2015-09-22 07:44:16 -07:00
sephiroth99
7fb4fd2790 More workarounds for __m128. 2015-09-22 07:44:04 -07:00
sephiroth99
ab2ef82d55 xobject: remove accept method of object_ref class
The removed method was causing an error in clang ("call to non-static member
function without an object argument"). As it was not used, simply remove
it.
2015-09-22 07:43:08 -07:00
sephiroth99
e1d569dd7c Fix usage of __m128.
With GCC and clang, __m128 is not a struct, so there are no struct members
to access the individual items in the vector.

Use standard load/store function and some hackery to workaround this
limitation.
2015-09-22 07:41:28 -07:00
sephiroth99
542f5ba8e5 Move GetTempReg higher in the source file, before its first usage. 2015-09-22 07:39:26 -07:00
sephiroth99
ff7c755bc9 memory: AlignedAlloc: fallback to aligned_alloc()
When compiling with clang++, __STDC_VERSION__ is not defined (obviously
as clang++ is not a C compiler). Because of this, check if compiling
with MSVC and fallback to the Linux implementation. If the latter is not
supported, compilation will fail, as it previously would have with the
2015-09-22 07:39:06 -07:00
Ben Vanik
83f3d520b2 Add missing header includes. 2015-09-22 07:38:59 -07:00
Ben Vanik
3fc1d02a09 Suspend some host threads that make guest callbacks. 2015-09-21 21:24:26 -07:00
Ben Vanik
4c8634bc31 Fixing breakpoints. 2015-09-21 21:10:57 -07:00
Ben Vanik
5d033f9cb3 A new debugger.
Lots of bugs/rough edges/etc - issues will be filed.
Old-style debugging still works (just use --emit_source_annotations to get
the helpful movs back and --break_on_instruction will still fire).
2015-09-20 21:31:05 -07:00
Dr. Chat
2983b0c090 Update some documentation. 2015-09-11 17:12:49 -05:00
Dr. Chat
cad23cea81 Pause the emulator if the guest crashes and the VS debugger isn't attached. 2015-09-11 17:09:25 -05:00
Dr. Chat
8e716a3a7e Exception handler abstraction class 2015-09-11 17:07:12 -05:00
Dr. Chat
a2bc0443f2 Quick-kill the MMIO handler if the fault address is above the mapping range. 2015-09-07 21:26:33 -05:00
Ben Vanik
3ac83b16c8 Fix double window destroy. 2015-09-07 09:41:44 -07:00
Ben Vanik
fa9c681c7c Implicit Window::MakeReady on context set. 2015-09-07 09:29:07 -07:00
Ben Vanik
ec7c74d04c Ref count elemental. 2015-09-07 09:26:36 -07:00
Ben Vanik
539f69f368 Multi-window GL contexts. 2015-09-07 09:08:54 -07:00
Ben Vanik
5411b67e05 Only register window class once. 2015-09-07 09:08:38 -07:00
Ben Vanik
3e66afeb3a Don't steal focus on mouse move. 2015-09-07 09:08:27 -07:00
Ben Vanik
855ab7c040 Fixing set_bordered name. 2015-09-07 09:08:19 -07:00
Ben Vanik
2b30ac393d Source control. 2015-09-07 08:28:02 -07:00
Ben Vanik
a1a996c1e6 Shrinking UI elements in the debugger. 2015-09-06 20:49:20 -07:00
Ben Vanik
e5fbf840d2 Shuffling kernel/. 2015-09-06 18:07:52 -07:00
Ben Vanik
494cba7131 Removing unused XAsyncRequest. 2015-09-06 14:10:34 -07:00
Ben Vanik
8588fbc6cf Shuffling kernel util types to util/. 2015-09-06 13:45:52 -07:00
Ben Vanik
068b2056ca Explode more gracefully on crashes while crashing. 2015-09-06 13:34:39 -07:00
Ben Vanik
0133bec11d Fix empty line logging. 2015-09-06 13:34:19 -07:00
Ben Vanik
790ce8aee1 Switch back to std:: muteces. mutices. mutexen. 2015-09-06 13:34:08 -07:00
Ben Vanik
cb3dbcccbc Notes. 2015-09-06 11:05:16 -07:00
Ben Vanik
e48c3534cc Removing copy to temp buffer in log flush. 2015-09-06 10:28:17 -07:00
Ben Vanik
9ae807e56e Initialize builtins to 0. 2015-09-06 10:07:27 -07:00
Ben Vanik
669f5b061f Moving DPC list into KernelState and removing unused file. 2015-09-06 09:36:39 -07: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
33270cd2a0 Making tracing use the fast logger path. 2015-09-05 21:12:10 -07:00
Ben Vanik
6c07eb8e5c Faster RtlFillMemoryUlong. 2015-09-05 14:38:07 -07:00
Rhodan81
9427d03d5a Fix crash in memory allocation when there is no space to fit entire page
range
2015-09-05 15:53:05 +02:00
Dr. Chat
8024e4fd20 XMA: We can only decode an entire frame and write it out at a time! Saving samples is bad. 2015-09-02 20:20:45 -05:00
Dr. Chat
3d1f079e86 NetDll_inet_addr needs to convert endianness! 2015-09-01 23:47:54 -05:00
Ben Vanik
a478658b2c Re-disabling GPU interrupt log. 2015-09-01 20:24:19 -07:00
Ben Vanik
311b65537d --log_high_frequency_kernel_calls (defaults to false) to cull some lines. 2015-09-01 18:20:08 -07:00
Ben Vanik
3c1e012098 Lookup thread/event/etc objects by name on create to try to reuse. 2015-09-01 18:09:44 -07:00
Ben Vanik
3f433fe20a Object table names are case insensitive. 2015-09-01 18:08:00 -07:00
Ben Vanik
f3c75b8d87 Support ObReferenceObjectByHandle for XEvents. 2015-09-01 17:42:07 -07:00
Ben Vanik
b9debbaa63 Fixing section lookup when the name is 8 characters. 2015-09-01 17:03:40 -07:00
Ben Vanik
f5e374f9b5 Changing the way the global lock works. Some things are better, I think.
Regressions are likely.
2015-09-01 09:45:32 -07:00
Ben Vanik
5355183590 Don't double-break on debugbreak. 2015-09-01 09:45:32 -07:00
Dr. Chat
51e70be054 Don't assert on VRSAVE mfspr/mtspr (used by gcc) 2015-08-31 10:51:51 -05:00