bd377b9580
Merge pull request #443 from magumagu/loadstore-cleanup
...
Loadstore cleanup
2014-06-26 21:32:59 -04:00
ca5340ebde
Centralize the logging code into its own folder in Common.
2014-06-25 22:11:42 -04:00
177658aed6
Merge pull request #513 from lioncash/vs-x64
...
Remove the 32-bit config platform from the VS solution file
2014-06-25 21:23:45 -04:00
8b13afbb8e
Remove the 32-bit config platform from the VS solution and projects
2014-06-24 22:07:26 -04:00
eb3de73ab9
Merge pull request #531 from LPFaint99/memcard
...
GCI Folder: correctly identify region of sysmenu
2014-06-24 21:18:27 -04:00
516369594f
Store ini sections in a std::list (rather than vector) to prevent unexpected pointer invalidation with use of GetOrCreateSection.
2014-06-24 12:37:38 -05:00
c65a6f5fb0
GCI Folder: correctly identify region of sysmenu
2014-06-23 19:58:27 -07:00
ce74752e91
Common: Add a PCAP writer module
2014-06-22 20:04:46 +02:00
5dff577339
Merge pull request #500 from lioncash/ini
...
Use only section-based ini reading.
2014-06-22 17:21:45 +02:00
06864e9fee
JIT: Clean up float loads and stores.
...
Less code is good, and this should make future changes to memory handling
easier.
2014-06-20 12:52:39 -07:00
f05d3f6e5d
Use only section-based ini reading.
2014-06-16 01:31:23 -04:00
ee0c5bdc20
Try to fix android build.
2014-06-15 15:56:42 -07:00
d905cbfd5d
Don't set DAZ on x86 in non-IEEE mode.
...
I have no idea why we were using it in the first place; it doesn't match
the behavior of PPC NI flag.
2014-06-15 03:51:51 -07:00
3d6f9ef897
BitField: Add an explicit getter function for retrieving the BitField value.
...
Sometimes (in particular when using non-typesafe functions) it can be convenient to have a getter method rather than performing a potentially lengthy explicit cast.
2014-06-11 20:58:40 +02:00
b3c7f003da
BitField: Delete copy assignment to prevent obscure bugs.
2014-06-11 20:58:40 +02:00
6e1d312091
Make it so ARMv7 isn't a generic target.
...
Rearranges a bit of code so that ARM isn't a generic build anymore. Because it obviously isn't
2014-06-07 20:26:31 -05:00
b6db0d0ab8
Merge pull request #457 from Tilka/jcc
...
x64Emitter: J_CC: use 32 bit offset automatically
2014-06-06 20:53:50 -05:00
3843848ed4
Use std::string in LogContainer's constructor.
...
This allows for removal of the strcpy calls, also it's technically way more safe, though I doubt we'll ever have a log name larger than 128 characters or a short description larger than 32 characters.
Also moved these assignments into the constructor's initializer list.
2014-06-05 18:50:14 -04:00
f8280401f6
x64Emitter: J_CC: use 32 bit offset automatically
2014-06-03 23:08:58 +02:00
3a06907653
Merge pull request #455 from lioncash/arm-cpudetect-fix
...
Stringify ArmCPUDetect.cpp.
2014-06-02 20:10:39 -05:00
7d7b3d6156
Stringify ArmCPUDetect.cpp.
2014-06-02 21:08:26 -04:00
5d3382fb56
Fix a crash in ARM's CPUDetect on a malformed /proc/cpuinfo.
...
If a CPU string was incapable of being found we would return a null pointer, which would crash with strncpy.
Also if we couldn't get a CPU implementer we would call free() to a null pointer.
In addition, detect 64bit ARM running.
2014-06-01 23:55:38 -05:00
87e671404a
Make MemoryUtil.cpp use the correct x86_64 define.
...
MemoryUtil.cpp was incorrectly using the old __x86_64__ define when it should be using _M_X86_64.
It was also using _ARCH_64 when it shouldn't have which was causing an errant PanicAlert to come up in my development.
2014-06-01 23:45:44 -05:00
49b0eef393
Remove the min/max functions in CommonFuncs.
...
The algorithm header has the same functions.
2014-05-29 21:44:41 -04:00
eca70d1562
Get rid of the temporary buffer in IniFile's Load function.
...
std::getline is the string-based equivalent.
2014-05-28 20:26:15 -04:00
80ab567a5b
When reading an ini file, if there is an error, check if it is simply because the eof was reached.
2014-05-28 14:06:18 -04:00
10efd5b8c0
Merge pull request #430 from shuffle2/xsave-workaround-fix
...
msvc C initializers return int...fix EnableXSaveWorkaround when rax doesn't implicitly equal zero.
2014-05-28 12:25:25 +02:00
ce139622f6
Merge pull request #392 from RachelBryk/error-check-ini-file
...
Check for errors when reading lines from ini files.
2014-05-28 11:57:00 +02:00
47a2eb47a0
msvc C initializers return int...fix EnableXSaveWorkaround when rax doesn't implicitly equal zero.
2014-05-28 00:16:33 -07:00
58bcc3d12a
Redo commit 932945d480
...
This time, make sure the object for disabling XSave support in msvcr can't be dropped by the linker.
2014-05-27 13:41:19 -07:00
0782d106db
Check for errors when reading lines from ini files.
...
Fixes issue 7283.
2014-05-23 03:17:19 -04:00
5f796e919b
Move bn.h and ec.h into the correct filter section
2014-05-17 16:47:41 -04:00
d0bd4119d1
Use size_t in std::string operations in IniFile.cpp, not int
2014-05-14 20:38:08 -04:00
36720e6822
Merge pull request #351 from Tilka/make_unique
...
Add a std::make_unique implementation (Common/StdMakeUnique.h)
2014-05-11 01:46:09 -07:00
4400e511c0
fixmeup rename
2014-05-11 10:40:18 +02:00
700c135386
Revert "x64FPURoundMode: always set x87 precision"
...
This reverts commit 9de77b7c23
.
Setting x87 precision control is only supported on x86 platforms (not ARM or x64).
2014-05-10 20:21:07 -07:00
81d4d7368a
Add a std::make_unique implementation
...
Some compilers we care about (mostly g++) do not support std::make_unique yet,
but we still want to use it in our codebase to make unique_ptr code more
readable. This commit introduces an implementation derivated from the libc++
code in the Dolphin codebase so we can use it right now everywhere.
Adapted from delroth's pull request.
2014-05-06 12:32:03 +02:00
9de77b7c23
x64FPURoundMode: always set x87 precision
...
Set the x87 precision, even on x64. Since we are using x87 instructions
in the JIT now, we can't guarantee that x87 precision will never
influence Dolphin on x64.
2014-05-01 01:10:00 +02:00
ed762a3eda
x64FPURoundMode: use fesetround() instead of asm
2014-05-01 01:09:55 +02:00
e659f5ac58
JitBackpatch: fix NOP padding
...
The new NOP emitter breaks when called with a negative count. As it
turns out, it did happen when deoptimizing 8 bit MOVs because they are
only 4 bytes long and need no BSWAP.
2014-04-30 15:26:11 +02:00
aef24d509b
Merge pull request #304 from Tilka/nop
...
Optimize NOPs
2014-04-27 11:52:05 +02:00
886c887e80
Fix Fastmem on CPUs without MOVBE
...
The problem was that when BSWAP was used, UnsafeWriteRegToReg() returned
the address of that instead of the MOV.
2014-04-25 01:11:52 +02:00
acfd9ee76c
Add remaining possible uses of MOVBE
...
Also fixes a missing 'break' statement in DisassembleMov().
2014-04-24 16:36:03 +02:00
957649b7af
Optimize NOPs
2014-04-23 21:15:09 +02:00
b3c7395a23
Atomic: support clang 3.4+
2014-04-17 10:39:02 +02:00
cf315a487f
Merge pull request #271 from delroth/threading-stuff
...
Threading improvements: add Common::Flag and improve Common::Event
2014-04-14 23:23:16 +02:00
7074feacbe
Common::Event: Add a faster Windows specific implementation based on the concurrency runtime.
2014-04-14 23:13:15 +02:00
48bd904028
Common::Event: Implement in terms of Common::Flag to get rid of a volatile and optimize with early returns and atomic swaps
2014-04-14 23:13:15 +02:00
e24cad0780
Common::Flag: Add support for TestAndSet + test by implementing basic spinlocks.
2014-04-14 23:13:15 +02:00
ccc04944b2
BitField: Fix alignment issues.
...
At least one platform (ARM with NEON instructions enabled) generates SIGBUSes if BitField objects aren't aligned properly.
2014-04-14 20:04:44 +02:00