v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
profiler-stats.cc
Go to the documentation of this file.
1
// Copyright 2020 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
#include "
src/profiler/profiler-stats.h
"
6
7
#include <algorithm>
8
9
#include "
src/base/platform/platform.h
"
10
11
namespace
v8
{
12
namespace
internal
{
13
14
void
ProfilerStats::AddReason
(
Reason
reason) {
15
counts_
[reason].fetch_add(1, std::memory_order_relaxed);
16
}
17
18
void
ProfilerStats::Clear
() {
19
for
(
int
i
= 0;
i
<
Reason::kNumberOfReasons
;
i
++) {
20
counts_
[
i
].store(0, std::memory_order_relaxed);
21
}
22
}
23
24
void
ProfilerStats::Print
()
const
{
25
base::OS::Print(
"ProfilerStats:\n"
);
26
for
(
int
i
= 0;
i
<
Reason::kNumberOfReasons
;
i
++) {
27
base::OS::Print(
" %-30s\t\t %d\n"
,
ReasonToString
(
static_cast<
Reason
>
(
i
)),
28
counts_
[
i
].load(std::memory_order_relaxed));
29
}
30
}
31
32
// static
33
const
char
*
ProfilerStats::ReasonToString
(
Reason
reason) {
34
switch
(reason) {
35
case
kTickBufferFull
:
36
return
"kTickBufferFull"
;
37
case
kIsolateNotLocked
:
38
return
"kIsolateNotLocked"
;
39
case
kSimulatorFillRegistersFailed
:
40
return
"kSimulatorFillRegistersFailed"
;
41
case
kNoFrameRegion
:
42
return
"kNoFrameRegion"
;
43
case
kInCallOrApply
:
44
return
"kInCallOrApply"
;
45
case
kNoSymbolizedFrames
:
46
return
"kNoSymbolizedFrames"
;
47
case
kNullPC
:
48
return
"kNullPC"
;
49
case
kNumberOfReasons
:
50
return
"kNumberOfReasons"
;
51
}
52
}
53
54
}
// namespace internal
55
}
// namespace v8
v8::internal::ProfilerStats::Reason
Reason
Definition
profiler-stats.h:16
v8::internal::ProfilerStats::kTickBufferFull
@ kTickBufferFull
Definition
profiler-stats.h:18
v8::internal::ProfilerStats::kIsolateNotLocked
@ kIsolateNotLocked
Definition
profiler-stats.h:19
v8::internal::ProfilerStats::kNoFrameRegion
@ kNoFrameRegion
Definition
profiler-stats.h:22
v8::internal::ProfilerStats::kNumberOfReasons
@ kNumberOfReasons
Definition
profiler-stats.h:27
v8::internal::ProfilerStats::kInCallOrApply
@ kInCallOrApply
Definition
profiler-stats.h:23
v8::internal::ProfilerStats::kSimulatorFillRegistersFailed
@ kSimulatorFillRegistersFailed
Definition
profiler-stats.h:21
v8::internal::ProfilerStats::kNullPC
@ kNullPC
Definition
profiler-stats.h:25
v8::internal::ProfilerStats::kNoSymbolizedFrames
@ kNoSymbolizedFrames
Definition
profiler-stats.h:24
v8::internal::ProfilerStats::ReasonToString
static const char * ReasonToString(Reason reason)
Definition
profiler-stats.cc:33
v8::internal::ProfilerStats::Clear
void Clear()
Definition
profiler-stats.cc:18
v8::internal::ProfilerStats::counts_
std::atomic_int counts_[Reason::kNumberOfReasons]
Definition
profiler-stats.h:43
v8::internal::ProfilerStats::Print
void Print() const
Definition
profiler-stats.cc:24
v8::internal::ProfilerStats::AddReason
void AddReason(Reason reason)
Definition
profiler-stats.cc:14
v8::internal
Definition
api-arguments-inl.h:20
v8::internal::internal
internal
Definition
wasm-objects-inl.h:458
v8
Definition
api-arguments-inl.h:19
profiler-stats.h
platform.h
src
profiler
profiler-stats.cc
Generated on Sun Apr 6 2025 21:08:56 for v8 by
1.12.0