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 /** \mainpage V8 API Reference Guide | 5 /** \mainpage V8 API Reference Guide |
6 * | 6 * |
7 * V8 is Google's open source JavaScript engine. | 7 * V8 is Google's open source JavaScript engine. |
8 * | 8 * |
9 * This set of documents provides reference material generated from the | 9 * This set of documents provides reference material generated from the |
10 * V8 header file, include/v8.h. | 10 * V8 header file, include/v8.h. |
(...skipping 5255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5266 | 5266 |
5267 private: | 5267 private: |
5268 const char* object_type_; | 5268 const char* object_type_; |
5269 const char* object_sub_type_; | 5269 const char* object_sub_type_; |
5270 size_t object_count_; | 5270 size_t object_count_; |
5271 size_t object_size_; | 5271 size_t object_size_; |
5272 | 5272 |
5273 friend class Isolate; | 5273 friend class Isolate; |
5274 }; | 5274 }; |
5275 | 5275 |
| 5276 class V8_EXPORT HeapCodeStatistics { |
| 5277 public: |
| 5278 HeapCodeStatistics(); |
| 5279 size_t code_and_metadata_size() { return code_and_metadata_size_; } |
| 5280 size_t bytecode_and_metadata_size() { return bytecode_and_metadata_size_; } |
| 5281 |
| 5282 private: |
| 5283 size_t code_and_metadata_size_; |
| 5284 size_t bytecode_and_metadata_size_; |
| 5285 |
| 5286 friend class Isolate; |
| 5287 }; |
5276 | 5288 |
5277 class RetainedObjectInfo; | 5289 class RetainedObjectInfo; |
5278 | 5290 |
5279 | 5291 |
5280 /** | 5292 /** |
5281 * FunctionEntryHook is the type of the profile entry hook called at entry to | 5293 * FunctionEntryHook is the type of the profile entry hook called at entry to |
5282 * any generated function when function-level profiling is enabled. | 5294 * any generated function when function-level profiling is enabled. |
5283 * | 5295 * |
5284 * \param function the address of the function that's being entered. | 5296 * \param function the address of the function that's being entered. |
5285 * \param return_addr_location points to a location on stack where the machine | 5297 * \param return_addr_location points to a location on stack where the machine |
(...skipping 487 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5773 * \param object_statistics The HeapObjectStatistics object to fill in | 5785 * \param object_statistics The HeapObjectStatistics object to fill in |
5774 * statistics of objects of given type, which were live in the previous GC. | 5786 * statistics of objects of given type, which were live in the previous GC. |
5775 * \param type_index The index of the type of object to fill details about, | 5787 * \param type_index The index of the type of object to fill details about, |
5776 * which ranges from 0 to NumberOfTrackedHeapObjectTypes() - 1. | 5788 * which ranges from 0 to NumberOfTrackedHeapObjectTypes() - 1. |
5777 * \returns true on success. | 5789 * \returns true on success. |
5778 */ | 5790 */ |
5779 bool GetHeapObjectStatisticsAtLastGC(HeapObjectStatistics* object_statistics, | 5791 bool GetHeapObjectStatisticsAtLastGC(HeapObjectStatistics* object_statistics, |
5780 size_t type_index); | 5792 size_t type_index); |
5781 | 5793 |
5782 /** | 5794 /** |
| 5795 * Get statistics about code and its metadata in the heap. |
| 5796 * |
| 5797 * \param object_statistics The HeapCodeStatistics object to fill in |
| 5798 * statistics of code, bytecode and their metadata. |
| 5799 * \returns true on success. |
| 5800 */ |
| 5801 bool GetHeapCodeAndMetadataStatistics(HeapCodeStatistics* object_statistics); |
| 5802 |
| 5803 /** |
5783 * Get a call stack sample from the isolate. | 5804 * Get a call stack sample from the isolate. |
5784 * \param state Execution state. | 5805 * \param state Execution state. |
5785 * \param frames Caller allocated buffer to store stack frames. | 5806 * \param frames Caller allocated buffer to store stack frames. |
5786 * \param frames_limit Maximum number of frames to capture. The buffer must | 5807 * \param frames_limit Maximum number of frames to capture. The buffer must |
5787 * be large enough to hold the number of frames. | 5808 * be large enough to hold the number of frames. |
5788 * \param sample_info The sample info is filled up by the function | 5809 * \param sample_info The sample info is filled up by the function |
5789 * provides number of actual captured stack frames and | 5810 * provides number of actual captured stack frames and |
5790 * the current VM state. | 5811 * the current VM state. |
5791 * \note GetStackSample should only be called when the JS thread is paused or | 5812 * \note GetStackSample should only be called when the JS thread is paused or |
5792 * interrupted. Otherwise the behavior is undefined. | 5813 * interrupted. Otherwise the behavior is undefined. |
(...skipping 2950 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8743 */ | 8764 */ |
8744 | 8765 |
8745 | 8766 |
8746 } // namespace v8 | 8767 } // namespace v8 |
8747 | 8768 |
8748 | 8769 |
8749 #undef TYPE_CHECK | 8770 #undef TYPE_CHECK |
8750 | 8771 |
8751 | 8772 |
8752 #endif // INCLUDE_V8_H_ | 8773 #endif // INCLUDE_V8_H_ |
OLD | NEW |