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

Unified Diff: runtime/vm/flow_graph_compiler_x64.cc

Issue 10968059: Support for unboxed 64-bit integer bitwise operations and equality on ia32. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: addressed comments, added tests and flags Created 8 years, 3 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
Index: runtime/vm/flow_graph_compiler_x64.cc
===================================================================
--- runtime/vm/flow_graph_compiler_x64.cc (revision 12897)
+++ runtime/vm/flow_graph_compiler_x64.cc (working copy)
@@ -22,8 +22,19 @@
DECLARE_FLAG(bool, print_scopes);
DECLARE_FLAG(bool, reject_named_argument_as_positional);
DECLARE_FLAG(bool, trace_functions);
+DECLARE_FLAG(bool, use_sse41);
+DEFINE_FLAG(bool, trap_on_deoptimization, false, "Trap on deoptimization.");
+// TODO(fschneider): Support unboxed mint arithmetic on x64.
+DEFINE_FLAG(bool, unbox_integers, false, "Optimize 64-bit integer arithmetic.");
srdjan 2012/09/28 16:50:26 Do you need this flag? It will not work on X64 if
Florian Schneider 2012/10/02 11:10:31 Done.
+bool FlowGraphCompiler::SupportsUnboxedMints() {
+ return FLAG_unbox_integers
+ && CPUFeatures::sse4_1_supported()
+ && FLAG_use_sse41;
+}
+
+
void CompilerDeoptInfoWithStub::GenerateCode(FlowGraphCompiler* compiler,
intptr_t stub_ix) {
// Calls do not need stubs, they share a deoptimization trampoline.
@@ -32,6 +43,7 @@
#define __ assem->
__ Comment("Deopt stub for id %"Pd"", deopt_id());
__ Bind(entry_label());
+ if (FLAG_trap_on_deoptimization) __ int3();
ASSERT(deoptimization_env() != NULL);

Powered by Google App Engine
This is Rietveld 408576698