harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xiao-Feng Li" <xiaofeng...@gmail.com>
Subject Re: [jitrino]HIR instructions
Date Fri, 02 Mar 2007 03:39:35 GMT
On 3/2/07, Naveen Neelakantam <neelakan@uiuc.edu> wrote:
> Is anyone planning on writing a document describing how tau operands
> are used?  It has taken me a lot of time digging through the code to
> try to understand it (and my understanding is probably still
> incomplete).

Here is a paper by the ORP starjit developers on design philosophy.

http://www.cs.cmu.edu/~leaf/publications/starjit/menon-starjit.pdf

Thanks,
xiaofeng

> It would be good to save other people from some of the pain.  :-)
>
> Naveen
>
> On Mar 1, 2007, at 5:46 AM, Egor Pasko wrote:
>
> > On the 0x28C day of Apache Harmony Estelle Liu wrote:
> >> hi,
> >> there are some tau instructions of HIR such as Op_TauDiv and
> >> Op_TauLdInd,
> >> what do they stand for?
> >> How can I get descriptions about HIR instructions?
> >
> > Estelle,
> >
> > there is no complete reference guide for HIR instructions yet. How do
> > we tell what operations' semantics are?  The
> > jitrino/src/optimizer/Opcode.cpp file helps. For example:
> >
> > description:
> >     { Op_TauDiv,                false, MB::Movable,
> > MK::Signed_and_Strict,                     "div   ",        "div%
> > m   %0,%1 ((%2)) -) %l",             }, // (opnds must already be
> > checked for 0/overflow)
> >
> > "div" says it is division. On printing it tells about 3 source
> > operands (%0, %1, %2) and one destination operand (%l). Operand ((%2))
> > is a "tau-operand" (because in double-brachets) that comes from
> > instruction performing a zero-check (with this tau-operand we ensure
> > that zero-check is performed before the actual division).
> >
> > description2:
> >     { Op_TauLdInd,              false, MB::Load,
> > MK::AutoCompress_Speculative,              "ldind",         "ldind%
> > m:%t [%0] ((%1,%2)) -) %l",          },
> >
> > This is an indirect load from memory :)
> > Checked with two tau operands (null-check and bounds-check, AFAIR)
> >
> > --
> > Egor Pasko
> >
>
>

Mime
View raw message