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.