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-2184) [drlvm][jit][opt] "syncopt" optimization pass makes exit node unreachable from an empty infinite loop
Date Tue, 14 Nov 2006 12:56:37 GMT
[drlvm][jit][opt] "syncopt" optimization pass makes exit node unreachable from an empty infinite
loop
-----------------------------------------------------------------------------------------------------

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


to reproduce:
1. apply HARMONY-2115 patch // so that "syncopt" is not broken trivially
2. put "syncopt,dce,uce," just before "statprof" in the opt.emconf file // no quotes
3. run ThreadTest on OPT with logging for the "testHoldsLock_True" method:
$DRLVM -Djit.p.filter=java/lang/ThreadTest::testHoldsLock_True -Djit.p.arg.log=ct,irdump,dotdump
-Xem:opt -Xbootclasspath/a:$classlib/depends/jars/junit_3.8.2/junit.jar:$vm/build/lnx_ia32_gcc_debug/semis/kernel.tests/classes
junit.textui.TestRunner java.lang.ThreadTest

it will fail during compilation of "testHoldsLock_True" method. Then you can find the root
cause in the log file:
log/CS_OPT/java_lang_ThreadTest/testHoldsLock_True()V/ct.log
after "syncopt" stage ends (__STAGE_END__:  [...] stageTag=syncopt) basic block "L95" has
only one out-edge that leads to "L95" itself:

Block L95:
  Predecessors: C94 L95
  Successors: L95
  I322:L95:
  GOTO L95

block number can vary, but you can see the node with exit node not reachable in the dot file:
log/CS_OPT/java_lang_ThreadTest/testHoldsLock_True()V/38.statprof.before.dot

on linux it can be converted to a PNG image: 
dot -Tpng 38.statprof.before.dot > 38.statprof.before.dot.png

that kind of a CFG is not supported by CG and many other components and considered invalid,

so the optimization pass should be fixed (or removed from the codebase)

when fixed, ThreadTest should NOT fail by assertion with jitrino built in debug mode (now
it does)

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