Add PrefixPrinter arguments to the dump routines for MachineFunction and
[oota-llvm.git] / include / llvm / System / Memory.h
index 86895e2317d13461b14cf10fc7ac4b65798d8cf0..136dc8a32895a105a658690d03827dbcc59fe33a 100644 (file)
@@ -70,10 +70,23 @@ namespace sys {
     /// platforms.
     static void InvalidateInstructionCache(const void *Addr, size_t Len);
 
-    /// SetRXPrivilege - Before the JIT can run a block of code, it has to be
+    /// setExecutable - Before the JIT can run a block of code, it has to be
     /// given read and executable privilege. Return true if it is already r-x
     /// or the system is able to change its previlege.
-    static bool SetRXPrivilege(const void *Addr, size_t Size);
+    static bool setExecutable (MemoryBlock &M, std::string *ErrMsg = 0);
+
+    /// setWritable - When adding to a block of code, the JIT may need
+    /// to mark a block of code as RW since the protections are on page
+    /// boundaries, and the JIT internal allocations are not page aligned.
+    static bool setWritable (MemoryBlock &M, std::string *ErrMsg = 0);
+
+    /// setRangeExecutable - Mark the page containing a range of addresses 
+    /// as executable.
+    static bool setRangeExecutable(const void *Addr, size_t Size);
+
+    /// setRangeWritable - Mark the page containing a range of addresses 
+    /// as writable.
+    static bool setRangeWritable(const void *Addr, size_t Size);
   };
 }
 }