harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Simon Chow" <simon.harm...@gmail.com>
Subject Re: [general][jitrino] How does JIT deal with CALL inst when generating native code?
Date Tue, 04 Mar 2008 06:44:02 GMT
Pavel,
Does this mean that the "compile_me" will be call recursively when callee's
callee hasn't been compiled yet.

For instance,
void A() {
   B();
}
where A and B are both not compiled.
Does the calling of A() invoke the "compile_me" for both A() and B()?

Thank!


On 04/03/2008, Pavel Pervov <pmcfirst@gmail.com> wrote:
>
> Simon,
>
> Each time JIT plans to call a method, it does the following:
> 1) if method is not resolved, JIT inserts a call to resolution stub;
> 2) if method is available, JIT asks for
> MethodDesc::getCodeBlockAddress(0) on this method. If method is not
> compiled yet, VM has generated special "compile_me" for this method on
> class preparation, and its address will be returned in a call to
> getCodeBlockAddress.
>
> WBR,
>     Pavel.
>
>
> On 3/4/08, Simon Chow <simon.harmony@gmail.com> wrote:
> > Att.
> > If the callee is not compiled, how does JIT prepare the entry location
> of
> > callee?
> >
> > --
> > From : Simon.Chow@Software School of Fudan University
> >
>
>
>
> --
> Pavel Pervov,
> Intel Enterprise Solutions Software Division
>



-- 
>From : Simon.Chow@Software School of Fudan University

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message