harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From gshiman...@apache.org
Subject svn commit: r480047 - in /harmony/enhanced/drlvm/trunk/vm/vmcore/src/verifier: Graph.cpp Verifier.cpp ver_dataflow.cpp
Date Tue, 28 Nov 2006 14:04:47 GMT
Author: gshimansky
Date: Tue Nov 28 06:04:46 2006
New Revision: 480047

URL: http://svn.apache.org/viewvc?view=rev&rev=480047
Log:
Applied HARMONY-2281 [drlvm][verifier] Remove assignment compatible check for aastore instruction

Tests passed on windows xp, ubuntu and suse 10 x86_64


Modified:
    harmony/enhanced/drlvm/trunk/vm/vmcore/src/verifier/Graph.cpp
    harmony/enhanced/drlvm/trunk/vm/vmcore/src/verifier/Verifier.cpp
    harmony/enhanced/drlvm/trunk/vm/vmcore/src/verifier/ver_dataflow.cpp

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/verifier/Graph.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/verifier/Graph.cpp?view=diff&rev=480047&r1=480046&r2=480047
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/verifier/Graph.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/verifier/Graph.cpp Tue Nov 28 06:04:46 2006
@@ -713,15 +713,16 @@
                     vf_Context_t *ctex)     // verifier context
 {
 #if _VERIFY_DEBUG
-    unsigned index;
-    vf_Edge_t *edge;
-
     // print node incoming edges
-    for( index = 0, edge = GetEdge( GetNode( num )->m_inedge );
-        index < GetNode( num )->m_innum;
-        index++, edge = GetEdge( edge->m_innext ) )
+    unsigned index;
+    unsigned edge_num;
+    for( index = 0, edge_num = GetNode( num )->m_inedge;
+         index < GetNode( num )->m_innum;
+         index++ )
     {
+        vf_Edge_t *edge = GetEdge( edge_num );
         VERIFY_DEBUG( " [" << edge->m_start << "] -->" );
+        edge_num = edge->m_innext;
     }
 
     // print node
@@ -743,11 +744,13 @@
     }
 
     // print node outcoming edges
-    for( index = 0, edge = GetEdge( GetNode( num )->m_outedge );
-        index < GetNode( num )->m_outnum;
-        index++, edge = GetEdge( edge->m_outnext ) )
+    for( index = 0, edge_num = GetNode( num )->m_outedge;
+         index < GetNode( num )->m_outnum;
+         index++ )
     {
+        vf_Edge_t *edge = GetEdge( edge_num );
         VERIFY_DEBUG( " --> [" << edge->m_end << "]" );
+        edge_num = edge->m_outnext;
     }
     VERIFY_DEBUG( "" );
 #endif // _VERIFY_DEBUG
@@ -876,9 +879,6 @@
                        vf_Context_t *ctex)      // verifier contex
 {
 #if _VERIFY_DEBUG
-    unsigned index;
-    vf_Edge_t *edge;
-
     // print node to dot file
     if( vf_is_instruction_has_flags( &ctex->m_code[GetNode( num )->m_start],
                                      VF_FLAG_START_ENTRY ) )
@@ -902,10 +902,14 @@
     }
 
     // print node outcoming edges to dot file
-    for( index = 0, edge = GetEdge( GetNode( num )->m_outedge );
-            index < GetNode( num )->m_outnum;
-            index++, edge = GetEdge( edge->m_outnext ) )
+    unsigned index;
+    unsigned edge_num;
+    for( index = 0, edge_num = GetNode( num )->m_outedge;
+         index < GetNode( num )->m_outnum;
+         index++ )
     {
+        vf_Edge_t *edge = GetEdge( edge_num );
+
         out << "node" << num << " -> " << "node" << edge->m_end;
         if( vf_is_instruction_has_flags( &ctex->m_code[GetNode( edge->m_end )->m_start],
                                          VF_FLAG_HANDLER ) )
@@ -918,6 +922,7 @@
             out << "[color=blue]" << endl;
         }
         out << ";" << endl;
+        edge_num = edge->m_outnext;
     }
 #endif // _VERIFY_DEBUG
     return;

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/verifier/Verifier.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/verifier/Verifier.cpp?view=diff&rev=480047&r1=480046&r2=480047
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/verifier/Verifier.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/verifier/Verifier.cpp Tue Nov 28 06:04:46 2006
@@ -2638,7 +2638,7 @@
     vf_set_in_vector_stack_entry_ref( code, 0, NULL );
     vf_set_in_vector_check( code, 0, VF_CHECK_REF_ARRAY );
     vf_set_in_vector_stack_entry_int( code, 1 );
-    vf_set_in_vector_type( code, 2, SM_UP_ARRAY );
+    vf_set_in_vector_stack_entry_ref( code, 2, NULL );
     return;
 } // vf_opcode_fastore
 

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/verifier/ver_dataflow.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/verifier/ver_dataflow.cpp?view=diff&rev=480047&r1=480046&r2=480047
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/verifier/ver_dataflow.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/verifier/ver_dataflow.cpp Tue Nov 28 06:04:46
2006
@@ -764,8 +764,7 @@
 {
     unsigned index;
     vf_MapEntry_t *entry,
-                  *vector,
-                  *newvector;
+                  *vector;
     Verifier_Result result;
 
     // check IN vector entries
@@ -782,27 +781,6 @@
         case SM_TOP:
             // copy entry
             copy = true;
-            break;
-        case SM_UP_ARRAY:
-            // check reference array element
-            assert( index > 0 );
-            newvector = &buf[index];
-            // check assignment conversion
-            vf_set_array_element_type( newvector, vector, &buf[0], ctex );
-            if( newvector->m_vtype ) {
-                newvector->m_ctype = VF_CHECK_ASSIGN_WEAK;
-            } else {
-                newvector->m_ctype = VF_CHECK_NONE;
-            }
-            // check entry types
-            result = vf_check_entry_refs( entry, newvector, ctex );
-            if( result != VER_OK ) {
-                VERIFY_REPORT( ctex, "(class: " << class_get_name( ctex->m_class
) 
-                    << ", method: " << method_get_name( ctex->m_method )
-                    << method_get_descriptor( ctex->m_method )
-                    << ") Incompatible types for array assignment" );
-                return result;
-            }
             break;
         case SM_REF:
             // check entry references



Mime
View raw message