Return-Path: Delivered-To: apmail-harmony-dev-archive@www.apache.org Received: (qmail 1228 invoked from network); 2 Mar 2007 02:20:41 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 2 Mar 2007 02:20:41 -0000 Received: (qmail 91101 invoked by uid 500); 2 Mar 2007 02:20:47 -0000 Delivered-To: apmail-harmony-dev-archive@harmony.apache.org Received: (qmail 91069 invoked by uid 500); 2 Mar 2007 02:20:47 -0000 Mailing-List: contact dev-help@harmony.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@harmony.apache.org Delivered-To: mailing list dev@harmony.apache.org Received: (qmail 91060 invoked by uid 99); 2 Mar 2007 02:20:47 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 01 Mar 2007 18:20:47 -0800 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: local policy) Received: from [128.174.252.3] (HELO dcs-server2.cs.uiuc.edu) (128.174.252.3) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 01 Mar 2007 18:20:35 -0800 Received: from [10.0.1.3] (74-134-230-104.dhcp.insightbb.com [74.134.230.104]) (authenticated bits=0) by dcs-server2.cs.uiuc.edu (8.13.6/8.13.6) with ESMTP id l222KD1r008095 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for ; Thu, 1 Mar 2007 20:20:14 -0600 (CST) Mime-Version: 1.0 (Apple Message framework v752.3) In-Reply-To: References: <0vqirdlrxtb.fsf@gmail.com> Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: Content-Transfer-Encoding: 7bit From: Naveen Neelakantam Subject: Re: [jitrino]HIR instructions Date: Thu, 1 Mar 2007 20:20:12 -0600 To: dev@harmony.apache.org X-Mailer: Apple Mail (2.752.3) X-Virus-Checked: Checked by ClamAV on apache.org There are various forms of logging available. See: http://harmony.apache.org/subcomponents/drlvm/JIT.html#JIT_logging And for a sample use try uncommenting these lines in opt.emconf: -XDjit.CS_OPT.arg.log.irdump.file=log/%jit%/%log%/%seqnb%_%class%.% method%.log -XDjit.CS_OPT.arg.log=ct,ir,irdump,all Then use the modified emconf file to see the generated logs (suppose the modified emconf is modified_opt.emconf in the current directory): >jit -Xem:./modified_opt.emconf HelloWorld You should see a log directory containing various logs, but you might want to start by looking at the files in log/CS_OPT/irdump/ Naveen On Mar 1, 2007, at 7:57 PM, Estelle Liu 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 : >> >> 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