From cef7527a85d026aeb17a4dacca73c70c0ab5da40 Mon Sep 17 00:00:00 2001 From: Nuno Lopes Date: Tue, 21 Oct 2008 11:42:16 +0000 Subject: fix a tricky bug in the JIT global variable emitter, that was triggered when JITing a variable independently of a function. This lead to sharing memory memory between functions and GVs thus changing the value of a GV could change the code in execution. more details on the ML. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57900 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/ExecutionEngine/JITMemoryManager.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'include/llvm/ExecutionEngine/JITMemoryManager.h') diff --git a/include/llvm/ExecutionEngine/JITMemoryManager.h b/include/llvm/ExecutionEngine/JITMemoryManager.h index 0d79d14d71..61c34434c2 100644 --- a/include/llvm/ExecutionEngine/JITMemoryManager.h +++ b/include/llvm/ExecutionEngine/JITMemoryManager.h @@ -101,6 +101,9 @@ public: /// and remember where it is in case the client wants to deallocate it. virtual void endFunctionBody(const Function *F, unsigned char *FunctionStart, unsigned char *FunctionEnd) = 0; + + /// allocateSpace - Allocate a memory block of the given size. + virtual unsigned char *allocateSpace(intptr_t Size, unsigned Alignment) = 0; /// deallocateMemForFunction - Free JIT memory for the specified function. /// This is never called when the JIT is currently emitting a function. -- cgit v1.2.3