Jean-Philip Desjardins
676d301ab2
Fix build.
2018-07-26 21:38:15 -04:00
Jean-Philip Desjardins
1f4ba149a1
Block link WIP.
2018-07-26 21:38:15 -04:00
Jean-Philip Desjardins
890708fcba
Code style fixes.
2018-07-26 21:38:15 -04:00
Jean-Philip Desjardins
193e72635a
Block lookup table now only stores "entry-point" functions to guest code.
...
Used to be a 1 to 1 map to covering function for a specific address.
2018-07-26 21:38:15 -04:00
Jean-Philip Desjardins
dc597e34ce
Add empty block concept.
2018-07-26 21:38:15 -04:00
Jean-Philip Desjardins
b30658ba1a
Move cycle quota update to block prolog.
2018-07-26 21:38:15 -04:00
Jean-Philip Desjardins
5e6058b530
Move PC changing piece of code in compiled block.
...
Makes basic blocks more generic.
2018-07-26 21:38:14 -04:00
Jean-Philip Desjardins
2f6cadb3e1
Cleanup.
2018-07-26 21:38:14 -04:00
Clang-Format
acf75535ec
Clang format
2018-04-30 21:01:23 +01:00
Jean-Philip Desjardins
f97d0a1c47
Remove self loop counter.
2017-08-09 23:05:30 -04:00
Jean-Philip Desjardins
3098487d33
Cleanup.
2017-08-09 23:05:30 -04:00
Mahmood(Thunder07)
97c229ec98
Cleanup
...
Silence:"warning: '0' flag ignored with precision and ‘%X’ gnu_printf format"
2017-05-29 06:01:32 +01:00
Jean-Philip Desjardins
25e817802a
Handle case where block with fixed end branch is not taken.
2017-04-15 00:36:48 -04:00
Jean-Philip Desjardins
873e128053
Patch block end when it doesn't include delay slot instruction.
2017-04-15 00:36:48 -04:00
Jean-Philip Desjardins
1d01e6292a
Jitter needs to be stored in TLS only if building AOT cache.
2016-03-27 19:01:01 -04:00
Jean-Philip Desjardins
3730ccdffc
Fixed PsfPlayer iOS build.
2015-11-03 00:10:44 -05:00
Jean-Philip Desjardins
5146c5d011
Merge branch 'master' into build_unix
2015-10-24 22:58:24 -04:00
Jean-Philip Desjardins
3d8c672313
Made sure memory layout on AOT_BLOCK is independent of the architecture.
2015-10-19 13:10:16 -04:00
Kyle McLamb
a95d019fba
build_unix: Add tests
2015-08-24 21:45:04 -04:00
Jean-Philip Desjardins
9ee88eb5ea
Added assert to make sure PC is aligned on 4 bytes.
2015-05-03 01:35:15 -04:00
Jean-Philip Desjardins
90ee7a26f6
Added check to make sure VI0 isn't trashed.
2015-04-08 23:30:15 -04:00
Jean-Philip Desjardins
66e5d56a94
Added check to make sure R0 isn't trashed.
2015-04-08 00:20:28 -04:00
Jean-Philip Desjardins
f7778de2c2
Revert "Added prediction for next block to be executed in BasicBlock and MipsExecutor."
...
This reverts commit b0e3693195
.
2014-10-18 18:32:26 -04:00
Jean-Philip Desjardins
b0e3693195
Added prediction for next block to be executed in BasicBlock and MipsExecutor.
2014-10-15 02:37:57 -04:00
Jean-Philip Desjardins
d886ef691f
VTune integration (can be enabled through property sheets).
2014-08-10 05:06:39 -04:00
jpd002
1e8ed6b265
Compilation fix.
...
git-svn-id: http://svn.purei.org/purei/trunk@1111 b36208d7-6611-0410-8bec-b1987f11c4a2
2013-04-21 06:56:03 +00:00
jpd002
0f75cf8538
Added AOT compiled block support in BasicBlock and fixed some compilation problems in VuExecutor.
...
git-svn-id: http://svn.purei.org/purei/trunk@1098 b36208d7-6611-0410-8bec-b1987f11c4a2
2013-04-14 06:35:40 +00:00
jpd002
372740688f
Removed intrusive_ptr stuff from BasicBlock and use move operator = instead of allocating a new CMemoryFunction.
...
MipsExecutor now manages its blocks with unique_ptrs.
git-svn-id: http://svn.purei.org/purei/trunk@1096 b36208d7-6611-0410-8bec-b1987f11c4a2
2013-04-12 02:35:55 +00:00
jpd002
7109682836
Cleanup.
...
git-svn-id: http://svn.purei.org/purei/trunk@907 b36208d7-6611-0410-8bec-b1987f11c4a2
2012-04-15 22:00:47 +00:00
jpd002
583ef02086
Tidied up some code.
...
git-svn-id: http://svn.purei.org/purei/trunk@838 b36208d7-6611-0410-8bec-b1987f11c4a2
2011-12-26 05:52:20 +00:00
jpd002
ab85038514
Added a little check to make sure the VF0 register doesn't get clobbered.
...
git-svn-id: http://svn.purei.org/purei/trunk@820 b36208d7-6611-0410-8bec-b1987f11c4a2
2011-12-06 03:13:21 +00:00
jpd002
6d375ec8fd
Re-enabled Q register pipeline emulation.
...
Added MAC flags pipeline emulation.
Removed MAC flags checking patches for Atelier Iris.
git-svn-id: http://svn.purei.org/purei/trunk@746 b36208d7-6611-0410-8bec-b1987f11c4a2
2011-04-03 05:25:07 +00:00
jpd002
75cb0db8f4
Changed basic block memory management to use intrusive_ptr and added a block caching mechanism in VuExecutor to speed things up.
...
git-svn-id: http://svn.purei.org/purei/trunk@719 b36208d7-6611-0410-8bec-b1987f11c4a2
2010-11-17 03:59:29 +00:00
jpd002
4574b116f7
Integrated new JIT compilation engine in the trunk.
...
- Removed the old CodeGen classes.
- Fixed everything to make PsfPlayer work at a decent level.
- Added 64-bits configs to PsfPlayer.
git-svn-id: http://svn.purei.org/purei/trunk@692 b36208d7-6611-0410-8bec-b1987f11c4a2
2010-08-11 03:47:19 +00:00
jpd002
1b07b4716d
Changes for Half-Life.
...
git-svn-id: http://svn.purei.org/purei/trunk@527 b36208d7-6611-0410-8bec-b1987f11c4a2
2009-06-06 15:38:03 +00:00
jpd002
ccdfb49d56
More ARM stuff
...
git-svn-id: http://svn.purei.org/purei/trunk@519 b36208d7-6611-0410-8bec-b1987f11c4a2
2009-05-09 16:17:21 +00:00
jpd002
d5735ad4c0
Arm BasicBlock
...
git-svn-id: http://svn.purei.org/purei/trunk@517 b36208d7-6611-0410-8bec-b1987f11c4a2
2009-05-02 15:35:49 +00:00
jpd002
a6e12114d7
Added changes to MIPSInstructionFactories. Not a singleton anymore, so it allows a 32-bits and 64-bits version of the architecture to live together.
...
PsfPlayer bios memory ownership fixes.
git-svn-id: http://svn.purei.org/purei/trunk@490 b36208d7-6611-0410-8bec-b1987f11c4a2
2009-03-30 04:57:52 +00:00
jpd002
2ab17d0778
Added block linking to the executor.
...
git-svn-id: http://svn.purei.org/purei/trunk@350 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-06-30 18:58:04 +00:00
jpd002
3005c8a312
Fixed more stack alignment issues on MacOSX
...
git-svn-id: http://svn.purei.org/purei/trunk@309 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-05-04 19:59:53 +00:00
jpd002
d0ca3dff07
VU Q pipeline simulator (disabled for now).
...
git-svn-id: http://svn.purei.org/purei/trunk@306 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-05-02 00:55:54 +00:00
jpd002
5f31206020
Got rid of CCacheBlock.
...
Cleaned up a lot of code.
git-svn-id: http://svn.purei.org/purei/trunk@293 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-04-09 02:52:38 +00:00
jpd002
93fac4df68
Removed some unused/old stuff.
...
Added a basic idle loop skipper.
git-svn-id: http://svn.purei.org/purei/trunk@272 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-03-19 11:30:45 +00:00
jpd002
2a2af72782
x64 compilation & frame skip test
...
git-svn-id: http://svn.purei.org/purei/trunk@252 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-02-25 13:11:29 +00:00
jpd002
8e792deca0
MacOSX
...
git-svn-id: http://svn.purei.org/purei/trunk@234 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-01-24 20:02:39 +00:00
jpd002
30c6198900
Another attempt to fix inline assembly portability.
...
git-svn-id: http://svn.purei.org/purei/trunk@230 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-01-23 03:34:37 +00:00
jpd002
71b14aa8e6
MacOSX
...
git-svn-id: http://svn.purei.org/purei/trunk@229 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-01-21 20:33:31 +00:00
jpd002
a36b01dbbc
quake.elf works properly now.
...
git-svn-id: http://svn.purei.org/purei/trunk@225 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-01-17 04:59:27 +00:00
jpd002
5921b983c1
Fixed a bug with likely branch and constant propagation. (Fixes cubemastah.elf)
...
git-svn-id: http://svn.purei.org/purei/trunk@219 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-01-09 06:07:59 +00:00
jpd002
0bcb2e9108
Fixed basic block epilogue/prologue portability
...
git-svn-id: http://svn.purei.org/purei/trunk@210 b36208d7-6611-0410-8bec-b1987f11c4a2
2007-12-28 03:00:42 +00:00