summaryrefslogtreecommitdiffstats
path: root/cmdline
diff options
context:
space:
mode:
authorMathieu Chartier <mathieuc@google.com>2015-06-14 14:14:37 -0700
committerMathieu Chartier <mathieuc@google.com>2015-06-22 16:10:37 -0700
commitbad9c7b7f88689133cae59d9ccae231822a2020c (patch)
treeaa7fcd42eaefd4e246846bb6b2fa4f1142e473aa /cmdline
parent7695200065c2e81b40096e1018a0d73e7391da13 (diff)
downloadart-bad9c7b7f88689133cae59d9ccae231822a2020c.zip
art-bad9c7b7f88689133cae59d9ccae231822a2020c.tar.gz
art-bad9c7b7f88689133cae59d9ccae231822a2020c.tar.bz2
New experimental GC stress mode
Tries to do a GC for every unique call stack (up to 16 frames). The goal is to catch moving GC bugs and lock violations without being rediculously slow. Some tests fail on 64 bits, 32 bit host doesn't work. N5 is booting. Added runtime -Xgc options: gcstress and nogcstress. Bug: 21664466 (cherry picked from commit 310008008c90fea246efd00cb99ee7ded97c5209) Change-Id: Icb8e420f2048e8ee83bcca7937563166a2638f5c
Diffstat (limited to 'cmdline')
-rw-r--r--cmdline/cmdline_types.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/cmdline/cmdline_types.h b/cmdline/cmdline_types.h
index f38478c..2cb86a6 100644
--- a/cmdline/cmdline_types.h
+++ b/cmdline/cmdline_types.h
@@ -472,6 +472,7 @@ struct XGcOption {
bool verify_pre_gc_rosalloc_ = kIsDebugBuild;
bool verify_pre_sweeping_rosalloc_ = false;
bool verify_post_gc_rosalloc_ = false;
+ bool gcstress_ = false;
};
template <>
@@ -509,6 +510,10 @@ struct CmdlineType<XGcOption> : CmdlineTypeParser<XGcOption> {
xgc.verify_post_gc_rosalloc_ = true;
} else if (gc_option == "nopostverify_rosalloc") {
xgc.verify_post_gc_rosalloc_ = false;
+ } else if (gc_option == "gcstress") {
+ xgc.gcstress_ = true;
+ } else if (gc_option == "nogcstress") {
+ xgc.gcstress_ = false;
} else if ((gc_option == "precise") ||
(gc_option == "noprecise") ||
(gc_option == "verifycardtable") ||