harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Egor Pasko (JIRA)" <j...@apache.org>
Subject [jira] Created: (HARMONY-2113) [drlvm][jit][opt] Jitrino.OPT loops infinitely in inlineJSR() when an exception from a subroutine (JSR->RET) is expected
Date Thu, 09 Nov 2006 02:32:37 GMT
[drlvm][jit][opt] Jitrino.OPT loops infinitely in inlineJSR() when an exception from a subroutine
(JSR->RET) is expected
------------------------------------------------------------------------------------------------------------------------

                 Key: HARMONY-2113
                 URL: http://issues.apache.org/jira/browse/HARMONY-2113
             Project: Harmony
          Issue Type: Bug
          Components: DRLVM
         Environment: any
            Reporter: Egor Pasko
            Priority: Minor
         Attachments: ExcInFinallyTest.j

Jitrino.OPT loops infinitely in inlineJSR() when an exception from a subroutine (JSR->RET)
is expected

To reproduce:
* compile the attached hand-crafted Jasmin source ExcInFinallyTest.j:
java -jar jasmin.jar ExcInFinallyTest.j
* run on OPT:
$HARMONY -Xem:opt ExcInFinallyTest

you will get an infinite loop (in compilation). This test passes on Jitrino.JET and interpreter.

If you rebuild Jitrino in debug mode, the following assertion would be caught:
java: /export/users/evpasko/svn/3/trunk/working_vm/vm/jitrino/src/optimizer/FlowGraph.cpp:457:
void Jitrino::findNodesInRegion(Jitrino::Node*, Jitrino::Node*, Jitrino::StlBitVector&):
Assertion `!inEdges.empty()' failed.
SIGABRT in VM code.
Stack trace:
        1: ?? (??:-1)
        2: abort (??:-1)
        3: __assert_fail (??:-1)
        4: findNodesInRegion (/export/users/evpasko/svn/3/trunk/working_vm/vm/jitrino/src/optimizer/FlowGraph.cpp:458)
        5: inlineJSR (/export/users/evpasko/svn/3/trunk/working_vm/vm/jitrino/src/optimizer/FlowGraph.cpp:572)
        6: inlineJSRs (/export/users/evpasko/svn/3/trunk/working_vm/vm/jitrino/src/optimizer/FlowGraph.cpp:658)
        7: Jitrino::FlowGraph::doTranslatorCleanupPhase(Jitrino::IRManager&) (/export/users/evpasko/svn/3/trunk/working_vm/vm/jitrino/src/optimizer/FlowGraph.cpp:833)
        8: Jitrino::TranslatorSession::postTranslatorCleanup() (/export/users/evpasko/svn/3/trunk/working_vm/vm/jitrino/src/translator/TranslatorIntfc.cpp:77)
[snip]

obviously, the bug is in the subroutine inlining algorithm

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message