.hi .lo notations

Christian Thalinger Christian.Thalinger at Sun.COM
Mon Dec 7 01:26:36 PST 2009

On Fri, 2009-12-04 at 18:04 -0800, Hiroshi Yamauchi wrote:
> Hi,
> In PrintOptoAssembly output, I see .hi and .lo notations used for
> handling 64 bit long values on 32 bit Linux x86. For example, EAX.hi
> or EBP.lo.
> I heard that they are aliases to other registers. If so, what are the
> exact rules about the aliases?

You could:

a) use -XX:+PrintAssembly to see what the actual used registers are or

b) look into x86_32.ad at:

// How to find the high register of a Long pair, given the low register
#define   HIGH_FROM_LOW(x) ((x)+2)

and the general register definitions (around line 62) to find out what
the corresponding high registers are (look at the register number).

Hope that helps.

-- Christian

More information about the hotspot-compiler-dev mailing list