Anthony Pesch
ac2046bc36
ran latest clang-format
2016-06-21 23:40:25 -04:00
Anthony Pesch
110d6d15c3
don't cast callbacks
2016-06-17 00:28:09 -07:00
Anthony Pesch
807cacdd96
don't typedef everything
2016-06-16 23:35:45 -07:00
Anthony Pesch
ab7ed5d349
remove extern C from headers
2016-06-16 09:07:04 -07:00
Anthony Pesch
b64c48144d
clean up
2016-06-12 22:41:21 -07:00
Anthony Pesch
28533002af
jit c refactor
2016-06-04 14:21:15 -07:00
Anthony Pesch
37915e7129
initial c refactor
2016-05-22 19:57:47 -07:00
Anthony Pesch
7d639cb74a
split memory system up to support mapping multiple address spaces to the same backing shared memory
2016-04-24 23:19:03 -07:00
Anthony Pesch
0242a67532
added debug logging
...
added debug pass stats to recc
2016-04-10 10:00:15 -07:00
Anthony Pesch
72e8bdff72
don't allocate a SH4Builder each compilation
2016-04-06 22:19:04 -07:00
Anthony Pesch
898e4001f4
use avx instructions
2016-04-06 22:18:44 -07:00
Anthony Pesch
f72f05a437
windows build fixes
...
fixed OP_LOAD_LOCAL / OP_STORE_LOCAL on windows
use r14 / r15 for memory and guest ctx pointers
updated SH4 builder to emit consistent IR regardless of function parameter evaluation order
2016-03-26 20:54:27 -07:00
Anthony Pesch
56d039e643
linux build fixes
2016-03-25 01:41:57 -07:00
Anthony Pesch
05388bca6f
split up int / float IR ops
...
added support for fcnvsd and fcnvds
2016-03-23 18:45:47 -07:00
Anthony Pesch
d26b7a092f
removed interpreter backend
2016-03-23 01:17:09 -07:00
Anthony Pesch
98ca25fecb
use references for dc / rb
...
align ir locals when allocating
2016-03-23 00:54:31 -07:00
Anthony Pesch
d234f630f1
make Instr inherit from value, removing result property
...
updated register allocation to account for the fact that the result is no longer a part of the reference set
added basic dead code elimination pass
2016-03-23 00:54:24 -07:00
Anthony Pesch
c836560bc9
window system refactor
...
added imgui for gui rendering
added WindowInterface to Machine class enabling hardware to tap into window events for input and rendering
2016-03-18 18:06:57 -07:00
Anthony Pesch
5a8b1bd530
remove blocks from IRBuilder
2016-03-05 02:53:22 -08:00
Anthony Pesch
c44133d574
remove pc return value from blocks
2016-03-05 02:35:39 -08:00
Anthony Pesch
112c421b81
added a hack to get PoP booting further
2016-03-05 02:34:58 -08:00
Anthony Pesch
498990fcb2
initial debugger support
2016-02-29 23:51:42 -08:00
Anthony Pesch
ede8b2f758
refactored hw/ code adding Machine, Device and Device interfaces
2016-02-29 23:51:42 -08:00
Anthony Pesch
36a5dc2d72
TMU refactor, fixed issues with TCR being updated and timers not rescheduled properly
2016-02-29 23:51:42 -08:00
Anthony Pesch
997249fa0b
fixed memory watches not aligning properly
2016-02-29 23:51:42 -08:00
Anthony Pesch
b587b3611b
project rename
2016-02-29 23:51:41 -08:00
Anthony Pesch
198cd53525
consider aliased values when eliminating loads and stores
...
added tests for load store elimination aliasing
2016-02-29 23:51:38 -08:00
Anthony Pesch
d16aac170a
end blocks on SR store
...
remove broken IF_INVALIDATE_CONTEXT
2016-02-12 17:28:38 -08:00
Anthony Pesch
72b5edbeba
replaced horribly broken 64-bit float implementation
2016-02-12 17:28:38 -08:00
Anthony Pesch
4be33f7ee4
removed core.h, added config.h.in
2016-02-12 17:28:37 -08:00
Anthony Pesch
f457e8e9d8
added OP_LOAD_HOST and OP_STORE_HOST for directly accessing host memory
...
added lookup table for fsca
removed sin, cos ir ops
2016-02-12 17:28:37 -08:00
Anthony Pesch
a039b60d52
get tests back running
2016-02-12 17:28:37 -08:00
Anthony Pesch
20a1437f96
replaced ringbuffer usage in register allocation with minmax heap
...
removed terrible insert method from ringbuffer
2016-02-12 17:28:31 -08:00
Anthony Pesch
4542ef4888
renamed dreavm namespace
2016-01-16 13:26:56 -08:00
Anthony Pesch
afacb09ac2
don't test ctx_.pc to terminate loop in Run
2016-01-05 01:35:24 -08:00
Anthony Pesch
7f5be10b66
moved Runtime to SH4CodeCache
...
added --interpreter command line option
2016-01-04 23:50:25 -08:00
Anthony Pesch
40733aefcb
inline cycle tracking into block epilog and out of main loop
...
added IRBuilder::Get/SetInsertPoint
2016-01-04 00:49:03 -08:00
Anthony Pesch
6bc0c08d45
removed Runtime::set_compile_handler
2016-01-04 00:49:02 -08:00
Anthony Pesch
ca23cbc1b9
split up memory map / memory code
2016-01-04 00:48:56 -08:00
Anthony Pesch
a08f110658
simplified sh4 test generation and execution
2015-12-05 19:56:41 -08:00
Anthony Pesch
90013d6f3c
reworked memory.cc to split out address map and core memory code
2015-12-02 18:21:51 -08:00
Anthony Pesch
f9071ed52a
remove scheduler timers. the current timers can be manually timed and ran from inside of each device's Run method, without the need for the sorted timer set
...
step scheduler at 1000hz, render frames at 60hz
add cpu speed percentage
2015-10-11 14:35:09 -07:00
Anthony Pesch
8fca5e249a
gcc fixes
2015-10-10 15:22:48 -07:00
Anthony Pesch
f44e2d9718
mmap the entire 32-bit address space
...
cross-platform shared memory support
backpatch emitted loads / stores on x64 to use slow handlers if need be
added range iterator support to interval tree
2015-10-10 15:22:48 -07:00
Anthony Pesch
99c19a05e9
use default block to avoid expensive branch prediction penalties when
...
getting blocks from the cache
2015-10-10 15:22:48 -07:00
Anthony Pesch
bb5ec14d47
optimize div1
2015-09-26 14:59:59 -07:00
Anthony Pesch
ff67901d43
added new sdiv test
2015-09-26 00:11:11 -07:00
Anthony Pesch
07a1156eb5
convert interval tree from using a randomized bst to a red-black tree
2015-09-21 23:11:11 -07:00
Anthony Pesch
3897fe557f
invalidate textures through process signals
2015-09-17 11:14:39 -07:00
Anthony Pesch
b540e5b80b
removed core namespace
2015-09-14 14:22:22 -07:00