harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Naveen Neelakantam <neela...@uiuc.edu>
Subject Re: [jitrino]HIR instructions
Date Fri, 02 Mar 2007 15:13:13 GMT

On Mar 2, 2007, at 2:03 AM, Mikhail Fursov wrote:

> 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

That is really cool!

> On 3/2/07, Estelle Liu <lyy1105@gmail.com> 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 <egor.pasko@gmail.com>:
>> >
>> > 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


Mime
View raw message