Lioncash
46f61a48c7
Interpreter_FloatingPoint: Don't dump the entire MathUtils namespace into scope
...
Given functions from the MathUtils namespace are only used six times in
the whole file, dumping the namespace seems a little excessive.
2018-03-24 19:40:22 -04:00
Lioncash
27611d55ff
Interpreter_FPUtils: Get rid of a pointer cast
...
This is undefined behavior according to the standard. We can just use
the built in means of retrieving a quiet NaN.
2018-03-24 19:33:44 -04:00
Léo Lam
328ac424c0
Merge pull request #6517 from lioncash/ppctables
...
PPCTables: Namespace all exposed functions
2018-03-24 22:17:36 +01:00
Lioncash
8a7abd72b4
PPCTables: Remove prefixed underscores from parameter names
2018-03-24 16:46:49 -04:00
Lioncash
2381aeecc3
PPCTables: Namespace all exposed functions
...
It's somewhat inconsistent to have two straggler functions outside the
namespace.
2018-03-24 16:46:12 -04:00
Lioncash
397b3fb976
CPUCoreBase: Make the GetName() member function const qualified
...
This function should have no need to modify internal class state.
2018-03-24 16:17:39 -04:00
Lioncash
c738ddc4aa
CPUCoreBase: Default the virtual destructor
2018-03-24 16:09:19 -04:00
Lioncash
ef6e747a68
PowerPC: Remove commented out PanicAlert
2018-03-24 14:52:22 -04:00
Lioncash
3dc3b0caa5
Interpreter_LoadStore: Remove commented out code
...
Also removes long separation lines that aren't really necessary.
2018-03-24 14:49:18 -04:00
Lioncash
f9e0645b99
Interpreter_SystemRegisters: Remove commented out code
2018-03-24 14:45:46 -04:00
Lioncash
288b579c09
Interpreter_Integer: Remove commented out code in subfic
2018-03-24 14:43:25 -04:00
Markus Wick
3ab88742fd
Merge pull request #6492 from lioncash/nop
...
Jit_Integer: Make NOP check more flexible for ori and expand NOP checking to oris, xori, and xoris
2018-03-24 08:53:21 +01:00
Pierre Bourdon
894d4c99a8
Merge pull request #6495 from lioncash/namespace
...
PowerPC: Namespace all header contents for PowerPC.h
2018-03-23 12:09:09 +01:00
Lioncash
fc16a78f6a
Jit_Integer: Handle NOP case for xori and xoris
...
Like ori and oris, xori and xoris can also be used to introduce a NOP.
In that case, just don't do anything.
2018-03-22 22:51:43 -04:00
Lioncash
007f9e5309
Jit_Integer: Handle NOP case for oris as well
...
Like ori, this can also be used as a NOP under the same conditions.
2018-03-22 22:49:02 -04:00
Lioncash
42fce74f39
Jit_Integer: Handle NOP case where RA == RS for ori
...
ori can be used as a NOP if the two register operands are the same, and
the immediate is zero, not only if the two register operands are r0.
Also removes the check for !inst.Rc, as ori only has one encoding, and
said encoding doesn't even have a record bit in it.
2018-03-22 22:47:19 -04:00
Mat M
71846a6daa
Merge pull request #6469 from lioncash/cmake
...
Core/CMakeLists: Migrate off add_dolphin_library
2018-03-22 21:52:44 -04:00
Lioncash
4c97deb364
PowerPC: Namespace all header contents for PowerPC.h
...
Puts everything under the same namespace. Previously the header was only
partially namespaced, which is inconsistent.
2018-03-22 19:01:47 -04:00
Léo Lam
5e76f3a6d4
Merge pull request #6488 from aldelaro5/symbols-log
...
LOG: Add a log type for Symbols
2018-03-22 22:06:04 +01:00
aldelaro5
c54e56793a
Add a log type for Symbols and move symbols related logs to it
...
This fix the awkwardness of having the symbols detection, parsing and loading related logs be in OS HLE while they don't have anything to do with that.
2018-03-22 14:57:28 -04:00
Lioncash
796d67e1ec
Interpreter_Integer: Handle OE bit for subf, subfc, subfe, subfme, and subfze
...
With this, overflow flag support is now fully implemented for all
instructions that support it.
2018-03-22 13:08:03 -04:00
Markus Wick
59c5bc964f
Merge pull request #6486 from lioncash/add-oe
...
Interpreter_Integer: Handle overflow flag when OE bit is set in add, addc, adde, addme, and addze
2018-03-22 14:15:58 +01:00
Lioncash
9d21425449
Interpreter_Integer: Handle overflow flag when OE bit is set in add, addc, adde, addme, and addze
2018-03-22 09:09:31 -04:00
Léo Lam
2e92d95888
Merge pull request #6487 from sepalani/dsp-doc
...
DSP: Fix typos in DSP LoadStore doc
2018-03-22 07:51:29 +01:00
Sepalani
4ed06da2b4
DSP: Fix typos in DSP LoadStore doc
2018-03-22 09:24:58 +04:00
Lioncash
e53fffeb90
PowerPC: Properly unset the overflow bit
...
The OV bit is non-sticky. Therefore, after an overflow-enabled
instruction executes, if an overflow does *not* occur, then OV is
cleared. SO is sticky however, so it staying set in this case is
correct.
2018-03-21 23:59:15 -04:00
Anthony
23bc50704a
Merge pull request #6484 from lioncash/mul
...
Interpreter_Integer: Handle the overflow flag when the OE bit is set for mullw
2018-03-21 18:18:00 -07:00
Lioncash
355509653e
Interpreter_Integer: Handle the overflow flag when the OE bit is set for mullw
2018-03-21 20:28:37 -04:00
Michael M
1ba43e6c27
DSPSymbols: remove unused ReadAnnotatedAssembly
...
It's unused, and it used a weird format, something like:
```
void label_name() {
asm $REG1, $REG2
// etc
}
```
2018-03-21 17:07:27 -07:00
Michael M
ed56f319b5
DSPHost: don't try to read old annotated assembly files
...
They don't exist anymore!
2018-03-21 17:06:30 -07:00
Markus Wick
8308d6b464
Merge pull request #6476 from lioncash/dispatch
...
JitAsm: Eliminate use of the JIT global variable
2018-03-21 09:55:04 +01:00
Lioncash
7a2d98b948
JitAsm: Remove use of the JIT global in Generate()
...
With this, JitAsm code doesn't have any reliance on the JIT global
variable. This means the core JIT64 code no longer relies on said
global at all. The Jit64 common code, however, still has some offenders.
Notably, EmuCodeBlock and Jit64AsmCommon are the remaining places in the
common code that make use of the global variable.
2018-03-21 04:41:37 -04:00
Lioncash
e0165a62da
JitBase: Remove use of the JIT global in Dispatch() and JitTrampoline()
...
Trims down a few more uses of the global variable by just passing the
JIT instance we're dispatching or trampolining with as a parameter.
2018-03-21 04:41:30 -04:00
Pierre Bourdon
fe600ab0ed
Merge pull request #6146 from HannesMann/qos-support
...
Netplay: Add Quality of Service (QoS) support
2018-03-21 02:46:46 +01:00
Anthony
ad8c31699f
Merge pull request #6463 from delroth/auto-update
...
Initial implementation of the Dolphin auto-updater for Windows
2018-03-20 11:28:26 -07:00
Pierre Bourdon
66b41c5509
UICommon: Add AutoUpdate module + placeholder Qt implementation
...
The AutoUpdate module is a generic update checker mechanism which can be
used by UI backends to trigger an auto-update check as well as the
actual update process.
Currently only configurable through .ini and the Qt implementation is
completely placeholder-y -- blocking the main thread on a network
request on startup, etc.
2018-03-20 19:21:19 +01:00
Markus Wick
43c92c8b16
Merge pull request #6451 from leoetlino/default-mmu
...
Config: Set bMMU to true by default on x64
2018-03-20 14:40:40 +01:00
Markus Wick
35bfa64dfc
Merge pull request #6470 from lioncash/ov-flag
...
Interpreter: Handle setting the overflow flag when the OE bit is set in divw, divwu, and neg
2018-03-20 11:08:12 +01:00
spycrab
44ce78c969
Qt: Remove in-development warning
2018-03-19 21:59:50 +01:00
Anthony
50588034ba
Merge pull request #6472 from lioncash/jit-init
...
JitBase: Ensure JitOptions and JitState instances are consistently initialized
2018-03-19 13:20:40 -07:00
Lioncash
51cfeb8c7d
JitBase: Ensure JitOptions and JitState instances are consistently initialized
...
Ensures that upon construction of a JitBase instance, that all
underlying members within the option and state structs are guaranteed
to be initialized.
This prevents potentially using a member uninitialized in some form.
2018-03-19 15:58:32 -04:00
Léo Lam
16f74cee70
Merge pull request #6467 from lioncash/breakpoint
...
Breakpoints: Remove direct usages of the JIT global
2018-03-19 18:42:10 +01:00
Lioncash
2fa0cb91a1
Interpreter_Integer: Set the overflow flag if the OE bit is set for neg
...
Also amends the condition that was being checked. Previously it was
checking if the destination register value was 0x80000000, however it's
actually the source register that should be checked.
2018-03-19 13:27:36 -04:00
Lioncash
675d2fb774
Interpreter_Integer: Set the overflow flag if the OE bit is set for divw and divwu
...
divw and divwu won't panic now if the OE bit is set for these instructions.
2018-03-19 11:51:10 -04:00
Lioncash
f129c936e7
PowerPC: Add functions for getting and setting the XER OV bit
...
While we're at it, change GetXER_SO's return value to u32
to prevent potential sign bit wonkyness given we're performing bit arithmetic.
2018-03-19 11:51:04 -04:00
Markus Wick
8c1be29cef
Merge pull request #6466 from lioncash/mffs
...
Interpreter_SystemRegisters: Handle mffs, mtfsb0, mtfsb1, mtfsf and mtfsfi with the record bit set
2018-03-19 09:37:01 +01:00
Markus Wick
0c0a342483
Merge pull request #6464 from lioncash/using
...
JitArm64_RegCache: Remove using namespace declaration from header
2018-03-19 09:11:45 +01:00
Lioncash
3a4c3bbe01
Core/CMakeLists: Migrate off add_dolphin_library
...
This macro (that has unfortunately become the de-facto way of
introducing targets) has a lot of disadvantages that outweigh the fact
that you avoid writing two extra lines of CMake script.
- It encourages the use of variables. In a build system the last thing
we want to care about is mutable state that can be avoided.
- It only handles linking in the libraries and nothing else. It's a
laziness macro.
- We should be explicit about what we're doing by introducing the target
first, not last.
This gets the ball rolling by migrating Core off the macro. Note that
this is essentially 1-to-1 unrolling of the macro, therefore we're
still linking in all libraries as public, even though that may not be
necessary.
This can be revisited once everything is off the macro for a quicker
transition period.
2018-03-19 04:02:12 -04:00
Markus Wick
22aba8c56d
Merge pull request #6468 from lioncash/downcast
...
JitInterface: Remove a downcast within InitJitCore
2018-03-19 09:00:56 +01:00
Lioncash
14b204a9bb
JitInterface: Remove a downcast within InitJitCore
...
This isn't necessary as JitBase is already within the type hierarchy that
CPUCoreBase is.
2018-03-19 03:13:16 -04:00