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 Thu, 15 May 2008 09:13:44 GMT
Thanks you very much!

I also found LdInd, LdRef, LdVar
Where are they used? and What is the difference between these and TauLdInd?

Thanks

2008/5/7 George Timoshenko <george.timoshenko@gmail.com>:

> Simon Chow wrote:
>
>> Thank you all~
>> so all the 'St*'s (such as StField, StStatic, StElem etc.) are translated
>> into TauStInd or TauStRef instruction now?
>> additionally, what is the exact meaning of 'Tau' prefix?
>>
>>
> You are right
>
> StField and similar are being translated into
>
> addr = LdFieldAddr (LdElemAddr for array elements)
> StInd(addr,value)
>
>
> Tau means that the instruction contains some auxiliary operand which are
> the results of null- and type- checks for the base of the memory operation.
>
> For a field it is an object base address.
> Before Ld or St operation this address is being checked for NULL and it is
> marked that it points to the object with exact type.
>
>


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

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