OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_LOG_H_ | 5 #ifndef V8_LOG_H_ |
6 #define V8_LOG_H_ | 6 #define V8_LOG_H_ |
7 | 7 |
8 #include "allocation.h" | 8 #include "allocation.h" |
9 #include "objects.h" | 9 #include "objects.h" |
10 #include "platform.h" | 10 #include "platform.h" |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 do { \ | 72 do { \ |
73 v8::internal::Logger* logger = \ | 73 v8::internal::Logger* logger = \ |
74 (isolate)->logger(); \ | 74 (isolate)->logger(); \ |
75 if (logger->is_logging_code_events()) \ | 75 if (logger->is_logging_code_events()) \ |
76 logger->Call; \ | 76 logger->Call; \ |
77 } while (false) | 77 } while (false) |
78 | 78 |
79 | 79 |
80 #define LOG_EVENTS_AND_TAGS_LIST(V) \ | 80 #define LOG_EVENTS_AND_TAGS_LIST(V) \ |
81 V(CODE_CREATION_EVENT, "code-creation") \ | 81 V(CODE_CREATION_EVENT, "code-creation") \ |
| 82 V(CODE_DEOPT_EVENT, "code-deoptimization") \ |
82 V(CODE_MOVE_EVENT, "code-move") \ | 83 V(CODE_MOVE_EVENT, "code-move") \ |
83 V(CODE_DELETE_EVENT, "code-delete") \ | 84 V(CODE_DELETE_EVENT, "code-delete") \ |
84 V(CODE_MOVING_GC, "code-moving-gc") \ | 85 V(CODE_MOVING_GC, "code-moving-gc") \ |
85 V(SHARED_FUNC_MOVE_EVENT, "sfi-move") \ | 86 V(SHARED_FUNC_MOVE_EVENT, "sfi-move") \ |
86 V(SNAPSHOT_POSITION_EVENT, "snapshot-pos") \ | 87 V(SNAPSHOT_POSITION_EVENT, "snapshot-pos") \ |
87 V(SNAPSHOT_CODE_NAME_EVENT, "snapshot-code-name") \ | 88 V(SNAPSHOT_CODE_NAME_EVENT, "snapshot-code-name") \ |
88 V(TICK_EVENT, "tick") \ | 89 V(TICK_EVENT, "tick") \ |
89 V(REPEAT_META_EVENT, "repeat") \ | 90 V(REPEAT_META_EVENT, "repeat") \ |
90 V(BUILTIN_TAG, "Builtin") \ | 91 V(BUILTIN_TAG, "Builtin") \ |
91 V(CALL_DEBUG_BREAK_TAG, "CallDebugBreak") \ | 92 V(CALL_DEBUG_BREAK_TAG, "CallDebugBreak") \ |
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
230 Code* code, | 231 Code* code, |
231 SharedFunctionInfo* shared, | 232 SharedFunctionInfo* shared, |
232 CompilationInfo* info, | 233 CompilationInfo* info, |
233 Name* name); | 234 Name* name); |
234 void CodeCreateEvent(LogEventsAndTags tag, | 235 void CodeCreateEvent(LogEventsAndTags tag, |
235 Code* code, | 236 Code* code, |
236 SharedFunctionInfo* shared, | 237 SharedFunctionInfo* shared, |
237 CompilationInfo* info, | 238 CompilationInfo* info, |
238 Name* source, int line, int column); | 239 Name* source, int line, int column); |
239 void CodeCreateEvent(LogEventsAndTags tag, Code* code, int args_count); | 240 void CodeCreateEvent(LogEventsAndTags tag, Code* code, int args_count); |
| 241 // Emits a code deoptimization event. |
| 242 void CodeDeoptEvent(Code* code, SharedFunctionInfo* shared); |
240 void CodeMovingGCEvent(); | 243 void CodeMovingGCEvent(); |
241 // Emits a code create event for a RegExp. | 244 // Emits a code create event for a RegExp. |
242 void RegExpCodeCreateEvent(Code* code, String* source); | 245 void RegExpCodeCreateEvent(Code* code, String* source); |
243 // Emits a code move event. | 246 // Emits a code move event. |
244 void CodeMoveEvent(Address from, Address to); | 247 void CodeMoveEvent(Address from, Address to); |
245 // Emits a code delete event. | 248 // Emits a code delete event. |
246 void CodeDeleteEvent(Address from); | 249 void CodeDeleteEvent(Address from); |
247 // Emits a code line info add event with Postion type. | 250 // Emits a code line info add event with Postion type. |
248 void CodeLinePosInfoAddPositionEvent(void* jit_handler_data, | 251 void CodeLinePosInfoAddPositionEvent(void* jit_handler_data, |
249 int pc_offset, | 252 int pc_offset, |
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
463 Code* code, | 466 Code* code, |
464 int args_count) = 0; | 467 int args_count) = 0; |
465 virtual void CallbackEvent(Name* name, Address entry_point) = 0; | 468 virtual void CallbackEvent(Name* name, Address entry_point) = 0; |
466 virtual void GetterCallbackEvent(Name* name, Address entry_point) = 0; | 469 virtual void GetterCallbackEvent(Name* name, Address entry_point) = 0; |
467 virtual void SetterCallbackEvent(Name* name, Address entry_point) = 0; | 470 virtual void SetterCallbackEvent(Name* name, Address entry_point) = 0; |
468 virtual void RegExpCodeCreateEvent(Code* code, String* source) = 0; | 471 virtual void RegExpCodeCreateEvent(Code* code, String* source) = 0; |
469 virtual void CodeMoveEvent(Address from, Address to) = 0; | 472 virtual void CodeMoveEvent(Address from, Address to) = 0; |
470 virtual void CodeDeleteEvent(Address from) = 0; | 473 virtual void CodeDeleteEvent(Address from) = 0; |
471 virtual void SharedFunctionInfoMoveEvent(Address from, Address to) = 0; | 474 virtual void SharedFunctionInfoMoveEvent(Address from, Address to) = 0; |
472 virtual void CodeMovingGCEvent() = 0; | 475 virtual void CodeMovingGCEvent() = 0; |
| 476 virtual void CodeDeoptEvent(Code* code, SharedFunctionInfo* shared) = 0; |
473 }; | 477 }; |
474 | 478 |
475 | 479 |
476 class CodeEventLogger : public CodeEventListener { | 480 class CodeEventLogger : public CodeEventListener { |
477 public: | 481 public: |
478 CodeEventLogger(); | 482 CodeEventLogger(); |
479 virtual ~CodeEventLogger(); | 483 virtual ~CodeEventLogger(); |
480 | 484 |
481 virtual void CodeCreateEvent(Logger::LogEventsAndTags tag, | 485 virtual void CodeCreateEvent(Logger::LogEventsAndTags tag, |
482 Code* code, | 486 Code* code, |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
515 int length) = 0; | 519 int length) = 0; |
516 | 520 |
517 NameBuffer* name_buffer_; | 521 NameBuffer* name_buffer_; |
518 }; | 522 }; |
519 | 523 |
520 | 524 |
521 } } // namespace v8::internal | 525 } } // namespace v8::internal |
522 | 526 |
523 | 527 |
524 #endif // V8_LOG_H_ | 528 #endif // V8_LOG_H_ |
OLD | NEW |