You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Egor Pasko (JIRA)" <ji...@apache.org> on 2006/11/09 07:26:38 UTC

[jira] Updated: (HARMONY-2115) [drlvm][jit][opt] "syncopt" optimization pass crashes (on HelloWorld) because expects old CFG structure

     [ http://issues.apache.org/jira/browse/HARMONY-2115?page=all ]

Egor Pasko updated HARMONY-2115:
--------------------------------

    Attachment: 0001-syncopt-fixed.txt

the fix attached (absolutely safe to commit, syncopt is unused now)

with fix applied you will get a crash in DominatorTree which is another issue:

SIGSEGV in VM code.
Stack trace:
        1: Jitrino::DominatorTree::dominates(Jitrino::Node*, Jitrino::Node*) (??:-1)
        2: Jitrino::LoopTree::findLoopHeaders(Jitrino::StlVector<Jitrino::Node*, Jitrino::StlMMAllocator<Jitrino::Node*> >&) (??:-1)
        3: Jitrino::LoopTree::rebuild(bool) (??:-1)
        4: Jitrino::LoopBuilder::computeLoops(bool) (??:-1)
        5: Jitrino::OptPass::computeLoops(Jitrino::IRManager&, bool) (??:-1)
        6: Jitrino::OptPass::computeDominatorsAndLoops(Jitrino::IRManager&, bool) (??:-1)
        7: Jitrino::StaticProfilerPass::_run(Jitrino::IRManager&) (??:-1)
[snip]

> [drlvm][jit][opt] "syncopt" optimization pass crashes (on HelloWorld) because expects old CFG structure
> -------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-2115
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2115
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: any
>            Reporter: Egor Pasko
>            Priority: Trivial
>         Attachments: 0001-syncopt-fixed.txt
>
>
> to reproduce the crash
> * copy opt.emconf to syncopt.emconf
> * add "syncopt," before "statprof" in the new syncopt.emconf file (no quotes, obviously)
> * run with -Xem:syncopt switch
> > $HARMONY -Xem:syncopt Hello
> SIGSEGV in VM code.
> Stack trace:
>         1: Jitrino::CFGInst::next() const (??:-1)
>         2: Jitrino::FixupSyncEdgesWalker::isCatchAllAndMonExit(Jitrino::Node*, Jitrino::Opnd*&, Jitrino::Opnd*&, Jitrino::Node*&, Jitrino::Edge*&, Jitrino::Node*&) (??:-1)
>         3: Jitrino::FixupSyncEdgesWalker::applyToNode3(Jitrino::Node*) (??:-1)
>         4: Jitrino::FixupSyncEdgesWalker::applyToCFGNode(Jitrino::Node*) (??:-1)
>         5: ?? (002b0ab1 :2)
>         6: void Jitrino::NodeWalk<Jitrino::FixupSyncEdgesWalker>(Jitrino::ControlFlowGraph&, Jitrino::FixupSyncEdgesWalker&) (??:-1)
>         7: Jitrino::SyncOpt::runPass() (??:-1)
>         8: Jitrino::SyncOptPass::_run(Jitrino::IRManager&) (??:-1)
>         9: Jitrino::OptPass::run() (??:-1)
>         10: Jitrino::runPipeline(Jitrino::CompilationContext*) (??:-1)
>         11: Jitrino::compileMethod(Jitrino::CompilationContext*) (??:-1)
>         12: Jitrino::Jitrino::CompileMethod(Jitrino::CompilationContext*) (??:-1)
> here "syncopt":
> * expects all dispatch nodes to have catch blocks (if you recompile in debug mode, you'll see it)
> * expects instructions in basic blocks to be linked in a circle (which is now outdated, instructions end with NULL)

-- 
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