pierre
aaeb21fe3b
Core/Common: Automatically emit a MOV in ABI_CallFunction* when the function
...
pointer cannot be reached by 32bit displacement.
RAX is caller save and non-parameter in all 64 bit ABIs, so it should be safe
to clobber it on function call.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6248 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-02 20:04:03 +00:00
Rodolfo Osvaldo Bogado
3e7dafbbd7
fully implemented display list cache with vertex data included and added in all the plugins.
...
still experimental, not totally optimized but must bring a nice speed up
please test for regressions an error. an please Linux people fix scons :)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6149 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-29 23:08:56 +00:00
dok.slade
cf5088c37e
JIT compiler:
...
* Improved constants folding in load/store instructions
* Merged load instructions
This is almost the same commit as r6076/r6077 but x64 build has been fixed.
Thanks a lot to skidau and BHaaL!!
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6120 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-23 22:26:00 +00:00
dok.slade
55d7f93e0c
Revert r6076 and r6077 since they broke x64 builds
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6080 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-09 19:00:24 +00:00
dok.slade
244191f18f
Fixed some mistakes from r6076:
...
* Fixed missing UnlockAllX
* Fixed 64-bits compilation
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6077 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-08 18:53:00 +00:00
dok.slade
5a248b46a1
JIT compiler:
...
* Improved constants folding in load instructions
* Merged load instructions
* Fixed the register allocator so that it can restore the registers state after jumping to the dispatcher (in case of a conditional jump)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6076 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-08 18:12:58 +00:00
skidau
122d5e7b4e
Fixed the crash in DSP LLE JIT on x64 by aligning the stack.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5357 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-13 10:18:05 +00:00
XTra.KrazzY
a8865d21b3
DSPLLE: Opcode LUT Cleanup
...
ABI: Far Call --> Call (thanks to correct vcproj settings)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5250 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-29 01:18:05 +00:00
skidau
5ff07aace6
Cleared out the top 16 bits in PARAM1 of the ABI_CallFunctionC16 JIT command.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5232 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-24 20:27:09 +00:00
nakeee
47239ce0f4
XK patch for adding jit config to audiocommon/c16 function to x64emitter
...
and Skidu's fix for 64bit
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5230 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-24 11:22:33 +00:00
hrydgard
1848e93790
RIP "Optimize Quantizers" option. Now using the safe quantizer code from JITIL in all builds.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4854 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-16 19:00:09 +00:00
XTra.KrazzY
c86d2e5129
Now ALL copyright dates are fixed to the legally correct year: The year in which the project began. Now we don't have to change it every year :)
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3898 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-28 21:32:10 +00:00
hrydgard
ccebd7512e
Fix a DSP disasm problem, misc minor stuff .. not much to see here
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3745 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-11 10:18:25 +00:00
omegadox
eb0cab140f
Some code cleanup
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2768 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-28 08:57:34 +00:00
hrydgard
4bdb4aa0d1
Merge large parts of nakeee's "Soap" branch into trunk, after fixing a few crash bugs in FileUtil.cpp.
...
Not really anything interesting, just some better comments, some slightly more portable/cleaner code in places.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2459 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-28 01:26:56 +00:00
hrydgard
1c1425a406
Assorted jit64-related bugfixes. Discovered and papered over nasty codegen bug. No, IL64 still doesn't work.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2281 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-16 22:06:11 +00:00
magumagu9
be4c7e1399
Add a helper to make zero-argument calls from an aligned stack
...
correctly.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1663 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-25 22:10:36 +00:00
magumagu9
b92c831857
Reverting r1650. I don't think this change is the right approach: it
...
actually ends up *misaligning* the stack for the normal ABI_CallFunctionC
and friends. I'll try to help come up with the correct fix; look for
another commit in a bit.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1662 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-25 22:05:22 +00:00
bushing
84711122ee
Linux may not care, but Darwin will barf if we don't actually
...
align the stack on the code we generate. Fix some existing code
to do what the comments claim it already does, and then actually
use that code. :)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1650 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-25 02:24:46 +00:00
hrydgard
104acd5bc1
Turn the X86 emitter into a class, so the code pointer is no longer a global, yay! Created XCodeBlock that derives from XEmitter, and the Jit now derives from XCodeBlock so it can call all ADD SUB JNZ etc without having to prefix them with "emit.". I think someone's gonna like this.
...
There's some cleanup still to be done, but hey, it works. There shouldn't be a noticable speed difference.
I hope GCC doesn't have a problem with the "member function pointers" I used.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1594 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-19 21:24:52 +00:00
hrydgard
0412d0811a
Fastmem for linux. Not yet activated, Cg goes nuts, for some reason.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1534 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-14 18:25:33 +00:00
bushing
49cfded60b
set svn:eol-style=native for **.cpp
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1442 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-08 05:30:24 +00:00
hrydgard
5c58227702
Optimize vertex loader with a mini JIT (only first step, more optimizations may follow). Some various error message and warning fixes.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1276 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-11-23 17:46:14 +00:00
Maarten ter Huurne
cf36d4ba58
Fixed ProtectFunction(): it should copy parameters using the padded size. Actually, I am not sure this function is correct, but at least its implementation is now equivalent to the original (before rev 439).
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@441 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-05 01:48:16 +00:00
Maarten ter Huurne
722ea233a1
Align stack to 16-byte boundary when compiling in 32-bit mode with GCC. This is required to run anything on OS X and to support SSE instructions on Linux.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@439 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-05 00:02:53 +00:00
hrydgard
e3d21c0b11
32-bit speedup (videos mostly affected). Lots of various cleanup and future proofing. A small debugger feature.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@162 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-08-09 16:56:24 +00:00
hrydgard
84b3522c24
Fix build on linux (grr), minor ABI fix.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@142 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-08-06 20:23:53 +00:00
hrydgard
494c1f3187
JIT works in linux with ALL OPTIMIZATION OFF - well, at least it's faster than pure interpreter :P
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@128 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-08-03 16:56:31 +00:00
hrydgard
814af6c7b9
More linux prep
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@121 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-08-01 09:30:04 +00:00
hrydgard
53ee26711e
More linux work. Getting a bit closer, but JIT does still not work.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@119 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-08-01 08:37:19 +00:00
hrydgard
3b4a9e06c2
fix typo in unused function, try to fix linux 32-bit opengl
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@117 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-07-31 21:23:30 +00:00
hrydgard
0c21d95606
bugfix, more...
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@116 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-07-31 21:02:19 +00:00
hrydgard
d8fa3113ea
Cleanup, preparations for Linux/Mac JIT (not yet working)
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@114 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-07-31 20:22:35 +00:00