aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/CodeGen/JITCodeEmitter.h
diff options
context:
space:
mode:
authorJeffrey Yasskin <jyasskin@google.com>2009-07-08 21:59:57 +0000
committerJeffrey Yasskin <jyasskin@google.com>2009-07-08 21:59:57 +0000
commit489393d7b92107cc3de17d8dbe7dd11ab7395fdc (patch)
treec71a1374a4b25820422f596ca8e686c01514596a /include/llvm/CodeGen/JITCodeEmitter.h
parente41dec60fa1ad6a46ec46c848ae1a8f2f7497e12 (diff)
downloadexternal_llvm-489393d7b92107cc3de17d8dbe7dd11ab7395fdc.tar.gz
external_llvm-489393d7b92107cc3de17d8dbe7dd11ab7395fdc.tar.bz2
external_llvm-489393d7b92107cc3de17d8dbe7dd11ab7395fdc.zip
Add an option to allocate JITed global data separately from code. By
default, this option is not enabled to support clients who rely on this behavior. Fixes http://llvm.org/PR4483 A patch to allocate additional memory for globals after we run out is forthcoming. Patch by Reid Kleckner! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75059 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/JITCodeEmitter.h')
-rw-r--r--include/llvm/CodeGen/JITCodeEmitter.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/llvm/CodeGen/JITCodeEmitter.h b/include/llvm/CodeGen/JITCodeEmitter.h
index 73197af1af..cb9a0a1fa9 100644
--- a/include/llvm/CodeGen/JITCodeEmitter.h
+++ b/include/llvm/CodeGen/JITCodeEmitter.h
@@ -267,6 +267,11 @@ public:
return Result;
}
+ /// allocateGlobal - Allocate memory for a global. Unlike allocateSpace,
+ /// this method does not allocate memory in the current output buffer,
+ /// because a global may live longer than the current function.
+ virtual void *allocateGlobal(uintptr_t Size, unsigned Alignment) = 0;
+
/// StartMachineBasicBlock - This should be called by the target when a new
/// basic block is about to be emitted. This way the MCE knows where the
/// start of the block is, and can implement getMachineBasicBlockAddress.