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

Unified Diff: runtime/vm/code_generator.cc

Issue 10542079: Implement Smi binops ia32 (new compiler). (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 6 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 | « no previous file | runtime/vm/flow_graph_compiler_x64.cc » ('j') | runtime/vm/intermediate_language_x64.cc » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/code_generator.cc
===================================================================
--- runtime/vm/code_generator.cc (revision 8442)
+++ runtime/vm/code_generator.cc (working copy)
@@ -1393,7 +1393,49 @@
}
}
Vyacheslav Egorov (Google) 2012/06/08 16:43:25 one more empty line
srdjan 2012/06/08 16:50:33 Done.
+static const char* DeoptReasonToText(intptr_t deopt_id) {
+ switch (deopt_id) {
+ case kDeoptUnknown: return "kDeoptUnknown";
Vyacheslav Egorov (Google) 2012/06/08 16:43:25 if deopt reasons were declared via macro-list like
srdjan 2012/06/08 16:50:33 Will do it in a next CL.
+ case kDeoptIncrLocal: return "kDeoptIncrLocal";
+ case kDeoptIncrInstance: return "kDeoptIncrInstance";
+ case kDeoptIncrInstanceOneClass: return "kDeoptIncrInstanceOneClass";
+ case kDeoptInstanceGetterSameTarget:
+ return "kDeoptInstanceGetterSameTarget";
+ case kDeoptInstanceGetter: return "kDeoptInstanceGetter";
+ case kDeoptStoreIndexed: return "kDeoptStoreIndexed";
+ case kDeoptCheckedInstanceCallSmiOnly:
+ return "kDeoptCheckedInstanceCallSmiOnly";
+ case kDeoptCheckedInstanceCallSmiFail:
+ return "kDeoptCheckedInstanceCallSmiFail";
+ case kDeoptCheckedInstanceCallCheckFail:
+ return "kDeoptCheckedInstanceCallCheckFail";
+ case kDeoptIntegerToDouble: return "kDeoptIntegerToDouble";
+ case kDeoptDoubleToDouble: return "kDeoptDoubleToDouble";
+ case kDeoptSmiBinaryOp: return "kDeoptSmiBinaryOp";
+ case kDeoptMintBinaryOp: return "kDeoptMintBinaryOp";
+ case kDeoptDoubleBinaryOp: return "kDeoptDoubleBinaryOp";
+ case kDeoptInstanceSetterSameTarget:
+ return "kDeoptInstanceSetterSameTarget";
+ case kDeoptInstanceSetter: return "kDeoptInstanceSetter";
+ case kDeoptSmiEquality: return "kDeoptSmiEquality";
+ case kDeoptSmiCompareSmis: return "kDeoptSmiCompareSmis";
+ case kDeoptSmiCompareAny: return "kDeoptSmiCompareAny";
+ case kDeoptEqualityNoFeedback: return "kDeoptEqualityNoFeedback";
+ case kDeoptEqualityClassCheck: return "kDeoptEqualityClassCheck";
+ case kDeoptDoubleComparison: return "kDeoptDoubleComparison";
+ case kDeoptLoadIndexedFixedArray: return "kDeoptLoadIndexedFixedArray";
+ case kDeoptLoadIndexedGrowableArray:
+ return "kDeoptLoadIndexedGrowableArray";
+ case kDeoptNoTypeFeedback: return "kDeoptNoTypeFeedback";
+ case kDeoptSAR: return "kDeoptSAR";
+ case kDeoptUnaryOp: return "kDeoptUnaryOp";
+ default:
+ UNREACHABLE();
+ return "";
+ }
+}
+
// The top Dart frame belongs to the optimized method that needs to be
// deoptimized. The pc of the Dart frame points to the deoptimization point.
// Find the node id of the deoptimization point and find the continuation
@@ -1430,9 +1472,10 @@
unoptimized_code.GetDeoptPcAtNodeId(deopt_node_id);
ASSERT(continue_at_pc != 0);
if (FLAG_trace_deopt) {
- OS::Print("Deoptimizing (reason %d) at pc 0x%x id %d '%s' "
+ OS::Print("Deoptimizing (reason %d '%s') at pc 0x%x id %d '%s' "
"-> continue at 0x%x \n",
deoptimization_reason_id.Value(),
+ DeoptReasonToText(deoptimization_reason_id.Value()),
caller_frame->pc(),
deopt_node_id,
function.ToFullyQualifiedCString(),
« no previous file with comments | « no previous file | runtime/vm/flow_graph_compiler_x64.cc » ('j') | runtime/vm/intermediate_language_x64.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698