| Index: runtime/vm/code_generator.cc
|
| ===================================================================
|
| --- runtime/vm/code_generator.cc (revision 16998)
|
| +++ runtime/vm/code_generator.cc (working copy)
|
| @@ -1299,26 +1299,6 @@
|
| }
|
|
|
|
|
| -static void PrintCaller(const char* msg) {
|
| - DartFrameIterator iterator;
|
| - StackFrame* top_frame = iterator.NextFrame();
|
| - ASSERT(top_frame != NULL);
|
| - const Function& top_function = Function::Handle(
|
| - top_frame->LookupDartFunction());
|
| - OS::PrintErr("Failed: '%s' %s @ %#"Px"\n",
|
| - msg, top_function.ToFullyQualifiedCString(), top_frame->pc());
|
| - StackFrame* caller_frame = iterator.NextFrame();
|
| - if (caller_frame != NULL) {
|
| - const Function& caller_function = Function::Handle(
|
| - caller_frame->LookupDartFunction());
|
| - const Code& code = Code::Handle(caller_frame->LookupDartCode());
|
| - OS::PrintErr(" -> caller: %s (%s)\n",
|
| - caller_function.ToFullyQualifiedCString(),
|
| - code.is_optimized() ? "optimized" : "unoptimized");
|
| - }
|
| -}
|
| -
|
| -
|
| DEFINE_RUNTIME_ENTRY(TraceICCall, 2) {
|
| ASSERT(arguments.ArgCount() ==
|
| kTraceICCallRuntimeEntry.argument_count());
|
| @@ -1356,7 +1336,8 @@
|
| if (function.deoptimization_counter() >=
|
| FLAG_deoptimization_counter_threshold) {
|
| if (FLAG_trace_failed_optimization_attempts) {
|
| - PrintCaller("Too Many Deoptimizations");
|
| + OS::PrintErr("Too Many Deoptimizations: %s\n",
|
| + function.ToFullyQualifiedCString());
|
| }
|
| // TODO(srdjan): Investigate excessive deoptimization.
|
| function.set_usage_counter(kLowInvocationCount);
|
|
|