Return-Path: Delivered-To: apmail-harmony-commits-archive@www.apache.org Received: (qmail 79758 invoked from network); 12 Dec 2007 10:20:53 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 12 Dec 2007 10:20:53 -0000 Received: (qmail 81346 invoked by uid 500); 12 Dec 2007 10:20:40 -0000 Delivered-To: apmail-harmony-commits-archive@harmony.apache.org Received: (qmail 81329 invoked by uid 500); 12 Dec 2007 10:20:40 -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 81317 invoked by uid 99); 12 Dec 2007 10:20:40 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 12 Dec 2007 02:20:40 -0800 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.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 12 Dec 2007 10:20:49 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 933831A9832; Wed, 12 Dec 2007 02:20:27 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r603534 - in /harmony/enhanced/drlvm/trunk: src/test/regression/excludes/ vm/jitrino/src/optimizer/ Date: Wed, 12 Dec 2007 10:20:25 -0000 To: commits@harmony.apache.org From: mfursov@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20071212102027.933831A9832@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: mfursov Date: Wed Dec 12 02:20:23 2007 New Revision: 603534 URL: http://svn.apache.org/viewvc?rev=603534&view=rev Log: Fix for HARMONY-5290 [drlvm][jit][opt] SIGSEGV in JIT code Turning OFF changes introduced with HARMONY-4785 [drlvm][jit][opt] EHWA asserts in server_static mode. It won't go into M4, excluding regression test Modified: harmony/enhanced/drlvm/trunk/src/test/regression/excludes/exclude.linux.x86 harmony/enhanced/drlvm/trunk/src/test/regression/excludes/exclude.linux.x86_64 harmony/enhanced/drlvm/trunk/src/test/regression/excludes/exclude.windows.x86 harmony/enhanced/drlvm/trunk/src/test/regression/excludes/exclude.windows.x86_64 harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/FlowGraph.cpp harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/optimizer.cpp Modified: harmony/enhanced/drlvm/trunk/src/test/regression/excludes/exclude.linux.x86 URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/src/test/regression/excludes/exclude.linux.x86?rev=603534&r1=603533&r2=603534&view=diff ============================================================================== --- harmony/enhanced/drlvm/trunk/src/test/regression/excludes/exclude.linux.x86 (original) +++ harmony/enhanced/drlvm/trunk/src/test/regression/excludes/exclude.linux.x86 Wed Dec 12 02:20:23 2007 @@ -0,0 +1,2 @@ +# Check corresponding JIRA for details +H4785 Modified: harmony/enhanced/drlvm/trunk/src/test/regression/excludes/exclude.linux.x86_64 URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/src/test/regression/excludes/exclude.linux.x86_64?rev=603534&r1=603533&r2=603534&view=diff ============================================================================== --- harmony/enhanced/drlvm/trunk/src/test/regression/excludes/exclude.linux.x86_64 (original) +++ harmony/enhanced/drlvm/trunk/src/test/regression/excludes/exclude.linux.x86_64 Wed Dec 12 02:20:23 2007 @@ -4,3 +4,5 @@ H4265 # Test crashes on SOE H4292 +# Check corresponding JIRA for details +H4785 Modified: harmony/enhanced/drlvm/trunk/src/test/regression/excludes/exclude.windows.x86 URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/src/test/regression/excludes/exclude.windows.x86?rev=603534&r1=603533&r2=603534&view=diff ============================================================================== --- harmony/enhanced/drlvm/trunk/src/test/regression/excludes/exclude.windows.x86 (original) +++ harmony/enhanced/drlvm/trunk/src/test/regression/excludes/exclude.windows.x86 Wed Dec 12 02:20:23 2007 @@ -0,0 +1,2 @@ +# Check corresponding JIRA for details +H4785 Modified: harmony/enhanced/drlvm/trunk/src/test/regression/excludes/exclude.windows.x86_64 URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/src/test/regression/excludes/exclude.windows.x86_64?rev=603534&r1=603533&r2=603534&view=diff ============================================================================== --- harmony/enhanced/drlvm/trunk/src/test/regression/excludes/exclude.windows.x86_64 (original) +++ harmony/enhanced/drlvm/trunk/src/test/regression/excludes/exclude.windows.x86_64 Wed Dec 12 02:20:23 2007 @@ -4,3 +4,5 @@ H4265 # Test fails without any diagnstics with exit code 128 H4292 +# Check corresponding JIRA for details +H4785 Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/FlowGraph.cpp URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/FlowGraph.cpp?rev=603534&r1=603533&r2=603534&view=diff ============================================================================== --- harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/FlowGraph.cpp (original) +++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/FlowGraph.cpp Wed Dec 12 02:20:23 2007 @@ -908,7 +908,7 @@ Edges backedges(tmpMM); Edges edgesToRemove(tmpMM); for (Nodes::const_iterator it = nodes.begin(), end = nodes.end(); it!=end; ++it) { - Node* node = *it; + Node* node = *it; Node* head = lt->getLoopHeader(node, false); if (head == NULL) { continue; @@ -935,6 +935,16 @@ } loopHeadToDispatchMap[head] = dispatch; edgesToRemove.push_back(exceptionEdge); + if (node == head) { + Node* parentHead = lt->getLoopHeader(head, true); + if (parentHead && loopHeadToDispatchMap.find(parentHead) == loopHeadToDispatchMap.end()) { + while (lt->getLoopHeader(dispatch, false) == parentHead) { + dispatch = dispatch->getExceptionEdgeTarget(); + assert(dispatch); + } + loopHeadToDispatchMap[parentHead] = dispatch; + } + } } } Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/optimizer.cpp URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/optimizer.cpp?rev=603534&r1=603533&r2=603534&view=diff ============================================================================== --- harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/optimizer.cpp (original) +++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/optimizer.cpp Wed Dec 12 02:20:23 2007 @@ -176,7 +176,7 @@ //classic_abcd optimizerFlags.dump_abcd_stats = getBoolArg("dump_abcd_stats", false); - optimizerFlags.rept_aggressive= getBoolArg("rept_aggressive", false); + optimizerFlags.rept_aggressive= getBoolArg("rept_aggressive", true); optimizerFlags.abcdFlags = new (mm) AbcdFlags; memset(optimizerFlags.abcdFlags, sizeof(AbcdFlags), 0);