Return-Path: Delivered-To: apmail-harmony-commits-archive@www.apache.org Received: (qmail 79795 invoked from network); 6 May 2008 08:43:53 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 6 May 2008 08:43:53 -0000 Received: (qmail 33175 invoked by uid 500); 6 May 2008 08:43:55 -0000 Delivered-To: apmail-harmony-commits-archive@harmony.apache.org Received: (qmail 33158 invoked by uid 500); 6 May 2008 08:43:55 -0000 Mailing-List: contact commits-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 commits@harmony.apache.org Received: (qmail 33147 invoked by uid 99); 6 May 2008 08:43:55 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 06 May 2008 01:43:55 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.130] (HELO eos.apache.org) (140.211.11.130) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 06 May 2008 08:43:09 +0000 Received: from eos.apache.org (localhost [127.0.0.1]) by eos.apache.org (Postfix) with ESMTP id 89EA3D2EB for ; Tue, 6 May 2008 08:43:30 +0000 (GMT) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Apache Wiki To: commits@harmony.apache.org Date: Tue, 06 May 2008 08:43:30 -0000 Message-ID: <20080506084330.18260.34734@eos.apache.org> Subject: [Harmony Wiki] Update of "Jitrino OPT/bbp" by George Timoshenko X-Virus-Checked: Checked by ClamAV on apache.org Dear Wiki user, You have subscribed to a wiki page or wiki category on "Harmony Wiki" for change notification. The following page has been changed by George Timoshenko: http://wiki.apache.org/harmony/Jitrino_OPT/bbp ------------------------------------------------------------------------------ Back-Branch Polling is for yield points insertion at back branches of certain kinds of loops to enable safe thread suspension. Several approaches are implemented there: - // 0 - the feature is turned off + * 0 - the feature is turned off - // 1 - insert interruptable subgraph at all backedges except those going from initiallyInterruptable nodes + * 1 - insert interruptable subgraph at all backedges except those going from initiallyInterruptable nodes - // (initialInterruptability is not being propagated to the successors. This is the feature of version 5) + (initialInterruptability is not being propagated to the successors. This is the feature of version 5) - // 2 - path analysis based on searching of pairs [isOnThreadInterruptablePath]->[!isOnThreadInterruptablePath] + * 2 - path analysis based on searching of pairs [isOnThreadInterruptablePath]->[!isOnThreadInterruptablePath] - // 3 - recursive version of "2" + * 3 - recursive version of "2" - // 4 - "1" + suspension flag addr [TLS base + offset] is calculated before the loop header + * 4 - "1" + suspension flag addr [TLS base + offset] is calculated before the loop header - // 5 - like "1" but some backedges are not patched (if all paths through it are uninteruptable) + * 5 - like "1" but some backedges are not patched (if all paths through it are uninteruptable) - // 6 - "4" + "5" + * 6 - "4" + "5" - They can be switched using the following: + They can be switched using the following: ["-XX:jit.arg.bbp=[0-6]"] - - XX:jit.arg.bbp=[0-6] + '''Possible improvement''' + It may have sence to try BBPolling at earlier stages - in HLO. - Possible improvement - - It may have sence BBPolling is worth to be done earlier - in HLO. To clarify one need to implemet HLO pass for this and find the best position (from the performance POV) for it in the HLO path.