Home | History | Annotate | Download | only in JIT

Lines Matching refs:jit

10 // This file defines a MachineCodeEmitter object that is used by the JIT to
15 #include "JIT.h"
55 #define DEBUG_TYPE "jit"
69 // JIT lazy compilation code.
79 llvm_unreachable("The JIT doesn't know how to handle a"
112 /// Instance of the JIT this ResolverState serves.
113 JIT *TheJIT;
117 JITResolverState(JIT *jit) : FunctionToLazyStubMap(this),
120 TheJIT = jit;
187 /// Instance of JIT corresponding to this Resolver.
188 JIT *TheJIT;
191 explicit JITResolver(JIT &jit, JITEmitter &je)
192 : state(&jit), nextGOTIndex(0), JE(je), TheJIT(&jit) {
193 LazyResolverFn = jit.getJITInfo().getLazyResolverFunction(JITCompilerFn);
274 /// JITEmitter - The JIT implementation of the MachineCodeEmitter, which is
283 // When reattempting to JIT a function after running out of space, we store
284 // the estimated size of the function we're trying to JIT here, so we can
354 /// Instance of the JIT
355 JIT *TheJIT;
358 JITEmitter(JIT &jit, JITMemoryManager *JMM, TargetMachine &TM)
359 : SizeEstimate(0), Resolver(jit, *this), MMI(nullptr), CurFn(nullptr),
360 EmittedFunctions(this), TheJIT(&jit) {
362 if (jit.getJITInfo().needsGOT()) {
364 DEBUG(dbgs() << "JIT is managing a GOT\n");
408 DEBUG(dbgs() << "JIT: Emitting BB" << MBB->getNumber() << " at ["
512 // Call the lazy resolver function if we are JIT'ing lazily. Otherwise we
536 // address of the stub in the GlobalAddressMap for the JIT, not the address
541 DEBUG(dbgs() << "JIT: Lazy stub emitted at [" << Stub << "] for function '"
553 // If we are JIT'ing non-lazily but need to call a function that does not
554 // exist yet, add it to the JIT's work list so that we can fill in the
577 DEBUG(dbgs() << "JIT: Indirect symbol emitted at [" << IndirectSym
595 DEBUG(dbgs() << "JIT: Stub emitted at [" << Stub
605 DEBUG(dbgs() << "JIT: Adding GOT entry " << idx << " for addr ["
624 // JIT lock to be unlocked.
643 report_fatal_error("LLVM JIT requested to do lazy compilation of"
648 DEBUG(dbgs() << "JIT: Lazily resolving function '" << F->getName()
718 // If this is an external function pointer, we can force the JIT to
771 DEBUG(dbgs() << "JIT: Starting CodeGen of Function "
838 DEBUG(dbgs() << "JIT: Map \'" << MR.getExternalSymbol() << "\' to ["
871 DEBUG(dbgs() << "JIT: GOT was out of date for " << ResultPtr
888 DEBUG(dbgs() << "JIT: GOT was out of date for " << (void*)BufferBegin
920 DEBUG(dbgs() << "JIT: Finished CodeGen of [" << (void*)FnStart
933 dbgs() << "JIT: Disassembled code:\n";
937 dbgs() << "JIT: Binary code:\n";
943 dbgs() << "JIT: " << (long)(q - FnStart) << ": ";
968 DEBUG(dbgs() << "JIT: Ran out of space for native code. Reattempting.\n");
1028 DEBUG(dbgs() << "JIT: Emitted constant pool at [" << ConstantPoolBase
1046 DEBUG(dbgs() << "JIT: CP" << i << " at [0x";
1092 "Cross JIT'ing?");
1111 assert(MJTI->getEntrySize(*TheJIT->getDataLayout()) == 4&&"Cross JIT'ing?");
1204 llvm_unreachable("The JIT doesn't know how to handle a"
1213 JITCodeEmitter *JIT::createEmitter(JIT &jit, JITMemoryManager *JMM,
1215 return new JITEmitter(jit, JMM, tm);
1222 void *JIT::getPointerToFunctionOrStub(Function *F) {
1232 void JIT::updateFunctionStubUnlocked(Function *F) {
1239 // Tell the target jit info to rewrite the stub at the specified address,
1249 void JIT::freeMachineCodeForFunction(Function *F) {