diff options
Diffstat (limited to 'deps/v8/src/log.cc')
-rw-r--r-- | deps/v8/src/log.cc | 36 |
1 files changed, 22 insertions, 14 deletions
diff --git a/deps/v8/src/log.cc b/deps/v8/src/log.cc index 8f47e81f0e..044250f119 100644 --- a/deps/v8/src/log.cc +++ b/deps/v8/src/log.cc @@ -288,6 +288,12 @@ void PerfBasicLogger::LogRecordedBuffer(Code* code, int length) { DCHECK(code->instruction_start() == code->address() + Code::kHeaderSize); + if (FLAG_perf_basic_prof_only_functions && + (code->kind() != Code::FUNCTION && + code->kind() != Code::OPTIMIZED_FUNCTION)) { + return; + } + base::OS::FPrint(perf_output_handle_, "%llx %x %.*s\n", reinterpret_cast<uint64_t>(code->instruction_start()), code->instruction_size(), length, name); @@ -1016,10 +1022,10 @@ void Logger::ApiNamedPropertyAccess(const char* tag, DCHECK(name->IsName()); if (!log_->IsEnabled() || !FLAG_log_api) return; String* class_name_obj = holder->class_name(); - SmartArrayPointer<char> class_name = + base::SmartArrayPointer<char> class_name = class_name_obj->ToCString(DISALLOW_NULLS, ROBUST_STRING_TRAVERSAL); if (name->IsString()) { - SmartArrayPointer<char> property_name = + base::SmartArrayPointer<char> property_name = String::cast(name)->ToCString(DISALLOW_NULLS, ROBUST_STRING_TRAVERSAL); ApiEvent("api,%s,\"%s\",\"%s\"", tag, class_name.get(), property_name.get()); @@ -1029,8 +1035,9 @@ void Logger::ApiNamedPropertyAccess(const char* tag, if (symbol->name()->IsUndefined()) { ApiEvent("api,%s,\"%s\",symbol(hash %x)", tag, class_name.get(), hash); } else { - SmartArrayPointer<char> str = String::cast(symbol->name())->ToCString( - DISALLOW_NULLS, ROBUST_STRING_TRAVERSAL); + base::SmartArrayPointer<char> str = + String::cast(symbol->name()) + ->ToCString(DISALLOW_NULLS, ROBUST_STRING_TRAVERSAL); ApiEvent("api,%s,\"%s\",symbol(\"%s\" hash %x)", tag, class_name.get(), str.get(), hash); } @@ -1042,7 +1049,7 @@ void Logger::ApiIndexedPropertyAccess(const char* tag, uint32_t index) { if (!log_->IsEnabled() || !FLAG_log_api) return; String* class_name_obj = holder->class_name(); - SmartArrayPointer<char> class_name = + base::SmartArrayPointer<char> class_name = class_name_obj->ToCString(DISALLOW_NULLS, ROBUST_STRING_TRAVERSAL); ApiEvent("api,%s,\"%s\",%u", tag, class_name.get(), index); } @@ -1051,7 +1058,7 @@ void Logger::ApiIndexedPropertyAccess(const char* tag, void Logger::ApiObjectAccess(const char* tag, JSObject* object) { if (!log_->IsEnabled() || !FLAG_log_api) return; String* class_name_obj = object->class_name(); - SmartArrayPointer<char> class_name = + base::SmartArrayPointer<char> class_name = class_name_obj->ToCString(DISALLOW_NULLS, ROBUST_STRING_TRAVERSAL); ApiEvent("api,%s,\"%s\"", tag, class_name.get()); } @@ -1089,7 +1096,7 @@ void Logger::CallbackEventInternal(const char* prefix, Name* name, kLogEventsNames[CALLBACK_TAG]); msg.AppendAddress(entry_point); if (name->IsString()) { - SmartArrayPointer<char> str = + base::SmartArrayPointer<char> str = String::cast(name)->ToCString(DISALLOW_NULLS, ROBUST_STRING_TRAVERSAL); msg.Append(",1,\"%s%s\"", prefix, str.get()); } else { @@ -1097,8 +1104,9 @@ void Logger::CallbackEventInternal(const char* prefix, Name* name, if (symbol->name()->IsUndefined()) { msg.Append(",1,symbol(hash %x)", prefix, symbol->Hash()); } else { - SmartArrayPointer<char> str = String::cast(symbol->name())->ToCString( - DISALLOW_NULLS, ROBUST_STRING_TRAVERSAL); + base::SmartArrayPointer<char> str = + String::cast(symbol->name()) + ->ToCString(DISALLOW_NULLS, ROBUST_STRING_TRAVERSAL); msg.Append(",1,symbol(\"%s\" hash %x)", prefix, str.get(), symbol->Hash()); } @@ -1192,7 +1200,7 @@ void Logger::CodeCreateEvent(LogEventsAndTags tag, Log::MessageBuilder msg(log_); AppendCodeCreateHeader(&msg, tag, code); if (name->IsString()) { - SmartArrayPointer<char> str = + base::SmartArrayPointer<char> str = String::cast(name)->ToCString(DISALLOW_NULLS, ROBUST_STRING_TRAVERSAL); msg.Append("\"%s\"", str.get()); } else { @@ -1222,12 +1230,12 @@ void Logger::CodeCreateEvent(LogEventsAndTags tag, if (!FLAG_log_code || !log_->IsEnabled()) return; Log::MessageBuilder msg(log_); AppendCodeCreateHeader(&msg, tag, code); - SmartArrayPointer<char> name = + base::SmartArrayPointer<char> name = shared->DebugName()->ToCString(DISALLOW_NULLS, ROBUST_STRING_TRAVERSAL); msg.Append("\"%s ", name.get()); if (source->IsString()) { - SmartArrayPointer<char> sourcestr = - String::cast(source)->ToCString(DISALLOW_NULLS, ROBUST_STRING_TRAVERSAL); + base::SmartArrayPointer<char> sourcestr = String::cast(source)->ToCString( + DISALLOW_NULLS, ROBUST_STRING_TRAVERSAL); msg.Append("%s", sourcestr.get()); } else { msg.AppendSymbolName(Symbol::cast(source)); @@ -1265,7 +1273,7 @@ void Logger::CodeDisableOptEvent(Code* code, if (!FLAG_log_code || !log_->IsEnabled()) return; Log::MessageBuilder msg(log_); msg.Append("%s,", kLogEventsNames[CODE_DISABLE_OPT_EVENT]); - SmartArrayPointer<char> name = + base::SmartArrayPointer<char> name = shared->DebugName()->ToCString(DISALLOW_NULLS, ROBUST_STRING_TRAVERSAL); msg.Append("\"%s\",", name.get()); msg.Append("\"%s\"", GetBailoutReason(shared->disable_optimization_reason())); |