Fix some issues reported by Valgrind

* Update the target suppression file.
* Disable the detection of mismatched free() / delete / delete []
calls, since it results in a lot of false positives (a known
Valgrind limitation associated with asymmetric inlining of
operator new() and operator delete()).
* Avoid a memory leak in the code generator tests, caused by the
fact that the VIXL-based ARM code generator does not always use
the arena allocator.
* Fix an access to uninitialized memory.

Test: m valgrind-test-art-target
Test: valgrind --leak-check=full --show-mismatched-frees=no \
               --ignore-range-below-sp=1024-1 \
               --suppressions=valgrind-target-suppressions.txt \
               dalvikvm ...
Change-Id: I891a3247aa9828226b4e62c69d6e1c8398d757b8
diff --git a/test/valgrind-target-suppressions.txt b/test/valgrind-target-suppressions.txt
index fbc99b1..452a174 100644
--- a/test/valgrind-target-suppressions.txt
+++ b/test/valgrind-target-suppressions.txt
@@ -36,8 +36,7 @@
    MemCpySelfAssign
    Memcheck:Overlap
    fun:memcpy
-   fun:je_tsd_set
-   fun:je_tsd_fetch
+   ...
    fun:je_malloc_tsd_boot0
 }
 
@@ -59,3 +58,12 @@
    ...
    fun:_ZN3art7Runtime17InitNativeMethodsEv
 }
+
+# art::MemMap::MapInternal() uses msync() to check for the existence of memory mappings.
+{
+  art::MemMap::MapInternal()
+  Memcheck:Param
+  msync(start)
+  fun:msync
+  fun:_ZN3art6MemMap11MapInternalEPvmiiilb
+}