v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
etw-jit-win.h
Go to the documentation of this file.
1// Copyright 2010 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_DIAGNOSTICS_ETW_JIT_WIN_H_
6#define V8_DIAGNOSTICS_ETW_JIT_WIN_H_
7
8#include <atomic>
9
11#include "include/v8config.h"
12#include "src/base/macros.h"
13
14namespace v8 {
15
16class Isolate;
17struct JitCodeEvent;
18
19namespace internal {
20namespace ETWJITInterface {
21extern V8_EXPORT_PRIVATE std::atomic<bool>
23
24// Indicates that the ETW events emission was triggered by a CaptureStateOnStop
25// callback. We need this information in order to accordingly modify the event
26// codes (SourceLoad -> SourceDCStart, MethodLoad -> MethodDCStart).
27constexpr uint32_t kEtwRundown = 0xf0000000;
29
30void Register();
31void Unregister();
32void AddIsolate(Isolate* isolate);
33void RemoveIsolate(Isolate* isolate);
34void EventHandler(const v8::JitCodeEvent* event);
35void MaybeSetHandlerNow(Isolate* isolate);
36} // namespace ETWJITInterface
37} // namespace internal
38} // namespace v8
39
40#endif // V8_DIAGNOSTICS_ETW_JIT_WIN_H_
void MaybeSetHandlerNow(Isolate *isolate)
constexpr uint32_t kEtwRundown
Definition etw-jit-win.h:27
void EventHandler(const JitCodeEvent *event)
void AddIsolate(Isolate *isolate)
std::atomic< bool > has_active_etw_tracing_session_or_custom_filter
void RemoveIsolate(Isolate *isolate)
@ kLastJitCodeEventOption
#define V8_EXPORT_PRIVATE
Definition macros.h:460