summaryrefslogtreecommitdiff
path: root/Source/Core/Common
AgeCommit message (Collapse)Author
2014-04-11x64Emitter: Add the MOVBE instruction.Pierre Bourdon
2014-04-11CPUDetect: add support for MOVBE detectionPierre Bourdon
2014-04-09Remove dumb CodeBlock duplication in the emitters.Ryan Houdek
Fixes issue 6990. This uses a bit of templating to remove the duplicate code that is the CodeBlocks in each emitter headers. No actual functionality change in this.
2014-04-06Fix a bug in the ARMEmitter.Ryan Houdek
When creating a Fixupbranch we were swapping the BL and B targets. I think this was found by PPSSPP a while ago, but they never send PRs to merge their changes upstream.
2014-03-29Remove all trailing whitespaces from our codebase.Pierre Bourdon
2014-03-27Fix IsTriviallyCopyable for volatile (fixes Mac build).comex
Between C++11 and C++14, volatile types stopped being trivially copyable. The serializer has no reason to care about this distinction, so tack on remove_volatile.
2014-03-25Compute stack usage correctly in ABI_CallFunctionPC.magumagu
(The numbers need to be consistent with the actual usage, or else the stack gets corrupted.)
2014-03-25Use unaligned stores to save XMM regs to stack.magumagu
On Win32, the stack isn't aligned, so aligned stores will cause crashes.
2014-03-26Merge pull request #210 from magumagu/writerex-fixPierre Bourdon
Fix OpArg::WriteRex with 8-bit memory operand.
2014-03-25Common: Add a generic class for accessing bitfields in a fast and ↵Tony Wasserka
endianness-independent way. The underlying storage type of a bitfield can be any intrinsic integer type, but also any enumeration. Custom storage types are supported if the following things are defined on the storage type: - casting 0 to the storage type - bit shift operators (in both directions) - bitwise & operator - bitwise ~ operator - std::make_unsigned specialization
2014-03-25Fix OpArg::WriteRex with 8-bit memory operand.magumagu
Previously he function was misbehaving because of a missing check for whether an 8-bit operand was a register operand; it would therefore emit unnecessary REX prefixes, incorrectly assert on 32-bit targets, and could potentially emit wrong code in rare cases (like a memory to register operation involving AH.) Also, some cleanup while I was in the area to make the function easier to read.
2014-03-24MathUtil: add constructors to IntFloat/IntDoubleTillmann Karras
2014-03-17Fix the Android build when using clang 3.4Ryan Houdek
2014-03-17Turn some non-const refs into pointersTillmann Karras
2014-03-14Kill off some usages of c_str.Lioncash
Also changes some function params, but this is ok. Some simplifications were also able to be made (ie. killing off strcmps with ==, etc).
2014-03-11Fixes spacing for "for", "while", "switch" and "if"Matthew Parlane
Also moved && and || to ends of lines instead of start. Fixed misc vertical alignments and some { needed newlining.
2014-03-09clang-modernize -use-nullptrTillmann Karras
and s/\bNULL\b/nullptr/g for *.cpp/h/mm files not compiled on my machine
2014-03-09clang-modernize -add-overrideTillmann Karras
2014-03-09clang-modernize -loop-convertTillmann Karras
and some manual adjustments
2014-03-09MathUtil: fix IsQNAN()Tillmann Karras
The constants were one nibble too short and the lower 51 bits don't actually have to be zero.
2014-03-09FPURoundMode: revert use of enums in bit-fieldsTillmann Karras
The workaround of using fixed underlying types produces lots of warnings in GCC because now the bit-fields are too small for the value range used for conversion semantics.
2014-03-08x64Emitter: Add functions to call a C++ std::function from JITed codePierre Bourdon
2014-03-08x64ABI: Add two more CallFunction functions (for additional parameter types).Pierre Bourdon
2014-03-08x64Emitter: Allow const pointers where it makes sense to do so.Pierre Bourdon
2014-03-07Merge pull request #130 from lioncash/breakpoint-clearPierre Bourdon
Actually make PPCDebugInterface::ClearAllBreakpoints have functionality.
2014-03-07Fix MAC address reading on Windows.Matthew Parlane
2014-03-06Implement workaround for Windows versions which do not support XSAVE.Shawn Hoffman
Fixes CRT math routines using FMA instructions from causing illegal instructions.
2014-03-06windows: move arch defines to base.propsShawn Hoffman
2014-03-05Add ClearAllMemChecks to DebugInterfaceLioncash
Breakpoints have one, but memchecks don't, despite being cleared directly in the breakpoint window. Now DolphinWX should call the interface functions and not the direct functions of the breakpoints or memchecks for clearing.
2014-03-05Allow VS builds to be speedy again.Shawn Hoffman
2014-03-05commit 1a428de189eb9456695429adc11b606936218924 introduced a bug by using a ↵Shawn Hoffman
signed enum in a bitfield, the value of which is then used in a ldmxcsr instruction. The sign-extension corrupts the value, causing an exception by attempting to load mxcsr with an invalid value.
2014-03-04Make our architecture defines less stupid.Ryan Houdek
Our defines were never clear between what meant 64bit or x86_64 This makes a clear cut between bitness and architecture. This commit also has the side effect of bringing up aarch64 compiling support.
2014-03-03Change the DebugInterface, PPCDebugInterface, and DSPDebugInterface to use ↵Lioncash
CamelCase names. This is the standard coding convention in the codebase, so our interfaces should use it too.
2014-02-28ArmEmitter: make it more readableTillmann Karras
2014-02-28Crypto: small cleanupTillmann Karras
2014-02-28Various changes suggested by cppcheckTillmann Karras
- remove unused variables - reduce the scope where it makes sense - correct limits (did you know that strcat()'s last parameter does not include the \0 that is always added?) - set some free()'d pointers to NULL
2014-02-28Convert MemoryUtil.cpp to Unix-style line endingsTillmann Karras
2014-02-28x64FPURoundMode: move things around a bitTillmann Karras
2014-02-26MathUtil: Change Log2 return value to intdegasus
Log2(u64) can't be bigger than 63, so there is no need in forcing a 64 bit value. So just using a common int seems more natural.
2014-02-23Revert "Merge pull request #83 from lioncash/remove-console"Pierre Bourdon
This breaks Linux stdout logging. This reverts commit 7ac5b1f2f805b2bc553492606cf71b6609fa0ae7, reversing changes made to 9bc14012fccf92f38b7d270ec82f7dac522986c5. Revert "Merge pull request #77 from lioncash/remove-console" This reverts commit 9bc14012fccf92f38b7d270ec82f7dac522986c5, reversing changes made to b18a33377d7229a66226a524186d24c57f1d56aa. Conflicts: Source/Core/Common/LogManager.cpp Source/Core/DolphinWX/Frame.cpp Source/Core/DolphinWX/FrameAui.cpp Source/Core/DolphinWX/LogConfigWindow.cpp Source/Core/DolphinWX/LogWindow.cpp
2014-02-23Merge pull request #25 from Tilka/ppc_fpPierre Bourdon
Fix non-IEEE mode
2014-02-22Make Common/ mostly IWYU clean (and fix errors in rest of the project ↵Pierre Bourdon
detected by this change).
2014-02-20Fix the Windows build in relation to the recent changes.Lioncash
2014-02-20Fix LinearDiskCache.h relying on a file not directly included.Pierre Bourdon
2014-02-20Fix more header sorting issues in Common/ (now check-includes clean).Pierre Bourdon
2014-02-18Convert all includes to relative paths.Lioncash
2014-02-17Second and final pass of clearing out tabs.Lioncash
2014-02-16Turns out Console.cpp and ConsoleListener.cpp were being built into the ↵Lioncash
Linux builds too. Fixes the build.
2014-02-16Remove the embedded Console from the possible logging options.Lioncash
Note I do not mean the Logging window, but the console window. It's literally rarely, if at all used, and offers less advantages over the built-in logging window (ie. it breaks on different locales: http://i.imgur.com/Cs92tQE.png) This commit should remove all of the console logging.
2014-02-16Remove the old MMIO access "interface".Pierre Bourdon