Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(635)

Unified Diff: runtime/vm/flow_graph_compiler.cc

Issue 2997993002: Revert "Reapply "Eliminate dependencies on assemblers and code stubs in precompiled runtime."" (Closed)
Patch Set: Created 3 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/flow_graph_builder.cc ('k') | runtime/vm/flow_graph_compiler_arm.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/flow_graph_compiler.cc
diff --git a/runtime/vm/flow_graph_compiler.cc b/runtime/vm/flow_graph_compiler.cc
index 7c7979a20e03d683ede0a04e555135982d5099b5..7a411c9877d31782b26ca037d834528e6c8a2709 100644
--- a/runtime/vm/flow_graph_compiler.cc
+++ b/runtime/vm/flow_graph_compiler.cc
@@ -2,8 +2,6 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-#if !defined(DART_PRECOMPILED_RUNTIME)
-
#include "vm/globals.h" // Needed here to get TARGET_ARCH_XXX.
#include "vm/flow_graph_compiler.h"
@@ -54,16 +52,57 @@ DEFINE_FLAG(bool,
DECLARE_FLAG(bool, code_comments);
DECLARE_FLAG(charp, deoptimize_filter);
DECLARE_FLAG(bool, intrinsify);
+DECLARE_FLAG(bool, propagate_ic_data);
DECLARE_FLAG(int, regexp_optimization_counter_threshold);
DECLARE_FLAG(int, reoptimization_counter_threshold);
DECLARE_FLAG(int, stacktrace_every);
DECLARE_FLAG(charp, stacktrace_filter);
DECLARE_FLAG(bool, trace_compiler);
+DECLARE_FLAG(int, reload_every);
+DECLARE_FLAG(bool, unbox_numeric_fields);
+
+static void PrecompilationModeHandler(bool value) {
+ if (value) {
+#if defined(TARGET_ARCH_IA32)
+ FATAL("Precompilation not supported on IA32");
+#endif
+
+ FLAG_background_compilation = false;
+ FLAG_fields_may_be_reset = true;
+ FLAG_interpret_irregexp = true;
+ FLAG_lazy_dispatchers = false;
+ FLAG_link_natives_lazily = true;
+ FLAG_optimization_counter_threshold = -1;
+ FLAG_polymorphic_with_deopt = false;
+ FLAG_precompiled_mode = true;
+ FLAG_reorder_basic_blocks = false;
+ FLAG_use_field_guards = false;
+ FLAG_use_cha_deopt = false;
+ FLAG_unbox_numeric_fields = false;
+ FLAG_enable_mirrors = false;
+
+#if !defined(PRODUCT) && !defined(DART_PRECOMPILED_RUNTIME)
+ // Set flags affecting runtime accordingly for dart_bootstrap.
+ // These flags are constants with PRODUCT and DART_PRECOMPILED_RUNTIME.
+ FLAG_collect_code = false;
+ FLAG_deoptimize_alot = false; // Used in some tests.
+ FLAG_deoptimize_every = 0; // Used in some tests.
+ FLAG_load_deferred_eagerly = true;
+ FLAG_print_stop_message = false;
+ FLAG_use_osr = false;
+#endif
+ }
+}
+
+DEFINE_FLAG_HANDLER(PrecompilationModeHandler,
+ precompilation,
+ "Precompilation mode");
#ifdef DART_PRECOMPILED_RUNTIME
COMPILE_ASSERT(!FLAG_collect_code);
COMPILE_ASSERT(!FLAG_deoptimize_alot); // Used in some tests.
+COMPILE_ASSERT(FLAG_precompiled_runtime);
COMPILE_ASSERT(!FLAG_print_stop_message);
COMPILE_ASSERT(!FLAG_use_osr);
COMPILE_ASSERT(FLAG_deoptimize_every == 0); // Used in some tests.
@@ -1913,5 +1952,3 @@ void FlowGraphCompiler::FrameStateClear() {
#endif // defined(DEBUG) && !defined(TARGET_ARCH_DBC)
} // namespace dart
-
-#endif // !defined(DART_PRECOMPILED_RUNTIME)
« no previous file with comments | « runtime/vm/flow_graph_builder.cc ('k') | runtime/vm/flow_graph_compiler_arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698