Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(123)

Unified Diff: src/log.cc

Issue 11552033: This patch is the propagation version of https://codereview.chromium.org/10824032 patch (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/log.cc
===================================================================
--- src/log.cc (revision 13276)
+++ src/log.cc (working copy)
@@ -469,12 +469,15 @@
void Logger::IssueCodeAddedEvent(Code* code,
+ Script* script,
const char* name,
size_t name_len) {
JitCodeEvent event;
+ memset(&event, 0, sizeof(event));
event.type = JitCodeEvent::CODE_ADDED;
event.code_start = code->instruction_start();
event.code_len = code->instruction_size();
+ event.user_data = script;
event.name.str = name;
event.name.len = name_len;
@@ -513,7 +516,44 @@
code_event_handler_(&event);
}
+void Logger::IssueAddCodeLinePosInfoEvent(JITCodeLineInfo* line_info,
+ int pc_offset,
+ int position,
+ bool is_statement) {
+ JitCodeEvent event;
+ event.type = JitCodeEvent::CODE_ADD_LINE_POS_INFO;
+ event.user_data = line_info;
+ event.line_info.offset = pc_offset;
+ event.line_info.pos = position;
+ event.line_info.is_statement = is_statement;
+
+ code_event_handler_(&event);
+}
+
+void Logger::IssueStartCodePosInfoEvent(JITCodeLineInfo* line_info) {
+ JitCodeEvent event;
+ event.type = JitCodeEvent::CODE_START_LINE_INFO_RECORDING;
+ event.user_data = line_info;
+
+ code_event_handler_(&event);
+}
+
+void Logger::IssueEndCodePosInfoEvent(Code* code, JITCodeLineInfo* line_info) {
+ JitCodeEvent event;
+ event.type = JitCodeEvent::CODE_END_LINE_INFO_RECORDING;
+
+ if (code != NULL) {
+ event.code_start = code->instruction_start();
+ } else {
+ event.code_start = 0;
+ }
+
+ event.user_data = line_info;
+
+ code_event_handler_(&event);
+}
+
#define DECLARE_EVENT(ignore1, name) name,
static const char* const kLogEventsNames[Logger::NUMBER_OF_LOG_EVENTS] = {
LOG_EVENTS_AND_TAGS_LIST(DECLARE_EVENT)
@@ -897,7 +937,7 @@
name_buffer_->AppendBytes(comment);
}
if (code_event_handler_ != NULL) {
- IssueCodeAddedEvent(code, name_buffer_->get(), name_buffer_->size());
+ IssueCodeAddedEvent(code, NULL, name_buffer_->get(), name_buffer_->size());
}
if (!log_->IsEnabled()) return;
if (FLAG_ll_prof) {
@@ -937,7 +977,7 @@
name_buffer_->AppendString(name);
}
if (code_event_handler_ != NULL) {
- IssueCodeAddedEvent(code, name_buffer_->get(), name_buffer_->size());
+ IssueCodeAddedEvent(code, NULL, name_buffer_->get(), name_buffer_->size());
}
if (!log_->IsEnabled()) return;
if (FLAG_ll_prof) {
@@ -984,7 +1024,10 @@
name_buffer_->AppendString(name);
}
if (code_event_handler_ != NULL) {
- IssueCodeAddedEvent(code, name_buffer_->get(), name_buffer_->size());
+ IssueCodeAddedEvent(code, shared->script()->IsScript() ?
+ Script::cast(shared->script()):NULL,
danno 2013/01/10 16:47:33 nit: formatting, please define the Script* before
+ name_buffer_->get(),
+ name_buffer_->size());
}
if (!log_->IsEnabled()) return;
if (FLAG_ll_prof) {
@@ -1034,7 +1077,10 @@
name_buffer_->AppendInt(line);
}
if (code_event_handler_ != NULL) {
- IssueCodeAddedEvent(code, name_buffer_->get(), name_buffer_->size());
+ IssueCodeAddedEvent(code, shared->script()->IsScript() ?
+ Script::cast(shared->script()):NULL,
danno 2013/01/10 16:47:33 same here.
+ name_buffer_->get(),
+ name_buffer_->size());
}
if (!log_->IsEnabled()) return;
if (FLAG_ll_prof) {
@@ -1075,7 +1121,7 @@
name_buffer_->AppendInt(args_count);
}
if (code_event_handler_ != NULL) {
- IssueCodeAddedEvent(code, name_buffer_->get(), name_buffer_->size());
+ IssueCodeAddedEvent(code, NULL, name_buffer_->get(), name_buffer_->size());
}
if (!log_->IsEnabled()) return;
if (FLAG_ll_prof) {
@@ -1113,7 +1159,7 @@
name_buffer_->AppendString(source);
}
if (code_event_handler_ != NULL) {
- IssueCodeAddedEvent(code, name_buffer_->get(), name_buffer_->size());
+ IssueCodeAddedEvent(code, NULL, name_buffer_->get(), name_buffer_->size());
}
if (!log_->IsEnabled()) return;
if (FLAG_ll_prof) {
@@ -1157,7 +1203,25 @@
DeleteEventInternal(CODE_DELETE_EVENT, from);
}
+void Logger::CodeLinePosInfoAddEvent(JITCodeLineInfo* line_info,
+ int pc_offset,
+ int position,
+ bool is_statement) {
+ if (code_event_handler_ != NULL)
danno 2013/01/10 16:47:33 style nit: always {} around if statements that don
+ IssueAddCodeLinePosInfoEvent(line_info, pc_offset, position, is_statement);
+}
+void Logger::CodeStartLinePosInfoRecordEvent(JITCodeLineInfo* line_info) {
+ if (code_event_handler_ != NULL)
danno 2013/01/10 16:47:33 style nit: always {} around if statements that don
+ IssueStartCodePosInfoEvent(line_info);
+}
+
+void Logger::CodeEndLinePosInfoRecordEvent(Code* code,
+ JITCodeLineInfo* line_info) {
+ if (code_event_handler_ != NULL)
danno 2013/01/10 16:47:33 style nit: always {} around if statements that don
+ IssueEndCodePosInfoEvent(code, line_info);
danno 2013/01/10 16:47:33 style nit: always {} around if statements that don
+}
+
void Logger::SnapshotPositionEvent(Address addr, int pos) {
if (!log_->IsEnabled()) return;
if (FLAG_ll_prof) LowLevelSnapshotPositionEvent(addr, pos);

Powered by Google App Engine
This is Rietveld 408576698