v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
etw-isolate-operations-win.h
Go to the documentation of this file.
1// Copyright 2024 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_ISOLATE_OPERATIONS_WIN_H_
6#define V8_DIAGNOSTICS_ETW_ISOLATE_OPERATIONS_WIN_H_
7
8#include <optional>
9#include <string>
10
12#include "include/v8-isolate.h"
15#include "include/v8-script.h"
16#include "src/api/api.h"
17
18namespace v8 {
19namespace internal {
20namespace ETWJITInterface {
21
23 public:
24 virtual void SetEtwCodeEventHandler(Isolate* isolate, uint32_t options);
25 virtual void ResetEtwCodeEventHandler(Isolate* isolate);
26
27 virtual FilterETWSessionByURLResult RunFilterETWSessionByURLCallback(
28 Isolate* isolate, const std::string& payload);
29 virtual void RequestInterrupt(Isolate* isolate, InterruptCallback callback,
30 void* data);
31 virtual bool HeapReadOnlySpaceWritable(Isolate* isolate);
32 virtual std::optional<Tagged<GcSafeCode>>
33 HeapGcSafeTryFindCodeForInnerPointer(Isolate* isolate, Address address);
34
35 static EtwIsolateOperations* Instance();
36 static void SetInstanceForTesting(
37 EtwIsolateOperations* etw_isolate_operations);
38
39 private:
41};
42
43} // namespace ETWJITInterface
44} // namespace internal
45} // namespace v8
46
47#endif // V8_DIAGNOSTICS_ETW_ISOLATE_OPERATIONS_WIN_H_
TNode< Object > callback
void(*)(Isolate *isolate, void *data) InterruptCallback
#define V8_EXPORT_PRIVATE
Definition macros.h:460