summaryrefslogtreecommitdiffstats
path: root/runtime/parsed_options.cc
diff options
context:
space:
mode:
authorHiroshi Yamauchi <yamauchi@google.com>2014-02-27 14:44:36 -0800
committerHiroshi Yamauchi <yamauchi@google.com>2014-03-05 19:20:14 -0800
commite63a745f26fec5a5b4162fc83f6e88a1f696c30c (patch)
treef26e1429c8226c5dde5ee4c361a57754ff46298c /runtime/parsed_options.cc
parente26baffe7f9e2a54f276f5c65e48454e413683ba (diff)
downloadart-e63a745f26fec5a5b4162fc83f6e88a1f696c30c.tar.gz
art-e63a745f26fec5a5b4162fc83f6e88a1f696c30c.tar.bz2
art-e63a745f26fec5a5b4162fc83f6e88a1f696c30c.zip
Make heap reference poisoning work with the interpreter.
It is disabled by default. Bug: 12687968 Change-Id: Iee0cad647f341a7b566f4cf74c2770d1c19312c9
Diffstat (limited to 'runtime/parsed_options.cc')
-rw-r--r--runtime/parsed_options.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/runtime/parsed_options.cc b/runtime/parsed_options.cc
index 04f1a05a3d..37db4624be 100644
--- a/runtime/parsed_options.cc
+++ b/runtime/parsed_options.cc
@@ -147,7 +147,13 @@ bool ParsedOptions::Parse(const Runtime::Options& options, bool ignore_unrecogni
compiler_callbacks_ = nullptr;
is_zygote_ = false;
- interpreter_only_ = false;
+ if (kPoisonHeapReferences) {
+ // kPoisonHeapReferences currently works only with the interpreter only.
+ // TODO: make it work with the compiler.
+ interpreter_only_ = true;
+ } else {
+ interpreter_only_ = false;
+ }
is_explicit_gc_disabled_ = false;
long_pause_log_threshold_ = gc::Heap::kDefaultLongPauseLogThreshold;