Index: runtime/vm/flag_list.h |
diff --git a/runtime/vm/flag_list.h b/runtime/vm/flag_list.h |
index cf476ca760f162d23294ddc775c004b5e3263379..5f5c1fb4344c0e2aa32c2a7cedb67df27aff2e59 100644 |
--- a/runtime/vm/flag_list.h |
+++ b/runtime/vm/flag_list.h |
@@ -11,25 +11,33 @@ |
#define USING_DBC 0 |
#endif |
+// Disable background threads by default on armv5te. The relevant |
Ivan Posva
2016/05/12 19:59:46
Please move this into platform/globals.h instead o
zra
2016/05/12 20:12:25
Done.
|
+// implementations are uniprocessors. |
+#if defined(TARGET_ARCH_ARM_5TE) |
+#define ARCH_IS_MULTI_CORE 0 |
+#else |
+#define ARCH_IS_MULTI_CORE 1 |
+#endif |
+ |
// List of all flags in the VM. |
// Flags can be one of three categories: |
// * P roduct flags: Can be set in any of the deployment modes, including in |
// production. |
-// * D ebug flags: Can only be set in debug VMs, which also have assertions |
-// enabled. |
// * R elease flags: Generally available flags except when building product. |
+// * D ebug flags: Can only be set in debug VMs, which also have C++ assertions |
+// enabled. |
// * pre C ompile flags: Generally available flags except when building product |
// or precompiled runtime. |
// |
// Usage: |
// P(name, type, default_value, comment) |
-// D(name, type, default_value, comment) |
// R(name, product_value, type, default_value, comment) |
+// D(name, type, default_value, comment) |
// C(name, precompiled_value, product_value, type, default_value, comment) |
#define FLAG_LIST(P, R, D, C) \ |
P(always_megamorphic_calls, bool, false, \ |
"Instance call always as megamorphic.") \ |
-P(background_compilation, bool, true, \ |
+P(background_compilation, bool, ARCH_IS_MULTI_CORE, \ |
"Run optimizing compilation in background") \ |
R(background_compilation_stop_alot, false, bool, false, \ |
"Stress test system: stop background compiler often.") \ |
@@ -39,6 +47,8 @@ C(collect_code, false, true, bool, true, \ |
"Attempt to GC infrequently used code.") \ |
P(collect_dynamic_function_names, bool, true, \ |
"Collects all dynamic function names to identify unique targets") \ |
+R(concurrent_sweep, ARCH_IS_MULTI_CORE, bool, ARCH_IS_MULTI_CORE, \ |
+ "Concurrent sweep for old generation.") \ |
R(dedup_instructions, true, bool, false, \ |
"Canonicalize instructions when precompiling.") \ |
C(deoptimize_alot, false, false, bool, false, \ |
@@ -86,6 +96,11 @@ P(link_natives_lazily, bool, false, \ |
"Link native calls lazily") \ |
C(load_deferred_eagerly, true, true, bool, false, \ |
"Load deferred libraries eagerly.") \ |
+R(log_marker_tasks, false, bool, false, \ |
+ "Log debugging information for old gen GC marking tasks.") \ |
+R(marker_tasks, ARCH_IS_MULTI_CORE ? 2 : 0, int, ARCH_IS_MULTI_CORE ? 2 : 0, \ |
+ "The number of tasks to spawn during old gen GC marking (0 means " \ |
+ "perform all marking on main thread).") \ |
P(max_polymorphic_checks, int, 4, \ |
"Maximum number of polymorphic check, otherwise it is megamorphic.") \ |
P(max_equality_polymorphic_checks, int, 32, \ |