Chromium Code Reviews| Index: src/log.cc |
| diff --git a/src/log.cc b/src/log.cc |
| index 623e08d8fae6b776c0c8dad24d294f6b18132f1f..2944763c687905e65efa3f6dc2f5863e48154018 100644 |
| --- a/src/log.cc |
| +++ b/src/log.cc |
| @@ -230,6 +230,7 @@ class PerfBasicLogger : public CodeEventLogger { |
| virtual ~PerfBasicLogger(); |
| virtual void CodeMoveEvent(Address from, Address to) { } |
| + virtual void CodeDeoptEvent(Code* code, SharedFunctionInfo* shared) { } |
| virtual void CodeDeleteEvent(Address from) { } |
| private: |
| @@ -295,6 +296,7 @@ class PerfJitLogger : public CodeEventLogger { |
| virtual ~PerfJitLogger(); |
| virtual void CodeMoveEvent(Address from, Address to) { } |
| + virtual void CodeDeoptEvent(Code* code, SharedFunctionInfo* shared) { } |
| virtual void CodeDeleteEvent(Address from) { } |
| private: |
| @@ -457,6 +459,7 @@ class LowLevelLogger : public CodeEventLogger { |
| virtual ~LowLevelLogger(); |
| virtual void CodeMoveEvent(Address from, Address to); |
| + virtual void CodeDeoptEvent(Code* code, SharedFunctionInfo* shared) { } |
| virtual void CodeDeleteEvent(Address from); |
| virtual void SnapshotPositionEvent(Address addr, int pos); |
| virtual void CodeMovingGCEvent(); |
| @@ -623,6 +626,7 @@ class JitLogger : public CodeEventLogger { |
| explicit JitLogger(JitCodeEventHandler code_event_handler); |
| virtual void CodeMoveEvent(Address from, Address to); |
| + virtual void CodeDeoptEvent(Code* code, SharedFunctionInfo* shared) { } |
| virtual void CodeDeleteEvent(Address from); |
| virtual void AddCodeLinePosInfoEvent( |
| void* jit_handler_data, |
| @@ -1446,6 +1450,23 @@ void Logger::CodeCreateEvent(LogEventsAndTags tag, |
| } |
| + |
| +void Logger::CodeDeoptEvent(Code* code, |
|
yurys
2014/05/20 07:59:02
How does it correlate to existing Logger::CodeDeop
loislo
2014/05/20 08:16:18
We need to rename LogExistingFunction into CodeOpt
|
| + SharedFunctionInfo* shared) { |
| + PROFILER_LOG(CodeDeoptEvent(code, shared)); |
| + |
| + if (!is_logging_code_events()) return; |
| + CALL_LISTENERS(CodeDeoptEvent(code, shared)); |
| + |
| + if (!FLAG_log_code || !log_->IsEnabled()) return; |
| + Log::MessageBuilder msg(log_); |
| + SmartArrayPointer<char> name = |
| + shared->DebugName()->ToCString(DISALLOW_NULLS, ROBUST_STRING_TRAVERSAL); |
| + msg.Append("\"%s\"\n", name.get()); |
| + msg.WriteToLogFile(); |
| +} |
| + |
| + |
| void Logger::CodeMovingGCEvent() { |
| PROFILER_LOG(CodeMovingGCEvent()); |