harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chunrong Lai (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-5378) [drlvm][jit] Dacapo.xalan fails when running with server.emconf
Date Tue, 09 Dec 2008 09:35:44 GMT

    [ https://issues.apache.org/jira/browse/HARMONY-5378?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12654748#action_12654748
] 

Chunrong Lai commented on HARMONY-5378:
---------------------------------------


   The mentioned NullPointerException from org.apache.xml.dtm.ref.DTMStringPool.stringToIndex
will disappear if the optimization phase of  fastArrayFill is not performed (either by removing
it from -XX:jit.SD2_OPT.path.abce or by simply return when voidFastArrayFillPass::_run(......)
), while the fastArrayFill phase will optimize another function named RemoveAllElements in
running Xalan with mentioned options.
   I noticed that the error started from r599448 which commit patch for HARMONY-2170. So I
hope that some JIT/ABCE experts (maybe Egor?) can help me to understand below commits in FastArrayFilling.cpp.

@@ -203,10 +205,14 @@
                             inst->getSrc(1) == tmpIndex) 
                         {
                             arrayBase = inst->getSrc(0);
-                            inst = inst->getPrevInst();
-                            //check Label aka beginning of BB
-                            if (inst->getOpcode() == Op_Label) {
-                                found = true;
+                            Inst* tmpInst = arrayBase->getInst();
+                            if (tmpInst->getOpcode() == Op_LdArrayBaseAddr) {
+                                arrayRef = tmpInst->getSrc(0); 
+                                inst = inst->getPrevInst();
+                                //check Label aka beginning of BB
+                                if (inst->getOpcode() == Op_Label) {
+                                    found = true;
+                                }
                             }
                         } 
                     } 
@@ -246,26 +252,6 @@
         }
 
         startNode = inEdge->getSourceNode();
-        inst = ((Inst *)startNode->getLastInst());
-        found = false;
-
-        //check StVar
-        if (inst->getOpcode() == Op_StVar && inst->getDst() == index) {
-            inst = inst->getPrevInst();
-            //check StInd
-            if (inst->getOpcode() == Op_TauStInd && inst->getSrc(0) == constValue
&& inst->getSrc(1) == arrayBase) {
-                inst = inst->getPrevInst();
-                //check LdBase
-                if (inst->getOpcode() == Op_LdArrayBaseAddr && inst->getDst()
== arrayBase && inst->getPrevInst()->getOpcode() == Op_Label) {
-                    arrayRef = inst->getSrc(0);
-                    found = true;
-                }
-            }
-        }
-        if (!found) {
-            continue;
-        }
-
         startNode = startNode->getInEdges().front()->getSourceNode();
         inst = ((Inst *)startNode->getLastInst());
         found = false;


> [drlvm][jit] Dacapo.xalan fails when running with server.emconf
> ---------------------------------------------------------------
>
>                 Key: HARMONY-5378
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5378
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows ia32, linux ia32
>            Reporter: Rustem Rafikov
>            Assignee: Mikhail Fursov
>
> Dacapo.xalan fails when running DRLVM with server.emconf. The problem appeared after
some changes connected to abce - if abce ("abce-")  is disabled in the emconf xalan works
fine. 
> I used revision # 610332. 
> To reproduce:
> - get Dacapo (dacapobench.org)
> - run the xalan benchmark with the following cmd line
> java -Xbootclasspath/p:./xalan.jar  -Xem:server -Xmx900M -Xms900M -jar dacapo-2006-10-MR2.jar
-s default -n 20 xalan
> From the log:
> [...]
> Uncaught exception in Thread-22:
> java.lang.NullPointerException
> 	at org.apache.xml.dtm.ref.DTMStringPool.stringToIndex(DTMStringPool.java)
> 	at org.apache.xml.dtm.ref.DTMStringPool.<init>(DTMStringPool.java:109)
> 	at org.apache.xml.dtm.ref.sax2dtm.SAX2DTM.<init>(SAX2DTM.java)
> 	at org.apache.xml.dtm.ref.DTMManagerDefault.getDTM(DTMManagerDefault.java)
> 	at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java)
> 	at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1129)
> 	at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1107)
> 	at dacapo.xalan.XalanHarness$XalanWorker.run(XalanHarness.java)
> [...]

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


Mime
View raw message