Commit Graph

12432 Commits

Author SHA1 Message Date
Dolphin Bot d72f61d62f Merge pull request #1073 from phire/save_jitil2
Fix Idle Skipping in JitIL.
2014-09-13 18:40:57 +02:00
Scott Mansell cf869fc24f Fix Idle Skipping in JitIL.
Has been broken since the flags-opt merge. The idle skipping code in
JitIL was very brittle and depended on the IL of it's inputs not
changing in any way.

flags-opt changed the IR generated by the cmp instruction, which is part
of the idle loop, causing JitIL to break in really weird ways, which
were almost impossible to track down.

This fixes various wii games crashing/not booting and the Regspill
error on (all?) gamecube mmu games.
2014-09-14 04:36:50 +12:00
Ryan Houdek a30b4f13a1 Merge pull request #1067 from lioncash/fallthrough
DolphinWX: Get rid of fallthrough in ScanForISOs
2014-09-13 04:52:30 -05:00
Lioncash a92003c1ab ARM64: Make getters within ArithOption const. 2014-09-12 20:55:26 -04:00
Lioncash 322f033c97 DolphinWX: Get rid of fallthrough in ScanForISOs 2014-09-12 11:52:36 -04:00
skidau 64b21a4812 Merge pull request #1054 from comex/i-hate-warnings
Fix warnings.
2014-09-12 12:35:47 +10:00
Ryan Houdek d6ef8dc8c6 Merge pull request #1052 from Sonicadvance1/fix-ppcAnalyst-return
Fix the return value of PPCAnalyst.
2014-09-11 21:12:38 -05:00
Ryan Houdek 5061a33c29 Merge pull request #1051 from Sonicadvance1/ARM-Common
Include a missing include in the ARM emitter's common code.
2014-09-11 21:12:21 -05:00
skidau 4cb25633e1 Merge pull request #1048 from lioncash/discio
DiscIO: Minor changes to VolumeDirectory.
2014-09-12 11:31:29 +10:00
Lioncash 669a118063 Merge pull request #1058 from lioncash/semicolon
Remove some unnecessary semicolons
2014-09-11 19:56:08 -04:00
Pierre Bourdon a96618b2e6 Merge pull request #1036 from phire/save-jitil
Save JitIL! Fix bug so JitIL actually runs again.
2014-09-11 23:27:59 +02:00
Lioncash b06ec302d1 Remove some unnecessary semicolons 2014-09-11 13:05:31 -04:00
Scott Mansell 784d3937dd Fix IsMMIOAddress Check. 2014-09-11 19:12:34 +12:00
comex 42acd61ccb Fix warnings. 2014-09-11 01:55:43 -04:00
Fiora 5726e0cdfb JIT: use XCHG in MOVTwo
Roughly the same speed or slightly faster depending on CPU; mostly just cleaner
since we don't have to pass in a temp.
2014-09-10 22:17:38 -07:00
Ryan Houdek b8d4834cb1 Fix the return value of PPCAnalyst.
In situations where conditional continue isn't supported + if a JIT doesn't implement a instruction that has the FL_ENDBLOCK flag. This would cause an
infinite loop.
In reality all the JITs should implement every FL_ENDBLOCK instruction regardless, but JITIL doesn't implement tw/twi which are FL_ENDBLOCK
instructions.
2014-09-10 21:33:17 -05:00
skidau 67f7e7e28b Merge pull request #1040 from RachelBryk/movie-cleanup
Movie cleanup
2014-09-11 11:47:55 +10:00
Ryan Houdek 44baab30cf Include a missing include in the ARM emitter's common code. 2014-09-10 20:39:19 -05:00
Ryan Houdek 581c81ce1c Merge pull request #1050 from Sonicadvance1/AArch64-sign-extend
Add sign extending aliases to the ARM64Emitter.
2014-09-10 20:17:50 -05:00
Ryan Houdek 24f6c98a55 Add sign extending aliases to the ARM64Emitter. 2014-09-10 17:52:54 -05:00
Rohit Nirmal c0f7cab3f5 Remove extra semicolons at the ends of some lines. 2014-09-10 12:17:38 -04:00
Ryan Houdek 71cb09f1ca Merge pull request #1027 from rohit-n/change-include
Include CommonTypes.h instead of Common.h.
2014-09-10 00:35:16 -05:00
Rachel Bryk 08db8c646b Cleanup Movie.h/cpp. 2014-09-09 21:23:54 -04:00
Rachel Bryk 571727a5ad Mass rename static variables to s_*. 2014-09-09 21:22:32 -04:00
Fiora b3a57ff396 JIT: remove op merging code that served no purpose
Dolphin already tracks propagation of immediates, so this code didn't really do
anything useful.
2014-09-09 18:09:23 -07:00
skidau d1439bc1db Merge pull request #1041 from RachelBryk/kill-g_CoreStartupParameter
Kill Core::g_CoreStartupParameter.
2014-09-10 11:00:42 +10:00
Ryan Houdek 16f054db47 Merge pull request #1033 from Sonicadvance1/fix-android-x86_64
Fix building x86_64 on Android.
2014-09-09 18:52:27 -05:00
Lioncash 9601f5ec5f DiscIO: Get rid of some casts and a c_str call in VolumeDirectory 2014-09-09 19:01:20 -04:00
Lioncash b34f2a78f5 DiscIO: Simplify GetUniqueID in VolumeDirectory 2014-09-09 18:57:45 -04:00
Ryan Houdek 09c1ad1631 Merge pull request #753 from FioraAeterna/integeropts
JIT64: various integer optimizations
2014-09-09 04:10:30 -05:00
Ryan Houdek 6a7e8899d3 Merge pull request #1035 from FioraAeterna/fixcrxxx
JIT: fix a corner case in crXXX
2014-09-09 00:58:53 -05:00
skidau e8d8713e03 Merge pull request #1017 from zhuowei/tw_fallback_if_constant_ra
Fix various issues with the twi/tw instructions
2014-09-09 15:16:25 +10:00
Ryan Houdek 3a205d663c Fix building x86_64 on Android.
Missed a define in x64MemTools for when the thought process was Android == ARM
Also changes the variable we use for choosing which folders to copy to and from our jni file.
This has changed since the x86_64 build target uses the library folder x86-64, which is stupid and annoying.
2014-09-09 00:11:08 -05:00
Ryan Houdek f09cb723c5 Merge pull request #1044 from lioncash/pedantry
Common: Fix code styling in Arm64Emitter
2014-09-08 23:29:19 -05:00
Rachel Bryk f93aa7087c Kill Core::g_CoreStartupParameter. 2014-09-09 00:24:49 -04:00
skidau 44c4bc134a Merge pull request #1046 from FioraAeterna/fixdebug
JIT: fix running in debug mode
2014-09-09 14:15:35 +10:00
Fiora 0af1352020 JIT: fix running in debug mode
Regression in 7fb6628.
2014-09-08 21:11:41 -07:00
Ryan Houdek d9ddc0d9ad Merge pull request #1042 from lioncash/unnecessary
InputCommon: Remove unnecessary breaks in XInput's GetName function
2014-09-08 22:46:58 -05:00
Ryan Houdek af732dea39 Merge pull request #1043 from lioncash/unused
Common: Remove unused variable in MemoryMap_Setup
2014-09-08 22:46:04 -05:00
Ryan Houdek cfb2c3db28 Merge pull request #1045 from Sonicadvance1/fix-generic
Fix Generic build from AArch64 merge.
2014-09-08 22:43:30 -05:00
Ryan Houdek d5da60619e Merge pull request #1034 from Sonicadvance1/fix-android-arm-ndk64bit
Fix building ARMv7 on the 64bit Android NDK.
2014-09-08 22:42:31 -05:00
Lioncash bc331ee809 Common: Fix code styling in Arm64Emitter 2014-09-08 23:39:20 -04:00
Ryan Houdek ed476c997c Fix Generic build from AArch64 merge.
I had missed this file and hadn't tested the branch on my new build system.
2014-09-08 22:24:23 -05:00
Fiora 8fc57d61ba JIT64: support merged branching for rlwinmx, too
Not quite as common a branch instruction as cmpwi, but close.
2014-09-08 20:16:41 -07:00
Fiora b56117de05 JIT64: optimize some special cases of srawix
Shift by 31 and 1, both of which are pretty common, can be done in a few less
instructions. Tested with a hwtest.
2014-09-08 20:15:49 -07:00
Fiora a95d8cbcb4 JIT64: optimize carry handling
Carries are rather common and unpredictable, so do them branchlessly wherever
we can.
2014-09-08 20:15:49 -07:00
Fiora a570c6b4a4 JIT64: tweak srwx/slwx BindToRegister arguments
Register B gets immediately moved into the shift register, so even if a == b
it doesn't need to be loaded.
2014-09-08 20:15:49 -07:00
Fiora 5b77617069 JIT64: use LEA for the "a = b + imm" case of addi 2014-09-08 20:15:48 -07:00
Fiora 9977da0550 JIT64: avoid using LEA for adds when not necessary 2014-09-08 20:15:48 -07:00
Fiora 298f85e152 JIT64: optimize sign-extend
Remove some code duplication.

Also remove some comments that no longer apply since x86_32 was dropped.
2014-09-08 20:15:47 -07:00