2008/5/19, Simon Chow <[EMAIL PROTECTED]>: > 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 <[EMAIL PROTECTED]>: > > > 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 : [EMAIL PROTECTED] School of Fudan University >
