Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(45)

Side by Side Diff: include/v8.h

Issue 1997363002: Adds support for collecting statistics about code and its metadata. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Addressed comments from Hannes. Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | src/api.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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_
OLDNEW
« no previous file with comments | « no previous file | src/api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698