| OLD | NEW |
| 1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 50 | 50 |
| 51 /** Returns resource name for script from where the function originates. */ | 51 /** Returns resource name for script from where the function originates. */ |
| 52 Handle<String> GetScriptResourceName() const; | 52 Handle<String> GetScriptResourceName() const; |
| 53 | 53 |
| 54 /** | 54 /** |
| 55 * Returns the number, 1-based, of the line where the function originates. | 55 * Returns the number, 1-based, of the line where the function originates. |
| 56 * kNoLineNumberInfo if no line number information is available. | 56 * kNoLineNumberInfo if no line number information is available. |
| 57 */ | 57 */ |
| 58 int GetLineNumber() const; | 58 int GetLineNumber() const; |
| 59 | 59 |
| 60 /** |
| 61 * Returns 1-based number of the column where the function originates. |
| 62 * kNoColumnNumberInfo if no column number information is available. |
| 63 */ |
| 64 int GetColumnNumber() const; |
| 65 |
| 60 /** Returns bailout reason for the function | 66 /** Returns bailout reason for the function |
| 61 * if the optimization was disabled for it. | 67 * if the optimization was disabled for it. |
| 62 */ | 68 */ |
| 63 const char* GetBailoutReason() const; | 69 const char* GetBailoutReason() const; |
| 64 | 70 |
| 65 /** | 71 /** |
| 66 * Returns the count of samples where the function was currently executing. | 72 * Returns the count of samples where the function was currently executing. |
| 67 */ | 73 */ |
| 68 unsigned GetHitCount() const; | 74 unsigned GetHitCount() const; |
| 69 | 75 |
| 70 /** Returns function entry UID. */ | 76 /** Returns function entry UID. */ |
| 71 unsigned GetCallUid() const; | 77 unsigned GetCallUid() const; |
| 72 | 78 |
| 73 /** Returns id of the node. The id is unique within the tree */ | 79 /** Returns id of the node. The id is unique within the tree */ |
| 74 unsigned GetNodeId() const; | 80 unsigned GetNodeId() const; |
| 75 | 81 |
| 76 /** Returns child nodes count of the node. */ | 82 /** Returns child nodes count of the node. */ |
| 77 int GetChildrenCount() const; | 83 int GetChildrenCount() const; |
| 78 | 84 |
| 79 /** Retrieves a child node by index. */ | 85 /** Retrieves a child node by index. */ |
| 80 const CpuProfileNode* GetChild(int index) const; | 86 const CpuProfileNode* GetChild(int index) const; |
| 81 | 87 |
| 82 static const int kNoLineNumberInfo = Message::kNoLineNumberInfo; | 88 static const int kNoLineNumberInfo = Message::kNoLineNumberInfo; |
| 89 static const int kNoColumnNumberInfo = Message::kNoColumnInfo; |
| 83 }; | 90 }; |
| 84 | 91 |
| 85 | 92 |
| 86 /** | 93 /** |
| 87 * CpuProfile contains a CPU profile in a form of top-down call tree | 94 * CpuProfile contains a CPU profile in a form of top-down call tree |
| 88 * (from main() down to functions that do all the work). | 95 * (from main() down to functions that do all the work). |
| 89 */ | 96 */ |
| 90 class V8_EXPORT CpuProfile { | 97 class V8_EXPORT CpuProfile { |
| 91 public: | 98 public: |
| 92 /** Returns CPU profile UID (assigned by the profiler.) */ | 99 /** Returns CPU profile UID (assigned by the profiler.) */ |
| (...skipping 368 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 461 static const uint16_t kPersistentHandleNoClassId = 0; | 468 static const uint16_t kPersistentHandleNoClassId = 0; |
| 462 | 469 |
| 463 /** Returns memory used for profiler internal data and snapshots. */ | 470 /** Returns memory used for profiler internal data and snapshots. */ |
| 464 size_t GetProfilerMemorySize(); | 471 size_t GetProfilerMemorySize(); |
| 465 | 472 |
| 466 /** | 473 /** |
| 467 * Sets a RetainedObjectInfo for an object group (see V8::SetObjectGroupId). | 474 * Sets a RetainedObjectInfo for an object group (see V8::SetObjectGroupId). |
| 468 */ | 475 */ |
| 469 void SetRetainedObjectInfo(UniqueId id, RetainedObjectInfo* info); | 476 void SetRetainedObjectInfo(UniqueId id, RetainedObjectInfo* info); |
| 470 | 477 |
| 478 /** |
| 479 * Starts recording JS allocations immediately as they arrive and tracking of |
| 480 * heap objects population statistics. |
| 481 */ |
| 482 void StartRecordingHeapAllocations(); |
| 483 |
| 484 /** |
| 485 * Stops recording JS allocations and tracking of heap objects population |
| 486 * statistics, cleans all collected heap objects population statistics data. |
| 487 */ |
| 488 void StopRecordingHeapAllocations(); |
| 489 |
| 490 |
| 471 private: | 491 private: |
| 472 HeapProfiler(); | 492 HeapProfiler(); |
| 473 ~HeapProfiler(); | 493 ~HeapProfiler(); |
| 474 HeapProfiler(const HeapProfiler&); | 494 HeapProfiler(const HeapProfiler&); |
| 475 HeapProfiler& operator=(const HeapProfiler&); | 495 HeapProfiler& operator=(const HeapProfiler&); |
| 476 }; | 496 }; |
| 477 | 497 |
| 478 | 498 |
| 479 /** | 499 /** |
| 480 * Interface for providing information about embedder's objects | 500 * Interface for providing information about embedder's objects |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 560 uint32_t index; // Index of the time interval that was changed. | 580 uint32_t index; // Index of the time interval that was changed. |
| 561 uint32_t count; // New value of count field for the interval with this index. | 581 uint32_t count; // New value of count field for the interval with this index. |
| 562 uint32_t size; // New value of size field for the interval with this index. | 582 uint32_t size; // New value of size field for the interval with this index. |
| 563 }; | 583 }; |
| 564 | 584 |
| 565 | 585 |
| 566 } // namespace v8 | 586 } // namespace v8 |
| 567 | 587 |
| 568 | 588 |
| 569 #endif // V8_V8_PROFILER_H_ | 589 #endif // V8_V8_PROFILER_H_ |
| OLD | NEW |