harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pavel Pervov" <pmcfi...@gmail.com>
Subject Re: [drlvm] Class unloading support
Date Thu, 26 Oct 2006 13:27:47 GMT
Mikhail,

Now if you introduce one more level of indirection and start comparing
Classes, not VTables, you do not need to enumerate.

On 10/26/06, Mikhail Fursov <mike.fursov@gmail.com> wrote:
>
> On 10/26/06, Pavel Pervov <pmcfirst@gmail.com> wrote:
> >
> > My statement is based on the following: JIT only needs vtable to call
> > (interface) methods. If it's true, then I don't see where it will be
> > necessary to enumerate vtables. The only possibility I can imagine is
> when
> > JIT reuse vtable invoking several methods of the same object.
>
>
> Pavel,
> here is an example of the devirtualization: eax is an object reference:
>
> cmp         eax,0  ;
> je          0131E778 ;
> mov         ecx,dword ptr [eax]
> cmp         ecx,13D5250h
>
> As you  see JIT hardcodes vtable as a constant. If you move it - you have
> to
> enumerate it.
>
>
>
> All,
> Let's allow to Alexey to commit his code as it is and discuss unpinning
> with
> details in future?
>
> --
> Mikhail Fursov
>
>


-- 
Pavel Pervov,
Intel Enterprise Solutions Software Division

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