ART: Fix things for valgrind
Wire up valgrind gtests. Add valgrind-test-art-host, currently
only depending on valgrind-test-art-host-gtest32.
Fix an Alloc setting to allow running valgrind.
Refactor the fault handler to manage (and correctly release) the
handlers.
Fix minor failure-case leaks exposed by tests.
Failing tests:
The optimizing compiler is leaking non-arena-ed structures
(e.g., assembler buffers), as code generators are not destroyed.
The solution has been moved to a follow-up CL.
Note: All 64b tests are failing as we cannot allocate a heap.
Change-Id: I7f854cfd098d9f68107ce492363e7dba9a82b9fa
diff --git a/build/Android.common_test.mk b/build/Android.common_test.mk
index 20c5a21..3897401 100644
--- a/build/Android.common_test.mk
+++ b/build/Android.common_test.mk
@@ -41,6 +41,18 @@
test-art-host-run-test-gcstress-interpreter-prebuild-114-ParallelGC64 \
test-art-host-run-test-gcstress-optimizing-prebuild-114-ParallelGC64
+# Failing valgrind tests.
+# Note: *all* 64b tests involving the runtime do not work currently. b/15170219.
+
+# Optimizing compiler codegen is not destructed and can leak non-arena-ed structures.
+ART_TEST_KNOWN_BROKEN += \
+ valgrind-test-art-host-gtest-codegen_test32 \
+ valgrind-test-art-host-gtest-find_loops_test32 \
+ valgrind-test-art-host-gtest-linearize_test32 \
+ valgrind-test-art-host-gtest-live_ranges_test32 \
+ valgrind-test-art-host-gtest-liveness_test32 \
+ valgrind-test-art-host-gtest-register_allocator_test32
+
# List of known failing tests that when executed won't cause test execution to not finish.
# The test name must be the full rule name such as test-art-host-oat-optimizing-HelloWorld64.
ART_TEST_KNOWN_FAILING :=