You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Evgueni Brevnov (JIRA)" <ji...@apache.org> on 2007/12/05 13:30:44 UTC

[jira] Updated: (HARMONY-4784) [drlvm][jit][opt] Loop peeling segfaults on smoke perf/ThrowMany

     [ https://issues.apache.org/jira/browse/HARMONY-4784?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Evgueni Brevnov updated HARMONY-4784:
-------------------------------------

    Attachment: H4784.patch

It turned out the actual cause is throwopt optimization. It produces invalid grapth which confuses loop peeling. The fix attached. Build test passed on Lin 32/64 & Win 32.

Thanks
Evgueni

> [drlvm][jit][opt] Loop peeling segfaults on smoke perf/ThrowMany
> ----------------------------------------------------------------
>
>                 Key: HARMONY-4784
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4784
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: x86 release, debug
>            Reporter: Alexey Varlamov
>         Attachments: H4784.patch
>
>
> To reproduce (-Dtest.mode=jit is for selecting single mode run):
> >sh build.sh smoke.test -Dtest.mode=jit -Dtest.vmargs="-Xem:server_static" -Dtest.case=perf/ThrowMany.java
> SIGSEGV in VM code.
> Stack trace:
>   0: Jitrino::CFGInst::getNode() const (/export/users2/avarlamo/working_vm/vm/jitrino/src/shared/ControlFlowGraph.h:274)
>   1: Jitrino::ControlFlowGraph::splitNodeAtInstruction(Jitrino::CFGInst*, bool, bool, Jitrino::CFGInst*) (/export/users2/avarlamo/working_vm/vm/jitrino/src/shared/ControlFlowGraph.cpp:448)
>   2: Jitrino::LoopBuilder::peelLoops(Jitrino::StlVector<Jitrino::Edge*, Jitrino::StlMMAllocator<Jitrino::Edge*> >&) (/export/users2/avarlamo/working_vm/vm/jitrino/src/optimizer/Loop.cpp:520)
>   3: Jitrino::LoopBuilder::peelLoops() (/export/users2/avarlamo/working_vm/vm/jitrino/src/optimizer/Loop.cpp:861)
>   4: Jitrino::LoopPeelingPass::_run(Jitrino::IRManager&) (/export/users2/avarlamo/working_vm/vm/jitrino/src/optimizer/Loop.cpp:47)
>   5: Jitrino::OptPass::run() (/export/users2/avarlamo/working_vm/vm/jitrino/src/optimizer/optpass.cpp:61)
>   6: Jitrino::runPipeline(Jitrino::CompilationContext*) (/export/users2/avarlamo/working_vm/vm/jitrino/src/main/Jitrino.cpp:228)
>   7: Jitrino::compileMethod(Jitrino::CompilationContext*) (/export/users2/avarlamo/working_vm/vm/jitrino/src/main/Jitrino.cpp:245)
>   8: Jitrino::Jitrino::CompileMethod(Jitrino::CompilationContext*) (/export/users2/avarlamo/working_vm/vm/jitrino/src/main/Jitrino.cpp:262)
>   9: JIT_compile_method_with_params (/export/users2/avarlamo/working_vm/vm/jitrino/src/vm/drl/DrlJITInterface.cpp:284)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.