search for: stub_address

Displaying 7 results from an estimated 7 matches for "stub_address".

2010 Feb 07
3
[LLVMdev] Jit singleton
Hi Jeffrey, Thanks for pointing me in the right direction ! I'm not using the JIT in lazy mode, but it was fun to understand the lazy-stub code. Attached you will find a patch which follow your 1st option : a map Stub_address -> JITResolver instance, except that the used map is a "std::map" to apply the same upper_bound trick as in the map CallSiteToFunctionMap of the ResolverState. (If it is necessary for call_site -> function, this should be necessary for call_site -> resolver... Event if I'm no...
2010 Feb 10
0
[LLVMdev] Jit singleton
...lt;meurant.olivier at gmail.com> wrote: > Hi Jeffrey, > > Thanks for pointing me in the right direction ! > I'm not using the JIT in lazy mode, but it was fun to understand the > lazy-stub code. > > Attached you will find a patch which follow your 1st option : a map > Stub_address -> JITResolver instance, except that the used map is a > "std::map" to apply the same upper_bound trick as in the map > CallSiteToFunctionMap of the ResolverState. (If it is necessary for > call_site -> function, this should be necessary for call_site -> resolver... >...
2010 Feb 10
1
[LLVMdev] Jit singleton
...e: > > Hi Jeffrey, > > > > Thanks for pointing me in the right direction ! > > I'm not using the JIT in lazy mode, but it was fun to understand the > > lazy-stub code. > > > > Attached you will find a patch which follow your 1st option : a map > > Stub_address -> JITResolver instance, except that the used map is a > > "std::map" to apply the same upper_bound trick as in the map > > CallSiteToFunctionMap of the ResolverState. (If it is necessary for > > call_site -> function, this should be necessary for call_site -> &...
2010 Feb 04
0
[LLVMdev] Jit singleton
...tiple JITs in the process. However, in lazy compilation mode, we need to map stub addresses to the JIT that knows how to compile them. Right now, that's done by looking up the static "TheJITResolver" variable and assuming it's the only JIT, but we could 1) use a static DenseMap<stub_address, JITResolver*> instead, or 2) include the JITResolver* inside the stub as an argument to the compilation callback. Nobody's needed this enough to get it working though. I think it'd make some sense to fix it for eager compilation even before getting lazy compilation working. Would you l...
2010 Feb 04
2
[LLVMdev] Jit singleton
Hi everyone ! If I call ExecutionEngine::createJIT (or EngineBuilder::create) more than one time, the second time fails on a assertion "Multiple JIT resolvers?". It seems that the JIT is designed to be a singleton in the process, and I was wondering if it was something mandatory. How hard will it be to make it a non-singleton object ? Is this a JIT-only problem (work needed on JIT
2011 Nov 01
6
[LLVMdev] Proposal: MCLinker - an LLVM integrated linker
Hi, Brooks, Since this project is helped by many BSD guys in Taiwan, one of MCLinker's main objectives is make direct contribution to the BSD realm. Please feel free to give us suggestions to make sure we can achieve this goal. Any comments are appreciated. We realized open discussion on the mailing list is necessary, and we hope this thread can be a beginning to openly discuss the project
2011 Nov 02
2
[LLVMdev] Proposal: MCLinker - an LLVM integrated linker
...branch range is too far or ARM/THUMB mode switching. Google gold linker uses two kinds of stubs basically. One is consecutive branch instructions, and the other is one branch instruction with one following instruction (e.g., ldr) which changes PC directly. Example of the later cases, 1: bl <stub_address> ... 2: ldr pc, [pc, #-4] ; stub 3: dcd R_ARM_ABS32(X) In MCLinker, we can optimize it as following: X: ldr ip, [pc, #-4] Y: dcd R_ARM_ABS32(X) Z: bx ip Before optimization, some processors suffer from flushing ROB/Q because their pipelines are fulfilled with the invalid instruct...