diff options
Diffstat (limited to 'llvm/lib/ExecutionEngine/MCJIT/SectionMemoryManager.cpp')
-rw-r--r-- | llvm/lib/ExecutionEngine/MCJIT/SectionMemoryManager.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/ExecutionEngine/MCJIT/SectionMemoryManager.cpp b/llvm/lib/ExecutionEngine/MCJIT/SectionMemoryManager.cpp index fa35acd389a..da931247b6c 100644 --- a/llvm/lib/ExecutionEngine/MCJIT/SectionMemoryManager.cpp +++ b/llvm/lib/ExecutionEngine/MCJIT/SectionMemoryManager.cpp @@ -138,6 +138,11 @@ bool SectionMemoryManager::applyPermissions(std::string *ErrMsg) // Read-write data memory already has the correct permissions + // Some platforms with separate data cache and instruction cache require + // explicit cache flush, otherwise JIT code manipulations (like resolved + // relocations) will get to the data cache but not to the instruction cache. + invalidateInstructionCache(); + return false; } |