harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From George Timoshenko <george.timoshe...@gmail.com>
Subject Re: [drlvm][opt] what does 'irBuilderFlags.expandMemAddrs' mean?
Date Wed, 07 May 2008 09:54:16 GMT
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.


Mime
View raw message