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...