Commit Graph

22 Commits

Author SHA1 Message Date
Henrik Rydgård
c0a5fa3e8b Fix a crash if JIT space failed to allocate 2020-12-02 00:33:51 +01:00
Henrik Rydgård
989e353482 Common.h shouldn't include Log.h.
Buildfixes

More buildfixes. Move JSON code to common.
2020-10-04 11:42:14 +02:00
Henrik Rydgård
617bbcfb87 Step 1 of removing PanicAlert 2020-07-19 20:33:25 +02:00
Henrik Rydgard
c988d42b04 ARM/ARM64 instruction analysis, hook up to handler 2020-07-14 09:25:45 +02:00
Unknown W. Brackets
7910b4029a arm64jit: Track writable and non-writable pointers.
Switch uses different memory regions.  We can handle this, might as well
cleanup some const abuse.
2020-05-17 00:15:12 -07:00
Unknown W. Brackets
bab907f792 arm64jit: Minor cleanup. 2020-05-16 21:12:31 -07:00
Unknown W. Brackets
257a4fdd12 arm64jit: Reprotect fixed code after icache flush. 2017-12-27 19:33:04 -08:00
Henrik Rydgård
6a1fa728d8 Remove Globals.h 2017-08-31 17:15:22 +02:00
Henrik Rydgård
0ec1e5e3b2 Don't erase and rewrite the dispatcher when the cache is cleared. Fixes #9708 2017-05-26 15:48:03 +02:00
Henrik Rydgård
4a0437d0ed Remove a useless wrapper function 2017-01-26 10:01:14 +01:00
Henrik Rydgård
1503f00885 Memory function cleanups. Better simulation of RW exclusive mode on Windows (if desired) 2017-01-26 09:49:26 +01:00
Henrik Rydgård
b9bbee5c85 Use the mach memory functions on Mac and 32-bit iOS as well. 2017-01-25 20:38:46 +01:00
Florent Castelli
4145b60a0e symbian: Remove! 2016-10-11 18:49:08 +02:00
Henrik Rydgard
1e4b77fb49 Use PAGE_SIZE, fix a comment, fix some indentation. 2016-08-28 18:07:54 +02:00
Henrik Rydgard
b264657d56 Implement W^X-compatible path. Works on Windows and Android, hopefully iOS (untested).
Disabled block linking in this mode, can re-enable with some more work later.

To enable W^X on other platforms than iOS, simply change PlatformIsWXExclusive.
2016-08-28 14:52:08 +02:00
Henrik Rydgard
13e73f8c86 Make sure to reset memory protection as appropriate. Remove unused WriteProtect on codeblocks (to be redesigned) 2016-08-28 13:37:30 +02:00
Henrik Rydgard
5005e83254 Consistency improvements to the memory protect/alloc APIs 2016-08-28 12:28:17 +02:00
Henrik Rydgard
adbac55b1d Replace Write/UnWriteProtectMemory with ProtectMemory that takes flags 2016-08-28 12:09:01 +02:00
Henrik Rydgard
ffe4c266ef Add CodeBlockCommon base class to remove further arch-specificity in JitBlockCache
Remove unused ArmThunk.
2016-05-01 11:40:00 +02:00
Henrik Rydgard
a5be0976bd Remove preprocessor hacks to choose JIT implementation.
Opens up for having multiple JIT implementations available at runtime,
which could be use for experimenting with new JIT compiler types or for
unit testing one JIT on another architecture.

Very few of the newly virtual calls are on any sort of critical path so
hopefully there will not be a performance loss.
2016-05-01 11:39:53 +02:00
Henrik Rydgard
4ec30d98e1 Port the x86 and ARM emitters over to use the generic CodeBlock class 2014-12-15 22:32:55 +01:00
Henrik Rydgard
b2951f0def Transplant Dolphin's ARM64 emitter over. Not hooked up to anything (yet...) 2014-12-15 22:09:26 +01:00