Return-Path: Delivered-To: apmail-harmony-dev-archive@www.apache.org Received: (qmail 77011 invoked from network); 16 Mar 2007 09:55:48 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 16 Mar 2007 09:55:48 -0000 Received: (qmail 65716 invoked by uid 500); 16 Mar 2007 09:55:53 -0000 Delivered-To: apmail-harmony-dev-archive@harmony.apache.org Received: (qmail 65681 invoked by uid 500); 16 Mar 2007 09:55:53 -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 65659 invoked by uid 99); 16 Mar 2007 09:55:53 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 16 Mar 2007 02:55:53 -0700 X-ASF-Spam-Status: No, hits=1.3 required=10.0 tests=RCVD_NUMERIC_HELO,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: domain of gcjhd-harmony-dev@m.gmane.org designates 80.91.229.2 as permitted sender) Received: from [80.91.229.2] (HELO ciao.gmane.org) (80.91.229.2) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 16 Mar 2007 02:55:41 -0700 Received: from root by ciao.gmane.org with local (Exim 4.43) id 1HS99K-0006u7-Q4 for dev@harmony.apache.org; Fri, 16 Mar 2007 10:55:03 +0100 Received: from 195.161.50.68 ([195.161.50.68]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 16 Mar 2007 10:55:02 +0100 Received: from nikolay.sidelnikov by 195.161.50.68 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 16 Mar 2007 10:55:02 +0100 X-Injected-Via-Gmane: http://gmane.org/ To: dev@harmony.apache.org From: Nikolay Sidelnikov Subject: Re: [drlvm][jit][opt] HARMONY-3243 It's possible to fill array with constant much faster Date: Fri, 16 Mar 2007 15:48:21 +0600 Lines: 32 Message-ID: References: <0vqhcsmo33l.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: 195.161.50.68 User-Agent: Thunderbird 1.5.0.9 (Windows/20061207) In-Reply-To: Sender: news X-Virus-Checked: Checked by ClamAV on apache.org >> What I can say more is that a good "ABCD" optimization complimented > ... and ABCD does nothing with BBP, isn't it? > >> with "loop versioning" optimiztion will make a more readable, more >> stable code, AND will give a better performance gain (loop unrolling > Unfortunately no, it will not. :-( > > As you probably know ;-), char is 16 bits wide in Java. > The code generated for char moves have to use 16 bit movement > instructions. These instructions include operand-size change prefix > (66h) that makes CPU decoder feel bad. Whatever unrolling or versioning > would leave these heavy instructions on place. > One of the goals was to throw the heavy instructions away and replace > them with more effective and fast ones. It's somehow hard to do in > codegen separately, but much easy (and clearly) with a little help from > the HLO side - this is rationale for the HLO pass. > >> is awake too). Setting aside the fact that the overall design will be >> more straightforward (having no interdependent passes, extra helpers, >> etc) >> >> So I vote for focusing on ABCD plus "loop versioning" and leaving >> specific benchmark-oriented tricks (complicating our design) alone. > > Again, the optimization is orthogonal to the ABCD and was never > positioned as replacement for ABCD. Optimization's main target are > string (and XML) intensive apps. > My 2 cents: I hope we will use results of the ABCD optimization to completely replace regular loop with a helper call