Files
osy e461c3762a tcg: implement mirror mapped JIT for iOS
On iOS, we cannot allocate RWX pages without special entitlements. As a
workaround, we can allocate a RX region and then mirror map it to a separate
RX region. Then we can write to one region and execute from the other one.

We also define `tcg_mirror_ptr_rw` and `tcg_code_ptr_rw` to return a pointer
to RW memory. The difference between the RW and RX regions is stored in the
TCG context.

To ensure cache coherency, we flush the data cache in the RW mapping and
then invalidate the instruction cache in the RX mapping (where applicable).
Because data cache flush is OS defined on some architectures, we do not
provide implementations for non iOS platforms (ARM/x86).
2020-10-18 22:16:31 -07:00
..
2018-07-13 10:16:04 +01:00
2019-09-17 13:43:22 +02:00
2016-05-26 11:12:05 -06:00
2016-03-11 16:59:12 +02:00
2020-09-01 09:31:33 +02:00
2017-01-16 10:11:43 +01:00
2018-08-21 10:22:03 +02:00
2017-01-24 23:26:52 +03:00