Commit Graph

51 Commits

Author SHA1 Message Date
Henrik Rydgård 00c32ddadb Mostly get rid of including "Globals.h" 2013-12-30 10:17:11 +01:00
Unknown W. Brackets 438361d0bc Clean up code pointer naming for the jit.
Now it properly identifies thunk code which is actually a decent percent
when fastmem is off at least.
2013-12-18 23:57:39 -08:00
Henrik Rydgard 2eab4aa1bf Play around with function replacement. Turned off by default of course. 2013-12-17 23:40:27 +01:00
Henrik Rydgard 2140892074 Initial preparations for ability to replace game functions with custom implementations.
Also auto-saves hashmap additions and reapplies the hashmap on function
rename so that if you rename a function that exists in several copies
they will all be labelled.

Note that actual function replacement is not activated yet.
2013-12-17 12:27:20 +01:00
Unknown W. Brackets 5d2ff64252 Support for modified jit-enabled VerySleepy.
This allows profiling the jit.  Should have zero perf impact when not
in use, since it's entirely triggered by VerySleepy.
2013-11-30 19:20:21 -08:00
Henrik Rydgard 55500d4bb6 Reorder VFPU registers in memory so that we can flush and reload them in bulk more often.
Doesn't actually do that yet, that's for the NEON branch.
2013-11-28 13:27:51 +01:00
Henrik Rydgard 5bb3824dcf Implement vocp on ARM and x86. 2013-11-19 21:41:47 +01:00
Unknown W. Brackets 455a7e090d Compile the cache instruction to nothing.
Was showing up in a few profiles, does nothing currently.
2013-11-10 14:38:10 -08:00
Henrik Rydgard 0a844ce98d Delete functions for vsge and vslt, these have been rolled into VecDo3 2013-11-09 19:29:52 +01:00
Henrik Rydgard 6eb7f94065 Implement vsgn in x86/x64 and ARM jit 2013-11-07 15:29:13 +01:00
Unknown W. Brackets 2e8ef3027f Write the retaddr to rd, not always ra, in jalr.
Thanks go entirely to @Kingcom for pointing this out.

Don't know of any games not using RA as the rd.
2013-10-17 07:39:33 -07:00
Henrik Rydgard aa3cf34fc1 Jit: Fix valgrind warnings.
The first time PrefixStart was entered with startDefaultPrefix = true, it would
call EatPrefix, which checks the so far entirely uninitialized prefixXFlags.
2013-10-16 22:33:48 +02:00
Henrik Rydgard 41a988774f ARM: implement vhdp 2013-09-28 20:07:57 +02:00
Unknown W. Brackets 50e9e45d65 Check version in each DoState() func.
They bail on PointerWrap error or bad version.
2013-09-14 20:23:03 -07:00
Ced2911 17b8d5d813 More recompiled instruction (fpu/alu) 2013-09-12 10:40:14 +02:00
Ced2911 23637db54c more recompiled fpu (not tested) 2013-09-12 10:34:10 +02:00
Ced2911 e90d9c035a more vfpu speed 2013-09-12 10:25:15 +02:00
Ced2911 bfe9018eb1 enable,fixe more vfpu 2013-09-12 10:25:15 +02:00
Ced2911 b90fde6c06 some fixes 2013-09-12 10:25:15 +02:00
Ced2911 e5024135a6 more on vfpu 2013-09-12 10:25:15 +02:00
Ced2911 a91d8bebe6 update ppc jit 2013-09-12 10:22:14 +02:00
Ced2911 7bf623d339 oops missed fpu reg cache 2013-09-12 10:22:01 +02:00
Ced2911 f8b5496bc8 some new recompiled instructions 2013-09-12 10:21:50 +02:00
Ced2911 dc41d0f0eb recompile Fpu ! 2013-09-12 10:21:39 +02:00
Ced2911 2ad39d3999 Almost all alu recompiled
Current issues:
	Comp_RType3(min/max): Can't select start in disgaea
	Comp_ShiftType(srl/srlv?): Crash ridge racer 2
2013-09-12 10:21:26 +02:00
Ced2911 fb24e0ed28 Add some badly tested instruction 2013-09-12 10:20:34 +02:00
Ced2911 47280f007f implement sltiu, slti is bad 2013-09-12 10:20:17 +02:00
Ced2911 d4acf0edd7 more jitted instructions 2013-09-12 10:20:02 +02:00
Ced2911 24576fd72f recompile shift left/right immediate 2013-09-12 10:19:47 +02:00
Ced2911 52f4cccfa4 fix Jit 2013-09-12 10:19:35 +02:00
Ced2911 3350061197 use _alloca 2013-09-12 10:19:23 +02:00
Ced2911 c98090e095 jit fixes 2013-09-12 10:19:11 +02:00
Ced2911 c94d9b62d0 Update ppc jit 2013-09-12 10:18:59 +02:00
Henrik Rydgard 8c88dff5a4 More log categories, use them (and existing ones). Improve log config. 2013-09-07 22:02:55 +02:00
Henrik Rydgard 324cde5a79 Let's actually use the log category mechanism. A first step. 2013-09-07 21:19:21 +02:00
Unknown W. Brackets b558189c37 Just invalidate blocks on ClearCacheAt().
This makes it safe to call from a jitted syscall, etc.
2013-09-01 00:32:43 -07:00
Ced2911 63215b6588 cleanup 2013-08-16 19:24:35 +02:00
Ced2911 a390db91e5 fix sub 2013-08-16 14:52:44 +02:00
Ced2911 d2e0b6a903 more compiled alu 2013-08-16 14:52:04 +02:00
Ced2911 eb177f943f jit: load/store, addi
various fixes
2013-08-16 14:51:22 +02:00
Ced2911 41bf19244d use rlwinm instead of and, started jitted memory instructions 2013-08-16 14:50:40 +02:00
Ced2911 2cc17cbcc1 jit few cleanup 2013-08-16 14:49:34 +02:00
Ced2911 5b87d222f4 implement fpu and vpu branch 2013-08-16 14:49:13 +02:00
Ced2911 fd6bbd6096 run cube.elf for 8728 frames (hit BranchFPFlag) 2013-08-16 14:48:42 +02:00
Ced2911 d613c44303 fix bgez 2013-08-16 14:47:54 +02:00
Ced2911 5f05b0b112 fix blt 2013-08-16 14:46:57 +02:00
Ced2911 b0815b84e8 more 2013-08-16 14:46:57 +02:00
Ced2911 3a82881bf2 almost working !
hang when downcount is under 0
2013-08-16 14:45:19 +02:00
Ced2911 9431c811a7 broken ppc jit 2013-08-16 14:39:54 +02:00
Ced2911 c24c5c88d9 empty jit 2013-08-16 14:37:36 +02:00