merge in ics-mr1-release history after reset to ics-mr1
diff --git a/vm/IndirectRefTable.cpp b/vm/IndirectRefTable.cpp
index e6d0a7e..c38458d 100644
--- a/vm/IndirectRefTable.cpp
+++ b/vm/IndirectRefTable.cpp
@@ -38,9 +38,7 @@
     if (table_ == NULL) {
         return false;
     }
-#ifndef NDEBUG
     memset(table_, 0xd1, initialCount * sizeof(IndirectRefSlot));
-#endif
 
     segmentState.all = IRT_FIRST_SEGMENT;
     alloc_entries_ = initialCount;
@@ -116,6 +114,9 @@
                 return NULL;
             }
 
+            memset(newTable + alloc_entries_, 0xd1,
+                   (newSize - alloc_entries_) * sizeof(IndirectRefSlot));
+
             alloc_entries_ = newSize;
             table_ = newTable;
         }
diff --git a/vm/compiler/InlineTransformation.cpp b/vm/compiler/InlineTransformation.cpp
index 387dd61..53278a7 100644
--- a/vm/compiler/InlineTransformation.cpp
+++ b/vm/compiler/InlineTransformation.cpp
@@ -46,6 +46,13 @@
     MIR *newGetterMIR = (MIR *)dvmCompilerNew(sizeof(MIR), true);
     DecodedInstruction getterInsn;
 
+    /*
+     * Not all getter instructions have vC but vC will be read by
+     * dvmCompilerGetDalvikDisassembly unconditionally.
+     * Initialize it here to get Valgrind happy.
+     */
+    getterInsn.vC = 0;
+
     dexDecodeInstruction(calleeMethod->insns, &getterInsn);
 
     if (!dvmCompilerCanIncludeThisInstruction(calleeMethod, &getterInsn))
@@ -137,6 +144,13 @@
     MIR *newSetterMIR = (MIR *)dvmCompilerNew(sizeof(MIR), true);
     DecodedInstruction setterInsn;
 
+    /*
+     * Not all setter instructions have vC but vC will be read by
+     * dvmCompilerGetDalvikDisassembly unconditionally.
+     * Initialize it here to get Valgrind happy.
+     */
+    setterInsn.vC = 0;
+
     dexDecodeInstruction(calleeMethod->insns, &setterInsn);
 
     if (!dvmCompilerCanIncludeThisInstruction(calleeMethod, &setterInsn))