summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHiroshi Yamauchi <yamauchi@google.com>2014-12-08 12:08:46 -0800
committerHiroshi Yamauchi <yamauchi@google.com>2014-12-08 13:54:52 -0800
commitb0d22f178c0a8d1ee7d3692f282bb46c53cc2036 (patch)
treedfe756bf4e6f75ce19b25f17e0b22eb403de7c05
parenta4b1eee59648703f8fab664b45d1d61c861c80fe (diff)
downloadart-b0d22f178c0a8d1ee7d3692f282bb46c53cc2036.zip
art-b0d22f178c0a8d1ee7d3692f282bb46c53cc2036.tar.gz
art-b0d22f178c0a8d1ee7d3692f282bb46c53cc2036.tar.bz2
Make it possible to enable heap poisoning via make variable.
If ART_HEAP_POISONING=true, build with heap poisoning enabled. Bug: 8367515 Change-Id: I818e86047e6dd99b5bc9920713ef943a65b677e6
-rw-r--r--build/Android.common_build.mk4
-rw-r--r--runtime/globals.h4
2 files changed, 8 insertions, 0 deletions
diff --git a/build/Android.common_build.mk b/build/Android.common_build.mk
index 6346970..7620e76 100644
--- a/build/Android.common_build.mk
+++ b/build/Android.common_build.mk
@@ -237,6 +237,10 @@ ifeq ($(ART_USE_OPTIMIZING_COMPILER),true)
art_cflags += -DART_USE_OPTIMIZING_COMPILER=1
endif
+ifeq ($(ART_HEAP_POISONING),true)
+ art_cflags += -DART_HEAP_POISONING=1
+endif
+
# Cflags for non-debug ART and ART tools.
art_non_debug_cflags := \
-O3
diff --git a/runtime/globals.h b/runtime/globals.h
index 3104229..beabf55 100644
--- a/runtime/globals.h
+++ b/runtime/globals.h
@@ -101,7 +101,11 @@ static constexpr bool kUseBrooksReadBarrier = false;
static constexpr bool kUseBakerOrBrooksReadBarrier = kUseBakerReadBarrier || kUseBrooksReadBarrier;
// If true, references within the heap are poisoned (negated).
+#ifdef ART_HEAP_POISONING
+static constexpr bool kPoisonHeapReferences = true;
+#else
static constexpr bool kPoisonHeapReferences = false;
+#endif
// Kinds of tracing clocks.
enum TraceClockSource {