OSDN Git Service

Pull the useful part of p9-132414 over to "donut".
authorAndy McFadden <fadden@android.com>
Fri, 8 May 2009 22:26:33 +0000 (15:26 -0700)
committerAndy McFadden <fadden@android.com>
Fri, 8 May 2009 22:32:12 +0000 (15:32 -0700)
This was inspired by some valgrind complaints marcone noticed.  The change
is already part of "master".

(I just noticed that the comment isn't quite right, but hopefully if I leave
it alone it'll merge trivially and I can fix it up in a subsequent change.)

vm/analysis/CodeVerify.c

index 65aa833..31b24b9 100644 (file)
@@ -5173,13 +5173,11 @@ sput_1nr_common:
             updateRegisters(meth, insnFlags, regTable, insnIdx+insnWidth,
                 workRegs);
         } else {
-            /* if not yet visited, or regs were updated, set "changed" */
-            if (!dvmInsnIsVisited(insnFlags, insnIdx+insnWidth) ||
-                compareRegisters(workRegs, entryRegs,
-                    insnRegCount + kExtraRegs) != 0)
-            {
-                dvmInsnSetChanged(insnFlags, insnIdx+insnWidth, true);
-            }
+            /*
+             * We didn't record register data for the next entry, so we have
+             * to assume that something has changed and re-evaluate it.
+             */
+            dvmInsnSetChanged(insnFlags, insnIdx+insnWidth, true);
         }
     }