From ea97288e64be520732b354781fdea0676573c05d Mon Sep 17 00:00:00 2001 From: "loislo@chromium.org" Date: Thu, 18 Jul 2013 17:19:31 +0000 Subject: [PATCH] Logger: remove dependency between Logger and LogMessageBuilder. LogMessageBuilder is a helper class for Log. So I made it a nested class and removed the dependency from Logger. BUG=none TEST=no changes in the logic R=yangguo@chromium.org, yurys@chromium.org Review URL: https://codereview.chromium.org/19768003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15760 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/log-utils.cc | 34 +++++++++++------ src/log-utils.h | 85 +++++++++++++++++++++--------------------- src/log.cc | 99 ++++++++++++++++++++++--------------------------- src/log.h | 20 +++------- test/cctest/test-log.cc | 1 + 5 files changed, 117 insertions(+), 122 deletions(-) diff --git a/src/log-utils.cc b/src/log-utils.cc index a6fa6be..d8d8f59 100644 --- a/src/log-utils.cc +++ b/src/log-utils.cc @@ -125,15 +125,15 @@ FILE* Log::Close() { } -LogMessageBuilder::LogMessageBuilder(Logger* logger) - : log_(logger->log_), +Log::MessageBuilder::MessageBuilder(Log* log) + : log_(log), sl(log_->mutex_), pos_(0) { ASSERT(log_->message_buffer_ != NULL); } -void LogMessageBuilder::Append(const char* format, ...) { +void Log::MessageBuilder::Append(const char* format, ...) { Vector buf(log_->message_buffer_ + pos_, Log::kMessageBufferSize - pos_); va_list args; @@ -144,7 +144,7 @@ void LogMessageBuilder::Append(const char* format, ...) { } -void LogMessageBuilder::AppendVA(const char* format, va_list args) { +void Log::MessageBuilder::AppendVA(const char* format, va_list args) { Vector buf(log_->message_buffer_ + pos_, Log::kMessageBufferSize - pos_); int result = v8::internal::OS::VSNPrintF(buf, format, args); @@ -159,7 +159,7 @@ void LogMessageBuilder::AppendVA(const char* format, va_list args) { } -void LogMessageBuilder::Append(const char c) { +void Log::MessageBuilder::Append(const char c) { if (pos_ < Log::kMessageBufferSize) { log_->message_buffer_[pos_++] = c; } @@ -167,7 +167,7 @@ void LogMessageBuilder::Append(const char c) { } -void LogMessageBuilder::AppendDoubleQuotedString(const char* string) { +void Log::MessageBuilder::AppendDoubleQuotedString(const char* string) { Append('"'); for (const char* p = string; *p != '\0'; p++) { if (*p == '"') { @@ -179,7 +179,7 @@ void LogMessageBuilder::AppendDoubleQuotedString(const char* string) { } -void LogMessageBuilder::Append(String* str) { +void Log::MessageBuilder::Append(String* str) { DisallowHeapAllocation no_gc; // Ensure string stay valid. int length = str->length(); for (int i = 0; i < length; i++) { @@ -188,12 +188,24 @@ void LogMessageBuilder::Append(String* str) { } -void LogMessageBuilder::AppendAddress(Address addr) { +void Log::MessageBuilder::AppendAddress(Address addr) { Append("0x%" V8PRIxPTR, addr); } -void LogMessageBuilder::AppendDetailed(String* str, bool show_impl_info) { +void Log::MessageBuilder::AppendSymbolName(Symbol* symbol) { + ASSERT(symbol); + Append("symbol("); + if (!symbol->name()->IsUndefined()) { + Append("\""); + AppendDetailed(String::cast(symbol->name()), false); + Append("\" "); + } + Append("hash %x)", symbol->Hash()); +} + + +void Log::MessageBuilder::AppendDetailed(String* str, bool show_impl_info) { if (str == NULL) return; DisallowHeapAllocation no_gc; // Ensure string stay valid. int len = str->length(); @@ -226,7 +238,7 @@ void LogMessageBuilder::AppendDetailed(String* str, bool show_impl_info) { } -void LogMessageBuilder::AppendStringPart(const char* str, int len) { +void Log::MessageBuilder::AppendStringPart(const char* str, int len) { if (pos_ + len > Log::kMessageBufferSize) { len = Log::kMessageBufferSize - pos_; ASSERT(len >= 0); @@ -240,7 +252,7 @@ void LogMessageBuilder::AppendStringPart(const char* str, int len) { } -void LogMessageBuilder::WriteToLogFile() { +void Log::MessageBuilder::WriteToLogFile() { ASSERT(pos_ <= Log::kMessageBufferSize); const int written = log_->WriteToFile(log_->message_buffer_, pos_); if (written != pos_) { diff --git a/src/log-utils.h b/src/log-utils.h index c0b863f..861a826 100644 --- a/src/log-utils.h +++ b/src/log-utils.h @@ -68,6 +68,49 @@ class Log { static const char* const kLogToTemporaryFile; static const char* const kLogToConsole; + // Utility class for formatting log messages. It fills the message into the + // static buffer in Log. + class MessageBuilder BASE_EMBEDDED { + public: + // Create a message builder starting from position 0. + // This acquires the mutex in the log as well. + explicit MessageBuilder(Log* log); + ~MessageBuilder() { } + + // Append string data to the log message. + void Append(const char* format, ...); + + // Append string data to the log message. + void AppendVA(const char* format, va_list args); + + // Append a character to the log message. + void Append(const char c); + + // Append double quoted string to the log message. + void AppendDoubleQuotedString(const char* string); + + // Append a heap string. + void Append(String* str); + + // Appends an address. + void AppendAddress(Address addr); + + void AppendSymbolName(Symbol* symbol); + + void AppendDetailed(String* str, bool show_impl_info); + + // Append a portion of a string. + void AppendStringPart(const char* str, int len); + + // Write the log message to the log file currently opened. + void WriteToLogFile(); + + private: + Log* log_; + ScopedLock sl; + int pos_; + }; + private: explicit Log(Logger* logger); @@ -108,51 +151,9 @@ class Log { Logger* logger_; friend class Logger; - friend class LogMessageBuilder; }; -// Utility class for formatting log messages. It fills the message into the -// static buffer in Log. -class LogMessageBuilder BASE_EMBEDDED { - public: - // Create a message builder starting from position 0. This acquires the mutex - // in the log as well. - explicit LogMessageBuilder(Logger* logger); - ~LogMessageBuilder() { } - - // Append string data to the log message. - void Append(const char* format, ...); - - // Append string data to the log message. - void AppendVA(const char* format, va_list args); - - // Append a character to the log message. - void Append(const char c); - - // Append double quoted string to the log message. - void AppendDoubleQuotedString(const char* string); - - // Append a heap string. - void Append(String* str); - - // Appends an address. - void AppendAddress(Address addr); - - void AppendDetailed(String* str, bool show_impl_info); - - // Append a portion of a string. - void AppendStringPart(const char* str, int len); - - // Write the log message to the log file currently opened. - void WriteToLogFile(); - - private: - Log* log_; - ScopedLock sl; - int pos_; -}; - } } // namespace v8::internal #endif // V8_LOG_UTILS_H_ diff --git a/src/log.cc b/src/log.cc index 9f2d983..afd8f7d 100644 --- a/src/log.cc +++ b/src/log.cc @@ -35,6 +35,7 @@ #include "deoptimizer.h" #include "global-handles.h" #include "log.h" +#include "log-utils.h" #include "macro-assembler.h" #include "platform.h" #include "runtime-profiler.h" @@ -589,7 +590,7 @@ static const char* const kLogEventsNames[Logger::NUMBER_OF_LOG_EVENTS] = { void Logger::ProfilerBeginEvent() { if (!log_->IsEnabled()) return; - LogMessageBuilder msg(this); + Log::MessageBuilder msg(log_); msg.Append("profiler,\"begin\",%d\n", kSamplingIntervalMs); msg.WriteToLogFile(); } @@ -602,7 +603,7 @@ void Logger::StringEvent(const char* name, const char* value) { void Logger::UncheckedStringEvent(const char* name, const char* value) { if (!log_->IsEnabled()) return; - LogMessageBuilder msg(this); + Log::MessageBuilder msg(log_); msg.Append("%s,\"%s\"\n", name, value); msg.WriteToLogFile(); } @@ -620,7 +621,7 @@ void Logger::IntPtrTEvent(const char* name, intptr_t value) { void Logger::UncheckedIntEvent(const char* name, int value) { if (!log_->IsEnabled()) return; - LogMessageBuilder msg(this); + Log::MessageBuilder msg(log_); msg.Append("%s,%d\n", name, value); msg.WriteToLogFile(); } @@ -628,7 +629,7 @@ void Logger::UncheckedIntEvent(const char* name, int value) { void Logger::UncheckedIntPtrTEvent(const char* name, intptr_t value) { if (!log_->IsEnabled()) return; - LogMessageBuilder msg(this); + Log::MessageBuilder msg(log_); msg.Append("%s,%" V8_PTR_PREFIX "d\n", name, value); msg.WriteToLogFile(); } @@ -636,7 +637,7 @@ void Logger::UncheckedIntPtrTEvent(const char* name, intptr_t value) { void Logger::HandleEvent(const char* name, Object** location) { if (!log_->IsEnabled() || !FLAG_log_handles) return; - LogMessageBuilder msg(this); + Log::MessageBuilder msg(log_); msg.Append("%s,0x%" V8PRIxPTR "\n", name, location); msg.WriteToLogFile(); } @@ -647,7 +648,7 @@ void Logger::HandleEvent(const char* name, Object** location) { // FLAG_log_api is true. void Logger::ApiEvent(const char* format, ...) { ASSERT(log_->IsEnabled() && FLAG_log_api); - LogMessageBuilder msg(this); + Log::MessageBuilder msg(log_); va_list ap; va_start(ap, format); msg.AppendVA(format, ap); @@ -686,7 +687,7 @@ void Logger::SharedLibraryEvent(const char* library_path, uintptr_t start, uintptr_t end) { if (!log_->IsEnabled() || !FLAG_prof) return; - LogMessageBuilder msg(this); + Log::MessageBuilder msg(log_); msg.Append("shared-library,\"%s\",0x%08" V8PRIxPTR ",0x%08" V8PRIxPTR "\n", library_path, start, @@ -699,7 +700,7 @@ void Logger::SharedLibraryEvent(const wchar_t* library_path, uintptr_t start, uintptr_t end) { if (!log_->IsEnabled() || !FLAG_prof) return; - LogMessageBuilder msg(this); + Log::MessageBuilder msg(log_); msg.Append("shared-library,\"%ls\",0x%08" V8PRIxPTR ",0x%08" V8PRIxPTR "\n", library_path, start, @@ -711,7 +712,7 @@ void Logger::SharedLibraryEvent(const wchar_t* library_path, void Logger::CodeDeoptEvent(Code* code) { if (!log_->IsEnabled()) return; ASSERT(FLAG_log_internal_timer_events); - LogMessageBuilder msg(this); + Log::MessageBuilder msg(log_); int since_epoch = static_cast(OS::Ticks() - epoch_); msg.Append("code-deopt,%ld,%d\n", since_epoch, code->CodeSize()); msg.WriteToLogFile(); @@ -721,7 +722,7 @@ void Logger::CodeDeoptEvent(Code* code) { void Logger::TimerEvent(StartEnd se, const char* name) { if (!log_->IsEnabled()) return; ASSERT(FLAG_log_internal_timer_events); - LogMessageBuilder msg(this); + Log::MessageBuilder msg(log_); int since_epoch = static_cast(OS::Ticks() - epoch_); const char* format = (se == START) ? "timer-event-start,\"%s\",%ld\n" : "timer-event-end,\"%s\",%ld\n"; @@ -762,7 +763,7 @@ const char* Logger::TimerEventScope::v8_external = "V8.External"; void Logger::LogRegExpSource(Handle regexp) { // Prints "/" + re.source + "/" + // (re.global?"g":"") + (re.ignorecase?"i":"") + (re.multiline?"m":"") - LogMessageBuilder msg(this); + Log::MessageBuilder msg(log_); Handle source = GetProperty(regexp, "source"); if (!source->IsString()) { @@ -803,7 +804,7 @@ void Logger::LogRegExpSource(Handle regexp) { void Logger::RegExpCompileEvent(Handle regexp, bool in_cache) { if (!log_->IsEnabled() || !FLAG_log_regexp) return; - LogMessageBuilder msg(this); + Log::MessageBuilder msg(log_); msg.Append("regexp-compile,"); LogRegExpSource(regexp); msg.Append(in_cache ? ",hit\n" : ",miss\n"); @@ -815,7 +816,7 @@ void Logger::LogRuntime(Vector format, JSArray* args) { if (!log_->IsEnabled() || !FLAG_log_runtime) return; HandleScope scope(isolate_); - LogMessageBuilder msg(this); + Log::MessageBuilder msg(log_); for (int i = 0; i < format.length(); i++) { char c = format[i]; if (c == '%' && i <= format.length() - 2) { @@ -916,7 +917,7 @@ void Logger::ApiEntryCall(const char* name) { void Logger::NewEvent(const char* name, void* object, size_t size) { if (!log_->IsEnabled() || !FLAG_log) return; - LogMessageBuilder msg(this); + Log::MessageBuilder msg(log_); msg.Append("new,%s,0x%" V8PRIxPTR ",%u\n", name, object, static_cast(size)); msg.WriteToLogFile(); @@ -925,7 +926,7 @@ void Logger::NewEvent(const char* name, void* object, size_t size) { void Logger::DeleteEvent(const char* name, void* object) { if (!log_->IsEnabled() || !FLAG_log) return; - LogMessageBuilder msg(this); + Log::MessageBuilder msg(log_); msg.Append("delete,%s,0x%" V8PRIxPTR "\n", name, object); msg.WriteToLogFile(); } @@ -940,10 +941,11 @@ void Logger::DeleteEventStatic(const char* name, void* object) { Isolate::Current()->logger()->DeleteEvent(name, object); } + void Logger::CallbackEventInternal(const char* prefix, Name* name, Address entry_point) { if (!log_->IsEnabled() || !FLAG_log_code) return; - LogMessageBuilder msg(this); + Log::MessageBuilder msg(log_); msg.Append("%s,%s,-2,", kLogEventsNames[CODE_CREATION_EVENT], kLogEventsNames[CALLBACK_TAG]); @@ -1023,12 +1025,12 @@ void Logger::LogRecordedBuffer(Code* code, SharedFunctionInfo* shared) { } -void Logger::AppendCodeCreateHeader(LogMessageBuilder* msg, - LogEventsAndTags tag, - Code* code) { +static void AppendCodeCreateHeader(Log::MessageBuilder* msg, + Logger::LogEventsAndTags tag, + Code* code) { ASSERT(msg); msg->Append("%s,%s,%d,", - kLogEventsNames[CODE_CREATION_EVENT], + kLogEventsNames[Logger::CODE_CREATION_EVENT], kLogEventsNames[tag], code->kind()); msg->AppendAddress(code->address()); @@ -1036,19 +1038,6 @@ void Logger::AppendCodeCreateHeader(LogMessageBuilder* msg, } -void Logger::AppendSymbolName(LogMessageBuilder* msg, - Symbol* symbol) { - ASSERT(symbol); - msg->Append("symbol("); - if (!symbol->name()->IsUndefined()) { - msg->Append("\""); - msg->AppendDetailed(String::cast(symbol->name()), false); - msg->Append("\" "); - } - msg->Append("hash %x)", symbol->Hash()); -} - - void Logger::CodeCreateEvent(LogEventsAndTags tag, Code* code, const char* comment) { @@ -1060,7 +1049,7 @@ void Logger::CodeCreateEvent(LogEventsAndTags tag, } if (!FLAG_log_code || !log_->IsEnabled()) return; - LogMessageBuilder msg(this); + Log::MessageBuilder msg(log_); AppendCodeCreateHeader(&msg, tag, code); msg.AppendDoubleQuotedString(comment); msg.Append('\n'); @@ -1079,14 +1068,14 @@ void Logger::CodeCreateEvent(LogEventsAndTags tag, } if (!FLAG_log_code || !log_->IsEnabled()) return; - LogMessageBuilder msg(this); + Log::MessageBuilder msg(log_); AppendCodeCreateHeader(&msg, tag, code); if (name->IsString()) { msg.Append('"'); msg.AppendDetailed(String::cast(name), false); msg.Append('"'); } else { - AppendSymbolName(&msg, Symbol::cast(name)); + msg.AppendSymbolName(Symbol::cast(name)); } msg.Append('\n'); msg.WriteToLogFile(); @@ -1121,14 +1110,14 @@ void Logger::CodeCreateEvent(LogEventsAndTags tag, Builtins::kLazyCompile)) return; - LogMessageBuilder msg(this); + Log::MessageBuilder msg(log_); AppendCodeCreateHeader(&msg, tag, code); if (name->IsString()) { SmartArrayPointer str = String::cast(name)->ToCString(DISALLOW_NULLS, ROBUST_STRING_TRAVERSAL); msg.Append("\"%s\"", *str); } else { - AppendSymbolName(&msg, Symbol::cast(name)); + msg.AppendSymbolName(Symbol::cast(name)); } msg.Append(','); msg.AppendAddress(shared->address()); @@ -1165,7 +1154,7 @@ void Logger::CodeCreateEvent(LogEventsAndTags tag, } if (!FLAG_log_code || !log_->IsEnabled()) return; - LogMessageBuilder msg(this); + Log::MessageBuilder msg(log_); AppendCodeCreateHeader(&msg, tag, code); SmartArrayPointer name = shared->DebugName()->ToCString(DISALLOW_NULLS, ROBUST_STRING_TRAVERSAL); @@ -1175,7 +1164,7 @@ void Logger::CodeCreateEvent(LogEventsAndTags tag, String::cast(source)->ToCString(DISALLOW_NULLS, ROBUST_STRING_TRAVERSAL); msg.Append("%s", *sourcestr); } else { - AppendSymbolName(&msg, Symbol::cast(source)); + msg.AppendSymbolName(Symbol::cast(source)); } msg.Append(":%d\",", line); msg.AppendAddress(shared->address()); @@ -1194,7 +1183,7 @@ void Logger::CodeCreateEvent(LogEventsAndTags tag, Code* code, int args_count) { } if (!FLAG_log_code || !log_->IsEnabled()) return; - LogMessageBuilder msg(this); + Log::MessageBuilder msg(log_); AppendCodeCreateHeader(&msg, tag, code); msg.Append("\"args_count: %d\"", args_count); msg.Append('\n'); @@ -1218,7 +1207,7 @@ void Logger::RegExpCodeCreateEvent(Code* code, String* source) { } if (!FLAG_log_code || !log_->IsEnabled()) return; - LogMessageBuilder msg(this); + Log::MessageBuilder msg(log_); AppendCodeCreateHeader(&msg, REG_EXP_TAG, code); msg.Append('"'); msg.AppendDetailed(source, false); @@ -1286,14 +1275,14 @@ void Logger::SnapshotPositionEvent(Address addr, int pos) { if (Serializer::enabled() && address_to_name_map_ != NULL) { const char* code_name = address_to_name_map_->Lookup(addr); if (code_name == NULL) return; // Not a code object. - LogMessageBuilder msg(this); + Log::MessageBuilder msg(log_); msg.Append("%s,%d,", kLogEventsNames[SNAPSHOT_CODE_NAME_EVENT], pos); msg.AppendDoubleQuotedString(code_name); msg.Append("\n"); msg.WriteToLogFile(); } if (!FLAG_log_snapshot_positions) return; - LogMessageBuilder msg(this); + Log::MessageBuilder msg(log_); msg.Append("%s,", kLogEventsNames[SNAPSHOT_POSITION_EVENT]); msg.AppendAddress(addr); msg.Append(",%d", pos); @@ -1311,7 +1300,7 @@ void Logger::MoveEventInternal(LogEventsAndTags event, Address from, Address to) { if (!log_->IsEnabled() || !FLAG_log_code) return; - LogMessageBuilder msg(this); + Log::MessageBuilder msg(log_); msg.Append("%s,", kLogEventsNames[event]); msg.AppendAddress(from); msg.Append(','); @@ -1323,7 +1312,7 @@ void Logger::MoveEventInternal(LogEventsAndTags event, void Logger::DeleteEventInternal(LogEventsAndTags event, Address from) { if (!log_->IsEnabled() || !FLAG_log_code) return; - LogMessageBuilder msg(this); + Log::MessageBuilder msg(log_); msg.Append("%s,", kLogEventsNames[event]); msg.AppendAddress(from); msg.Append('\n'); @@ -1333,7 +1322,7 @@ void Logger::DeleteEventInternal(LogEventsAndTags event, Address from) { void Logger::ResourceEvent(const char* name, const char* tag) { if (!log_->IsEnabled() || !FLAG_log) return; - LogMessageBuilder msg(this); + Log::MessageBuilder msg(log_); msg.Append("%s,%s,", name, tag); uint32_t sec, usec; @@ -1349,7 +1338,7 @@ void Logger::ResourceEvent(const char* name, const char* tag) { void Logger::SuspectReadEvent(Name* name, Object* obj) { if (!log_->IsEnabled() || !FLAG_log_suspect) return; - LogMessageBuilder msg(this); + Log::MessageBuilder msg(log_); String* class_name = obj->IsJSObject() ? JSObject::cast(obj)->class_name() : isolate_->heap()->empty_string(); @@ -1361,7 +1350,7 @@ void Logger::SuspectReadEvent(Name* name, Object* obj) { msg.Append(String::cast(name)); msg.Append('"'); } else { - AppendSymbolName(&msg, Symbol::cast(name)); + msg.AppendSymbolName(Symbol::cast(name)); } msg.Append('\n'); msg.WriteToLogFile(); @@ -1370,7 +1359,7 @@ void Logger::SuspectReadEvent(Name* name, Object* obj) { void Logger::HeapSampleBeginEvent(const char* space, const char* kind) { if (!log_->IsEnabled() || !FLAG_log_gc) return; - LogMessageBuilder msg(this); + Log::MessageBuilder msg(log_); // Using non-relative system time in order to be able to synchronize with // external memory profiling events (e.g. DOM memory size). msg.Append("heap-sample-begin,\"%s\",\"%s\",%.0f\n", @@ -1381,7 +1370,7 @@ void Logger::HeapSampleBeginEvent(const char* space, const char* kind) { void Logger::HeapSampleEndEvent(const char* space, const char* kind) { if (!log_->IsEnabled() || !FLAG_log_gc) return; - LogMessageBuilder msg(this); + Log::MessageBuilder msg(log_); msg.Append("heap-sample-end,\"%s\",\"%s\"\n", space, kind); msg.WriteToLogFile(); } @@ -1389,7 +1378,7 @@ void Logger::HeapSampleEndEvent(const char* space, const char* kind) { void Logger::HeapSampleItemEvent(const char* type, int number, int bytes) { if (!log_->IsEnabled() || !FLAG_log_gc) return; - LogMessageBuilder msg(this); + Log::MessageBuilder msg(log_); msg.Append("heap-sample-item,%s,%d,%d\n", type, number, bytes); msg.WriteToLogFile(); } @@ -1397,7 +1386,7 @@ void Logger::HeapSampleItemEvent(const char* type, int number, int bytes) { void Logger::DebugTag(const char* call_site_tag) { if (!log_->IsEnabled() || !FLAG_log) return; - LogMessageBuilder msg(this); + Log::MessageBuilder msg(log_); msg.Append("debug-tag,%s\n", call_site_tag); msg.WriteToLogFile(); } @@ -1410,7 +1399,7 @@ void Logger::DebugEvent(const char* event_type, Vector parameter) { s.AddCharacter(static_cast(parameter[i])); } char* parameter_string = s.Finalize(); - LogMessageBuilder msg(this); + Log::MessageBuilder msg(log_); msg.Append("debug-queue-event,%s,%15.3f,%s\n", event_type, OS::TimeCurrentMillis(), @@ -1422,7 +1411,7 @@ void Logger::DebugEvent(const char* event_type, Vector parameter) { void Logger::TickEvent(TickSample* sample, bool overflow) { if (!log_->IsEnabled() || !FLAG_prof) return; - LogMessageBuilder msg(this); + Log::MessageBuilder msg(log_); msg.Append("%s,", kLogEventsNames[TICK_EVENT]); msg.AppendAddress(sample->pc); msg.Append(",%ld", static_cast(OS::Ticks() - epoch_)); diff --git a/src/log.h b/src/log.h index 863f71d..285d873 100644 --- a/src/log.h +++ b/src/log.h @@ -31,7 +31,6 @@ #include "allocation.h" #include "objects.h" #include "platform.h" -#include "log-utils.h" namespace v8 { namespace internal { @@ -71,15 +70,15 @@ namespace internal { // tick profiler requires code events, so --prof implies --log-code. // Forward declarations. -class LogMessageBuilder; +class CompilationInfo; +class CpuProfiler; +class Isolate; +class Log; +class PositionsRecorder; class Profiler; class Semaphore; -struct TickSample; class Ticker; -class Isolate; -class PositionsRecorder; -class CpuProfiler; -class CompilationInfo; +struct TickSample; #undef LOG #define LOG(isolate, Call) \ @@ -409,12 +408,6 @@ class Logger { // Helper method. It dumps name into name_buffer_. void AppendName(Name* name); - // Appends standard code header. - void AppendCodeCreateHeader(LogMessageBuilder*, LogEventsAndTags, Code*); - - // Appends symbol for the name. - void AppendSymbolName(LogMessageBuilder*, Symbol*); - void RegisterSnapshotCodeName(Code* code, const char* name, int name_size); // Emits a profiler tick event. Used by the profiler thread. @@ -446,7 +439,6 @@ class Logger { // private members. friend class EventLog; friend class Isolate; - friend class LogMessageBuilder; friend class TimeLog; friend class Profiler; template friend class VMState; diff --git a/test/cctest/test-log.cc b/test/cctest/test-log.cc index 58657ed..81cb001 100644 --- a/test/cctest/test-log.cc +++ b/test/cctest/test-log.cc @@ -36,6 +36,7 @@ #include "v8.h" #include "log.h" +#include "log-utils.h" #include "cpu-profiler.h" #include "natives.h" #include "v8threads.h" -- 2.7.4