You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by va...@apache.org on 2007/05/17 12:08:38 UTC

svn commit: r538862 - /harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32GCMap.cpp

Author: varlax
Date: Thu May 17 03:08:37 2007
New Revision: 538862

URL: http://svn.apache.org/viewvc?view=rev&rev=538862
Log:
Fixed failing assertion after [r538551] HARMONY-3636

Modified:
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32GCMap.cpp

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32GCMap.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32GCMap.cpp?view=diff&rev=538862&r1=538861&r2=538862
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32GCMap.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32GCMap.cpp Thu May 17 03:08:37 2007
@@ -113,13 +113,13 @@
     return field_is_magic(field->getFieldHandle());
 }
 
-static void checkManaged2UnmanagedConv(IRManager& irm, Opnd* opnd, Inst* skipInst) {
+static void checkManaged2UnmanagedConv(IRManager& irm, Opnd* opnd) {
     const Nodes& nodes = irm.getFlowGraph()->getNodes();
     for (Nodes::const_iterator it = nodes.begin(), end = nodes.end(); it!=end; ++it) {
         Node* node = *it;
         if (node->isBlockNode()) {
             for (Inst* inst = (Inst*)node->getLastInst(); inst!=NULL; inst = inst->getPrevInst()) {
-                if (inst->getMnemonic() != Mnemonic_MOV || inst == skipInst) {
+                if (inst->getMnemonic() != Mnemonic_MOV) {
                     continue;
                 }
                 Opnd* op0 = inst->getOpnd(0);
@@ -168,9 +168,8 @@
     for (int i = liveOpnds.getNext(); i != -1; i = liveOpnds.getNext()) {
         Opnd* opnd = irm.getOpnd(i);
 #ifdef _DEBUG
-        if (opnd->getType()->isUnmanagedPtr()) {
-            Inst* skipInst= opnd == callRes ? inst : NULL; // skip this call from the check if opnd is the result of the call
-            checkManaged2UnmanagedConv(irm, opnd, skipInst);
+        if (opnd->getType()->isUnmanagedPtr() && opnd != callRes ) {
+            checkManaged2UnmanagedConv(irm, opnd);
         }
 #endif