SarahW
|
ac886c420f
|
Increase ARMv7 and v8 code block count to the normal default of 16384, now that this no longer leads to a massive increase in memory usage.
|
2019-01-13 12:58:07 +00:00 |
|
SarahW
|
8998024225
|
Move GPF and early exit routines out of individual code blocks and into the common helper block.
|
2019-01-13 12:57:32 +00:00 |
|
SarahW
|
66fba50e06
|
Add new codegen memory allocator. This allows the recompiler to allocate memory from a central pool as required. This central pool is by default 64 MB on x86, x86-64 and ARMv8, and 32 MB on ARMv7.
The current design does not allow for ARMv8 literal pools, therefore these have been removed.
|
2019-01-12 15:15:43 +00:00 |
|
SarahW
|
57e5549f48
|
Remove final remnants of ARM literal pool, and expand work register set to 7 registers.
|
2018-08-05 16:24:48 +01:00 |
|
SarahW
|
a9d46d95ec
|
Use MOVW/MOVT to load immediates on ARM instead of a literal pool.
|
2018-08-02 22:09:57 +01:00 |
|
SarahW
|
ee3f9210dc
|
Implemented basic register allocation.
Mainly handles 'virtual' registers at the moment (eg current and last PC values, segment override status, etc).
|
2018-06-23 19:04:36 +01:00 |
|
SarahW
|
03fe25d818
|
First stage of dynamic recompiler rewrite.
Basic IR generation calls C implementation of all instructions.
Backend generation implemented for x86, x86-64, ARM and ARM64.
|
2018-06-17 20:26:15 +01:00 |
|