harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ge...@apache.org
Subject svn commit: r473395 - in /incubator/harmony/enhanced/drlvm/trunk/vm: jitrino/src/optimizer/FlowGraph.cpp vmcore/include/version_svn_tag.h
Date Fri, 10 Nov 2006 17:28:39 GMT
Author: geirm
Date: Fri Nov 10 09:28:37 2006
New Revision: 473395

URL: http://svn.apache.org/viewvc?view=rev&rev=473395
Log:
HARMONY-1877

Fixes the jitrino crash, but shows another bug in the VM, 
which I'll report as a new JIRA

Ubuntu 6 - testcase, smoke, c-unit, ~kernel


Modified:
    incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/FlowGraph.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/include/version_svn_tag.h

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/FlowGraph.cpp
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/FlowGraph.cpp?view=diff&rev=473395&r1=473394&r2=473395
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/FlowGraph.cpp (original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/FlowGraph.cpp Fri Nov
10 09:28:37 2006
@@ -477,12 +477,21 @@
     Node* entryJSR  = jsrInst->getTargetLabel()->getNode();
     Inst *saveReturn = findSaveRet(entryJSR);
     assert(saveReturn);
-    // 'stvar' should follow 'saveret' (feature of current IRBuilder)
+    //
+    // if JSR 'returns' via at least one RET
+    // then
+    //     'stvar' follows 'saveret' and stores return info into the local var
+    //     retVar (the stored operand) is non-NULL
+    // else
+    //     no 'stvar' can follow 'saveret' (because it is unused)
+    //     retVar is NULL
     Inst *stVar = saveReturn->getNextInst();
-    // If retVar is NULL, JSR never returns. 
     Opnd *retVar = NULL;
-    if(stVar->isStVar() && (stVar->getSrc(0) == saveReturn->getDst()))
+    if ( stVar && 
+         stVar->isStVar() && 
+         (stVar->getSrc(0) == saveReturn->getDst()) ) {
         retVar = stVar->getDst();
+    }
 
     //
     // Find return node for this invocation.

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/include/version_svn_tag.h
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/include/version_svn_tag.h?view=diff&rev=473395&r1=473394&r2=473395
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/include/version_svn_tag.h (original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/include/version_svn_tag.h Fri Nov 10
09:28:37 2006
@@ -18,6 +18,6 @@
 #ifndef _VERSION_SVN_TAG_
 #define _VERSION_SVN_TAG_
 
-#define VERSION_SVN_TAG  "473316"
+#define VERSION_SVN_TAG  "473330"
 
 #endif // _VERSION_SVN_TAG_



Mime
View raw message