You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Alexey Varlamov (JIRA)" <ji...@apache.org> on 2007/05/08 11:55:15 UTC
[jira] Assigned: (HARMONY-2113) [drlvm][jit][opt] Jitrino.OPT loops
infinitely in inlineJSR() when an exception from a subroutine (JSR->RET) is
expected
[ https://issues.apache.org/jira/browse/HARMONY-2113?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alexey Varlamov reassigned HARMONY-2113:
----------------------------------------
Assignee: Alexey Varlamov
> [drlvm][jit][opt] Jitrino.OPT loops infinitely in inlineJSR() when an exception from a subroutine (JSR->RET) is expected
> ------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-2113
> URL: https://issues.apache.org/jira/browse/HARMONY-2113
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Environment: any
> Reporter: Egor Pasko
> Assigned To: Alexey Varlamov
> Priority: Minor
> Attachments: ExcInFinallyTest.j, H2113.patch.txt, HARMONY-2113-regtest.patch, HARMONY-2113.patch
>
>
> 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.
-
You can reply to this email to add a comment to the issue online.