Author: olehougaard
Date: Tue Feb 10 23:38:31 2009
New Revision: 1247
Modified:
branches/bleeding_edge/src/log.cc
branches/bleeding_edge/src/log.h
Log:
Fixing a few bugs to make the --log-state-change option work.
Review URL: http://codereview.chromium.org/20220
Modified: branches/bleeding_edge/src/log.cc
==============================================================================
--- branches/bleeding_edge/src/log.cc (original)
+++ branches/bleeding_edge/src/log.cc Tue Feb 10 23:38:31 2009
@@ -226,7 +226,7 @@
// Register to get ticks.
Logger::ticker_->SetProfiler(this);
- LOG(StringEvent("profiler", "begin"));
+ LOG(UncheckedStringEvent("profiler", "begin"));
}
@@ -245,7 +245,7 @@
Insert(&sample);
Join();
- LOG(StringEvent("profiler", "end"));
+ LOG(UncheckedStringEvent("profiler", "end"));
}
@@ -282,11 +282,18 @@
void Logger::StringEvent(const char* name, const char* value) {
#ifdef ENABLE_LOGGING_AND_PROFILING
- if (logfile_ == NULL || !FLAG_log) return;
+ if (FLAG_log) UncheckedStringEvent(name, value);
+#endif
+}
+
+
+#ifdef ENABLE_LOGGING_AND_PROFILING
+void Logger::UncheckedStringEvent(const char* name, const char* value) {
+ if (logfile_ == NULL) return;
ScopedLock sl(mutex_);
fprintf(logfile_, "%s,\"%s\"\n", name, value);
-#endif
}
+#endif
void Logger::IntEvent(const char* name, int value) {
@@ -808,7 +815,7 @@
bool open_log_file = FLAG_log || FLAG_log_api || FLAG_log_code
|| FLAG_log_gc || FLAG_log_handles || FLAG_log_suspect
- || FLAG_log_regexp;
+ || FLAG_log_regexp || FLAG_log_state_changes;
// If we're logging anything, we need to open the log file.
if (open_log_file) {
@@ -931,6 +938,8 @@
#ifdef ENABLE_LOGGING_AND_PROFILING
static const char* StateToString(StateTag state) {
switch (state) {
+ case JS:
+ return "JS";
case GC:
return "GC";
case COMPILER:
@@ -949,9 +958,9 @@
Logger::current_state_ = this;
if (FLAG_log_state_changes) {
- LOG(StringEvent("Entering", StateToString(state_)));
+ LOG(UncheckedStringEvent("Entering", StateToString(state_)));
if (previous_) {
- LOG(StringEvent("From", StateToString(previous_->state_)));
+ LOG(UncheckedStringEvent("From", StateToString(previous_->state_)));
}
}
}
@@ -961,9 +970,9 @@
Logger::current_state_ = previous_;
if (FLAG_log_state_changes) {
- LOG(StringEvent("Leaving", StateToString(state_)));
+ LOG(UncheckedStringEvent("Leaving", StateToString(state_)));
if (previous_) {
- LOG(StringEvent("To", StateToString(previous_->state_)));
+ LOG(UncheckedStringEvent("To", StateToString(previous_->state_)));
}
}
}
Modified: branches/bleeding_edge/src/log.h
==============================================================================
--- branches/bleeding_edge/src/log.h (original)
+++ branches/bleeding_edge/src/log.h Tue Feb 10 23:38:31 2009
@@ -224,6 +224,9 @@
static void ApiEvent(const char* name, ...);
+ // Logs a StringEvent regardless of whether FLAG_log is true.
+ static void UncheckedStringEvent(const char* name, const char* value);
+
// When logging is active, logfile_ refers the file
// events are written to.
static FILE* logfile_;
--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---