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: [drlvm][opt] what does 'irBuilderFlags.expandMemAddrs' mean?
Date Mon, 19 May 2008 05:35:35 GMT
Thanks George, It is very helpful!
BTW, what do SystemClasses refers to exactly? kernel classes?

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
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message