v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8-serialization-duplicate-tracker.h
Go to the documentation of this file.
1
// Copyright 2023 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_INSPECTOR_V8_SERIALIZATION_DUPLICATE_TRACKER_H_
6
#define V8_INSPECTOR_V8_SERIALIZATION_DUPLICATE_TRACKER_H_
7
8
#include "
include/v8-container.h
"
9
#include "
src/base/vector.h
"
10
#include "
src/debug/debug-interface.h
"
11
#include "src/inspector/protocol/Runtime.h"
12
13
namespace
v8_inspector
{
14
15
class
V8SerializationDuplicateTracker
{
16
public
:
17
// Returns a `protocol::DictionaryValue` value either empty if the V8 value
18
// was not serialized yet, or filled in as a reference to previousely
19
// serialized protocol value.
20
V8_EXPORT
std::unique_ptr<protocol::DictionaryValue>
LinkExistingOrCreate
(
21
v8::Local<v8::Value>
v8Value,
bool
* isKnown);
22
23
V8_EXPORT
explicit
V8SerializationDuplicateTracker
(
24
v8::Local<v8::Context>
context);
25
26
private
:
27
v8::Local<v8::Context>
m_context
;
28
int
m_counter
;
29
// Maps v8 value to corresponding serialized value.
30
v8::Local<v8::Map>
m_v8ObjectToSerializedDictionary
;
31
32
V8_EXPORT
protocol::DictionaryValue*
FindKnownSerializedValue
(
33
v8::Local<v8::Value>
v8Value);
34
35
V8_EXPORT
void
SetKnownSerializedValue
(
36
v8::Local<v8::Value>
v8Value, protocol::DictionaryValue* serializedValue);
37
};
38
}
// namespace v8_inspector
39
40
#endif
// V8_INSPECTOR_V8_SERIALIZATION_DUPLICATE_TRACKER_H_
v8::Local
Definition
v8-local-handle.h:267
v8_inspector::V8SerializationDuplicateTracker
Definition
v8-serialization-duplicate-tracker.h:15
v8_inspector::V8SerializationDuplicateTracker::V8SerializationDuplicateTracker
V8_EXPORT V8SerializationDuplicateTracker(v8::Local< v8::Context > context)
Definition
v8-serialization-duplicate-tracker.cc:72
v8_inspector::V8SerializationDuplicateTracker::m_counter
int m_counter
Definition
v8-serialization-duplicate-tracker.h:28
v8_inspector::V8SerializationDuplicateTracker::SetKnownSerializedValue
V8_EXPORT void SetKnownSerializedValue(v8::Local< v8::Value > v8Value, protocol::DictionaryValue *serializedValue)
Definition
v8-serialization-duplicate-tracker.cc:49
v8_inspector::V8SerializationDuplicateTracker::FindKnownSerializedValue
V8_EXPORT protocol::DictionaryValue * FindKnownSerializedValue(v8::Local< v8::Value > v8Value)
Definition
v8-serialization-duplicate-tracker.cc:59
v8_inspector::V8SerializationDuplicateTracker::m_v8ObjectToSerializedDictionary
v8::Local< v8::Map > m_v8ObjectToSerializedDictionary
Definition
v8-serialization-duplicate-tracker.h:30
v8_inspector::V8SerializationDuplicateTracker::LinkExistingOrCreate
V8_EXPORT std::unique_ptr< protocol::DictionaryValue > LinkExistingOrCreate(v8::Local< v8::Value > v8Value, bool *isKnown)
Definition
v8-serialization-duplicate-tracker.cc:14
v8_inspector::V8SerializationDuplicateTracker::m_context
v8::Local< v8::Context > m_context
Definition
v8-serialization-duplicate-tracker.h:27
debug-interface.h
v8_inspector
Definition
debug-interface.h:25
v8-container.h
V8_EXPORT
#define V8_EXPORT
Definition
v8config.h:800
vector.h
src
inspector
v8-serialization-duplicate-tracker.h
Generated on Sun Apr 6 2025 21:08:54 for v8 by
1.12.0