Module dynasmrt::cache_control
source · Expand description
This module contains several utility functions to manage the state of the caches of the executing processor. On von Neumann architectures (like x86/AMD64), these are no-ops, as these processors ensure synchronization of the instruction and data caches internally. On modified Harvard architectures like ARMv8, these functions are needed to ensure that the data cache and instruction cache stay synchronized.
Functions§
- This function should be called before any jit-compiled code is executed, on the thread that will execute this code.
- This function should be called after modification of any data that could’ve been loaded into the instruction cache previously. It will ensure that these modifications will be propagated into the instruction caches