summaryrefslogtreecommitdiff
path: root/include/llvm/ExecutionEngine/JITMemoryManager.h
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2008-10-03 16:17:20 +0000
committerJim Grosbach <grosbach@apple.com>2008-10-03 16:17:20 +0000
commitcce6c297c54b4c9c8615c77e97cd64e70812ea60 (patch)
tree2a65c3ce20bd2065ace4af4a03507d11dcbc03a0 /include/llvm/ExecutionEngine/JITMemoryManager.h
parent48b828fdb467655fa630fed41e49e2a481fb6dab (diff)
downloadllvm-cce6c297c54b4c9c8615c77e97cd64e70812ea60.tar.gz
llvm-cce6c297c54b4c9c8615c77e97cd64e70812ea60.tar.bz2
llvm-cce6c297c54b4c9c8615c77e97cd64e70812ea60.tar.xz
On Darwin ARM, memory needs special handling to do JIT. This patch expands
this handling to work properly for modifying stub functions, relocations back to entry points after JIT compilation, etc.. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57013 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/ExecutionEngine/JITMemoryManager.h')
-rw-r--r--include/llvm/ExecutionEngine/JITMemoryManager.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/llvm/ExecutionEngine/JITMemoryManager.h b/include/llvm/ExecutionEngine/JITMemoryManager.h
index e1f2763e1d..0d79d14d71 100644
--- a/include/llvm/ExecutionEngine/JITMemoryManager.h
+++ b/include/llvm/ExecutionEngine/JITMemoryManager.h
@@ -35,6 +35,14 @@ public:
/// JIT Memory Manager if the client does not provide one to the JIT.
static JITMemoryManager *CreateDefaultMemManager();
+ /// setMemoryWritable - When code generation is in progress,
+ /// the code pages may need permissions changed.
+ virtual void setMemoryWritable(void) = 0;
+
+ /// setMemoryExecutable - When code generation is done and we're ready to
+ /// start execution, the code pages may need permissions changed.
+ virtual void setMemoryExecutable(void) = 0;
+
//===--------------------------------------------------------------------===//
// Global Offset Table Management
//===--------------------------------------------------------------------===//