Commit Graph

19 Commits

Author SHA1 Message Date
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