harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexey Varlamov" <alexey.v.varla...@gmail.com>
Subject Re: [drlvm][opt] what does 'irBuilderFlags.expandMemAddrs' mean?
Date Mon, 19 May 2008 08:42:02 GMT
2008/5/19, Simon Chow <simon.harmony@gmail.com>:
> Thanks George, It is very helpful!
> BTW, what do SystemClasses refers to exactly? kernel classes?

I believe George meant class literals from constant pools, a Java5
feature. These are any classes you refer to as "XXX.class" in Java
code.

--
Alexey

>
> Thanks.
>
> 2008/5/19 George Timoshenko <george.timoshenko@gmail.com>:
>
> > I also found LdInd, LdRef, LdVar
> >> Where are they used? and What is the difference between these and
> >> TauLdInd?
> >>
> >
> > LdInd: its a kind of wrapper. It can be used for load of anything from
> > memory. But it is not used for java AFAIR.
> > (For Java you always know what you are trying to load so for example for
> > getfield you calculate field address - LdFieldAddr, make null- and type-
> > checks and TauLdInd w/o that wrapper )
> >
> > LdRef - is used for loading strings and SystemClasses. the address for the
> > load explicitly appears only at code selector. In HLO LdRef instruction
> > keeps enclosing method and constant pool index inside for further address
> > request. (VM provides the address at compile time for such items)
> >
> > LdVar - is used for operations with local variables. It is not actually a
> > real load from memory. Some var may happen to be assigned to a register
> > later in code generator. Code selector selects the inst into PseudoCopy
> > instruction. And later PseudoCopy will disappeare or become a real MOV.
> >
> >
>
>
> --
> From : Simon.Chow@Software School of Fudan University
>

Mime
View raw message