v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
code-stats.h
Go to the documentation of this file.
1// Copyright 2016 the V8 project authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef V8_HEAP_CODE_STATS_H_
6#define V8_HEAP_CODE_STATS_H_
7
8namespace v8 {
9namespace internal {
10
11class AbstractCode;
12class CodeCommentsIterator;
13class HeapObject;
14class Isolate;
15class OldLargeObjectSpace;
16class PagedSpace;
17template <typename T>
18class Tagged;
19
21 public:
22 // Collect statistics related to code size.
23 static void CollectCodeStatistics(PagedSpace* space, Isolate* isolate);
24
25 // Collect statistics related to code size from large object space.
27 Isolate* isolate);
28
29 // Reset code size related statistics
30 static void ResetCodeAndMetadataStatistics(Isolate* isolate);
31
32#ifdef DEBUG
33 // Report statistics about code kind, code+metadata and code comments.
34 static void ReportCodeStatistics(Isolate* isolate);
35#endif
36
37 private:
39 Isolate* isolate);
40
41#ifdef DEBUG
42 static void ResetCodeStatistics(Isolate* isolate);
43#endif
44};
45
46} // namespace internal
47} // namespace v8
48
49#endif // V8_HEAP_CODE_STATS_H_
static void RecordCodeAndMetadataStatistics(Tagged< HeapObject > object, Isolate *isolate)
Definition code-stats.cc:17
static void ResetCodeAndMetadataStatistics(Isolate *isolate)
Definition code-stats.cc:51
static void CollectCodeStatistics(PagedSpace *space, Isolate *isolate)
Definition code-stats.cc:63
Tagged(T object) -> Tagged< T >