Chromium Code Reviews| 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); |