Return-Path: Delivered-To: apmail-harmony-commits-archive@www.apache.org Received: (qmail 15235 invoked from network); 8 Oct 2007 10:51:49 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 8 Oct 2007 10:51:49 -0000 Received: (qmail 49558 invoked by uid 500); 8 Oct 2007 10:51:37 -0000 Delivered-To: apmail-harmony-commits-archive@harmony.apache.org Received: (qmail 49544 invoked by uid 500); 8 Oct 2007 10:51:37 -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 49535 invoked by uid 99); 8 Oct 2007 10:51:37 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 08 Oct 2007 03:51:37 -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; Mon, 08 Oct 2007 10:51:40 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id BF8CC714201 for ; Mon, 8 Oct 2007 03:50:50 -0700 (PDT) Message-ID: <20945111.1191840650779.JavaMail.jira@brutus> Date: Mon, 8 Oct 2007 03:50:50 -0700 (PDT) From: "Alexey Varlamov (JIRA)" To: commits@harmony.apache.org Subject: [jira] Resolved: (HARMONY-2196) [drlvm][jit][opt] loop optimizations fail (in server_static mode) if a dispatch node becomes a loop header for multiple loops 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-2196?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Alexey Varlamov resolved HARMONY-2196. -------------------------------------- Resolution: Fixed Assignee: Alexey Varlamov (was: Mikhail Fursov) Added the reg-test at r582772, please verify this issue can be closed. > [drlvm][jit][opt] loop optimizations fail (in server_static mode) if a dispatch node becomes a loop header for multiple loops > ----------------------------------------------------------------------------------------------------------------------------- > > Key: HARMONY-2196 > URL: https://issues.apache.org/jira/browse/HARMONY-2196 > Project: Harmony > Issue Type: Bug > Components: DRLVM > Environment: any > Reporter: Egor Pasko > Assignee: Alexey Varlamov > Priority: Minor > Attachments: after.translator.h-2196.png, LoopExc.j > > > the problem is $subj. > to reproduce: > (1) > compile the synthetic bytecode (attached) with jasmin ([1]): > java -jar jasmin.jar LoopExc.j > (2) > compile Jitrino in debug mode (see [2]) > (3) > run the test in "server_static" mode: > $DRLVM -Xem:server_static LoopExc > you will get an assertion like: > java: /export/users/evpasko/svn/3/trunk/working_vm/vm/jitrino/src/optimizer/Loop.cpp:423: void Jitrino::LoopBuilder::peelLoops(Jitrino::StlVector >&): Assertion `header->getInDegree() == 2' failed. > SIGABRT in VM code. > Stack trace: > 1: ?? (??:-1) > 2: abort (??:-1) > 3: __assert_fail (??:-1) > 4: Jitrino::LoopBuilder::peelLoops(Jitrino::StlVector >&) (/export/users/evpasko/svn/3/trunk/working_vm/vm/jitrino/src/optimizer/Loop.cpp:424) > 5: Jitrino::LoopBuilder::peelLoops() (/export/users/evpasko/svn/3/trunk/working_vm/vm/jitrino/src/optimizer/Loop.cpp:911) > 6: Jitrino::LoopPeelingPass::_run(Jitrino::IRManager&) (/export/users/evpasko/svn/3/trunk/working_vm/vm/jitrino/src/optimizer/Loop.cpp:47) > 7: Jitrino::OptPass::run() (/export/users/evpasko/svn/3/trunk/working_vm/vm/jitrino/src/optimizer/optpass.cpp:61) > 8: Jitrino::runPipeline(Jitrino::CompilationContext*) (/export/users/evpasko/svn/3/trunk/working_vm/vm/jitrino/src/main/Jitrino.cpp:226) > 9: Jitrino::compileMethod(Jitrino::CompilationContext*) (/export/users/evpasko/svn/3/trunk/working_vm/vm/jitrino/src/main/Jitrino.cpp:261) > 10: Jitrino::Jitrino::CompileMethod(Jitrino::CompilationContext*) (/export/users/evpasko/svn/3/trunk/working_vm/vm/jitrino/src/main/Jitrino.cpp:286) > (4) > you can also obtain a CFG picture to make sure that dispatch node is a loop header: > $DRLVM -Xem:server_static -Djit.p.filter=.main -Djit.p.arg.log=ct,irdump,dotdump LoopExc > the dot file is "log/CS_OPT/LoopExc/main([Ljava_lang_String;)V/03.ssa.before.dot" > low priority because the bytecode is not achievable with java compilers > [1] http://jasmin.sourceforge.net/ > [2] http://wiki.apache.org/harmony/Debugging%20DRLVM%20with%20GDB%20on%20Linux -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.