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

Unified Diff: runtime/vm/code_generator.cc

Issue 254723003: Remember all deopt reasons in ic_data, not just the last one. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 6 years, 8 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/code_generator.h ('k') | runtime/vm/code_patcher_arm64_test.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/code_generator.cc
===================================================================
--- runtime/vm/code_generator.cc (revision 35455)
+++ runtime/vm/code_generator.cc (working copy)
@@ -747,7 +747,7 @@
String::Handle(ic_data.target_name()).ToCString(),
receiver.ToCString());
}
- ic_data.set_is_closure_call(true);
+ ic_data.SetIsClosureCall();
target_function = InlineCacheMissHelper(receiver, ic_data);
}
ASSERT(!target_function.IsNull());
@@ -755,7 +755,7 @@
ic_data.AddReceiverCheck(args[0]->GetClassId(), target_function);
} else {
GrowableArray<intptr_t> class_ids(args.length());
- ASSERT(ic_data.num_args_tested() == args.length());
+ ASSERT(ic_data.NumArgsTested() == args.length());
for (intptr_t i = 0; i < args.length(); i++) {
class_ids.Add(args[i]->GetClassId());
}
@@ -908,7 +908,7 @@
name,
args_desc));
if (target_function.IsNull()) {
- ic_data.set_is_closure_call(true);
+ ic_data.SetIsClosureCall();
target_function = InlineCacheMissHelper(receiver, ic_data);
}
@@ -1187,7 +1187,7 @@
ic_data.raw(),
function.usage_counter(),
ic_data.NumberOfChecks(),
- ic_data.is_closure_call() ? "closure" : "",
+ ic_data.IsClosureCall() ? "closure" : "",
function.ToFullyQualifiedCString());
}
@@ -1269,11 +1269,11 @@
}
-const char* DeoptReasonToText(intptr_t deopt_id) {
- switch (deopt_id) {
-#define DEOPT_REASON_ID_TO_TEXT(name) case kDeopt##name: return #name;
-DEOPT_REASONS(DEOPT_REASON_ID_TO_TEXT)
-#undef DEOPT_REASON_ID_TO_TEXT
+const char* DeoptReasonToCString(ICData::ICData::DeoptReasonId deopt_reason) {
+ switch (deopt_reason) {
+#define DEOPT_REASON_TO_TEXT(name) case ICData::kDeopt##name: return #name;
+DEOPT_REASONS(DEOPT_REASON_TO_TEXT)
+#undef DEOPT_REASON_TO_TEXT
default:
UNREACHABLE();
return "";
@@ -1283,7 +1283,7 @@
void DeoptimizeAt(const Code& optimized_code, uword pc) {
ASSERT(optimized_code.is_optimized());
- intptr_t deopt_reason = kDeoptUnknown;
+ ICData::DeoptReasonId deopt_reason = ICData::kDeoptUnknown;
const DeoptInfo& deopt_info =
DeoptInfo::Handle(optimized_code.GetDeoptInfoAtPc(pc, &deopt_reason));
ASSERT(!deopt_info.IsNull());
« no previous file with comments | « runtime/vm/code_generator.h ('k') | runtime/vm/code_patcher_arm64_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698