Naveen's example is good. Here is another one:
To print HIR for the certain method use per-method filters.
E.g. add this line as java.exe params:
-XX:jit.arg.myfilter.filter=Test::foo -XX::jit.myfilter.arg.log=ct
,irdump,dotdump

On 3/2/07, Estelle Liu <[EMAIL PROTECTED]> wrote:

Thanks,
and does there anything I can do to dump the HIR instructions of a method
body?


01 Mar 2007 14:46:24 +0300, Egor Pasko <[EMAIL PROTECTED]>:
>
> 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
>
>


--
Estelle




--
Mikhail Fursov

Reply via email to