| Index: src/log.cc
|
| ===================================================================
|
| --- src/log.cc (revision 6894)
|
| +++ src/log.cc (working copy)
|
| @@ -305,7 +305,6 @@
|
| LOGGER->ticker_->SetProfiler(this);
|
|
|
| LOGGER->ProfilerBeginEvent();
|
| - LOGGER->LogAliases();
|
| }
|
|
|
|
|
| @@ -348,7 +347,6 @@
|
| profiler_(NULL),
|
| sliding_state_window_(NULL),
|
| log_events_(NULL),
|
| - compression_helper_(NULL),
|
| logging_nesting_(0),
|
| cpu_profiler_nesting_(0),
|
| heap_profiler_nesting_(0),
|
| @@ -365,41 +363,20 @@
|
| delete log_;
|
| }
|
|
|
| -#define DECLARE_LONG_EVENT(ignore1, long_name, ignore2) long_name,
|
| -static const char* const kLongLogEventsNames[Logger::NUMBER_OF_LOG_EVENTS] = {
|
| - LOG_EVENTS_AND_TAGS_LIST(DECLARE_LONG_EVENT)
|
| +#define DECLARE_EVENT(ignore1, name) name,
|
| +static const char* const kLogEventsNames[Logger::NUMBER_OF_LOG_EVENTS] = {
|
| + LOG_EVENTS_AND_TAGS_LIST(DECLARE_EVENT)
|
| };
|
| -#undef DECLARE_LONG_EVENT
|
| +#undef DECLARE_EVENT
|
|
|
| -#define DECLARE_SHORT_EVENT(ignore1, ignore2, short_name) short_name,
|
| -static const char* const
|
| -kCompressedLogEventsNames[Logger::NUMBER_OF_LOG_EVENTS] = {
|
| - LOG_EVENTS_AND_TAGS_LIST(DECLARE_SHORT_EVENT)
|
| -};
|
| -#undef DECLARE_SHORT_EVENT
|
|
|
| -
|
| void Logger::ProfilerBeginEvent() {
|
| if (!log_->IsEnabled()) return;
|
| LogMessageBuilder msg(this);
|
| msg.Append("profiler,\"begin\",%d\n", kSamplingIntervalMs);
|
| - if (FLAG_compress_log) {
|
| - msg.Append("profiler,\"compression\",%d\n", kCompressionWindowSize);
|
| - }
|
| msg.WriteToLogFile();
|
| }
|
|
|
| -
|
| -void Logger::LogAliases() {
|
| - if (!log_->IsEnabled() || !FLAG_compress_log) return;
|
| - LogMessageBuilder msg(this);
|
| - for (int i = 0; i < NUMBER_OF_LOG_EVENTS; ++i) {
|
| - msg.Append("alias,%s,%s\n",
|
| - kCompressedLogEventsNames[i], kLongLogEventsNames[i]);
|
| - }
|
| - msg.WriteToLogFile();
|
| -}
|
| -
|
| #endif // ENABLE_LOGGING_AND_PROFILING
|
|
|
|
|
| @@ -713,54 +690,15 @@
|
| }
|
|
|
| #ifdef ENABLE_LOGGING_AND_PROFILING
|
| -
|
| -// A class that contains all common code dealing with record compression.
|
| -class CompressionHelper {
|
| - public:
|
| - explicit CompressionHelper(int window_size)
|
| - : compressor_(window_size), repeat_count_(0) { }
|
| -
|
| - // Handles storing message in compressor, retrieving the previous one and
|
| - // prefixing it with repeat count, if needed.
|
| - // Returns true if message needs to be written to log.
|
| - bool HandleMessage(LogMessageBuilder* msg) {
|
| - if (!msg->StoreInCompressor(&compressor_)) {
|
| - // Current message repeats the previous one, don't write it.
|
| - ++repeat_count_;
|
| - return false;
|
| - }
|
| - if (repeat_count_ == 0) {
|
| - return msg->RetrieveCompressedPrevious(&compressor_);
|
| - }
|
| - OS::SNPrintF(prefix_, "%s,%d,",
|
| - LOGGER->log_events_[Logger::REPEAT_META_EVENT],
|
| - repeat_count_ + 1);
|
| - repeat_count_ = 0;
|
| - return msg->RetrieveCompressedPrevious(&compressor_, prefix_.start());
|
| - }
|
| -
|
| - private:
|
| - LogRecordCompressor compressor_;
|
| - int repeat_count_;
|
| - EmbeddedVector<char, 20> prefix_;
|
| -};
|
| -
|
| -#endif // ENABLE_LOGGING_AND_PROFILING
|
| -
|
| -
|
| -#ifdef ENABLE_LOGGING_AND_PROFILING
|
| void Logger::CallbackEventInternal(const char* prefix, const char* name,
|
| Address entry_point) {
|
| if (!log_->IsEnabled() || !FLAG_log_code) return;
|
| LogMessageBuilder msg(this);
|
| msg.Append("%s,%s,",
|
| - log_events_[CODE_CREATION_EVENT], log_events_[CALLBACK_TAG]);
|
| + kLogEventsNames[CODE_CREATION_EVENT],
|
| + kLogEventsNames[CALLBACK_TAG]);
|
| msg.AppendAddress(entry_point);
|
| msg.Append(",1,\"%s%s\"", prefix, name);
|
| - if (FLAG_compress_log) {
|
| - ASSERT(compression_helper_ != NULL);
|
| - if (!compression_helper_->HandleMessage(&msg)) return;
|
| - }
|
| msg.Append('\n');
|
| msg.WriteToLogFile();
|
| }
|
| @@ -812,7 +750,9 @@
|
| #ifdef ENABLE_LOGGING_AND_PROFILING
|
| if (!log_->IsEnabled() || !FLAG_log_code) return;
|
| LogMessageBuilder msg(this);
|
| - msg.Append("%s,%s,", log_events_[CODE_CREATION_EVENT], log_events_[tag]);
|
| + msg.Append("%s,%s,",
|
| + kLogEventsNames[CODE_CREATION_EVENT],
|
| + kLogEventsNames[tag]);
|
| msg.AppendAddress(code->address());
|
| msg.Append(",%d,\"%s", code->ExecutableSize(), ComputeMarker(code));
|
| for (const char* p = comment; *p != '\0'; p++) {
|
| @@ -823,10 +763,6 @@
|
| }
|
| msg.Append('"');
|
| LowLevelCodeCreateEvent(code, &msg);
|
| - if (FLAG_compress_log) {
|
| - ASSERT(compression_helper_ != NULL);
|
| - if (!compression_helper_->HandleMessage(&msg)) return;
|
| - }
|
| msg.Append('\n');
|
| msg.WriteToLogFile();
|
| #endif
|
| @@ -839,14 +775,12 @@
|
| LogMessageBuilder msg(this);
|
| SmartPointer<char> str =
|
| name->ToCString(DISALLOW_NULLS, ROBUST_STRING_TRAVERSAL);
|
| - msg.Append("%s,%s,", log_events_[CODE_CREATION_EVENT], log_events_[tag]);
|
| + msg.Append("%s,%s,",
|
| + kLogEventsNames[CODE_CREATION_EVENT],
|
| + kLogEventsNames[tag]);
|
| msg.AppendAddress(code->address());
|
| msg.Append(",%d,\"%s%s\"", code->ExecutableSize(), ComputeMarker(code), *str);
|
| LowLevelCodeCreateEvent(code, &msg);
|
| - if (FLAG_compress_log) {
|
| - ASSERT(compression_helper_ != NULL);
|
| - if (!compression_helper_->HandleMessage(&msg)) return;
|
| - }
|
| msg.Append('\n');
|
| msg.WriteToLogFile();
|
| #endif
|
| @@ -863,7 +797,9 @@
|
| name->ToCString(DISALLOW_NULLS, ROBUST_STRING_TRAVERSAL);
|
| SmartPointer<char> sourcestr =
|
| source->ToCString(DISALLOW_NULLS, ROBUST_STRING_TRAVERSAL);
|
| - msg.Append("%s,%s,", log_events_[CODE_CREATION_EVENT], log_events_[tag]);
|
| + msg.Append("%s,%s,",
|
| + kLogEventsNames[CODE_CREATION_EVENT],
|
| + kLogEventsNames[tag]);
|
| msg.AppendAddress(code->address());
|
| msg.Append(",%d,\"%s%s %s:%d\"",
|
| code->ExecutableSize(),
|
| @@ -872,10 +808,6 @@
|
| *sourcestr,
|
| line);
|
| LowLevelCodeCreateEvent(code, &msg);
|
| - if (FLAG_compress_log) {
|
| - ASSERT(compression_helper_ != NULL);
|
| - if (!compression_helper_->HandleMessage(&msg)) return;
|
| - }
|
| msg.Append('\n');
|
| msg.WriteToLogFile();
|
| #endif
|
| @@ -886,14 +818,12 @@
|
| #ifdef ENABLE_LOGGING_AND_PROFILING
|
| if (!log_->IsEnabled() || !FLAG_log_code) return;
|
| LogMessageBuilder msg(this);
|
| - msg.Append("%s,%s,", log_events_[CODE_CREATION_EVENT], log_events_[tag]);
|
| + msg.Append("%s,%s,",
|
| + kLogEventsNames[CODE_CREATION_EVENT],
|
| + kLogEventsNames[tag]);
|
| msg.AppendAddress(code->address());
|
| msg.Append(",%d,\"args_count: %d\"", code->ExecutableSize(), args_count);
|
| LowLevelCodeCreateEvent(code, &msg);
|
| - if (FLAG_compress_log) {
|
| - ASSERT(compression_helper_ != NULL);
|
| - if (!compression_helper_->HandleMessage(&msg)) return;
|
| - }
|
| msg.Append('\n');
|
| msg.WriteToLogFile();
|
| #endif
|
| @@ -904,7 +834,7 @@
|
| #ifdef ENABLE_LOGGING_AND_PROFILING
|
| if (!log_->IsEnabled() || !FLAG_log_code || !FLAG_ll_prof) return;
|
| LogMessageBuilder msg(this);
|
| - msg.Append("%s\n", log_events_[CODE_MOVING_GC]);
|
| + msg.Append("%s\n", kLogEventsNames[CODE_MOVING_GC]);
|
| msg.WriteToLogFile();
|
| OS::SignalCodeMovingGC();
|
| #endif
|
| @@ -916,16 +846,13 @@
|
| if (!log_->IsEnabled() || !FLAG_log_code) return;
|
| LogMessageBuilder msg(this);
|
| msg.Append("%s,%s,",
|
| - log_events_[CODE_CREATION_EVENT], log_events_[REG_EXP_TAG]);
|
| + kLogEventsNames[CODE_CREATION_EVENT],
|
| + kLogEventsNames[REG_EXP_TAG]);
|
| msg.AppendAddress(code->address());
|
| msg.Append(",%d,\"", code->ExecutableSize());
|
| msg.AppendDetailed(source, false);
|
| msg.Append('\"');
|
| LowLevelCodeCreateEvent(code, &msg);
|
| - if (FLAG_compress_log) {
|
| - ASSERT(compression_helper_ != NULL);
|
| - if (!compression_helper_->HandleMessage(&msg)) return;
|
| - }
|
| msg.Append('\n');
|
| msg.WriteToLogFile();
|
| #endif
|
| @@ -950,13 +877,9 @@
|
| #ifdef ENABLE_LOGGING_AND_PROFILING
|
| if (!log_->IsEnabled() || !FLAG_log_snapshot_positions) return;
|
| LogMessageBuilder msg(this);
|
| - msg.Append("%s,", log_events_[SNAPSHOT_POSITION_EVENT]);
|
| + msg.Append("%s,", kLogEventsNames[SNAPSHOT_POSITION_EVENT]);
|
| msg.AppendAddress(addr);
|
| msg.Append(",%d", pos);
|
| - if (FLAG_compress_log) {
|
| - ASSERT(compression_helper_ != NULL);
|
| - if (!compression_helper_->HandleMessage(&msg)) return;
|
| - }
|
| msg.Append('\n');
|
| msg.WriteToLogFile();
|
| #endif
|
| @@ -970,15 +893,10 @@
|
| // why unchecked accessors are used here.
|
| if (!log_->IsEnabled() || !FLAG_log_code) return;
|
| LogMessageBuilder msg(this);
|
| - msg.Append("%s,", log_events_[FUNCTION_CREATION_EVENT]);
|
| + msg.Append("%s,", kLogEventsNames[FUNCTION_CREATION_EVENT]);
|
| msg.AppendAddress(function->address());
|
| msg.Append(',');
|
| - msg.AppendAddress(function->unchecked_code()->address(), prev_code_);
|
| - prev_code_ = function->unchecked_code()->address();
|
| - if (FLAG_compress_log) {
|
| - ASSERT(compression_helper_ != NULL);
|
| - if (!compression_helper_->HandleMessage(&msg)) return;
|
| - }
|
| + msg.AppendAddress(function->unchecked_code()->address());
|
| msg.Append('\n');
|
| msg.WriteToLogFile();
|
| #endif
|
| @@ -1015,15 +933,10 @@
|
| Address to) {
|
| if (!log_->IsEnabled() || !FLAG_log_code) return;
|
| LogMessageBuilder msg(this);
|
| - msg.Append("%s,", log_events_[event]);
|
| + msg.Append("%s,", kLogEventsNames[event]);
|
| msg.AppendAddress(from);
|
| msg.Append(',');
|
| - msg.AppendAddress(to, prev_to_);
|
| - prev_to_ = to;
|
| - if (FLAG_compress_log) {
|
| - ASSERT(compression_helper_ != NULL);
|
| - if (!compression_helper_->HandleMessage(&msg)) return;
|
| - }
|
| + msg.AppendAddress(to);
|
| msg.Append('\n');
|
| msg.WriteToLogFile();
|
| }
|
| @@ -1034,12 +947,8 @@
|
| void Logger::DeleteEventInternal(LogEventsAndTags event, Address from) {
|
| if (!log_->IsEnabled() || !FLAG_log_code) return;
|
| LogMessageBuilder msg(this);
|
| - msg.Append("%s,", log_events_[event]);
|
| + msg.Append("%s,", kLogEventsNames[event]);
|
| msg.AppendAddress(from);
|
| - if (FLAG_compress_log) {
|
| - ASSERT(compression_helper_ != NULL);
|
| - if (!compression_helper_->HandleMessage(&msg)) return;
|
| - }
|
| msg.Append('\n');
|
| msg.WriteToLogFile();
|
| }
|
| @@ -1228,28 +1137,20 @@
|
| void Logger::TickEvent(TickSample* sample, bool overflow) {
|
| if (!log_->IsEnabled() || !FLAG_prof) return;
|
| LogMessageBuilder msg(this);
|
| - msg.Append("%s,", log_events_[TICK_EVENT]);
|
| - Address prev_addr = sample->pc;
|
| - msg.AppendAddress(prev_addr);
|
| + msg.Append("%s,", kLogEventsNames[TICK_EVENT]);
|
| + msg.AppendAddress(sample->pc);
|
| msg.Append(',');
|
| - msg.AppendAddress(sample->sp, prev_sp_);
|
| - prev_sp_ = sample->sp;
|
| + msg.AppendAddress(sample->sp);
|
| msg.Append(',');
|
| - msg.AppendAddress(sample->function, prev_function_);
|
| - prev_function_ = sample->function;
|
| + msg.AppendAddress(sample->function);
|
| msg.Append(",%d", static_cast<int>(sample->state));
|
| if (overflow) {
|
| msg.Append(",overflow");
|
| }
|
| for (int i = 0; i < sample->frames_count; ++i) {
|
| msg.Append(',');
|
| - msg.AppendAddress(sample->stack[i], prev_addr);
|
| - prev_addr = sample->stack[i];
|
| + msg.AppendAddress(sample->stack[i]);
|
| }
|
| - if (FLAG_compress_log) {
|
| - ASSERT(compression_helper_ != NULL);
|
| - if (!compression_helper_->HandleMessage(&msg)) return;
|
| - }
|
| msg.Append('\n');
|
| msg.WriteToLogFile();
|
| }
|
| @@ -1619,12 +1520,6 @@
|
| sliding_state_window_ = new SlidingStateWindow();
|
| }
|
|
|
| - log_events_ = FLAG_compress_log ?
|
| - kCompressedLogEventsNames : kLongLogEventsNames;
|
| - if (FLAG_compress_log) {
|
| - compression_helper_ = new CompressionHelper(kCompressionWindowSize);
|
| - }
|
| -
|
| bool start_logging = FLAG_log || FLAG_log_runtime || FLAG_log_api
|
| || FLAG_log_code || FLAG_log_gc || FLAG_log_handles || FLAG_log_suspect
|
| || FLAG_log_regexp || FLAG_log_state_changes;
|
| @@ -1681,9 +1576,6 @@
|
| profiler_ = NULL;
|
| }
|
|
|
| - delete compression_helper_;
|
| - compression_helper_ = NULL;
|
| -
|
| delete sliding_state_window_;
|
| sliding_state_window_ = NULL;
|
|
|
|
|