aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/Alpha
diff options
context:
space:
mode:
authorJeffrey Yasskin <jyasskin@google.com>2009-11-23 22:49:00 +0000
committerJeffrey Yasskin <jyasskin@google.com>2009-11-23 22:49:00 +0000
commit0261d795f83a45dd53d82e511ae672d6d1f4e298 (patch)
tree04b08bde023562acfc4bf23d227fbfa6fe2e2b5e /lib/Target/Alpha
parentf81bf15552d3df7dd341e3970a002b9e35ea4992 (diff)
downloadexternal_llvm-0261d795f83a45dd53d82e511ae672d6d1f4e298.zip
external_llvm-0261d795f83a45dd53d82e511ae672d6d1f4e298.tar.gz
external_llvm-0261d795f83a45dd53d82e511ae672d6d1f4e298.tar.bz2
Allow more than one stub to be being generated at the same time.
It's probably better in the long run to replace the indirect-GlobalVariable system. That'll be done after a subsequent patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89708 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Alpha')
-rw-r--r--lib/Target/Alpha/AlphaJITInfo.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/Target/Alpha/AlphaJITInfo.cpp b/lib/Target/Alpha/AlphaJITInfo.cpp
index d328135..4e59833 100644
--- a/lib/Target/Alpha/AlphaJITInfo.cpp
+++ b/lib/Target/Alpha/AlphaJITInfo.cpp
@@ -192,15 +192,16 @@ extern "C" {
void *AlphaJITInfo::emitFunctionStub(const Function* F, void *Fn,
JITCodeEmitter &JCE) {
+ MachineCodeEmitter::BufferState BS;
//assert(Fn == AlphaCompilationCallback && "Where are you going?\n");
//Do things in a stupid slow way!
- JCE.startGVStub(F, 19*4);
+ JCE.startGVStub(BS, F, 19*4);
void* Addr = (void*)(intptr_t)JCE.getCurrentPCValue();
for (int x = 0; x < 19; ++ x)
JCE.emitWordLE(0);
EmitBranchToAt(Addr, Fn);
DEBUG(errs() << "Emitting Stub to " << Fn << " at [" << Addr << "]\n");
- return JCE.finishGVStub(F);
+ return JCE.finishGVStub(BS);
}
TargetJITInfo::LazyResolverFn