Return-Path: Delivered-To: apmail-harmony-commits-archive@www.apache.org Received: (qmail 55346 invoked from network); 17 Jul 2007 14:10:06 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 17 Jul 2007 14:10:06 -0000 Received: (qmail 342 invoked by uid 500); 17 Jul 2007 12:23:28 -0000 Delivered-To: apmail-harmony-commits-archive@harmony.apache.org Received: (qmail 315 invoked by uid 500); 17 Jul 2007 12:23:28 -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 306 invoked by uid 99); 17 Jul 2007 12:23:28 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 17 Jul 2007 05:23:28 -0700 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO brutus.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 17 Jul 2007 05:23:25 -0700 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id B53F34297CC for ; Tue, 17 Jul 2007 05:23:04 -0700 (PDT) Message-ID: <29607272.1184674984733.JavaMail.jira@brutus> Date: Tue, 17 Jul 2007 05:23:04 -0700 (PDT) From: "Pavel Ozhdikhin (JIRA)" To: commits@harmony.apache.org Subject: [jira] Commented: (HARMONY-4476) [drlvm][jit][opt][abcd] Two-state Inequality Graph for both Lower and Upper problems, to ensure correctness and simplify the code, ability to dump stats In-Reply-To: <28724278.1184620564998.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/HARMONY-4476?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12513223 ] Pavel Ozhdikhin commented on HARMONY-4476: ------------------------------------------ Egor, I've looked through your patch. Not very deep though, just a generic view. The code now indeed became more readable! The new graph printing looks nice too. I have a copule of comments/questions regarding your patch and ABCD implementation in general: --- classic_abcd.cpp: Typo in the comment ("constraints"): // constrints (edges) rather than old ones; --- This code: static const uint64 min_const_opnd = (min_ssa_opnd) * 3; ... setID((uint32)min_const_opnd + id); looks potentially unsafe to me due to type conversion and possible overflow. There should be at least an assert checking that there is no overflow. It's better to be jitrino_assert to fire on release as well. I've successfully built DRLVM on Win32 with your patch. I also can't run DaCapo on debug build in server_static mode - recent commit for a new BC mapping has broken this. This will be fixed soon. On release build I ran into verifier issue (this is also a recent change). With verifier disabled I finally managed to run jython, got some info on bounds check but was too lazy to write a script to sum up the results - just made sure something is optimized. Now I'm running "build test" on win32 and get back with the results later. > [drlvm][jit][opt][abcd] Two-state Inequality Graph for both Lower and Upper problems, to ensure correctness and simplify the code, ability to dump stats > -------------------------------------------------------------------------------------------------------------------------------------------------------- > > Key: HARMONY-4476 > URL: https://issues.apache.org/jira/browse/HARMONY-4476 > Project: Harmony > Issue Type: Improvement > Components: DRLVM > Environment: all > Reporter: Egor Pasko > Attachments: 0001-Two-state-Inequality-Graph-with-ABCD-Stats-option.txt, igraph.png > > > Creating two Inequality Graphs makes it difficult to make sure the graph looks like the right one. This issue proposes to create two-state InequalityGraph. One state shall represent the upper-bound problem, the other -- lower-bound. Constraints arising from statements like "a=b", "a=b+const" are the same in both states of the graph, whereas constraints arising from statements like "if (a < b)" are different (basically, the edges change direction to the opposite and negate their length) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.