我正在ARM Linux上编写一个JIT,它执行一个包含自修改代码的指令集.指令集没有任何缓存刷新指令(在这方面类似于x86).
如果我向页面写出一些代码,然后mprotect在该页面上调用,那是否足以使指令缓存无效?或者我还需要cacheflush在这些页面上使用系统调用吗?
mprotect
cacheflush
linux jit arm mprotect self-modifying
arm ×1
jit ×1
linux ×1
mprotect ×1
self-modifying ×1